feat(data): model Prime schedule as weekday bitmask
This commit is contained in:
@@ -13,10 +13,9 @@ public class PrimeScheduleEntityConfiguration : IEntityTypeConfiguration<PrimeSc
|
|||||||
builder.HasKey(s => s.Id);
|
builder.HasKey(s => s.Id);
|
||||||
builder.Property(s => s.Id).HasColumnName("id").ValueGeneratedNever();
|
builder.Property(s => s.Id).HasColumnName("id").ValueGeneratedNever();
|
||||||
|
|
||||||
builder.Property(s => s.StartDate).HasColumnName("start_date").IsRequired();
|
builder.Property(s => s.Days).HasColumnName("days_of_week")
|
||||||
builder.Property(s => s.EndDate).HasColumnName("end_date").IsRequired();
|
.IsRequired().HasDefaultValue(PrimeDays.Weekdays);
|
||||||
builder.Property(s => s.TimeOfDay).HasColumnName("time_of_day").IsRequired();
|
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.Enabled).HasColumnName("enabled").IsRequired().HasDefaultValue(true);
|
||||||
builder.Property(s => s.LastRunAt).HasColumnName("last_run_at");
|
builder.Property(s => s.LastRunAt).HasColumnName("last_run_at");
|
||||||
builder.Property(s => s.PromptOverride).HasColumnName("prompt_override");
|
builder.Property(s => s.PromptOverride).HasColumnName("prompt_override");
|
||||||
|
|||||||
16
src/ClaudeDo.Data/Models/PrimeDays.cs
Normal file
16
src/ClaudeDo.Data/Models/PrimeDays.cs
Normal file
@@ -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
|
||||||
|
}
|
||||||
@@ -3,10 +3,8 @@ namespace ClaudeDo.Data.Models;
|
|||||||
public sealed class PrimeScheduleEntity
|
public sealed class PrimeScheduleEntity
|
||||||
{
|
{
|
||||||
public Guid Id { get; set; } = Guid.NewGuid();
|
public Guid Id { get; set; } = Guid.NewGuid();
|
||||||
public DateOnly StartDate { get; set; }
|
public PrimeDays Days { get; set; } = PrimeDays.Weekdays;
|
||||||
public DateOnly EndDate { get; set; }
|
|
||||||
public TimeSpan TimeOfDay { get; set; }
|
public TimeSpan TimeOfDay { get; set; }
|
||||||
public bool WorkdaysOnly { get; set; } = true;
|
|
||||||
public bool Enabled { get; set; } = true;
|
public bool Enabled { get; set; } = true;
|
||||||
public DateTimeOffset? LastRunAt { get; set; }
|
public DateTimeOffset? LastRunAt { get; set; }
|
||||||
public string? PromptOverride { get; set; }
|
public string? PromptOverride { get; set; }
|
||||||
|
|||||||
Reference in New Issue
Block a user