1use serde::Deserialize;
16use serde::Serialize;
17use time::OffsetDateTime;
18
19#[derive(Debug, Serialize, Deserialize, Default)]
20#[serde(rename_all = "lowercase")]
21pub enum GroupStatus {
22 #[default]
23 Enabled,
24 Disabled,
25}
26
27#[derive(Debug, Serialize, Deserialize, Default)]
28pub struct GroupAddRemove {
29 pub group: String,
30 pub members: Vec<String>,
31 #[serde(rename = "groupStatus")]
32 pub status: GroupStatus,
33 #[serde(rename = "isRemove")]
34 pub is_remove: bool,
35}
36
37#[derive(Debug, Serialize, Deserialize, Default)]
38pub struct GroupDesc {
39 pub name: String,
40 pub status: String,
41 pub members: Vec<String>,
42 pub policy: String,
43 #[serde(rename = "updatedAt", skip_serializing_if = "Option::is_none")]
44 pub updated_at: Option<OffsetDateTime>,
45}