1use common::format_runs::ReplaceFormatPolicy;
4use serde::{Deserialize, Serialize};
5
6#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7pub struct InsertTextDto {
8 pub position: i64,
9 pub anchor: i64,
10 pub text: String,
11 #[serde(default)]
22 pub format_policy: ReplaceFormatPolicy,
23}
24#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
25pub struct InsertTextResultDto {
26 pub new_position: i64,
27 pub blocks_affected: i64,
28}
29#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
30pub struct DeleteTextDto {
31 pub position: i64,
32 pub anchor: i64,
33}
34#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
35pub struct DeleteTextResultDto {
36 pub new_position: i64,
37 pub deleted_text: String,
38}
39#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
40pub struct InsertBlockDto {
41 pub position: i64,
42 pub anchor: i64,
43}
44#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
45pub struct InsertBlockResultDto {
46 pub new_position: i64,
47 pub new_block_id: i64,
48}
49#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
50pub struct InsertImageDto {
51 pub position: i64,
52 pub anchor: i64,
53 pub image_name: String,
54 pub alt: String,
56 pub width: i64,
57 pub height: i64,
58 pub quality: i64,
61}
62#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
63pub struct InsertImageResultDto {
64 pub new_position: i64,
65 pub element_id: i64,
66}
67#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
68pub struct InsertFrameDto {
69 pub position: i64,
70 pub anchor: i64,
71}
72#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
73pub struct InsertFrameResultDto {
74 pub frame_id: i64,
75}
76pub use common::entities::FramePosition;
77#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
78pub struct WrapBlocksInFrameDto {
79 pub start_block_id: i64,
80 pub end_block_id: i64,
81 pub position: Option<FramePosition>,
82 pub top_margin: Option<i64>,
83 pub bottom_margin: Option<i64>,
84 pub left_margin: Option<i64>,
85 pub right_margin: Option<i64>,
86 pub padding: Option<i64>,
87 pub border: Option<i64>,
88 pub is_blockquote: Option<bool>,
89}
90#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
91pub struct WrapBlocksInFrameResultDto {
92 pub new_frame_id: i64,
93 pub new_position: i64,
94}
95#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
96pub struct UnwrapFrameDto {
97 pub frame_id: i64,
98}
99#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
100pub struct UnwrapFrameResultDto {
101 pub new_position: i64,
102}
103#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
104pub struct UnwrapBlockFromFrameDto {
105 pub block_id: i64,
106}
107#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
108pub struct UnwrapBlockFromFrameResultDto {
109 pub new_position: i64,
110}
111#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
112pub struct InsertFormattedTextDto {
113 pub position: i64,
114 pub anchor: i64,
115 pub text: String,
116 pub font_family: String,
117 pub font_point_size: i64,
118 pub font_bold: bool,
119 pub font_italic: bool,
120 pub font_underline: bool,
121 pub font_strikeout: bool,
122}
123#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
124pub struct InsertFormattedTextResultDto {
125 pub new_position: i64,
126}
127#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
128pub struct CreateListDto {
129 pub position: i64,
130 pub anchor: i64,
131 pub style: ListStyle,
132}
133
134pub use common::entities::ListStyle;
135#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
136pub struct CreateListResultDto {
137 pub list_id: i64,
138}
139#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
140pub struct InsertListDto {
141 pub position: i64,
142 pub anchor: i64,
143 pub style: ListStyle,
144}
145#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
146pub struct InsertListResultDto {
147 pub list_id: i64,
148 pub new_position: i64,
149}
150#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
151pub struct InsertFragmentDto {
152 pub position: i64,
153 pub anchor: i64,
154 pub fragment_data: String,
155}
156#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
157pub struct InsertFragmentResultDto {
158 pub new_position: i64,
159 pub blocks_added: i64,
160}
161#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
162pub struct InsertHtmlAtPositionDto {
163 pub position: i64,
164 pub anchor: i64,
165 pub html: String,
166}
167#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
168pub struct InsertHtmlAtPositionResultDto {
169 pub new_position: i64,
170 pub blocks_added: i64,
171}
172#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
173pub struct InsertMarkdownAtPositionDto {
174 pub position: i64,
175 pub anchor: i64,
176 pub markdown: String,
177}
178#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
179pub struct InsertMarkdownAtPositionResultDto {
180 pub new_position: i64,
181 pub blocks_added: i64,
182}
183#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
184pub struct InsertDjotAtPositionDto {
185 pub position: i64,
186 pub anchor: i64,
187 pub djot: String,
188}
189#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
190pub struct InsertDjotAtPositionResultDto {
191 pub new_position: i64,
192 pub blocks_added: i64,
193}
194#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
195pub struct InsertTableDto {
196 pub position: i64,
197 pub anchor: i64,
198 pub rows: i64,
199 pub columns: i64,
200}
201#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
202pub struct InsertTableResultDto {
203 pub table_id: i64,
204 pub new_position: i64,
205}
206#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
207pub struct RemoveTableDto {
208 pub table_id: i64,
209}
210#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
211pub struct InsertTableRowDto {
212 pub table_id: i64,
213 pub row_index: i64,
214}
215#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
216pub struct InsertTableRowResultDto {
217 pub new_row_count: i64,
218}
219#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
220pub struct InsertTableColumnDto {
221 pub table_id: i64,
222 pub column_index: i64,
223}
224#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
225pub struct InsertTableColumnResultDto {
226 pub new_column_count: i64,
227}
228#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
229pub struct RemoveTableRowDto {
230 pub table_id: i64,
231 pub row_index: i64,
232}
233#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
234pub struct RemoveTableRowResultDto {
235 pub new_row_count: i64,
236}
237#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
238pub struct RemoveTableColumnDto {
239 pub table_id: i64,
240 pub column_index: i64,
241}
242#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
243pub struct RemoveTableColumnResultDto {
244 pub new_column_count: i64,
245}
246#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
247pub struct MergeTableCellsDto {
248 pub table_id: i64,
249 pub start_row: i64,
250 pub start_column: i64,
251 pub end_row: i64,
252 pub end_column: i64,
253}
254#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
255pub struct MergeTableCellsResultDto {
256 pub merged_cell_id: i64,
257}
258#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
259pub struct SplitTableCellDto {
260 pub cell_id: i64,
261 pub split_rows: i64,
262 pub split_columns: i64,
263}
264#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
265pub struct SplitTableCellResultDto {
266 pub new_cell_ids: Vec<i64>,
267}
268#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
269pub struct AddBlockToListDto {
270 pub block_id: i64,
271 pub list_id: i64,
272}
273#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
274pub struct RemoveBlockFromListDto {
275 pub block_id: i64,
276}