timesheetlib/dto/
availability_response.rs

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