ras_types/domain/
responses.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize)]
4pub struct SingleResponse<T> {
5 pub data: T,
6 pub message: String,
7}
8
9impl<T> SingleResponse<T> {
10 pub fn new(data: T, message: impl Into<String>) -> Self {
11 Self {
12 data,
13 message: message.into(),
14 }
15 }
16}
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
19pub struct ListResponse<T> {
20 pub data: Vec<T>,
21 pub pagination: PaginationMeta,
22}
23
24#[derive(Debug, Clone, Serialize, Deserialize)]
25pub struct PaginationMeta {
26 pub page: u32,
27 pub per_page: u32,
28 pub total: u64,
29}