Skip to main content

sql_orm/
page_request.rs

1use sql_orm_query::Pagination;
2
3#[derive(Debug, Clone, Copy, PartialEq, Eq)]
4pub struct PageRequest {
5    pub page: u64,
6    pub page_size: u64,
7}
8
9impl PageRequest {
10    pub const fn new(page: u64, page_size: u64) -> Self {
11        Self { page, page_size }
12    }
13
14    pub const fn to_pagination(self) -> Pagination {
15        Pagination::page(self.page, self.page_size)
16    }
17}
18
19#[cfg(test)]
20mod tests {
21    use super::PageRequest;
22    use sql_orm_query::Pagination;
23
24    #[test]
25    fn page_request_converts_to_pagination() {
26        assert_eq!(
27            PageRequest::new(1, 25).to_pagination(),
28            Pagination::new(0, 25)
29        );
30        assert_eq!(
31            PageRequest::new(3, 25).to_pagination(),
32            Pagination::new(50, 25)
33        );
34    }
35}