clerk_sdk_rust_community/apis/
jwt_templates_api.rs

1/*
2 * Clerk Backend API
3 *
4 * The Clerk REST Backend API, meant to be accessed by backend servers. Please see https://clerk.com/docs for more information.
5 *
6 * The version of the OpenAPI document: v1
7 * Contact: support@clerk.dev
8 * Generated by: https://openapi-generator.tech
9 */
10
11
12use reqwest;
13
14use crate::apis::ResponseContent;
15use super::{Error, configuration};
16
17
18/// struct for typed errors of method [`create_jwt_template`]
19#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum CreateJwtTemplateError {
22    Status400(crate::models::ClerkErrors),
23    Status402(crate::models::ClerkErrors),
24    Status422(crate::models::ClerkErrors),
25    UnknownValue(serde_json::Value),
26}
27
28/// struct for typed errors of method [`delete_jwt_template`]
29#[derive(Debug, Clone, Serialize, Deserialize)]
30#[serde(untagged)]
31pub enum DeleteJwtTemplateError {
32    Status403(crate::models::ClerkErrors),
33    Status404(crate::models::ClerkErrors),
34    UnknownValue(serde_json::Value),
35}
36
37/// struct for typed errors of method [`get_jwt_template`]
38#[derive(Debug, Clone, Serialize, Deserialize)]
39#[serde(untagged)]
40pub enum GetJwtTemplateError {
41    Status404(crate::models::ClerkErrors),
42    UnknownValue(serde_json::Value),
43}
44
45/// struct for typed errors of method [`list_jwt_templates`]
46#[derive(Debug, Clone, Serialize, Deserialize)]
47#[serde(untagged)]
48pub enum ListJwtTemplatesError {
49    UnknownValue(serde_json::Value),
50}
51
52/// struct for typed errors of method [`update_jwt_template`]
53#[derive(Debug, Clone, Serialize, Deserialize)]
54#[serde(untagged)]
55pub enum UpdateJwtTemplateError {
56    Status400(crate::models::ClerkErrors),
57    Status402(crate::models::ClerkErrors),
58    Status422(crate::models::ClerkErrors),
59    UnknownValue(serde_json::Value),
60}
61
62
63/// Create a new JWT template
64pub async fn create_jwt_template(configuration: &configuration::Configuration, create_jwt_template_request: Option<crate::models::CreateJwtTemplateRequest>) -> Result<crate::models::JwtTemplate, Error<CreateJwtTemplateError>> {
65    let local_var_configuration = configuration;
66
67    let local_var_client = &local_var_configuration.client;
68
69    let local_var_uri_str = format!("{}/jwt_templates", local_var_configuration.base_path);
70    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
71
72    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
73        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
74    }
75    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
76        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
77    };
78    local_var_req_builder = local_var_req_builder.json(&create_jwt_template_request);
79
80    let local_var_req = local_var_req_builder.build()?;
81    let local_var_resp = local_var_client.execute(local_var_req).await?;
82
83    let local_var_status = local_var_resp.status();
84    let local_var_content = local_var_resp.text().await?;
85
86    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
87        serde_json::from_str(&local_var_content).map_err(Error::from)
88    } else {
89        let local_var_entity: Option<CreateJwtTemplateError> = serde_json::from_str(&local_var_content).ok();
90        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
91        Err(Error::ResponseError(local_var_error))
92    }
93}
94
95/// 
96pub async fn delete_jwt_template(configuration: &configuration::Configuration, template_id: &str) -> Result<crate::models::DeletedObject, Error<DeleteJwtTemplateError>> {
97    let local_var_configuration = configuration;
98
99    let local_var_client = &local_var_configuration.client;
100
101    let local_var_uri_str = format!("{}/jwt_templates/{template_id}", local_var_configuration.base_path, template_id=crate::apis::urlencode(template_id));
102    let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
103
104    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
105        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
106    }
107    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
108        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
109    };
110
111    let local_var_req = local_var_req_builder.build()?;
112    let local_var_resp = local_var_client.execute(local_var_req).await?;
113
114    let local_var_status = local_var_resp.status();
115    let local_var_content = local_var_resp.text().await?;
116
117    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
118        serde_json::from_str(&local_var_content).map_err(Error::from)
119    } else {
120        let local_var_entity: Option<DeleteJwtTemplateError> = serde_json::from_str(&local_var_content).ok();
121        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
122        Err(Error::ResponseError(local_var_error))
123    }
124}
125
126/// Retrieve the details of a given JWT template
127pub async fn get_jwt_template(configuration: &configuration::Configuration, template_id: &str) -> Result<crate::models::JwtTemplate, Error<GetJwtTemplateError>> {
128    let local_var_configuration = configuration;
129
130    let local_var_client = &local_var_configuration.client;
131
132    let local_var_uri_str = format!("{}/jwt_templates/{template_id}", local_var_configuration.base_path, template_id=crate::apis::urlencode(template_id));
133    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
134
135    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
136        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
137    }
138    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
139        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
140    };
141
142    let local_var_req = local_var_req_builder.build()?;
143    let local_var_resp = local_var_client.execute(local_var_req).await?;
144
145    let local_var_status = local_var_resp.status();
146    let local_var_content = local_var_resp.text().await?;
147
148    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
149        serde_json::from_str(&local_var_content).map_err(Error::from)
150    } else {
151        let local_var_entity: Option<GetJwtTemplateError> = serde_json::from_str(&local_var_content).ok();
152        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
153        Err(Error::ResponseError(local_var_error))
154    }
155}
156
157pub async fn list_jwt_templates(configuration: &configuration::Configuration, ) -> Result<Vec<crate::models::JwtTemplate>, Error<ListJwtTemplatesError>> {
158    let local_var_configuration = configuration;
159
160    let local_var_client = &local_var_configuration.client;
161
162    let local_var_uri_str = format!("{}/jwt_templates", local_var_configuration.base_path);
163    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
164
165    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
166        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
167    }
168    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
169        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
170    };
171
172    let local_var_req = local_var_req_builder.build()?;
173    let local_var_resp = local_var_client.execute(local_var_req).await?;
174
175    let local_var_status = local_var_resp.status();
176    let local_var_content = local_var_resp.text().await?;
177
178    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
179        serde_json::from_str(&local_var_content).map_err(Error::from)
180    } else {
181        let local_var_entity: Option<ListJwtTemplatesError> = serde_json::from_str(&local_var_content).ok();
182        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
183        Err(Error::ResponseError(local_var_error))
184    }
185}
186
187/// Updates an existing JWT template
188pub async fn update_jwt_template(configuration: &configuration::Configuration, template_id: &str, create_jwt_template_request: Option<crate::models::CreateJwtTemplateRequest>) -> Result<crate::models::JwtTemplate, Error<UpdateJwtTemplateError>> {
189    let local_var_configuration = configuration;
190
191    let local_var_client = &local_var_configuration.client;
192
193    let local_var_uri_str = format!("{}/jwt_templates/{template_id}", local_var_configuration.base_path, template_id=crate::apis::urlencode(template_id));
194    let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str());
195
196    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
197        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
198    }
199    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
200        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
201    };
202    local_var_req_builder = local_var_req_builder.json(&create_jwt_template_request);
203
204    let local_var_req = local_var_req_builder.build()?;
205    let local_var_resp = local_var_client.execute(local_var_req).await?;
206
207    let local_var_status = local_var_resp.status();
208    let local_var_content = local_var_resp.text().await?;
209
210    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
211        serde_json::from_str(&local_var_content).map_err(Error::from)
212    } else {
213        let local_var_entity: Option<UpdateJwtTemplateError> = serde_json::from_str(&local_var_content).ok();
214        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
215        Err(Error::ResponseError(local_var_error))
216    }
217}
218