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

namespace MealPlan.Api.Models;

[Table("DietUserProfiles")]
public class DietUserProfile
{
    [Column("UserId")]
    public Guid UserId { get; set; }

    [Column("HeightCm")]
    public decimal HeightCm { get; set; }

    [Column("WeightKg")]
    public decimal WeightKg { get; set; }

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

    [Column("Sex")]
    [MaxLength(16)]
    public string Sex { get; set; } = "male";

    [Column("ActivityLevel")]
    [MaxLength(32)]
    public string ActivityLevel { get; set; } = "moderate";

    [Column("Goal")]
    [MaxLength(32)]
    public string Goal { get; set; } = "maintain";

    [Column("AllergiesNotes")]
    public string? AllergiesNotes { get; set; }

    [Column("DislikedFoods")]
    public string? DislikedFoods { get; set; }

    [Column("MealsPerDayMask")]
    public int MealsPerDayMask { get; set; } = 15;

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

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

    public ApplicationUser? User { get; set; }
}
