using System.ComponentModel.DataAnnotations;

namespace phronCare.API.Models.Authentication.SingUp
{
    public class RegisterUser
    {
        [Required(ErrorMessage = "El Username es un dato obligatorio")]
        public string UserName { get; set; } = string.Empty;

        [Required(ErrorMessage = "El correo electrónico es un dato obligatorio")]
        [EmailAddress]
        public string EmailAddress { get; set; } = string.Empty;

        [Required(ErrorMessage = "La contraseña es un dato obligatorio")]
        public string Password { get; set; } = string.Empty;

        [Required(ErrorMessage = "El rol es un dato obligatorio")]
        public string Role { get; set; } = string.Empty;

        [Required(ErrorMessage = "El nombre es obligatorio")]
        public string FirstName { get; set; } = string.Empty;

        [Required(ErrorMessage = "El apellido es obligatorio")]
        public string LastName { get; set; } = string.Empty;

        public string? Address { get; set; }
        public string? Department { get; set; }
        public string? CompanyName { get; set; }

        [DataType(DataType.Date)]
        public DateTime? BirthDate { get; set; }

        // Podés dejar esto para el futuro
        public string? ProfileImageUrl { get; set; }
    }
}
