traq_ws_bot/events/
common.rs

1use serde::{Deserialize, Serialize};
2
3use super::macros::gp_struct;
4use super::{Time, Uuid};
5
6gp_struct!(
7    struct Base {
8        event_time: Time,
9    }
10
11    struct User {
12        id: Uuid,
13        name: Uuid,
14        display_name: String,
15        icon_id: Uuid,
16        bot: bool,
17    }
18
19    struct Channel {
20        id: Uuid,
21        name: String,
22        path: String,
23        parent_id: Uuid,
24        creator: User,
25        created_at: Time,
26        updated_at: Time,
27    }
28
29    struct Message {
30        id: Uuid,
31        user: User,
32        channel_id: Uuid,
33        text: String,
34        plain_text: String,
35        embedded: Vec<EmbeddedInfo>,
36        created_at: Time,
37        updated_at: Time,
38    }
39
40    struct DeletedMessage {
41        id: Uuid,
42        channel_id: Uuid,
43    }
44
45    struct DeletedDirectMessage {
46        id: Uuid,
47        user_id: Uuid,
48        channel_id: Uuid,
49    }
50
51    struct EmbeddedInfo {
52        raw: String,
53        #[serde(rename = "type")]
54        type_: String,
55        id: Uuid,
56    }
57
58    struct MessageStamp {
59        stamp_id: Uuid,
60        user_id: Uuid,
61        count: i64,
62        created_at: Time,
63        updated_at: Time,
64    }
65);