schedulelib/dto/
study_period_request.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
use std::collections::HashMap;
use chrono::naive::serde::ts_milliseconds;
use chrono::NaiveDateTime;

use crate::jsonb::holiday_range::HolidayRange;
use serde::{Deserialize, Serialize};
use uuid::Uuid;

#[derive(Serialize, Deserialize, Debug, Clone)]
#[serde(rename_all = "camelCase")]
pub struct StudyPeriodRequest {
    pub id: Option<Uuid>,
    #[serde(with = "ts_milliseconds")]
    pub date_start: NaiveDateTime,
    #[serde(with = "ts_milliseconds")]
    pub date_end: NaiveDateTime,
    pub period_type: String,
    pub status: String,
    pub organization: Uuid,
    pub parent: Option<Uuid>,
    pub name: Option<String>,
    pub melody_start: Option<Uuid>,
    pub melody_end: Option<Uuid>,
    pub active_schedule: Option<HashMap<Uuid, Uuid>>,
    pub origin: Option<Uuid>,
    pub public_holidays: Option<Vec<HolidayRange>>,
}