timesheetlib/dto/
availability_response.rs1use crate::enums::work_mode::WorkMode;
2use crate::enums::work_type::WorkType;
3use chrono::naive::serde::ts_milliseconds;
4use chrono::NaiveDateTime;
5use common::entity::DtoResp;
6use serde::{Deserialize, Serialize};
7use uuid::Uuid;
8
9#[derive(Serialize, Deserialize, Debug, Clone)]
10#[serde(rename_all = "camelCase")]
11pub struct AvailabilityResponse {
12 pub id: Uuid,
13 pub user_id: Uuid,
14 #[serde(with = "ts_milliseconds")]
15 pub date_from: NaiveDateTime,
16 #[serde(with = "ts_milliseconds")]
17 pub date_to: NaiveDateTime,
18 #[serde(skip_serializing_if = "Option::is_none")]
19 pub description: Option<String>,
20 #[serde(skip_serializing_if = "Option::is_none")]
21 pub work_types: Option<Vec<WorkType>>,
22 #[serde(skip_serializing_if = "Option::is_none")]
23 pub work_modes: Option<Vec<WorkMode>>,
24}
25
26impl DtoResp for AvailabilityResponse {}