mirror of
https://github.com/bitwarden/server
synced 2025-12-26 05:03:18 +00:00
* [PM-1879] Replaced JsonSerializer.Serialize with CoreHelpers.ClassToJsonData * [PM-1879] Changed OrganizationService.SaveUserAsync to check Custom permissions * [PM-1879] Added unit tests for saving Custom permissions using a Custom user * [PM-1879] Added method OrganizationUser.GetPermissions to deserialize the Permissions property * [PM-1879] Refactored ValidateCustomPermissionsGrant to return bool * [PM-1879] Added unit test SaveUser_WithCustomPermission_WhenUpgradingToAdmin_Throws
39 lines
1.2 KiB
C#
39 lines
1.2 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
using Bit.Core.Enums;
|
|
using Bit.Core.Models;
|
|
using Bit.Core.Models.Data;
|
|
using Bit.Core.Utilities;
|
|
|
|
namespace Bit.Core.Entities;
|
|
|
|
public class OrganizationUser : ITableObject<Guid>, IExternal
|
|
{
|
|
public Guid Id { get; set; }
|
|
public Guid OrganizationId { get; set; }
|
|
public Guid? UserId { get; set; }
|
|
[MaxLength(256)]
|
|
public string Email { get; set; }
|
|
public string Key { get; set; }
|
|
public string ResetPasswordKey { get; set; }
|
|
public OrganizationUserStatusType Status { get; set; }
|
|
public OrganizationUserType Type { get; set; }
|
|
public bool AccessAll { get; set; }
|
|
[MaxLength(300)]
|
|
public string ExternalId { get; set; }
|
|
public DateTime CreationDate { get; internal set; } = DateTime.UtcNow;
|
|
public DateTime RevisionDate { get; internal set; } = DateTime.UtcNow;
|
|
public string Permissions { get; set; }
|
|
public bool AccessSecretsManager { get; set; }
|
|
|
|
public void SetNewId()
|
|
{
|
|
Id = CoreHelpers.GenerateComb();
|
|
}
|
|
|
|
public Permissions GetPermissions()
|
|
{
|
|
return string.IsNullOrWhiteSpace(Permissions) ? null
|
|
: CoreHelpers.LoadClassFromJsonData<Permissions>(Permissions);
|
|
}
|
|
}
|