authress/
lib.rs

1#[macro_use]
2extern crate serde_derive;
3
4extern crate serde;
5extern crate serde_json;
6extern crate url;
7extern crate reqwest;
8
9pub mod apis;
10pub mod models;
11
12use reqwest::RequestBuilder;
13
14#[derive(Default, Debug, Clone)]
15pub struct AuthressSettings {
16    pub client: reqwest::Client,
17
18    pub authress_api_url: String,
19    pub service_client_access_key: String
20}
21
22impl AuthressSettings {
23    pub fn new(authress_api_url: String, service_client_access_key: String) -> AuthressSettings {
24        AuthressSettings {
25            client: reqwest::Client::new(),
26
27            authress_api_url: authress_api_url.to_owned(),
28            service_client_access_key: service_client_access_key            
29        }
30    }
31
32    pub fn get_request_builder(&self, method: reqwest::Method, path_uri: String) -> RequestBuilder {
33        let local_var_uri_str = format!("{}{}", self.authress_api_url, path_uri);
34        
35        return self.client
36            .request(method, local_var_uri_str)
37            .header(reqwest::header::USER_AGENT, "Authress SDK; Rust; ;")
38            .bearer_auth(self.service_client_access_key.to_owned());
39    }
40}
41
42
43pub struct AuthressClient {
44    pub access_records: apis::access_records_api::AccessRecordApi,
45    pub accounts: apis::accounts_api::AccountsApi,
46    pub applications: apis::applications_api::ApplicationsApi,
47    pub connections: apis::connections_api::ConnectionsApi,
48    pub extensions: apis::extensions_api::ExtensionsApi,
49    pub groups: apis::groups_api::GroupsApi,
50    pub resource_permissions: apis::resource_permissions_api::ResourcePermissionsApi,
51    pub roles: apis::roles_api::RolesApi,
52    pub service_clients: apis::service_clients_api::ServiceClientsApi,
53    pub tenants: apis::tenants_api::TenantsApi,
54    pub user_permissions: apis::user_permissions_api::UserPermissionsApi,
55    pub users: apis::users_api::UsersApi
56}
57
58impl AuthressClient {
59    pub fn new(configuration: &AuthressSettings) -> Self {
60        Self {
61            access_records: apis::access_records_api::AccessRecordApi { configuration: configuration.clone() },
62            accounts: apis::accounts_api::AccountsApi { configuration: configuration.clone() },
63            applications: apis::applications_api::ApplicationsApi { configuration: configuration.clone() },
64            connections: apis::connections_api::ConnectionsApi { configuration: configuration.clone() },
65            extensions: apis::extensions_api::ExtensionsApi { configuration: configuration.clone() },
66            groups: apis::groups_api::GroupsApi { configuration: configuration.clone() },
67            resource_permissions: apis::resource_permissions_api::ResourcePermissionsApi { configuration: configuration.clone() },
68            roles: apis::roles_api::RolesApi { configuration: configuration.clone() },
69            service_clients: apis::service_clients_api::ServiceClientsApi { configuration: configuration.clone() },
70            tenants: apis::tenants_api::TenantsApi { configuration: configuration.clone() },
71            user_permissions: apis::user_permissions_api::UserPermissionsApi { configuration: configuration.clone() },
72            users: apis::users_api::UsersApi { configuration: configuration.clone() },
73        }
74    }
75}