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#[typeshare::typeshare]
13pub struct DeleteCertificateRequest {
14 #[serde(alias = "domain")]
15 pub subject: String,
16}
17
18#[derive(Deserialize, Serialize, Debug)]
19#[cfg_attr(feature = "utoipa", derive(utoipa::ToSchema))]
20#[typeshare::typeshare]
21pub struct CertificateResponse {
22 pub id: String,
23 pub subject: String,
24 pub serial_hex: String,
25 pub not_after: String,
26}
27
28#[derive(Deserialize, Serialize, Debug)]
29#[cfg_attr(feature = "utoipa", derive(utoipa::ToSchema))]
30#[typeshare::typeshare]
31pub struct CertificateListResponse {
32 pub certificates: Vec<CertificateResponse>,
33}