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