63 lines
1.4 KiB
Rust
Raw Normal View History

2022-08-04 13:13:42 +00:00
//!
//!
2022-08-08 09:28:25 +00:00
use beteran_protobuf_rust as bpr;
2022-08-04 13:13:42 +00:00
///
#[derive(Debug, Clone)]
pub enum Sort {
///
ASC(String),
///
DESC(String),
}
2022-08-08 09:34:58 +00:00
impl From<&Sort> for bpr::protobuf::pagination::Sort {
fn from(d: &Sort) -> Self {
2022-08-08 09:28:25 +00:00
match d {
Sort::ASC(by) => bpr::protobuf::pagination::Sort {
2022-08-08 09:34:58 +00:00
by: by.to_string(),
2022-08-08 09:28:25 +00:00
order: bpr::protobuf::pagination::SortOrder::Asc as i32,
},
Sort::DESC(by) => bpr::protobuf::pagination::Sort {
2022-08-08 09:34:58 +00:00
by: by.to_string(),
2022-08-08 09:28:25 +00:00
order: bpr::protobuf::pagination::SortOrder::Desc as i32,
},
}
}
}
2022-08-08 09:34:58 +00:00
impl From<&bpr::protobuf::pagination::Sort> for Sort {
fn from(d: &bpr::protobuf::pagination::Sort) -> Self {
2022-08-08 09:28:25 +00:00
match d.order {
2022-08-08 09:34:58 +00:00
x if x == bpr::protobuf::pagination::SortOrder::Desc as i32 => Sort::DESC(d.by.to_string()),
_ => Sort::ASC(d.by.to_string()),
2022-08-08 09:28:25 +00:00
}
}
}
2022-08-04 13:13:42 +00:00
///
#[derive(Debug, Clone)]
pub struct Pagination {
///
pub page: Option<u32>,
///
pub page_size: Option<u32>,
}
2022-08-08 09:28:25 +00:00
2022-08-08 09:47:44 +00:00
impl From<&Pagination> for bpr::protobuf::pagination::Pagination {
fn from(d: &Pagination) -> Self {
2022-08-08 09:28:25 +00:00
bpr::protobuf::pagination::Pagination {
page: d.page,
page_size: d.page_size,
}
}
}
2022-08-08 09:47:44 +00:00
impl From<&bpr::protobuf::pagination::Pagination> for Pagination {
fn from(d: &bpr::protobuf::pagination::Pagination) -> Self {
2022-08-08 09:28:25 +00:00
Pagination {
page: d.page,
page_size: d.page_size,
}
}
}