38 lines
677 B
Rust
38 lines
677 B
Rust
use serde::Serialize;
|
|
use std::fmt::Debug;
|
|
|
|
#[derive(Debug, Serialize)]
|
|
pub struct Pageable<T>
|
|
where
|
|
T: Debug + Serialize,
|
|
{
|
|
pub data: Vec<T>,
|
|
pub total: i64,
|
|
pub page: i64,
|
|
#[serde(rename = "pageSize")]
|
|
pub page_size: i64,
|
|
}
|
|
|
|
impl<T> Pageable<T>
|
|
where
|
|
T: Debug + Serialize,
|
|
{
|
|
pub fn new(data: Vec<T>, total: i64, page: i64, page_size: i64) -> Self {
|
|
Pageable {
|
|
data,
|
|
total,
|
|
page,
|
|
page_size,
|
|
}
|
|
}
|
|
|
|
pub fn empty(page: i64, page_size: i64) -> Self {
|
|
Pageable {
|
|
data: vec![],
|
|
total: 0,
|
|
page,
|
|
page_size,
|
|
}
|
|
}
|
|
}
|