text_document_direct_access/list/
dtos.rs1use common::entities::List;
4pub use common::entities::ListStyle;
5use common::types::EntityId;
6use serde::{Deserialize, Serialize};
7use std::convert::From;
8
9#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10pub struct ListDto {
11 pub id: EntityId,
12 pub created_at: chrono::DateTime<chrono::Utc>,
13 pub updated_at: chrono::DateTime<chrono::Utc>,
14 pub style: ListStyle,
15 pub indent: i64,
16 pub prefix: String,
17 pub suffix: String,
18}
19
20impl From<ListDto> for List {
21 fn from(dto: ListDto) -> Self {
22 List {
23 id: dto.id,
24 created_at: dto.created_at,
25 updated_at: dto.updated_at,
26 style: dto.style,
27 indent: dto.indent,
28 prefix: dto.prefix,
29 suffix: dto.suffix,
30 }
31 }
32}
33
34impl From<&ListDto> for List {
35 fn from(dto: &ListDto) -> Self {
36 List {
37 id: dto.id,
38 created_at: dto.created_at,
39 updated_at: dto.updated_at,
40 style: dto.style.clone(),
41 indent: dto.indent,
42 prefix: dto.prefix.clone(),
43 suffix: dto.suffix.clone(),
44 }
45 }
46}
47
48impl From<List> for ListDto {
49 fn from(entity: List) -> Self {
50 ListDto {
51 id: entity.id,
52 created_at: entity.created_at,
53 updated_at: entity.updated_at,
54 style: entity.style,
55 indent: entity.indent,
56 prefix: entity.prefix,
57 suffix: entity.suffix,
58 }
59 }
60}
61
62#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
63pub struct CreateListDto {
64 pub created_at: chrono::DateTime<chrono::Utc>,
65 pub updated_at: chrono::DateTime<chrono::Utc>,
66 pub style: ListStyle,
67 pub indent: i64,
68 pub prefix: String,
69 pub suffix: String,
70}
71
72impl From<CreateListDto> for List {
73 fn from(dto: CreateListDto) -> Self {
74 List {
75 id: 0,
76 created_at: dto.created_at,
77 updated_at: dto.updated_at,
78 style: dto.style,
79 indent: dto.indent,
80 prefix: dto.prefix,
81 suffix: dto.suffix,
82 }
83 }
84}
85
86impl From<&CreateListDto> for List {
87 fn from(dto: &CreateListDto) -> Self {
88 List {
89 id: 0,
90 created_at: dto.created_at,
91 updated_at: dto.updated_at,
92 style: dto.style.clone(),
93 indent: dto.indent,
94 prefix: dto.prefix.clone(),
95 suffix: dto.suffix.clone(),
96 }
97 }
98}
99
100impl From<List> for CreateListDto {
101 fn from(entity: List) -> Self {
102 CreateListDto {
103 created_at: entity.created_at,
104 updated_at: entity.updated_at,
105 style: entity.style,
106 indent: entity.indent,
107 prefix: entity.prefix,
108 suffix: entity.suffix,
109 }
110 }
111}
112
113#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
114pub struct UpdateListDto {
115 pub id: EntityId,
116 pub created_at: chrono::DateTime<chrono::Utc>,
117 pub updated_at: chrono::DateTime<chrono::Utc>,
118 pub style: ListStyle,
119 pub indent: i64,
120 pub prefix: String,
121 pub suffix: String,
122}
123
124impl From<UpdateListDto> for List {
125 fn from(dto: UpdateListDto) -> Self {
126 List {
127 id: dto.id,
128 created_at: dto.created_at,
129 updated_at: dto.updated_at,
130 style: dto.style,
131 indent: dto.indent,
132 prefix: dto.prefix,
133 suffix: dto.suffix,
134 }
135 }
136}
137
138impl From<&UpdateListDto> for List {
139 fn from(dto: &UpdateListDto) -> Self {
140 List {
141 id: dto.id,
142 created_at: dto.created_at,
143 updated_at: dto.updated_at,
144 style: dto.style.clone(),
145 indent: dto.indent,
146 prefix: dto.prefix.clone(),
147 suffix: dto.suffix.clone(),
148 }
149 }
150}
151
152impl From<List> for UpdateListDto {
153 fn from(entity: List) -> Self {
154 UpdateListDto {
155 id: entity.id,
156 created_at: entity.created_at,
157 updated_at: entity.updated_at,
158 style: entity.style,
159 indent: entity.indent,
160 prefix: entity.prefix,
161 suffix: entity.suffix,
162 }
163 }
164}
165
166impl From<ListDto> for UpdateListDto {
167 fn from(dto: ListDto) -> Self {
168 UpdateListDto {
169 id: dto.id,
170 created_at: dto.created_at,
171 updated_at: dto.updated_at,
172 style: dto.style,
173 indent: dto.indent,
174 prefix: dto.prefix,
175 suffix: dto.suffix,
176 }
177 }
178}