shuttle_common/models/
certificate.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Deserialize, Serialize, Debug)]
4#[cfg_attr(feature = "utoipa", derive(utoipa::ToSchema))]
5#[typeshare::typeshare]
6pub struct AddCertificateRequest {
7 #[serde(alias = "domain")]
8 pub subject: String,
9}
10
11#[derive(Deserialize, Serialize, Debug)]
12#[cfg_attr(feature = "utoipa", derive(utoipa::ToSchema))]
13#[typeshare::typeshare]
14pub struct DeleteCertificateRequest {
15 #[serde(alias = "domain")]
16 pub subject: String,
17}
18
19#[derive(Deserialize, Serialize, Debug)]
20#[cfg_attr(feature = "utoipa", derive(utoipa::ToSchema))]
21#[typeshare::typeshare]
22pub struct CertificateResponse {
23 pub id: String,
24 pub subject: String,
25 pub serial_hex: String,
26 pub not_after: String,
27}
28
29#[derive(Deserialize, Serialize, Debug)]
30#[cfg_attr(feature = "utoipa", derive(utoipa::ToSchema))]
31#[typeshare::typeshare]
32pub struct CertificateListResponse {
33 pub certificates: Vec<CertificateResponse>,
34}