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!;
}
}

View File

@@ -0,0 +1,44 @@
// ***********************************************************************
// <copyright file="PermissionRequest.cs">
// Heath
// </copyright>
// ***********************************************************************
using Core.Cerberos.Adapters.Common.Constants;
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 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!;
}
}

View File

@@ -0,0 +1,57 @@
// ***********************************************************************
// <copyright file="RoleRequest.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 a role.
/// </summary>
public class RoleRequest
{
/// <summary>
/// Gets or sets the name of the role.
/// </summary>
[BsonElement("name")]
[BsonRepresentation(BsonType.String)]
[JsonPropertyName("name")]
public string Name { get; set; } = null!;
/// <summary>
/// Gets or sets the description of the role.
/// </summary>
[BsonElement("description")]
[BsonRepresentation(BsonType.String)]
[JsonPropertyName("description")]
public string? Description { get; set; }
/// <summary>
/// Gets or sets the status of the entity.
/// </summary>
[BsonElement("applications")]
[JsonPropertyName("applications")]
[JsonConverter(typeof(EnumArrayJsonConverter<ApplicationsEnum>))]
public ApplicationsEnum[]? Applications { get; set; }
/// <summary>
/// Gets or sets the modules of the role.
/// </summary>
[BsonElement("modules")]
[JsonPropertyName("modules")]
public string[] Modules { get; set; } = null!;
/// <summary>
/// Gets or sets the permissions of the role.
/// </summary>
[BsonElement("permissions")]
[JsonPropertyName("permissions")]
public string[] Permissions { get; set; } = null!;
}
}

View File

@@ -0,0 +1,72 @@
// ***********************************************************************
// <copyright file="UserAddDto.cs">
// Heath
// </copyright>
// ***********************************************************************
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 a user.
/// </summary>
public class UserRequest
{
/// <summary>
/// Gets or sets the email address of the user.
/// </summary>
[BsonElement("email")]
[BsonRepresentation(BsonType.String)]
[JsonPropertyName("email")]
public string Email { get; set; } = null!;
/// <summary>
/// Gets or sets the name of the user.
/// </summary>
[BsonElement("name")]
[BsonRepresentation(BsonType.String)]
[JsonPropertyName("name")]
public string Name { get; set; } = null!;
/// <summary>
/// Gets or sets the middlename of the user.
/// </summary>
[BsonElement("middleName")]
[BsonRepresentation(BsonType.String)]
[JsonPropertyName("middleName")]
public string MiddleName { get; set; } = null!;
/// <summary>
/// Gets or sets the last name of the user.
/// </summary>
[BsonElement("lastName")]
[BsonRepresentation(BsonType.String)]
[JsonPropertyName("lastName")]
public string LastName { get; set; } = null!;
/// <summary>
/// Gets or sets the role ID of the user.
/// </summary>
[BsonElement("roleId")]
[BsonRepresentation(BsonType.ObjectId)]
[JsonPropertyName("roleId")]
public string RoleId { get; set; } = null!;
/// <summary>
/// Gets or sets the array of companies associated with the user.
/// </summary>
[BsonElement("companies")]
[JsonPropertyName("companies")]
public string[] Companies { get; set; } = null!;
/// <summary>
/// Gets or sets the array of projects associated with the user.
/// </summary>
[BsonElement("projects")]
[JsonPropertyName("projects")]
public string[]? Projects { get; set; }
}
}