misskey-api 0.2.0

API bindings of Misskey, including requests/responses of endpoints and messages on channels
Documentation
use crate::model::{drive::DriveFile, id::Id, user::User, user_group::UserGroup};

use chrono::{DateTime, Utc};
use serde::{Deserialize, Serialize};

#[derive(Serialize, Deserialize, Debug, Clone)]
#[serde(rename_all = "camelCase")]
pub struct MessagingMessage {
    pub id: Id<MessagingMessage>,
    pub created_at: DateTime<Utc>,
    pub user_id: Id<User>,
    pub user: User,
    pub text: Option<String>,
    #[serde(default)]
    pub file_id: Option<Id<DriveFile>>,
    #[serde(default)]
    pub file: Option<DriveFile>,
    pub recipient_id: Option<Id<User>>,
    #[serde(default)]
    pub recipient: Option<User>,
    pub group_id: Option<Id<UserGroup>>,
    #[serde(default)]
    pub group: Option<UserGroup>,
    #[serde(default)]
    pub is_read: Option<bool>,
    #[serde(default)]
    pub reads: Option<Vec<Id<User>>>,
}

impl_entity!(MessagingMessage);