Add project files.

This commit is contained in:
Sergio Matias Urquin
2025-04-29 18:55:44 -06:00
commit c34987797a
46 changed files with 3697 additions and 0 deletions

View File

@@ -0,0 +1,68 @@
// ***********************************************************************
// <copyright file="ModuleRequest.cs">
// Heath
// </copyright>
// ***********************************************************************
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
{
/// <summary>
/// Data transfer object (DTO) for adding modules.
/// </summary>
public class ModuleRequest
{
/// <summary>
/// Gets or sets the name of the module.
/// </summary>
[BsonElement("name")]
[BsonRepresentation(BsonType.String)]
[JsonPropertyName("name")]
public string Name { get; set; } = null!;
/// <summary>
/// Gets or sets the description of the module.
/// </summary>
[BsonElement("description")]
[BsonRepresentation(BsonType.String)]
[JsonPropertyName("description")]
public string? Description { get; set; }
/// <summary>
/// Gets or sets the icon of the module.
/// </summary>
[BsonElement("icon")]
[BsonRepresentation(BsonType.String)]
[JsonPropertyName("icon")]
public string? Icon { get; set; }
/// <summary>
/// Gets or sets the route of the module.
/// </summary>
[BsonElement("route")]
[BsonRepresentation(BsonType.String)]
[JsonPropertyName("route")]
public string Route { get; set; } = null!;
/// <summary>
/// Gets or sets the order of the module.
/// </summary>
[BsonElement("order")]
[BsonRepresentation(BsonType.Int32)]
[JsonPropertyName("order")]
public int? Order { get; set; }
/// <summary>
/// Gets or sets the application of the module.
/// </summary>
[BsonElement("application")]
[BsonRepresentation(BsonType.String)]
[JsonPropertyName("application")]
[JsonConverter(typeof(JsonStringEnumConverter))]
public ApplicationsEnum? Application { get; set; } = null!;
}
}