// ***********************************************************************
//
// Heath
//
// ***********************************************************************
using Core.Cerberos.Adapters.Common.Constants;
using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;
using System.Text.Json.Serialization;
namespace Core.Cerberos.Domain.Contexts.Onboarding.Request
{
///
/// Data transfer object (DTO) for adding permissions.
///
public class PermissionRequest
{
///
/// Gets or sets the name of the permission.
///
[BsonElement("name")]
[BsonRepresentation(BsonType.String)]
[JsonPropertyName("name")]
public string Name { get; set; } = null!;
///
/// Gets or sets the description of the permission.
///
[BsonElement("description")]
[BsonRepresentation(BsonType.String)]
[JsonPropertyName("description")]
public string? Description { get; set; }
///
/// Gets or sets the access level of the permission.
///
[BsonElement("accessLevel")]
[BsonRepresentation(BsonType.String)]
[JsonPropertyName("accessLevel")]
[JsonConverter(typeof(JsonStringEnumConverter))]
public AccessLevelEnum? AccessLevel { get; set; } = null!;
}
}