1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use crate::document::document::BaseDocument;

/// Utility struct to represent pageable response from the database
#[derive(Clone, Debug)]
pub struct PageableResponse<T: BaseDocument> {
    pub data: Vec<T>,
    pub number_per_page: i64,
    pub last_item_id: Option<String>,
    pub total: u64,
    pub no_of_items_in_batch: usize,
}

/// Utility struct to represent pageable requests to the database
#[derive(Debug, Clone)]
pub struct PageableRequest {
    pub number_per_page: i64,
    pub last_item_id: Option<String>,
}