// *********************************************************************** // // AgileWebs // // *********************************************************************** using Core.Cerberos.Adapters.Common.Enums; 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 modules. /// public class ModuleRequest { /// /// Gets or sets the name of the module. /// [BsonElement("name")] [BsonRepresentation(BsonType.String)] [JsonPropertyName("name")] public string Name { get; set; } = null!; /// /// Gets or sets the description of the module. /// [BsonElement("description")] [BsonRepresentation(BsonType.String)] [JsonPropertyName("description")] public string? Description { get; set; } /// /// Gets or sets the icon of the module. /// [BsonElement("icon")] [BsonRepresentation(BsonType.String)] [JsonPropertyName("icon")] public string? Icon { get; set; } /// /// Gets or sets the route of the module. /// [BsonElement("route")] [BsonRepresentation(BsonType.String)] [JsonPropertyName("route")] public string Route { get; set; } = null!; /// /// Gets or sets the order of the module. /// [BsonElement("order")] [BsonRepresentation(BsonType.Int32)] [JsonPropertyName("order")] public int? Order { get; set; } /// /// Gets or sets the application of the module. /// [BsonElement("application")] [BsonRepresentation(BsonType.String)] [JsonPropertyName("application")] [JsonConverter(typeof(JsonStringEnumConverter))] public ApplicationsEnum? Application { get; set; } = null!; } }