inventorylib/dto/
room_public_response.rs

1use 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 {}