#pragma once
#include <cstdint>
#include <nlohmann/json.hpp>

namespace schedule
{
// clang-format off

enum class DayOfWeek : std::uint8_t{
    Invalid,
    Monday,
    Tuesday,
    Wednesday,
    Thursday,
    Friday,
    Saturday,
    Sunday,
    Every,
};

enum class MonthOfYear : std::uint8_t{
    Invalid,
    January,
    February,
    March,
    April,
    May,
    June,
    July,
    August,
    September,
    October,
    November,
    December,
    Every,
};

NLOHMANN_JSON_SERIALIZE_ENUM(DayOfWeek, {
    {DayOfWeek::Invalid, "Invalid"},
    {DayOfWeek::Monday, "Monday"},
    {DayOfWeek::Tuesday, "Tuesday"},
    {DayOfWeek::Wednesday, "Wednesday"},
    {DayOfWeek::Thursday, "Thursday"},
    {DayOfWeek::Friday, "Friday"},
    {DayOfWeek::Saturday, "Saturday"},
    {DayOfWeek::Sunday, "Sunday"},
    {DayOfWeek::Every, "Every"},
});

NLOHMANN_JSON_SERIALIZE_ENUM(MonthOfYear, {
    {MonthOfYear::Invalid, "Invalid"},
    {MonthOfYear::January, "January"},
    {MonthOfYear::February, "February"},
    {MonthOfYear::March, "March"},
    {MonthOfYear::April, "April"},
    {MonthOfYear::May, "May"},
    {MonthOfYear::June, "June"},
    {MonthOfYear::July, "July"},
    {MonthOfYear::August, "August"},
    {MonthOfYear::September, "September"},
    {MonthOfYear::October, "October"},
    {MonthOfYear::November, "November"},
    {MonthOfYear::December, "December"},
    {MonthOfYear::Every, "Every"},
});

} // namespace schedule
// clang-format on
