misskey_api/model/
messaging.rs1use 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);