sociallib/dto/
post_request.rs

1use chrono::NaiveDateTime;
2use common::utils::serialize_option_naive_date;
3use serde::{Deserialize, Serialize};
4use uuid::Uuid;
5use common::entity::DtoReq;
6
7#[derive(Serialize, Deserialize, Debug, Clone)]
8#[serde(rename_all = "camelCase")]
9pub struct PostRequest {
10    pub id: Option<Uuid>,
11    pub author: Option<Uuid>,
12    pub title: Option<String>,
13    pub text: String,
14    pub commentable: Option<bool>,
15    pub blog: Uuid,
16    pub likes: Option<Vec<Uuid>>,
17    #[serde(default)]
18    #[serde(with = "serialize_option_naive_date")]
19    pub postdate: Option<NaiveDateTime>,
20    pub repost: Option<Uuid>,
21    #[serde(default)]
22    #[serde(with = "serialize_option_naive_date")]
23    pub cdt: Option<NaiveDateTime>,
24}
25
26impl DtoReq for PostRequest {}