1use crate::{
2 admin_api_keys::AdminAPIKeys, audit_logs::AuditLogs, certificates::Certificates,
3 config::Config, groups::Groups, invites::Invites, projects::Projects, roles::Roles,
4 users::Users, Client,
5};
6
7pub struct Admin<'c, C: Config> {
10 client: &'c Client<C>,
11}
12
13impl<'c, C: Config> Admin<'c, C> {
14 pub(crate) fn new(client: &'c Client<C>) -> Self {
15 Self { client }
16 }
17
18 pub fn api_keys(&self) -> AdminAPIKeys<'_, C> {
20 AdminAPIKeys::new(self.client)
21 }
22
23 pub fn invites(&self) -> Invites<'_, C> {
25 Invites::new(self.client)
26 }
27
28 pub fn users(&self) -> Users<'_, C> {
30 Users::new(self.client)
31 }
32
33 pub fn projects(&self) -> Projects<'_, C> {
35 Projects::new(self.client)
36 }
37
38 pub fn audit_logs(&self) -> AuditLogs<'_, C> {
40 AuditLogs::new(self.client)
41 }
42
43 pub fn certificates(&self) -> Certificates<'_, C> {
45 Certificates::new(self.client)
46 }
47
48 pub fn roles(&self) -> Roles<'_, C> {
50 Roles::new(self.client)
51 }
52
53 pub fn groups(&self) -> Groups<'_, C> {
55 Groups::new(self.client)
56 }
57}