mycelium_base/entities/
default_response.rs1use 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}