using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace MealPlan.Api.Models;

[Table("DietReminders")]
public class DietReminder
{
    [Column("Id")]
    public int Id { get; set; }

    [Column("UserId")]
    public Guid UserId { get; set; }

    [Column("ReminderType")]
    public int ReminderType { get; set; }

    [Column("Title")]
    [MaxLength(120)]
    public string Title { get; set; } = string.Empty;

    [Column("Message")]
    [MaxLength(500)]
    public string? Message { get; set; }

    [Column("TimeOfDay")]
    public TimeOnly TimeOfDay { get; set; }

    [Column("DaysOfWeekMask")]
    public int DaysOfWeekMask { get; set; } = ReminderDaysMask.All;

    [Column("MealCategory")]
    public int? MealCategory { get; set; }

    [Column("IsEnabled")]
    public bool IsEnabled { get; set; } = true;

    [Column("CreatedAt")]
    public DateTime CreatedAt { get; set; }

    [Column("UpdatedAt")]
    public DateTime? UpdatedAt { get; set; }

    public ApplicationUser? User { get; set; }
}
