Skip to main content

mutiny_rs/model/
invite.rs

1use serde::{Deserialize, Serialize};
2use crate::model::channel::ChannelId;
3
4#[derive(Debug, Clone, Deserialize, Serialize)]
5#[serde(tag = "type")]
6pub enum InviteKind {
7    Group(Group),
8    ServerInvite(ServerInvite),
9}
10#[derive(Debug, Clone, Deserialize, Serialize)]
11pub struct Invite {
12    #[serde(rename = "_id")]
13    pub id: String,
14    pub channel: ChannelId,
15    pub creator: String,
16    #[serde(flatten)]
17    pub kind: InviteKind,
18}
19#[derive(Debug, Clone, Deserialize, Serialize)]
20pub struct Group {
21
22}
23#[derive(Debug, Clone, Deserialize, Serialize)]
24pub struct ServerInvite {
25    pub server: String,
26}