#[derive(Clone, Copy, Debug)]
pub struct Page<const N: u32 = 50> {
    pub limit: u32,
    pub offset: u32,
}

impl<const N: u32> Default for Page<N> {
    fn default() -> Self {
        Self {
            limit: N,
            offset: 0,
        }
    }
}

#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum SortOrder {
    Asc,
    Desc,
}

#[derive(Clone, Copy, Debug)]
pub struct Sort<Field> {
    pub field: Field,
    pub order: SortOrder,
}
