sociallib/dto/
comment_response.rs

1use chrono::naive::serde::ts_milliseconds;
2use chrono::NaiveDateTime;
3use common::enums::status::Status;
4use serde::{Deserialize, Serialize};
5use uuid::Uuid;
6use common::entity::DtoResp;
7
8#[derive(Serialize, Deserialize, Debug, Clone)]
9#[serde(rename_all = "camelCase")]
10pub struct CommentResponse {
11    pub id: Uuid,
12    #[serde(skip_serializing_if = "Option::is_none")]
13    pub post: Option<Uuid>,
14    pub author: Uuid,
15    pub text: String,
16    #[serde(skip_serializing_if = "Option::is_none")]
17    pub status: Option<Status>,
18    #[serde(skip_serializing_if = "Option::is_none")]
19    pub likes: Option<Vec<Uuid>>,
20    #[serde(skip_serializing_if = "Option::is_none")]
21    pub audio: Option<Uuid>,
22    #[serde(skip_serializing_if = "Option::is_none")]
23    pub video: Option<Uuid>,
24    #[serde(skip_serializing_if = "Option::is_none")]
25    pub picture: Option<Uuid>,
26    #[serde(skip_serializing_if = "Option::is_none")]
27    pub reply_to: Option<Uuid>,
28    #[serde(with = "ts_milliseconds")]
29    pub date: NaiveDateTime,
30}
31
32impl DtoResp for CommentResponse {}