diff --git a/src/ClaudeDo.Data/Configuration/PrimeScheduleEntityConfiguration.cs b/src/ClaudeDo.Data/Configuration/PrimeScheduleEntityConfiguration.cs index 2689e97..d06f030 100644 --- a/src/ClaudeDo.Data/Configuration/PrimeScheduleEntityConfiguration.cs +++ b/src/ClaudeDo.Data/Configuration/PrimeScheduleEntityConfiguration.cs @@ -13,10 +13,9 @@ public class PrimeScheduleEntityConfiguration : IEntityTypeConfiguration s.Id); builder.Property(s => s.Id).HasColumnName("id").ValueGeneratedNever(); - builder.Property(s => s.StartDate).HasColumnName("start_date").IsRequired(); - builder.Property(s => s.EndDate).HasColumnName("end_date").IsRequired(); + builder.Property(s => s.Days).HasColumnName("days_of_week") + .IsRequired().HasDefaultValue(PrimeDays.Weekdays); builder.Property(s => s.TimeOfDay).HasColumnName("time_of_day").IsRequired(); - builder.Property(s => s.WorkdaysOnly).HasColumnName("workdays_only").IsRequired().HasDefaultValue(true); builder.Property(s => s.Enabled).HasColumnName("enabled").IsRequired().HasDefaultValue(true); builder.Property(s => s.LastRunAt).HasColumnName("last_run_at"); builder.Property(s => s.PromptOverride).HasColumnName("prompt_override"); diff --git a/src/ClaudeDo.Data/Models/PrimeDays.cs b/src/ClaudeDo.Data/Models/PrimeDays.cs new file mode 100644 index 0000000..b053f89 --- /dev/null +++ b/src/ClaudeDo.Data/Models/PrimeDays.cs @@ -0,0 +1,16 @@ +namespace ClaudeDo.Data.Models; + +[Flags] +public enum PrimeDays +{ + None = 0, + Monday = 1, + Tuesday = 2, + Wednesday = 4, + Thursday = 8, + Friday = 16, + Saturday = 32, + Sunday = 64, + Weekdays = Monday | Tuesday | Wednesday | Thursday | Friday, // 31 + All = Weekdays | Saturday | Sunday, // 127 +} diff --git a/src/ClaudeDo.Data/Models/PrimeScheduleEntity.cs b/src/ClaudeDo.Data/Models/PrimeScheduleEntity.cs index 5e97b13..061e87d 100644 --- a/src/ClaudeDo.Data/Models/PrimeScheduleEntity.cs +++ b/src/ClaudeDo.Data/Models/PrimeScheduleEntity.cs @@ -3,10 +3,8 @@ namespace ClaudeDo.Data.Models; public sealed class PrimeScheduleEntity { public Guid Id { get; set; } = Guid.NewGuid(); - public DateOnly StartDate { get; set; } - public DateOnly EndDate { get; set; } + public PrimeDays Days { get; set; } = PrimeDays.Weekdays; public TimeSpan TimeOfDay { get; set; } - public bool WorkdaysOnly { get; set; } = true; public bool Enabled { get; set; } = true; public DateTimeOffset? LastRunAt { get; set; } public string? PromptOverride { get; set; }