// *********************************************************************** // // AgileWebs // // *********************************************************************** using Core.Thalos.Adapters.Common.Enums; using MongoDB.Bson; using MongoDB.Bson.Serialization.Attributes; using System.Text.Json.Serialization; namespace Core.Thalos.Domain.Contexts.Onboarding.Request { /// /// Data transfer object (DTO) for adding a role. /// public class RoleRequest { /// /// Gets or sets the name of the role. /// [BsonElement("name")] [BsonRepresentation(BsonType.String)] [JsonPropertyName("name")] public string Name { get; set; } = null!; /// /// Gets or sets the description of the role. /// [BsonElement("description")] [BsonRepresentation(BsonType.String)] [JsonPropertyName("description")] public string? Description { get; set; } /// /// Gets or sets the status of the entity. /// [BsonElement("applications")] [JsonPropertyName("applications")] [JsonConverter(typeof(EnumArrayJsonConverter))] public ApplicationsEnum[]? Applications { get; set; } /// /// Gets or sets the modules of the role. /// [BsonElement("modules")] [JsonPropertyName("modules")] public string[] Modules { get; set; } = null!; /// /// Gets or sets the permissions of the role. /// [BsonElement("permissions")] [JsonPropertyName("permissions")] public string[] Permissions { get; set; } = null!; } }