using System.ComponentModel.DataAnnotations; using e_suite.API.Common.models; namespace eSuite.API.Models; /// /// /// public class ConfirmEmailAccount : IPasswordInformation { /// /// new password /// [Display(Name = "New Password")] [DataType(DataType.Password)] public string? Password { get; set; } = string.Empty; /// /// new password entered again to ensure that the user hasn't made a mistake /// [Display(Name = "Confirm Password")] [DataType(DataType.Password)] [Compare(nameof(Password), ErrorMessage = "Passwords do not match")] public string? ConfirmPassword { get; set; } = string.Empty; /// /// Using Two factor authentication /// [Display(Name = "Using two factor authentication")] [Required] public bool UsingTwoFactorAuthentication { get; set; } = false; /// /// Two factor authentication support settings - QR Code and manual token /// public TwoFactorAuthenticationSettings TwoFactorAuthenticationSettings { get; set; } = null!; /// /// security code generated by authenticator application /// [Display(Name = "Authentication code")] public string? SecurityCode { get; set; } = null!; /// /// Sso login overridden by this being set /// public long? DomainSsoProviderId { get; set; } = null!; /// /// Sso login method. -1 = password and optional 2FA, anything else is from the SsoPrividers list. /// [Display(Name = "Login Method")] public long SsoProviderId { get; set; } = -1; /// /// List of SSO Providers that the user can select. /// public Dictionary SsoProviders { get; set; } = []; }