certificatelib/dto/
certificate_request.rs1use chrono::naive::serde::ts_milliseconds;
2use chrono::NaiveDateTime;
3use serde::{Deserialize, Serialize};
4use serde_json;
5use uuid::Uuid;
6
7use crate::dto::certificate_data::CertificateData;
8
9#[derive(Serialize, Deserialize, Debug, Clone)]
10#[serde(rename_all = "camelCase")]
11pub struct CertificateRequest {
12 pub id: Option<Uuid>,
13 pub name: Option<String>,
14 pub cert_number: i32,
15 pub cert_type: String,
16 pub recipient: Uuid,
17 #[serde(with = "ts_milliseconds")]
18 pub cert_date: NaiveDateTime,
19 pub cert_number_extra: Option<String>,
20 pub issuer_org: Uuid,
21 pub signed_by: Uuid,
22 pub template: Uuid,
23 pub props: Option<serde_json::Value>,
24 pub description: Option<String>,
25 pub comment: Option<String>,
26 pub visibility: String,
27 pub permitted_list: Option<Vec<Uuid>>,
28 pub file_path: Option<String>,
29 pub status: String,
30 pub template_data: Option<CertificateData>,
31 pub entity: Option<Uuid>,
32 pub folder: Option<Uuid>,
33}