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}