casdoor_sdk/apis/
enforcer_api.rs

1
2
3use reqwest;
4
5use crate::{apis::ResponseContent, models};
6use super::{Error, configuration};
7
8/// struct for passing parameters to the method [`add_enforcer`]
9#[derive(Clone, Debug)]
10pub struct ApiControllerAddEnforcerParams {
11    /// The enforcer object
12    pub enforcer: serde_json::Value
13}
14
15/// struct for passing parameters to the method [`batch_enforce`]
16#[derive(Clone, Debug)]
17pub struct ApiControllerBatchEnforceParams {
18    /// array of casbin requests
19    pub body: Vec<String>,
20    /// permission id
21    pub permission_id: Option<String>,
22    /// model id
23    pub model_id: Option<String>,
24    /// owner
25    pub owner: Option<String>
26}
27
28/// struct for passing parameters to the method [`delete_enforcer`]
29#[derive(Clone, Debug)]
30pub struct ApiControllerDeleteEnforcerParams {
31    /// The enforcer object
32    pub body: models::Enforcer
33}
34
35/// struct for passing parameters to the method [`enforce`]
36#[derive(Clone, Debug)]
37pub struct ApiControllerEnforceParams {
38    /// Casbin request
39    pub body: Vec<String>,
40    /// permission id
41    pub permission_id: Option<String>,
42    /// model id
43    pub model_id: Option<String>,
44    /// resource id
45    pub resource_id: Option<String>,
46    /// owner
47    pub owner: Option<String>
48}
49
50/// struct for passing parameters to the method [`get_enforcer`]
51#[derive(Clone, Debug)]
52pub struct ApiControllerGetEnforcerParams {
53    /// The id ( owner/name )  of enforcer
54    pub id: String
55}
56
57/// struct for passing parameters to the method [`get_enforcers`]
58#[derive(Clone, Debug)]
59pub struct ApiControllerGetEnforcersParams {
60    /// The owner of enforcers
61    pub owner: String
62}
63
64/// struct for passing parameters to the method [`update_enforcer`]
65#[derive(Clone, Debug)]
66pub struct ApiControllerUpdateEnforcerParams {
67    /// The id ( owner/name )  of enforcer
68    pub id: String,
69    /// The enforcer object
70    pub enforcer: serde_json::Value
71}
72
73
74/// struct for typed errors of method [`add_enforcer`]
75#[derive(Debug, Clone, Serialize, Deserialize)]
76#[serde(untagged)]
77pub enum ApiControllerAddEnforcerError {
78    UnknownValue(serde_json::Value),
79}
80
81/// struct for typed errors of method [`batch_enforce`]
82#[derive(Debug, Clone, Serialize, Deserialize)]
83#[serde(untagged)]
84pub enum ApiControllerBatchEnforceError {
85    UnknownValue(serde_json::Value),
86}
87
88/// struct for typed errors of method [`delete_enforcer`]
89#[derive(Debug, Clone, Serialize, Deserialize)]
90#[serde(untagged)]
91pub enum ApiControllerDeleteEnforcerError {
92    UnknownValue(serde_json::Value),
93}
94
95/// struct for typed errors of method [`enforce`]
96#[derive(Debug, Clone, Serialize, Deserialize)]
97#[serde(untagged)]
98pub enum ApiControllerEnforceError {
99    UnknownValue(serde_json::Value),
100}
101
102/// struct for typed errors of method [`get_enforcer`]
103#[derive(Debug, Clone, Serialize, Deserialize)]
104#[serde(untagged)]
105pub enum ApiControllerGetEnforcerError {
106    UnknownValue(serde_json::Value),
107}
108
109/// struct for typed errors of method [`get_enforcers`]
110#[derive(Debug, Clone, Serialize, Deserialize)]
111#[serde(untagged)]
112pub enum ApiControllerGetEnforcersError {
113    UnknownValue(serde_json::Value),
114}
115
116/// struct for typed errors of method [`update_enforcer`]
117#[derive(Debug, Clone, Serialize, Deserialize)]
118#[serde(untagged)]
119pub enum ApiControllerUpdateEnforcerError {
120    UnknownValue(serde_json::Value),
121}
122
123
124/// add enforcer
125pub async fn add_enforcer(configuration: &configuration::Configuration, params: ApiControllerAddEnforcerParams) -> Result<models::Enforcer, Error<ApiControllerAddEnforcerError>> {
126    let local_var_configuration = configuration;
127
128    // unbox the parameters
129    let enforcer = params.enforcer;
130
131
132    let local_var_client = &local_var_configuration.client;
133
134    let local_var_uri_str = format!("{}/api/add-enforcer", local_var_configuration.base_path);
135    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
136
137    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
138        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
139    }
140    local_var_req_builder = local_var_req_builder.json(&enforcer);
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<ApiControllerAddEnforcerError> = 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
157/// Call Casbin BatchEnforce API
158pub async fn batch_enforce(configuration: &configuration::Configuration, params: ApiControllerBatchEnforceParams) -> Result<models::ControllersResponse, Error<ApiControllerBatchEnforceError>> {
159    let local_var_configuration = configuration;
160
161    // unbox the parameters
162    let body = params.body;
163    let permission_id = params.permission_id;
164    let model_id = params.model_id;
165    let owner = params.owner;
166
167
168    let local_var_client = &local_var_configuration.client;
169
170    let local_var_uri_str = format!("{}/api/batch-enforce", local_var_configuration.base_path);
171    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
172
173    if let Some(ref local_var_str) = permission_id {
174        local_var_req_builder = local_var_req_builder.query(&[("permissionId", &local_var_str.to_string())]);
175    }
176    if let Some(ref local_var_str) = model_id {
177        local_var_req_builder = local_var_req_builder.query(&[("modelId", &local_var_str.to_string())]);
178    }
179    if let Some(ref local_var_str) = owner {
180        local_var_req_builder = local_var_req_builder.query(&[("owner", &local_var_str.to_string())]);
181    }
182    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
183        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
184    }
185    local_var_req_builder = local_var_req_builder.json(&body);
186
187    let local_var_req = local_var_req_builder.build()?;
188    let local_var_resp = local_var_client.execute(local_var_req).await?;
189
190    let local_var_status = local_var_resp.status();
191    let local_var_content = local_var_resp.text().await?;
192
193    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
194        serde_json::from_str(&local_var_content).map_err(Error::from)
195    } else {
196        let local_var_entity: Option<ApiControllerBatchEnforceError> = serde_json::from_str(&local_var_content).ok();
197        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
198        Err(Error::ResponseError(local_var_error))
199    }
200}
201
202/// delete enforcer
203pub async fn delete_enforcer(configuration: &configuration::Configuration, params: ApiControllerDeleteEnforcerParams) -> Result<models::Enforcer, Error<ApiControllerDeleteEnforcerError>> {
204    let local_var_configuration = configuration;
205
206    // unbox the parameters
207    let body = params.body;
208
209
210    let local_var_client = &local_var_configuration.client;
211
212    let local_var_uri_str = format!("{}/api/delete-enforcer", local_var_configuration.base_path);
213    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
214
215    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
216        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
217    }
218    local_var_req_builder = local_var_req_builder.json(&body);
219
220    let local_var_req = local_var_req_builder.build()?;
221    let local_var_resp = local_var_client.execute(local_var_req).await?;
222
223    let local_var_status = local_var_resp.status();
224    let local_var_content = local_var_resp.text().await?;
225
226    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
227        serde_json::from_str(&local_var_content).map_err(Error::from)
228    } else {
229        let local_var_entity: Option<ApiControllerDeleteEnforcerError> = serde_json::from_str(&local_var_content).ok();
230        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
231        Err(Error::ResponseError(local_var_error))
232    }
233}
234
235/// Call Casbin Enforce API
236pub async fn enforce(configuration: &configuration::Configuration, params: ApiControllerEnforceParams) -> Result<models::ControllersResponse, Error<ApiControllerEnforceError>> {
237    let local_var_configuration = configuration;
238
239    // unbox the parameters
240    let body = params.body;
241    let permission_id = params.permission_id;
242    let model_id = params.model_id;
243    let resource_id = params.resource_id;
244    let owner = params.owner;
245
246
247    let local_var_client = &local_var_configuration.client;
248
249    let local_var_uri_str = format!("{}/api/enforce", local_var_configuration.base_path);
250    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
251
252    if let Some(ref local_var_str) = permission_id {
253        local_var_req_builder = local_var_req_builder.query(&[("permissionId", &local_var_str.to_string())]);
254    }
255    if let Some(ref local_var_str) = model_id {
256        local_var_req_builder = local_var_req_builder.query(&[("modelId", &local_var_str.to_string())]);
257    }
258    if let Some(ref local_var_str) = resource_id {
259        local_var_req_builder = local_var_req_builder.query(&[("resourceId", &local_var_str.to_string())]);
260    }
261    if let Some(ref local_var_str) = owner {
262        local_var_req_builder = local_var_req_builder.query(&[("owner", &local_var_str.to_string())]);
263    }
264    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
265        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
266    }
267    local_var_req_builder = local_var_req_builder.json(&body);
268
269    let local_var_req = local_var_req_builder.build()?;
270    let local_var_resp = local_var_client.execute(local_var_req).await?;
271
272    let local_var_status = local_var_resp.status();
273    let local_var_content = local_var_resp.text().await?;
274
275    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
276        serde_json::from_str(&local_var_content).map_err(Error::from)
277    } else {
278        let local_var_entity: Option<ApiControllerEnforceError> = serde_json::from_str(&local_var_content).ok();
279        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
280        Err(Error::ResponseError(local_var_error))
281    }
282}
283
284/// get enforcer
285pub async fn get_enforcer(configuration: &configuration::Configuration, params: ApiControllerGetEnforcerParams) -> Result<models::Enforcer, Error<ApiControllerGetEnforcerError>> {
286    let local_var_configuration = configuration;
287
288    // unbox the parameters
289    let id = params.id;
290
291
292    let local_var_client = &local_var_configuration.client;
293
294    let local_var_uri_str = format!("{}/api/get-enforcer", local_var_configuration.base_path);
295    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
296
297    local_var_req_builder = local_var_req_builder.query(&[("id", &id.to_string())]);
298    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
299        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
300    }
301
302    let local_var_req = local_var_req_builder.build()?;
303    let local_var_resp = local_var_client.execute(local_var_req).await?;
304
305    let local_var_status = local_var_resp.status();
306    let local_var_content = local_var_resp.text().await?;
307
308    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
309        serde_json::from_str(&local_var_content).map_err(Error::from)
310    } else {
311        let local_var_entity: Option<ApiControllerGetEnforcerError> = serde_json::from_str(&local_var_content).ok();
312        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
313        Err(Error::ResponseError(local_var_error))
314    }
315}
316
317/// get enforcers
318pub async fn get_enforcers(configuration: &configuration::Configuration, params: ApiControllerGetEnforcersParams) -> Result<Vec<models::Enforcer>, Error<ApiControllerGetEnforcersError>> {
319    let local_var_configuration = configuration;
320
321    // unbox the parameters
322    let owner = params.owner;
323
324
325    let local_var_client = &local_var_configuration.client;
326
327    let local_var_uri_str = format!("{}/api/get-enforcers", local_var_configuration.base_path);
328    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
329
330    local_var_req_builder = local_var_req_builder.query(&[("owner", &owner.to_string())]);
331    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
332        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
333    }
334
335    let local_var_req = local_var_req_builder.build()?;
336    let local_var_resp = local_var_client.execute(local_var_req).await?;
337
338    let local_var_status = local_var_resp.status();
339    let local_var_content = local_var_resp.text().await?;
340
341    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
342        serde_json::from_str(&local_var_content).map_err(Error::from)
343    } else {
344        let local_var_entity: Option<ApiControllerGetEnforcersError> = serde_json::from_str(&local_var_content).ok();
345        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
346        Err(Error::ResponseError(local_var_error))
347    }
348}
349
350/// update enforcer
351pub async fn update_enforcer(configuration: &configuration::Configuration, params: ApiControllerUpdateEnforcerParams) -> Result<models::Enforcer, Error<ApiControllerUpdateEnforcerError>> {
352    let local_var_configuration = configuration;
353
354    // unbox the parameters
355    let id = params.id;
356    let enforcer = params.enforcer;
357
358
359    let local_var_client = &local_var_configuration.client;
360
361    let local_var_uri_str = format!("{}/api/update-enforcer", local_var_configuration.base_path);
362    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
363
364    local_var_req_builder = local_var_req_builder.query(&[("id", &id.to_string())]);
365    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
366        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
367    }
368    local_var_req_builder = local_var_req_builder.json(&enforcer);
369
370    let local_var_req = local_var_req_builder.build()?;
371    let local_var_resp = local_var_client.execute(local_var_req).await?;
372
373    let local_var_status = local_var_resp.status();
374    let local_var_content = local_var_resp.text().await?;
375
376    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
377        serde_json::from_str(&local_var_content).map_err(Error::from)
378    } else {
379        let local_var_entity: Option<ApiControllerUpdateEnforcerError> = serde_json::from_str(&local_var_content).ok();
380        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
381        Err(Error::ResponseError(local_var_error))
382    }
383}
384