Files
Core.Thalos.DAL.API/Core.Thalos.Domain/Contexts/Onboarding/Request/PermissionRequest.cs

45 lines
1.4 KiB
C#

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