artcoded-api 1.0.0

No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
Documentation
/*
 * Artcoded
 *
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 1.0.0
 *
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct TimesheetPeriod {
    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
    pub id: Option<String>,
    #[serde(rename = "shortDescription", skip_serializing_if = "Option::is_none")]
    pub short_description: Option<String>,
    #[serde(rename = "date", skip_serializing_if = "Option::is_none")]
    pub date: Option<String>,
    #[serde(rename = "morningStartTime", skip_serializing_if = "Option::is_none")]
    pub morning_start_time: Option<String>,
    #[serde(rename = "morningEndTime", skip_serializing_if = "Option::is_none")]
    pub morning_end_time: Option<String>,
    #[serde(rename = "afternoonStartTime", skip_serializing_if = "Option::is_none")]
    pub afternoon_start_time: Option<String>,
    #[serde(rename = "afternoonEndTime", skip_serializing_if = "Option::is_none")]
    pub afternoon_end_time: Option<String>,
    #[serde(rename = "projectName", skip_serializing_if = "Option::is_none")]
    pub project_name: Option<String>,
    #[serde(rename = "periodType", skip_serializing_if = "Option::is_none")]
    pub period_type: Option<PeriodType>,
    #[serde(rename = "duration", skip_serializing_if = "Option::is_none")]
    pub duration: Option<i64>,
    #[serde(rename = "dayOfWeek", skip_serializing_if = "Option::is_none")]
    pub day_of_week: Option<DayOfWeek>,
    #[serde(rename = "rowFilled", skip_serializing_if = "Option::is_none")]
    pub row_filled: Option<bool>,
    #[serde(rename = "durationInHours", skip_serializing_if = "Option::is_none")]
    pub duration_in_hours: Option<String>,
}

impl TimesheetPeriod {
    pub fn new() -> TimesheetPeriod {
        TimesheetPeriod {
            id: None,
            short_description: None,
            date: None,
            morning_start_time: None,
            morning_end_time: None,
            afternoon_start_time: None,
            afternoon_end_time: None,
            project_name: None,
            period_type: None,
            duration: None,
            day_of_week: None,
            row_filled: None,
            duration_in_hours: None,
        }
    }
}
///
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum PeriodType {
    #[serde(rename = "SICKNESS")]
    Sickness,
    #[serde(rename = "PUBLIC_HOLIDAYS")]
    PublicHolidays,
    #[serde(rename = "AUTHORIZED_HOLIDAYS")]
    AuthorizedHolidays,
    #[serde(rename = "WORKING_DAY")]
    WorkingDay,
    #[serde(rename = "WEEKEND")]
    Weekend,
}

impl Default for PeriodType {
    fn default() -> PeriodType {
        Self::Sickness
    }
}
///
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum DayOfWeek {
    #[serde(rename = "MONDAY")]
    Monday,
    #[serde(rename = "TUESDAY")]
    Tuesday,
    #[serde(rename = "WEDNESDAY")]
    Wednesday,
    #[serde(rename = "THURSDAY")]
    Thursday,
    #[serde(rename = "FRIDAY")]
    Friday,
    #[serde(rename = "SATURDAY")]
    Saturday,
    #[serde(rename = "SUNDAY")]
    Sunday,
}

impl Default for DayOfWeek {
    fn default() -> DayOfWeek {
        Self::Monday
    }
}