69 lines
2.1 KiB
C#
69 lines
2.1 KiB
C#
// ***********************************************************************
|
|
// <copyright file="ModuleRequest.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 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!;
|
|
}
|
|
}
|