sure_client_rs/models/
mod.rs1pub mod account;
2pub mod auth;
3pub mod category;
4pub mod chat;
5pub mod merchant;
6pub mod sync;
7pub mod transaction;
8pub mod usage;
9
10use serde::{Deserialize, Serialize};
11
12#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
14#[cfg_attr(feature = "strict", serde(deny_unknown_fields))]
15pub struct Pagination {
16 pub page: u32,
18 pub per_page: u32,
20 pub total_count: u32,
22 pub total_pages: u32,
24}
25
26#[derive(Debug, Clone, Serialize, Deserialize)]
28#[cfg_attr(feature = "strict", serde(deny_unknown_fields))]
29pub struct PaginatedResponse<T> {
30 #[serde(flatten)]
32 pub items: T,
33 pub pagination: Pagination,
35}
36
37#[derive(Debug, Clone, Serialize, Deserialize)]
39#[cfg_attr(feature = "strict", serde(deny_unknown_fields))]
40pub struct DeleteResponse {
41 pub message: String,
43}
44
45#[derive(Debug, Clone, Serialize, Deserialize)]
47#[cfg_attr(feature = "strict", serde(deny_unknown_fields))]
48pub struct ErrorResponse {
49 pub error: String,
51 #[serde(default, skip_serializing_if = "Option::is_none")]
53 pub message: Option<String>,
54 #[serde(default, skip_serializing_if = "Option::is_none")]
56 pub details: Option<serde_json::Value>,
57}