summaryrefslogtreecommitdiff
path: root/common/rust/src/discord_models/teams.rs
diff options
context:
space:
mode:
Diffstat (limited to 'common/rust/src/discord_models/teams.rs')
-rw-r--r--common/rust/src/discord_models/teams.rs28
1 files changed, 28 insertions, 0 deletions
diff --git a/common/rust/src/discord_models/teams.rs b/common/rust/src/discord_models/teams.rs
new file mode 100644
index 0000000..369b3cd
--- /dev/null
+++ b/common/rust/src/discord_models/teams.rs
@@ -0,0 +1,28 @@
+use serde::{Deserialize, Serialize};
+use serde_repr::{Deserialize_repr, Serialize_repr};
+
+use super::user::User;
+
+#[derive(Debug, Clone, Deserialize_repr, Serialize_repr)]
+#[repr(u8)]
+pub enum MembershipState {
+ Invited = 0,
+ Accepted = 1,
+}
+
+#[derive(Debug, Clone, Deserialize, Serialize)]
+pub struct TeamMembers {
+ pub membership_state: MembershipState,
+ pub permissions: Vec<String>,
+ pub team_id: String,
+ pub user: User,
+}
+
+#[derive(Debug, Clone, Deserialize, Serialize)]
+pub struct Team {
+ pub icon: Option<String>,
+ pub id: String,
+ pub members: Vec<TeamMembers>,
+ pub name: String,
+ pub owner_user_id: String,
+}