chuanyue-service/domain/src/pageable.rs
2024-09-24 16:07:36 +08:00

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,
}
}
}