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;
9pub mod valuation;
10
11use serde::{Deserialize, Serialize};
12
13#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
15#[cfg_attr(feature = "strict", serde(deny_unknown_fields))]
16pub struct Pagination {
17 pub page: u32,
19 pub per_page: u32,
21 pub total_count: u32,
23 pub total_pages: u32,
25}
26
27#[derive(Debug, Clone, Serialize, Deserialize)]
29#[cfg_attr(feature = "strict", serde(deny_unknown_fields))]
30pub struct PaginatedResponse<T> {
31 #[serde(flatten)]
33 pub items: T,
34 pub pagination: Pagination,
36}
37
38#[derive(Debug, Clone, Serialize, Deserialize)]
40#[cfg_attr(feature = "strict", serde(deny_unknown_fields))]
41pub struct DeleteResponse {
42 pub message: String,
44}
45
46#[derive(Debug, Clone, Serialize, Deserialize)]
48#[cfg_attr(feature = "strict", serde(deny_unknown_fields))]
49pub struct ErrorResponse {
50 pub error: String,
52 #[serde(default, skip_serializing_if = "Option::is_none")]
54 pub message: Option<String>,
55 #[serde(default, skip_serializing_if = "Option::is_none")]
57 pub details: Option<serde_json::Value>,
58}