timesheetlib/dto/
availability_request.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::DtoReq;
6use serde::{Deserialize, Serialize};
7use uuid::Uuid;
8
9#[derive(Serialize, Deserialize, Debug, Clone)]
10#[serde(rename_all = "camelCase")]
11pub struct AvailabilityRequest {
12	pub id: Option<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	pub description: Option<String>,
19	pub work_types: Option<Vec<WorkType>>,
20	pub work_modes: Option<Vec<WorkMode>>,
21}
22
23impl DtoReq for AvailabilityRequest {}