async_openai/types/admin/
certificates.rs1use crate::error::OpenAIError;
2use derive_builder::Builder;
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
7#[serde(rename_all = "lowercase")]
8pub enum ListOrganizationCertificatesOrder {
9 Asc,
11 Desc,
13}
14
15#[derive(Debug, Serialize, Default, Clone, Builder, PartialEq)]
17#[builder(name = "ListOrganizationCertificatesQueryArgs")]
18#[builder(pattern = "mutable")]
19#[builder(setter(into, strip_option), default)]
20#[builder(derive(Debug))]
21#[builder(build_fn(error = "OpenAIError"))]
22pub struct ListOrganizationCertificatesQuery {
23 #[serde(skip_serializing_if = "Option::is_none")]
25 pub limit: Option<u32>,
26 #[serde(skip_serializing_if = "Option::is_none")]
28 pub after: Option<String>,
29 #[serde(skip_serializing_if = "Option::is_none")]
31 pub order: Option<ListOrganizationCertificatesOrder>,
32}
33
34#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
36#[serde(rename_all = "lowercase")]
37pub enum ListProjectCertificatesOrder {
38 Asc,
40 Desc,
42}
43
44#[derive(Debug, Serialize, Default, Clone, Builder, PartialEq)]
46#[builder(name = "ListProjectCertificatesQueryArgs")]
47#[builder(pattern = "mutable")]
48#[builder(setter(into, strip_option), default)]
49#[builder(derive(Debug))]
50#[builder(build_fn(error = "OpenAIError"))]
51pub struct ListProjectCertificatesQuery {
52 #[serde(skip_serializing_if = "Option::is_none")]
54 pub limit: Option<u32>,
55 #[serde(skip_serializing_if = "Option::is_none")]
57 pub after: Option<String>,
58 #[serde(skip_serializing_if = "Option::is_none")]
60 pub order: Option<ListProjectCertificatesOrder>,
61}
62
63#[derive(Debug, Serialize, Default, Clone, Builder, PartialEq)]
65#[builder(name = "GetCertificateQueryArgs")]
66#[builder(pattern = "mutable")]
67#[builder(setter(into, strip_option), default)]
68#[builder(derive(Debug))]
69#[builder(build_fn(error = "OpenAIError"))]
70pub struct GetCertificateQuery {
71 #[serde(skip_serializing_if = "Option::is_none")]
73 pub include: Option<Vec<String>>,
74}
75
76#[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
78pub struct Certificate {
79 pub object: String,
81 pub id: String,
83 pub name: String,
85 pub created_at: u64,
87 pub certificate_details: CertificateDetails,
89 #[serde(skip_serializing_if = "Option::is_none")]
92 pub active: Option<bool>,
93}
94
95#[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
97pub struct CertificateDetails {
98 pub valid_at: u64,
100 pub expires_at: u64,
102 #[serde(skip_serializing_if = "Option::is_none")]
105 pub content: Option<String>,
106}
107
108#[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
110pub struct ListCertificatesResponse {
111 pub object: String,
113 pub data: Vec<Certificate>,
115 #[serde(skip_serializing_if = "Option::is_none")]
117 pub first_id: Option<String>,
118 #[serde(skip_serializing_if = "Option::is_none")]
120 pub last_id: Option<String>,
121 pub has_more: bool,
123}
124
125#[derive(Debug, Serialize, Deserialize, Builder, Clone, PartialEq)]
127#[builder(name = "UploadCertificateRequestArgs")]
128#[builder(pattern = "mutable")]
129#[builder(setter(into, strip_option))]
130#[builder(derive(Debug))]
131#[builder(build_fn(error = "OpenAIError"))]
132pub struct UploadCertificateRequest {
133 #[serde(skip_serializing_if = "Option::is_none")]
135 pub name: Option<String>,
136 pub content: String,
138}
139
140#[derive(Debug, Serialize, Deserialize, Builder, Clone, PartialEq)]
142#[builder(name = "ModifyCertificateRequestArgs")]
143#[builder(pattern = "mutable")]
144#[builder(setter(into, strip_option))]
145#[builder(derive(Debug))]
146#[builder(build_fn(error = "OpenAIError"))]
147pub struct ModifyCertificateRequest {
148 pub name: String,
150}
151
152#[derive(Debug, Serialize, Deserialize, Builder, Clone, PartialEq)]
154#[builder(name = "ToggleCertificatesRequestArgs")]
155#[builder(pattern = "mutable")]
156#[builder(setter(into, strip_option))]
157#[builder(derive(Debug))]
158#[builder(build_fn(error = "OpenAIError"))]
159pub struct ToggleCertificatesRequest {
160 pub certificate_ids: Vec<String>,
162}
163
164#[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
166pub struct DeleteCertificateResponse {
167 pub object: String,
169 pub id: String,
171}