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