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

namespace MealPlan.Api.Models;

/// <summary>
/// Maps to the existing ASP.NET Core Identity "AspNetUsers" table.
/// Only the columns described in the schema are mapped. Password verification uses
/// ASP.NET Core Identity's <see cref="Microsoft.AspNetCore.Identity.IPasswordHasher{TUser}"/>,
/// so no additional Identity tables are required for this read-only login flow.
/// </summary>
[Table("AspNetUsers")]
public class ApplicationUser
{
    [Column("Id")]
    public Guid Id { get; set; }

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

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

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

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

    [Column("IsActive")]
    public bool IsActive { get; set; }
}
