artcoded_api/models/
timesheet_period.rs

1/*
2 * Artcoded
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: 1.0.0
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct TimesheetPeriod {
16    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
17    pub id: Option<String>,
18    #[serde(rename = "shortDescription", skip_serializing_if = "Option::is_none")]
19    pub short_description: Option<String>,
20    #[serde(rename = "date", skip_serializing_if = "Option::is_none")]
21    pub date: Option<String>,
22    #[serde(rename = "morningStartTime", skip_serializing_if = "Option::is_none")]
23    pub morning_start_time: Option<String>,
24    #[serde(rename = "morningEndTime", skip_serializing_if = "Option::is_none")]
25    pub morning_end_time: Option<String>,
26    #[serde(rename = "afternoonStartTime", skip_serializing_if = "Option::is_none")]
27    pub afternoon_start_time: Option<String>,
28    #[serde(rename = "afternoonEndTime", skip_serializing_if = "Option::is_none")]
29    pub afternoon_end_time: Option<String>,
30    #[serde(rename = "projectName", skip_serializing_if = "Option::is_none")]
31    pub project_name: Option<String>,
32    #[serde(rename = "periodType", skip_serializing_if = "Option::is_none")]
33    pub period_type: Option<PeriodType>,
34    #[serde(rename = "duration", skip_serializing_if = "Option::is_none")]
35    pub duration: Option<i64>,
36    #[serde(rename = "dayOfWeek", skip_serializing_if = "Option::is_none")]
37    pub day_of_week: Option<DayOfWeek>,
38    #[serde(rename = "rowFilled", skip_serializing_if = "Option::is_none")]
39    pub row_filled: Option<bool>,
40    #[serde(rename = "durationInHours", skip_serializing_if = "Option::is_none")]
41    pub duration_in_hours: Option<String>,
42}
43
44impl TimesheetPeriod {
45    pub fn new() -> TimesheetPeriod {
46        TimesheetPeriod {
47            id: None,
48            short_description: None,
49            date: None,
50            morning_start_time: None,
51            morning_end_time: None,
52            afternoon_start_time: None,
53            afternoon_end_time: None,
54            project_name: None,
55            period_type: None,
56            duration: None,
57            day_of_week: None,
58            row_filled: None,
59            duration_in_hours: None,
60        }
61    }
62}
63///
64#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
65pub enum PeriodType {
66    #[serde(rename = "SICKNESS")]
67    Sickness,
68    #[serde(rename = "PUBLIC_HOLIDAYS")]
69    PublicHolidays,
70    #[serde(rename = "AUTHORIZED_HOLIDAYS")]
71    AuthorizedHolidays,
72    #[serde(rename = "WORKING_DAY")]
73    WorkingDay,
74    #[serde(rename = "WEEKEND")]
75    Weekend,
76}
77
78impl Default for PeriodType {
79    fn default() -> PeriodType {
80        Self::Sickness
81    }
82}
83///
84#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
85pub enum DayOfWeek {
86    #[serde(rename = "MONDAY")]
87    Monday,
88    #[serde(rename = "TUESDAY")]
89    Tuesday,
90    #[serde(rename = "WEDNESDAY")]
91    Wednesday,
92    #[serde(rename = "THURSDAY")]
93    Thursday,
94    #[serde(rename = "FRIDAY")]
95    Friday,
96    #[serde(rename = "SATURDAY")]
97    Saturday,
98    #[serde(rename = "SUNDAY")]
99    Sunday,
100}
101
102impl Default for DayOfWeek {
103    fn default() -> DayOfWeek {
104        Self::Monday
105    }
106}