//! //! use beteran_protobuf_rust as bpr; /// #[derive(Debug, Clone)] pub enum Sort { /// ASC(String), /// DESC(String), } impl From<&Sort> for bpr::protobuf::pagination::Sort { fn from(d: &Sort) -> Self { match d { Sort::ASC(by) => bpr::protobuf::pagination::Sort { by: by.to_string(), order: bpr::protobuf::pagination::SortOrder::Asc as i32, }, Sort::DESC(by) => bpr::protobuf::pagination::Sort { by: by.to_string(), order: bpr::protobuf::pagination::SortOrder::Desc as i32, }, } } } impl From<&bpr::protobuf::pagination::Sort> for Sort { fn from(d: &bpr::protobuf::pagination::Sort) -> Self { match d.order { x if x == bpr::protobuf::pagination::SortOrder::Desc as i32 => Sort::DESC(d.by.to_string()), _ => Sort::ASC(d.by.to_string()), } } } /// #[derive(Debug, Clone)] pub struct Pagination { /// pub page: Option, /// pub page_size: Option, } impl From<&Pagination> for bpr::protobuf::pagination::Pagination { fn from(d: &Pagination) -> Self { bpr::protobuf::pagination::Pagination { page: d.page, page_size: d.page_size, } } } impl From<&bpr::protobuf::pagination::Pagination> for Pagination { fn from(d: &bpr::protobuf::pagination::Pagination) -> Self { Pagination { page: d.page, page_size: d.page_size, } } }