certificatelib/dto/
certificate_request.rs

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