sqlx_paginated/paginated_query_as/models/query_sort.rs
1use serde::{Deserialize, Serialize};
2
3/// Represents the direction for sorting query results.
4///
5/// Used in conjunction with a column name to specify how results should be ordered.
6///
7/// # Examples
8///
9/// ```rust
10/// use sqlx_paginated::{QuerySortDirection, QueryParamsBuilder};
11/// use serde::Serialize;
12///
13/// #[derive(Serialize, Default)]
14/// struct User {
15/// name: String,
16/// created_at: String,
17/// }
18///
19/// let params = QueryParamsBuilder::<User>::new()
20/// .with_sort("created_at", QuerySortDirection::Descending)
21/// .build();
22/// ```
23#[derive(Serialize, Deserialize, Debug, Clone, Default, PartialEq)]
24#[serde(rename_all = "lowercase")]
25pub enum QuerySortDirection {
26 /// Sort in ascending order (A-Z, 0-9, oldest-newest)
27 Ascending,
28
29 /// Sort in descending order (Z-A, 9-0, newest-oldest)
30 #[default]
31 Descending,
32}