1use 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 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}