mycelium_base/entities/
default_response.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Clone, Debug, Serialize, Deserialize)]
4pub enum DeletionResponseKind<T>
5where
6    T: Serialize,
7{
8    Deleted,
9    NotDeleted(T, String),
10}
11
12#[derive(Clone, Debug, Serialize, Deserialize)]
13pub enum DeletionManyResponseKind<T>
14where
15    T: Serialize,
16{
17    Deleted(i64),
18    NotDeleted(T, String),
19}
20
21#[derive(Clone, Debug, Serialize, Deserialize)]
22pub enum FetchResponseKind<T, U>
23where
24    T: Serialize,
25{
26    Found(T),
27    NotFound(Option<U>),
28}
29
30#[derive(Clone, Debug, Serialize, Deserialize)]
31pub enum FetchManyResponseKind<T>
32where
33    T: Serialize,
34{
35    Found(Vec<T>),
36    FoundPaginated {
37        count: i64,
38        skip: Option<i64>,
39        size: Option<i64>,
40        records: Vec<T>,
41    },
42    NotFound,
43}
44
45#[derive(Clone, Debug, Serialize, Deserialize)]
46pub enum GetOrCreateResponseKind<T>
47where
48    T: Serialize,
49{
50    Created(T),
51    NotCreated(T, String),
52}
53
54#[derive(Clone, Debug, Serialize, Deserialize)]
55pub enum CreateResponseKind<T>
56where
57    T: Serialize,
58{
59    Created(T),
60    NotCreated(T, String),
61}
62
63#[derive(Clone, Debug, Serialize, Deserialize)]
64pub enum CreateManyResponseKind<T>
65where
66    T: Serialize,
67{
68    Created(Vec<T>),
69    NotCreated(Vec<T>, String),
70}
71
72#[derive(Clone, Debug, Serialize, Deserialize)]
73pub enum UpdatingResponseKind<T>
74where
75    T: Serialize,
76{
77    Updated(T),
78    NotUpdated(T, String),
79}