Skip to main content

artifacts/models/
raid_schedule_schema.rs

1use crate::models;
2use serde::{Deserialize, Serialize};
3
4#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5#[cfg_attr(feature = "specta", derive(specta::Type))]
6pub struct RaidScheduleSchema {
7    /// UTC weekdays when the raid opens.
8    #[serde(rename = "weekdays")]
9    pub weekdays: Vec<models::RaidWeekday>,
10    /// UTC hour when the raid opens.
11    #[serde(rename = "start_hour_utc", skip_serializing_if = "Option::is_none")]
12    pub start_hour_utc: Option<u32>,
13    /// UTC minute when the raid opens.
14    #[serde(rename = "start_minute_utc", skip_serializing_if = "Option::is_none")]
15    pub start_minute_utc: Option<u32>,
16    /// Maximum raid duration in hours.
17    #[serde(rename = "duration_hours", skip_serializing_if = "Option::is_none")]
18    pub duration_hours: Option<u32>,
19}
20
21impl RaidScheduleSchema {
22    pub fn new(weekdays: Vec<models::RaidWeekday>) -> RaidScheduleSchema {
23        RaidScheduleSchema {
24            weekdays,
25            start_hour_utc: None,
26            start_minute_utc: None,
27            duration_hours: None,
28        }
29    }
30}