1 #pragma once 2 #include <nlohmann/json.hpp> 3 4 namespace schedule 5 { 6 // clang-format off 7 8 enum class DayOfWeek{ 9 Invalid, 10 Monday, 11 Tuesday, 12 Wednesday, 13 Thursday, 14 Friday, 15 Saturday, 16 Sunday, 17 Every, 18 }; 19 20 enum class MonthOfYear{ 21 Invalid, 22 January, 23 February, 24 March, 25 April, 26 May, 27 June, 28 July, 29 August, 30 September, 31 October, 32 November, 33 December, 34 Every, 35 }; 36 37 NLOHMANN_JSON_SERIALIZE_ENUM(DayOfWeek, { 38 {DayOfWeek::Invalid, "Invalid"}, 39 {DayOfWeek::Monday, "Monday"}, 40 {DayOfWeek::Tuesday, "Tuesday"}, 41 {DayOfWeek::Wednesday, "Wednesday"}, 42 {DayOfWeek::Thursday, "Thursday"}, 43 {DayOfWeek::Friday, "Friday"}, 44 {DayOfWeek::Saturday, "Saturday"}, 45 {DayOfWeek::Sunday, "Sunday"}, 46 {DayOfWeek::Every, "Every"}, 47 }); 48 49 NLOHMANN_JSON_SERIALIZE_ENUM(MonthOfYear, { 50 {MonthOfYear::Invalid, "Invalid"}, 51 {MonthOfYear::January, "January"}, 52 {MonthOfYear::February, "February"}, 53 {MonthOfYear::March, "March"}, 54 {MonthOfYear::April, "April"}, 55 {MonthOfYear::May, "May"}, 56 {MonthOfYear::June, "June"}, 57 {MonthOfYear::July, "July"}, 58 {MonthOfYear::August, "August"}, 59 {MonthOfYear::September, "September"}, 60 {MonthOfYear::October, "October"}, 61 {MonthOfYear::November, "November"}, 62 {MonthOfYear::December, "December"}, 63 {MonthOfYear::Every, "Every"}, 64 }); 65 66 } 67 // clang-format on 68