sociallib/dto/
blog_response.rs

1use serde::{Deserialize, Serialize};
2use uuid::Uuid;
3use common::entity::DtoResp;
4
5use crate::dto::member_response::MemberResponse;
6use crate::dto::post_response::PostResponse;
7
8#[derive(Serialize, Deserialize, Debug, Clone)]
9#[serde(rename_all = "camelCase")]
10pub struct BlogResponse {
11    pub id: Uuid,
12    pub name: String,
13    #[serde(skip_serializing_if = "Option::is_none")]
14    pub description: Option<String>,
15    #[serde(skip_serializing_if = "Option::is_none")]
16    pub user_id: Option<Uuid>,
17    #[serde(skip_serializing_if = "Option::is_none")]
18    pub logo: Option<String>,
19    #[serde(skip_serializing_if = "Option::is_none")]
20    pub gtype: Option<String>,
21    #[serde(skip_serializing_if = "Option::is_none")]
22    pub access: Option<String>,
23    #[serde(skip_serializing_if = "Option::is_none")]
24    pub address: Option<String>,
25    #[serde(skip_serializing_if = "Option::is_none")]
26    pub cover: Option<String>,
27    #[serde(skip_serializing_if = "Option::is_none")]
28    pub invitations: Option<String>,
29    pub commentable: bool,
30    #[serde(skip_serializing_if = "Option::is_none")]
31    pub likes: Option<Vec<Uuid>>,
32    pub member_list: Vec<MemberResponse>,
33    pub post_list: Vec<PostResponse>,
34    pub managers: Vec<Uuid>,
35}
36
37impl DtoResp for BlogResponse {}