1use crate::{
2 admin_api_keys::AdminAPIKeys, audit_logs::AuditLogs, certificates::Certificates,
3 config::Config, invites::Invites, projects::Projects, users::Users, Client,
4};
5
6pub 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 pub fn api_keys(&self) -> AdminAPIKeys<'_, C> {
19 AdminAPIKeys::new(self.client)
20 }
21
22 pub fn invites(&self) -> Invites<'_, C> {
24 Invites::new(self.client)
25 }
26
27 pub fn users(&self) -> Users<'_, C> {
29 Users::new(self.client)
30 }
31
32 pub fn projects(&self) -> Projects<'_, C> {
34 Projects::new(self.client)
35 }
36
37 pub fn audit_logs(&self) -> AuditLogs<'_, C> {
39 AuditLogs::new(self.client)
40 }
41
42 pub fn certificates(&self) -> Certificates<'_, C> {
44 Certificates::new(self.client)
45 }
46}