certificatelib/dto/
template_request.rs1use common::entity::DtoReq;
2use serde::{Deserialize, Serialize};
3use uuid::Uuid;
4
5#[derive(Serialize, Deserialize, Debug, Clone)]
6#[serde(rename_all = "camelCase")]
7pub struct TemplateRequest {
8 pub id: Option<Uuid>,
9 pub name: String,
10 pub organization: Uuid,
11 pub status: String,
12 pub text: String,
13 pub data: Option<TemplateData>,
14 pub available_below: Uuid,
15 pub visibility: String,
16 pub entity_type: Option<String>,
17}
18impl DtoReq for TemplateRequest {}
19
20#[derive(Clone, Serialize, Deserialize, Debug, PartialEq)]
21#[serde(rename_all = "camelCase")]
22pub struct TemplateData {
23 #[serde(skip_serializing_if = "Option::is_none")]
24 pub full_data: Option<serde_json::Value>,
25 #[serde(skip_serializing_if = "Option::is_none")]
26 pub direction: Option<String>,
27 #[serde(skip_serializing_if = "Option::is_none")]
28 pub size_x: Option<i32>,
29 #[serde(skip_serializing_if = "Option::is_none")]
30 pub size_y: Option<i32>,
31 #[serde(skip_serializing_if = "Option::is_none")]
32 pub background: Option<String>,
33 #[serde(skip_serializing_if = "Option::is_none")]
34 pub items: Option<Vec<TemplateItem>>,
35}
36
37#[derive(Clone, Serialize, Deserialize, Debug, PartialEq)]
38#[serde(rename_all = "camelCase")]
39pub struct TemplateItem {
40 pub id: Uuid,
41 #[serde(rename = "type")]
42 #[serde(skip_serializing_if = "Option::is_none")]
43 pub item_type: Option<String>,
44 #[serde(skip_serializing_if = "Option::is_none")]
45 pub text: Option<String>,
46 #[serde(skip_serializing_if = "Option::is_none")]
47 pub path: Option<String>,
48 #[serde(skip_serializing_if = "Option::is_none")]
49 pub style: Option<String>,
50 #[serde(skip_serializing_if = "Option::is_none")]
51 pub child_style: Option<String>,
52}