async_openai/
admin.rs

1use crate::{
2    admin_api_keys::AdminAPIKeys, audit_logs::AuditLogs, certificates::Certificates,
3    config::Config, invites::Invites, projects::Projects, users::Users, Client,
4};
5
6/// Admin group for all administration APIs.
7/// This groups together admin API keys, invites, users, projects, audit logs, and certificates.
8pub struct Admin<'c, C: Config> {
9    client: &'c Client<C>,
10}
11
12impl<'c, C: Config> Admin<'c, C> {
13    pub(crate) fn new(client: &'c Client<C>) -> Self {
14        Self { client }
15    }
16
17    /// To call [AdminAPIKeys] group related APIs using this client.
18    pub fn api_keys(&self) -> AdminAPIKeys<'_, C> {
19        AdminAPIKeys::new(self.client)
20    }
21
22    /// To call [Invites] group related APIs using this client.
23    pub fn invites(&self) -> Invites<'_, C> {
24        Invites::new(self.client)
25    }
26
27    /// To call [Users] group related APIs using this client.
28    pub fn users(&self) -> Users<'_, C> {
29        Users::new(self.client)
30    }
31
32    /// To call [Projects] group related APIs using this client.
33    pub fn projects(&self) -> Projects<'_, C> {
34        Projects::new(self.client)
35    }
36
37    /// To call [AuditLogs] group related APIs using this client.
38    pub fn audit_logs(&self) -> AuditLogs<'_, C> {
39        AuditLogs::new(self.client)
40    }
41
42    /// To call [Certificates] group related APIs using this client.
43    pub fn certificates(&self) -> Certificates<'_, C> {
44        Certificates::new(self.client)
45    }
46}