1
0
mirror of https://github.com/bitwarden/server.git synced 2025-04-26 15:22:19 -05:00
bitwarden/src/Admin/Models/LicenseModel.cs
2022-08-29 16:06:55 -04:00

35 lines
1.1 KiB
C#

using System.ComponentModel.DataAnnotations;
namespace Bit.Admin.Models;
public class LicenseModel : IValidatableObject
{
[Display(Name = "User Id")]
public Guid? UserId { get; set; }
[Display(Name = "Organization Id")]
public Guid? OrganizationId { get; set; }
[Display(Name = "Installation Id")]
public Guid? InstallationId { get; set; }
[Required]
[Display(Name = "Version")]
public int Version { get; set; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
if (UserId.HasValue && OrganizationId.HasValue)
{
yield return new ValidationResult("Use either User Id or Organization Id. Not both.");
}
if (!UserId.HasValue && !OrganizationId.HasValue)
{
yield return new ValidationResult("User Id or Organization Id is required.");
}
if (OrganizationId.HasValue && !InstallationId.HasValue)
{
yield return new ValidationResult("Installation Id is required for organization licenses.");
}
}
}