isilon/apis/
auth_roles_api.rs

1/*
2 * Isilon SDK
3 *
4 * Isilon SDK - Language bindings for the OneFS API
5 *
6 * OpenAPI spec version: 5
7 * Contact: sdk@isilon.com
8 * Generated by: https://github.com/swagger-api/swagger-codegen.git
9 */
10
11use std::borrow::Borrow;
12use std::rc::Rc;
13
14use futures;
15use futures::Future;
16use hyper;
17
18use super::{configuration, query, Error};
19
20pub struct AuthRolesApiClient<C: hyper::client::connect::Connect> {
21    configuration: Rc<configuration::Configuration<C>>,
22}
23
24impl<C: hyper::client::connect::Connect> AuthRolesApiClient<C> {
25    pub fn new(configuration: Rc<configuration::Configuration<C>>) -> AuthRolesApiClient<C> {
26        AuthRolesApiClient {
27            configuration: configuration,
28        }
29    }
30}
31
32pub trait AuthRolesApi {
33    fn create_role_member(
34        &self,
35        role_member: crate::models::AuthAccessAccessItemFileGroup,
36        role: &str,
37    ) -> Box<dyn Future<Item = crate::models::CreateResponse, Error = Error>>;
38    fn create_role_privilege(
39        &self,
40        role_privilege: crate::models::AuthIdNtokenPrivilegeItem,
41        role: &str,
42    ) -> Box<dyn Future<Item = crate::models::CreateResponse, Error = Error>>;
43    fn delete_role_member(
44        &self,
45        role_member_id: &str,
46        role: &str,
47    ) -> Box<dyn Future<Item = (), Error = Error>>;
48    fn delete_role_privilege(
49        &self,
50        role_privilege_id: &str,
51        role: &str,
52    ) -> Box<dyn Future<Item = (), Error = Error>>;
53    fn list_role_members(
54        &self,
55        role: &str,
56        resolve_names: bool,
57    ) -> Box<dyn Future<Item = crate::models::GroupMembers, Error = Error>>;
58    fn list_role_privileges(
59        &self,
60        role: &str,
61    ) -> Box<dyn Future<Item = crate::models::RolePrivileges, Error = Error>>;
62}
63
64impl<C: hyper::client::connect::Connect + 'static> AuthRolesApi for AuthRolesApiClient<C> {
65    fn create_role_member(
66        &self,
67        role_member: crate::models::AuthAccessAccessItemFileGroup,
68        role: &str,
69    ) -> Box<dyn Future<Item = crate::models::CreateResponse, Error = Error>> {
70        let uri_str = format!(
71            "{}/platform/1/auth/roles/{Role}/members",
72            self.configuration.base_path,
73            Role = role
74        );
75
76        query(
77            self.configuration.borrow(),
78            &uri_str,
79            &role_member,
80            hyper::Method::POST,
81        )
82    }
83
84    fn create_role_privilege(
85        &self,
86        role_privilege: crate::models::AuthIdNtokenPrivilegeItem,
87        role: &str,
88    ) -> Box<dyn Future<Item = crate::models::CreateResponse, Error = Error>> {
89        let uri_str = format!(
90            "{}/platform/1/auth/roles/{Role}/privileges",
91            self.configuration.base_path,
92            Role = role
93        );
94
95        query(
96            self.configuration.borrow(),
97            &uri_str,
98            &role_privilege,
99            hyper::Method::POST,
100        )
101    }
102
103    fn delete_role_member(
104        &self,
105        role_member_id: &str,
106        role: &str,
107    ) -> Box<dyn Future<Item = (), Error = Error>> {
108        let uri_str = format!(
109            "{}/platform/1/auth/roles/{Role}/members/{RoleMemberId}",
110            self.configuration.base_path,
111            RoleMemberId = role_member_id,
112            Role = role
113        );
114        query(
115            self.configuration.borrow(),
116            &uri_str,
117            &"",
118            hyper::Method::DELETE,
119        )
120    }
121
122    fn delete_role_privilege(
123        &self,
124        role_privilege_id: &str,
125        role: &str,
126    ) -> Box<dyn Future<Item = (), Error = Error>> {
127        let uri_str = format!(
128            "{}/platform/1/auth/roles/{Role}/privileges/{RolePrivilegeId}",
129            self.configuration.base_path,
130            RolePrivilegeId = role_privilege_id,
131            Role = role
132        );
133        query(
134            self.configuration.borrow(),
135            &uri_str,
136            &"",
137            hyper::Method::DELETE,
138        )
139    }
140
141    fn list_role_members(
142        &self,
143        role: &str,
144        resolve_names: bool,
145    ) -> Box<dyn Future<Item = crate::models::GroupMembers, Error = Error>> {
146        let q = ::url::form_urlencoded::Serializer::new(String::new())
147            .append_pair("resolve_names", &resolve_names.to_string())
148            .finish();
149        let uri_str = format!(
150            "{}/platform/1/auth/roles/{Role}/members?{}",
151            self.configuration.base_path,
152            q,
153            Role = role
154        );
155
156        //let parsed: Result<crate::models::GroupMembers, _> = serde_json::from_slice(&body);
157        query(
158            self.configuration.borrow(),
159            &uri_str,
160            &"",
161            hyper::Method::GET,
162        )
163    }
164
165    fn list_role_privileges(
166        &self,
167        role: &str,
168    ) -> Box<dyn Future<Item = crate::models::RolePrivileges, Error = Error>> {
169        let uri_str = format!(
170            "{}/platform/1/auth/roles/{Role}/privileges",
171            self.configuration.base_path,
172            Role = role
173        );
174
175        query(
176            self.configuration.borrow(),
177            &uri_str,
178            &"",
179            hyper::Method::GET,
180        )
181    }
182}