use std::borrow::Borrow;
use std::rc::Rc;
use futures;
use futures::Future;
use hyper;
use super::{configuration, query, Error};
pub struct AuthRolesApiClient<C: hyper::client::connect::Connect> {
configuration: Rc<configuration::Configuration<C>>,
}
impl<C: hyper::client::connect::Connect> AuthRolesApiClient<C> {
pub fn new(configuration: Rc<configuration::Configuration<C>>) -> AuthRolesApiClient<C> {
AuthRolesApiClient {
configuration: configuration,
}
}
}
pub trait AuthRolesApi {
fn create_role_member(
&self,
role_member: crate::models::AuthAccessAccessItemFileGroup,
role: &str,
) -> Box<dyn Future<Item = crate::models::CreateResponse, Error = Error>>;
fn create_role_privilege(
&self,
role_privilege: crate::models::AuthIdNtokenPrivilegeItem,
role: &str,
) -> Box<dyn Future<Item = crate::models::CreateResponse, Error = Error>>;
fn delete_role_member(
&self,
role_member_id: &str,
role: &str,
) -> Box<dyn Future<Item = (), Error = Error>>;
fn delete_role_privilege(
&self,
role_privilege_id: &str,
role: &str,
) -> Box<dyn Future<Item = (), Error = Error>>;
fn list_role_members(
&self,
role: &str,
resolve_names: bool,
) -> Box<dyn Future<Item = crate::models::GroupMembers, Error = Error>>;
fn list_role_privileges(
&self,
role: &str,
) -> Box<dyn Future<Item = crate::models::RolePrivileges, Error = Error>>;
}
impl<C: hyper::client::connect::Connect + 'static> AuthRolesApi for AuthRolesApiClient<C> {
fn create_role_member(
&self,
role_member: crate::models::AuthAccessAccessItemFileGroup,
role: &str,
) -> Box<dyn Future<Item = crate::models::CreateResponse, Error = Error>> {
let uri_str = format!(
"{}/platform/1/auth/roles/{Role}/members",
self.configuration.base_path,
Role = role
);
query(
self.configuration.borrow(),
&uri_str,
&role_member,
hyper::Method::POST,
)
}
fn create_role_privilege(
&self,
role_privilege: crate::models::AuthIdNtokenPrivilegeItem,
role: &str,
) -> Box<dyn Future<Item = crate::models::CreateResponse, Error = Error>> {
let uri_str = format!(
"{}/platform/1/auth/roles/{Role}/privileges",
self.configuration.base_path,
Role = role
);
query(
self.configuration.borrow(),
&uri_str,
&role_privilege,
hyper::Method::POST,
)
}
fn delete_role_member(
&self,
role_member_id: &str,
role: &str,
) -> Box<dyn Future<Item = (), Error = Error>> {
let uri_str = format!(
"{}/platform/1/auth/roles/{Role}/members/{RoleMemberId}",
self.configuration.base_path,
RoleMemberId = role_member_id,
Role = role
);
query(
self.configuration.borrow(),
&uri_str,
&"",
hyper::Method::DELETE,
)
}
fn delete_role_privilege(
&self,
role_privilege_id: &str,
role: &str,
) -> Box<dyn Future<Item = (), Error = Error>> {
let uri_str = format!(
"{}/platform/1/auth/roles/{Role}/privileges/{RolePrivilegeId}",
self.configuration.base_path,
RolePrivilegeId = role_privilege_id,
Role = role
);
query(
self.configuration.borrow(),
&uri_str,
&"",
hyper::Method::DELETE,
)
}
fn list_role_members(
&self,
role: &str,
resolve_names: bool,
) -> Box<dyn Future<Item = crate::models::GroupMembers, Error = Error>> {
let q = ::url::form_urlencoded::Serializer::new(String::new())
.append_pair("resolve_names", &resolve_names.to_string())
.finish();
let uri_str = format!(
"{}/platform/1/auth/roles/{Role}/members?{}",
self.configuration.base_path,
q,
Role = role
);
query(
self.configuration.borrow(),
&uri_str,
&"",
hyper::Method::GET,
)
}
fn list_role_privileges(
&self,
role: &str,
) -> Box<dyn Future<Item = crate::models::RolePrivileges, Error = Error>> {
let uri_str = format!(
"{}/platform/1/auth/roles/{Role}/privileges",
self.configuration.base_path,
Role = role
);
query(
self.configuration.borrow(),
&uri_str,
&"",
hyper::Method::GET,
)
}
}