Skip to main content

quick_oxibooks_sql/
order.rs

1use std::fmt::Write;
2
3/// Struct representing an order clause in a query
4#[derive(Debug, PartialEq, Clone)]
5pub struct OrderClause {
6    pub(crate) field: &'static str,
7    pub(crate) order: Order,
8}
9
10impl OrderClause {
11    pub fn extend_query(&self, query: &mut String) {
12        write!(
13            query,
14            " {} {}",
15            self.field,
16            match self.order {
17                Order::Asc => "ASC",
18                Order::Desc => "DESC",
19            }
20        )
21        .unwrap();
22    }
23}
24
25/// Enum representing the order direction in a query
26#[derive(Debug, PartialEq, Clone)]
27pub enum Order {
28    Asc,
29    Desc,
30}