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#[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}