gehgassi_backend/gehGassi.Web/Models/FidoStoredCredentialVm.cs

130 lines
3.8 KiB
C#

using System;
using System.ComponentModel.DataAnnotations;
namespace gehGassi.Web.Models
{
/// <summary>
/// Viewmodel für Fido-Credentials
/// </summary>
public class FidoStoredCredentialVm
{
}
/// <summary>
/// Viewmodel für Fido-Credentials Listendarstellung
/// </summary>
public class FidoStoredCredentialListVm
{
/// <summary>
/// Eindeutige Id
/// </summary>
public long Id { get; set; }
/// <summary>
/// Benutzername
/// </summary>
[Display(Name = "FidoStoredCredential_Username")]
public string Username { get; set; }
/// <summary>
/// Name des Fido-Devices. Es können mehrere verwendet werden
/// </summary>
[Display(Name = "FidoStoredCredential_Name")]
public string Name { get; set; }
/// <summary>
/// Typ des FIDO-Credentials
/// </summary>
[Display(Name = "FidoStoredCredential_CredentialType")]
public FidoCredentialTypeVm CredentialType { get; set; }
/// <summary>
/// Counter für Signature
/// </summary>
[Display(Name = "FidoStoredCredential_SignatureCounter")]
public uint SignatureCounter { get; set; }
/// <summary>
/// Registrierungsdatum
/// </summary>
[Display(Name = "FidoStoredCredential_RegDate")]
public DateTimeOffset RegDate { get; set; }
}
/// <summary>
/// Viewmodel zum anlegen eines Credentials
/// </summary>
public class CreateFidoCredentialVm
{
/// <summary>
/// Benutzername
/// </summary>
[Required(ErrorMessage = "Err_Required")]
[MaxLength(256, ErrorMessage = "Err_StringLength_Max")]
[EmailAddress(ErrorMessage = "Err_InvalidEmail")]
public string Username { get; set; }
/// <summary>
/// Attestation Type
/// none, direct, indirect
/// </summary>
[Required(ErrorMessage = "Err_Required")]
public string AttType { get; set; }
/// <summary>
/// Authenticator Attachment
/// empty, platform, cross-platform
/// </summary>
[Required(ErrorMessage = "Err_Required")]
public string AuthType { get; set; }
/// <summary>
/// Verifikations-Methode
/// preferred, required, discouraged
/// </summary>
[Required(ErrorMessage = "Err_Required")]
public string UserVerification { get; set; }
/// <summary>
/// Residentkey benötigt?
/// true,false. Standard: false
/// </summary>
[Required(ErrorMessage = "Err_Required")]
public bool RequireResidentKey { get; set; }
/// <summary>
/// Name des Credentials
/// </summary>
[Required(ErrorMessage = "Err_Required")]
[MaxLength(100, ErrorMessage = "Err_StringLength_Max")]
[Display(Name = "FidoStoredCredential_Name", Description = "FidoStoredCredential_Name_Desc")]
public string Name { get; set; }
/// <summary>
/// Typ
/// </summary>
[Required(ErrorMessage = "Err_Required")]
public FidoCredentialTypeVm CredentialType { get; set; }
}
/// <summary>
/// Viewmodel zum Bearbeiten eines Credentials
/// </summary>
public class EditFidoCredentialVm
{
/// <summary>
/// Id
/// </summary>
[Required(ErrorMessage = "Err_Required")]
public long Id { get; set; }
/// <summary>
/// Name des Credentials
/// </summary>
[Required(ErrorMessage = "Err_Required")]
[MaxLength(100, ErrorMessage = "Err_StringLength_Max")]
[Display(Name = "FidoStoredCredential_Name", Description = "FidoStoredCredential_Name_Desc")]
public string Name { get; set; }
}
}