misskey_api/model/
messaging.rs

1use crate::model::{drive::DriveFile, id::Id, user::User, user_group::UserGroup};
2
3use chrono::{DateTime, Utc};
4use serde::{Deserialize, Serialize};
5
6#[derive(Serialize, Deserialize, Debug, Clone)]
7#[serde(rename_all = "camelCase")]
8pub struct MessagingMessage {
9    pub id: Id<MessagingMessage>,
10    pub created_at: DateTime<Utc>,
11    pub user_id: Id<User>,
12    pub user: User,
13    pub text: Option<String>,
14    #[serde(default)]
15    pub file_id: Option<Id<DriveFile>>,
16    #[serde(default)]
17    pub file: Option<DriveFile>,
18    pub recipient_id: Option<Id<User>>,
19    #[serde(default)]
20    pub recipient: Option<User>,
21    pub group_id: Option<Id<UserGroup>>,
22    #[serde(default)]
23    pub group: Option<UserGroup>,
24    #[serde(default)]
25    pub is_read: Option<bool>,
26    #[serde(default)]
27    pub reads: Option<Vec<Id<User>>>,
28}
29
30impl_entity!(MessagingMessage);