using System.ComponentModel.DataAnnotations;
using e_suite.API.Common.models;
namespace eSuite.API.Models;
///
///
///
public interface IPasswordInformation
{
///
/// new password
///
[Display(Name = "New Password")]
[DataType(DataType.Password)]
public string? Password { get; set; }
///
/// 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; }
///
/// Using Two factor authentication
///
[Display(Name = "Using two factor authentication")]
[Required]
public bool UsingTwoFactorAuthentication { get; set; }
///
/// Two factor authentication support settings - QR Code and manual token
///
public TwoFactorAuthenticationSettings TwoFactorAuthenticationSettings { get; set; }
///
/// security code generated by authenticator application
///
[Display(Name = "Authentication code")]
public string? SecurityCode { get; set; }
///
/// Sso login overridden by this being set
///
public long? DomainSsoProviderId { get; set; }
///
/// Sso login method. -1 = password and optional 2FA, anything else is from the SsoPrividers list.
///
[Display(Name = "Login Method")]
public long SsoProviderId { get; set; }
///
/// List of SSO Providers that the user can select.
///
public Dictionary SsoProviders { get; set; }
}