shuttle_common/models/
certificate.rs

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