sociallib/dto/
album_response.rs

1use chrono::naive::serde::ts_milliseconds;
2use chrono::NaiveDateTime;
3use common::enums::status::Status;
4use common::entity::DtoResp;
5use serde::{Deserialize, Serialize};
6use uuid::Uuid;
7
8#[derive(Serialize, Deserialize, Debug, Clone)]
9#[serde(rename_all = "camelCase")]
10pub struct AlbumResponse {
11    pub id: Uuid,
12    pub name: String,
13    pub access: String,
14    #[serde(skip_serializing_if = "Option::is_none")]
15    #[serde(rename = "type")]
16    pub type_t: Option<String>,
17    pub owner: Uuid,
18    #[serde(skip_serializing_if = "Option::is_none")]
19    pub status: Option<Status>,
20    #[serde(skip_serializing_if = "Option::is_none")]
21    pub description: Option<String>,
22    #[serde(skip_serializing_if = "Option::is_none")]
23    pub cover: Option<String>,
24    pub commentable: bool,
25    #[serde(skip_serializing_if = "Option::is_none")]
26    pub likes: Option<Vec<Uuid>>,
27    #[serde(with = "ts_milliseconds")]
28    pub date: NaiveDateTime,
29}
30
31impl DtoResp for AlbumResponse {}