certificatelib/dto/
template_request.rs

1use 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}