sociallib/dto/
album_response.rs1use 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 {}