use std::borrow::Borrow;
use std::rc::Rc;
use futures;
use futures::Future;
use hyper;
use super::{configuration, put, query, Error};
pub struct AuthUsersApiClient<C: hyper::client::connect::Connect> {
configuration: Rc<configuration::Configuration<C>>,
}
impl<C: hyper::client::connect::Connect> AuthUsersApiClient<C> {
pub fn new(configuration: Rc<configuration::Configuration<C>>) -> AuthUsersApiClient<C> {
AuthUsersApiClient {
configuration: configuration,
}
}
}
pub trait AuthUsersApi {
fn create_user_member_of_item(
&self,
user_member_of_item: crate::models::AuthAccessAccessItemFileGroup,
user: &str,
zone: &str,
provider: &str,
) -> Box<dyn Future<Item = crate::models::CreateResponse, Error = Error>>;
fn delete_user_member_of_member_of(
&self,
user_member_of_member_of: &str,
user: &str,
zone: &str,
provider: &str,
) -> Box<dyn Future<Item = (), Error = Error>>;
fn list_user_member_of(
&self,
user: &str,
resolve_names: bool,
zone: &str,
provider: &str,
) -> Box<dyn Future<Item = crate::models::UserMemberOf, Error = Error>>;
fn update_user_change_password(
&self,
user_change_password: crate::models::UserChangePassword,
user: &str,
zone: &str,
) -> Box<dyn Future<Item = (), Error = Error>>;
}
impl<C: hyper::client::connect::Connect + 'static> AuthUsersApi for AuthUsersApiClient<C> {
fn create_user_member_of_item(
&self,
user_member_of_item: crate::models::AuthAccessAccessItemFileGroup,
user: &str,
zone: &str,
provider: &str,
) -> Box<dyn Future<Item = crate::models::CreateResponse, Error = Error>> {
let q = ::url::form_urlencoded::Serializer::new(String::new())
.append_pair("zone", &zone.to_string())
.append_pair("provider", &provider.to_string())
.finish();
let uri_str = format!(
"{}/platform/3/auth/users/{User}/member-of?{}",
self.configuration.base_path,
q,
User = user
);
query(
self.configuration.borrow(),
&uri_str,
&user_member_of_item,
hyper::Method::POST,
)
}
fn delete_user_member_of_member_of(
&self,
user_member_of_member_of: &str,
user: &str,
zone: &str,
provider: &str,
) -> Box<dyn Future<Item = (), Error = Error>> {
let q = ::url::form_urlencoded::Serializer::new(String::new())
.append_pair("zone", &zone.to_string())
.append_pair("provider", &provider.to_string())
.finish();
let uri_str = format!(
"{}/platform/3/auth/users/{User}/member-of/{UserMemberOfMemberOf}?{}",
self.configuration.base_path,
q,
UserMemberOfMemberOf = user_member_of_member_of,
User = user
);
query(
self.configuration.borrow(),
&uri_str,
&"",
hyper::Method::DELETE,
)
}
fn list_user_member_of(
&self,
user: &str,
resolve_names: bool,
zone: &str,
provider: &str,
) -> Box<dyn Future<Item = crate::models::UserMemberOf, Error = Error>> {
let q = ::url::form_urlencoded::Serializer::new(String::new())
.append_pair("resolve_names", &resolve_names.to_string())
.append_pair("zone", &zone.to_string())
.append_pair("provider", &provider.to_string())
.finish();
let uri_str = format!(
"{}/platform/3/auth/users/{User}/member-of?{}",
self.configuration.base_path,
q,
User = user
);
query(
self.configuration.borrow(),
&uri_str,
&"",
hyper::Method::GET,
)
}
fn update_user_change_password(
&self,
user_change_password: crate::models::UserChangePassword,
user: &str,
zone: &str,
) -> Box<dyn Future<Item = (), Error = Error>> {
let q = ::url::form_urlencoded::Serializer::new(String::new())
.append_pair("zone", &zone.to_string())
.finish();
let uri_str = format!(
"{}/platform/3/auth/users/{User}/change-password?{}",
self.configuration.base_path,
q,
User = user
);
put(self.configuration.borrow(), &uri_str, &user_change_password)
}
}