manta_server/backend_dispatcher/
group.rs

1//! `GroupTrait` impl for `StaticBackendDispatcher`.
2//!
3//! Method names come from the external `manta-backend-dispatcher`
4//! crate's `GroupTrait`. Can't be renamed locally; cleaner names
5//! would have to land upstream first.
6
7use super::*;
8
9impl GroupTrait for StaticBackendDispatcher {
10  async fn get_group_available(
11    &self,
12    auth_token: &str,
13  ) -> Result<Vec<Group>, Error> {
14    dispatch!(self, get_group_available, auth_token)
15  }
16
17  async fn get_group_name_available(
18    &self,
19    jwt_token: &str,
20  ) -> Result<Vec<String>, Error> {
21    dispatch!(self, get_group_name_available, jwt_token)
22  }
23
24  async fn add_group(
25    &self,
26    auth_token: &str,
27    group_name: Group,
28  ) -> Result<Group, Error> {
29    dispatch!(self, add_group, auth_token, group_name)
30  }
31
32  async fn get_member_vec_from_group_name_vec(
33    &self,
34    auth_token: &str,
35    group_name_vec: &[String],
36  ) -> Result<Vec<String>, Error> {
37    dispatch!(
38      self,
39      get_member_vec_from_group_name_vec,
40      auth_token,
41      group_name_vec
42    )
43  }
44
45  async fn get_group_map_and_filter_by_group_vec(
46    &self,
47    auth_token: &str,
48    group_name_vec: &[&str],
49  ) -> Result<HashMap<String, Vec<String>>, Error> {
50    dispatch!(
51      self,
52      get_group_map_and_filter_by_group_vec,
53      auth_token,
54      group_name_vec
55    )
56  }
57
58  async fn get_group_map_and_filter_by_member_vec(
59    &self,
60    auth_token: &str,
61    member_vec: &[&str],
62  ) -> Result<HashMap<String, Vec<String>>, Error> {
63    dispatch!(
64      self,
65      get_group_map_and_filter_by_member_vec,
66      auth_token,
67      member_vec
68    )
69  }
70
71  async fn get_group(
72    &self,
73    auth_token: &str,
74    group_name: &str,
75  ) -> Result<Group, Error> {
76    dispatch!(self, get_group, auth_token, group_name)
77  }
78
79  async fn get_groups(
80    &self,
81    auth_token: &str,
82    group_name_vec: Option<&[String]>,
83  ) -> Result<Vec<Group>, Error> {
84    dispatch!(self, get_groups, auth_token, group_name_vec)
85  }
86
87  async fn delete_group(
88    &self,
89    auth_token: &str,
90    group_name: &str,
91  ) -> Result<HsmActionResponse, Error> {
92    dispatch!(self, delete_group, auth_token, group_name)
93  }
94
95  async fn get_group_map_and_filter_by_group_name_vec(
96    &self,
97    auth_token: &str,
98    group_name_vec: &[&str],
99  ) -> Result<HashMap<String, Vec<String>>, Error> {
100    dispatch!(
101      self,
102      get_group_map_and_filter_by_group_name_vec,
103      auth_token,
104      group_name_vec
105    )
106  }
107
108  async fn post_member(
109    &self,
110    auth_token: &str,
111    group_name: &str,
112    xname: &str,
113  ) -> Result<HsmActionResponse, Error> {
114    dispatch!(self, post_member, auth_token, group_name, xname)
115  }
116
117  async fn add_members_to_group(
118    &self,
119    auth_token: &str,
120    group_name: &str,
121    xnames: &[&str],
122  ) -> Result<Vec<String>, Error> {
123    dispatch!(self, add_members_to_group, auth_token, group_name, xnames)
124  }
125
126  async fn delete_member_from_group(
127    &self,
128    auth_token: &str,
129    group_name: &str,
130    xname: &str,
131  ) -> Result<(), Error> {
132    dispatch!(
133      self,
134      delete_member_from_group,
135      auth_token,
136      group_name,
137      xname
138    )
139  }
140
141  async fn migrate_group_members(
142    &self,
143    auth_token: &str,
144    target_group_name: &str,
145    parent_group_name: &str,
146    new_target_group_members: &[&str],
147    dryrun: bool,
148  ) -> Result<(Vec<String>, Vec<String>), Error> {
149    dispatch!(
150      self,
151      migrate_group_members,
152      auth_token,
153      target_group_name,
154      parent_group_name,
155      new_target_group_members,
156      dryrun
157    )
158  }
159
160  async fn update_group_members(
161    &self,
162    auth_token: &str,
163    group_name: &str,
164    members_to_remove: &[&str],
165    members_to_add: &[&str],
166  ) -> Result<(), Error> {
167    dispatch!(
168      self,
169      update_group_members,
170      auth_token,
171      group_name,
172      members_to_remove,
173      members_to_add
174    )
175  }
176}