sociallib/dto/
playlist_response.rs

1use chrono::naive::serde::ts_milliseconds;
2use chrono::NaiveDateTime;
3use serde::{Deserialize, Serialize};
4use uuid::Uuid;
5use common::entity::DtoResp;
6
7#[derive(Serialize, Deserialize, Debug, Clone)]
8#[serde(rename_all = "camelCase")]
9pub struct PlaylistResponse {
10    pub id: Uuid,
11    #[serde(skip_serializing_if = "Option::is_none")]
12    pub state: Option<String>,
13    #[serde(skip_serializing_if = "Option::is_none")]
14    pub user_id: Option<Uuid>,
15    #[serde(skip_serializing_if = "Option::is_none")]
16    pub current_id: Option<Uuid>,
17    #[serde(skip_serializing_if = "Option::is_none")]
18    pub audios: Option<Vec<Uuid>>,
19    #[serde(skip_serializing_if = "Option::is_none")]
20    pub cover: Option<String>,
21    #[serde(skip_serializing_if = "Option::is_none")]
22    pub name: Option<String>,
23    #[serde(with = "ts_milliseconds")]
24    pub date: NaiveDateTime,
25}
26
27impl DtoResp for PlaylistResponse {}