timesheetlib/dto/
availability_request.rs1use 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 {}