inventorylib/dto/
room_public_response.rs1use common::enums::subject::Subject;
2use serde::{Deserialize, Serialize};
3use serde_json;
4use uuid::Uuid;
5use crate::enums::room_type::RoomType;
6use common::entity::DtoResp;
7
8#[derive(Serialize, Deserialize, Debug, Clone)]
9#[serde(rename_all = "camelCase")]
10pub struct PublicRoomResponse {
11 pub id: Uuid,
12 #[serde(skip_serializing_if = "Option::is_none")]
13 pub name: Option<String>,
14 #[serde(skip_serializing_if = "Option::is_none")]
15 pub number: Option<String>,
16 #[serde(rename = "floor")]
17 pub floor_id: Uuid,
18 #[serde(skip_serializing_if = "Option::is_none")]
19 pub json_schema: Option<serde_json::Value>,
20 #[serde(skip_serializing_if = "Option::is_none")]
21 pub width: Option<f64>,
22 #[serde(skip_serializing_if = "Option::is_none")]
23 pub height: Option<f64>,
24 #[serde(skip_serializing_if = "Option::is_none")]
25 pub length: Option<f64>,
26 #[serde(skip_serializing_if = "Option::is_none")]
27 pub position_x: Option<f64>,
28 #[serde(skip_serializing_if = "Option::is_none")]
29 pub position_y: Option<f64>,
30 #[serde(skip_serializing_if = "Option::is_none")]
31 pub logo: Option<String>,
32 #[serde(skip_serializing_if = "Option::is_none")]
33 pub subject: Option<Subject>,
34 pub room_type : RoomType,
35 #[serde(skip_serializing_if = "Option::is_none")]
36 pub floor_number: Option<i32>,
37 #[serde(skip_serializing_if = "Option::is_none")]
38 pub building_id: Option<Uuid>,
39 #[serde(skip_serializing_if = "Option::is_none")]
40 pub building_name: Option<String>,
41}
42
43impl DtoResp for PublicRoomResponse {}