You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.5 KiB
47 lines
1.5 KiB
using System.ComponentModel.DataAnnotations; |
|
using Bit.Core.Models.Table; |
|
|
|
namespace Bit.Core.Models.Api.Request |
|
{ |
|
public class EmergencyAccessInviteRequestModel |
|
{ |
|
[Required] |
|
[EmailAddress] |
|
[StringLength(256)] |
|
public string Email { get; set; } |
|
[Required] |
|
public Enums.EmergencyAccessType? Type { get; set; } |
|
[Required] |
|
public int WaitTimeDays { get; set; } |
|
} |
|
|
|
public class EmergencyAccessUpdateRequestModel |
|
{ |
|
[Required] |
|
public Enums.EmergencyAccessType Type { get; set; } |
|
[Required] |
|
public int WaitTimeDays { get; set; } |
|
public string KeyEncrypted { get; set; } |
|
|
|
public EmergencyAccess ToEmergencyAccess(EmergencyAccess existingEmergencyAccess) |
|
{ |
|
// Ensure we only set keys for a confirmed emergency access. |
|
if (!string.IsNullOrWhiteSpace(existingEmergencyAccess.KeyEncrypted) && !string.IsNullOrWhiteSpace(KeyEncrypted)) |
|
{ |
|
existingEmergencyAccess.KeyEncrypted = KeyEncrypted; |
|
} |
|
existingEmergencyAccess.Type = Type; |
|
existingEmergencyAccess.WaitTimeDays = WaitTimeDays; |
|
return existingEmergencyAccess; |
|
} |
|
} |
|
|
|
public class EmergencyAccessPasswordRequestModel |
|
{ |
|
[Required] |
|
[StringLength(300)] |
|
public string NewMasterPasswordHash { get; set; } |
|
[Required] |
|
public string Key { get; set; } |
|
} |
|
}
|
|
|