reeplace cerberos by thalos

This commit is contained in:
Sergio Matias Urquin
2025-05-18 19:31:25 -06:00
parent 2519e1b4fb
commit bb87b0e148
59 changed files with 194 additions and 194 deletions

View File

@@ -0,0 +1,118 @@
using Core.Thalos.Adapters;
using Core.Thalos.Application.UseCases.Roles.Input;
using Core.Thalos.Application.UseCases.Users.Input;
using Core.Thalos.External.Clients.Thalos.Requests.Permissions;
using Core.Thalos.External.Clients.Thalos.Requests.Users;
using Microsoft.AspNetCore.Mvc;
using Refit;
namespace LSA.Dashboard.External.Clients.Dashboard
{
public interface IThalosServiceClient
{
[Post("/v1/User/Create")]
Task<ApiResponse<UserAdapter>> CreateUserService([Header("TrackingId")][Body] CreateUserRequest request, CancellationToken cancellationToken = default);
[Post("/v1/User/GetById")]
Task<ApiResponse<UserAdapter>> GetUserByIdService([Header("TrackingId")][Body] GetUserRequest request, CancellationToken cancellationToken = default);
[Post("/v1/User/GetByEmail")]
Task<ApiResponse<UserAdapter>> GetUserByEmailService([Header("TrackingId")][Body] GetUserByEmailRequest request, CancellationToken cancellationToken = default);
[Post("/v1/User/ValidateExistence")]
Task<ApiResponse<UserExistenceAdapter>> ValidateUserExistenceService([Header("TrackingId")][Body] ValidateUserExistenceRequest request, CancellationToken cancellationToken = default);
[Post("/v1/User/GetByEmail")]
Task<ApiResponse<UserAdapter>> GetUserByEmailService([Header("Authorization")] string? authorization, [Header("TrackingId")][Body] GetUserByEmailRequest request, CancellationToken cancellationToken = default);
[Get("/v1/User/GetAll")]
Task<ApiResponse<IEnumerable<UserAdapter>>> GetAllUsersService([Header("TrackingId")][Body] GetAllUsersRequest request, CancellationToken cancellationToken = default);
[Put("/v1/User/Update")]
Task<ApiResponse<UserAdapter>> UpdateUserService([Header("TrackingId")][Body] UpdateUserRequest request, CancellationToken cancellationToken = default);
[Patch("/v1/User/LoginUser")]
Task<ApiResponse<UserAdapter>> LoginUserService([Header("TrackingId")][Body] LoginUserRequest request, CancellationToken cancellationToken = default);
[Patch("/v1/User/LogoutUser")]
Task<ApiResponse<UserAdapter>> LogoutUserService([Header("TrackingId")][FromBody] LogoutUserRequest request, CancellationToken cancellationToken = default);
[Patch("/v1/User/ChangeStatus")]
Task<ApiResponse<UserAdapter>> ChangeUserStatusService([Header("TrackingId")][Body] ChangeUserStatusRequest request, CancellationToken cancellationToken = default);
[Post("/v1/User/AddCompany")]
Task<ApiResponse<UserAdapter>> AddCompanyToUserService([Header("TrackingId")][Body] AddCompanyToUserRequest request, CancellationToken cancellationToken = default);
[Delete("/v1/User/RemoveCompany")]
Task<ApiResponse<UserAdapter>> RemoveCompanyFromUserService([Header("TrackingId")][Body] RemoveCompanyFromUserRequest request, CancellationToken cancellationToken = default);
[Post("/v1/User/AddProject")]
Task<ApiResponse<UserAdapter>> AddProjectToUserService([Header("TrackingId")][Body] AddProjectToUserRequest request, CancellationToken cancellationToken = default);
[Delete("/v1/User/RemoveProject")]
Task<ApiResponse<UserAdapter>> RemoveProjectFromUserService([Header("TrackingId")][Body] RemoveProjectFromUserRequest request, CancellationToken cancellationToken = default);
[Post("/v1/User/GetTokenAdapter")]
Task<ApiResponse<TokenAdapter>> GetTokenAdapterService([Header("TrackingId")][Body] GetTokenAdapterRequest request, CancellationToken cancellationToken = default);
[Post("/v1/Role/Create")]
Task<ApiResponse<RoleAdapter>> CreateRoleService([Header("TrackingId")][Body] CreateRoleRequest request, CancellationToken cancellationToken = default);
[Post("/v1/Role/GetById")]
Task<ApiResponse<RoleAdapter>> GetRoleByIdService([Header("TrackingId")][Body] GetRoleRequest request, CancellationToken cancellationToken = default);
[Post("/v1/Role/GetById")]
Task<ApiResponse<RoleAdapter>> GetRoleByIdService([Header("Authorization")] string? authorization, [Header("TrackingId")][Body] GetRoleRequest request, CancellationToken cancellationToken = default);
[Get("/v1/Role/GetAll")]
Task<ApiResponse<IEnumerable<RoleAdapter>>> GetAllRolesService([Header("TrackingId")][Body] GetAllRolesRequest request, CancellationToken cancellationToken = default);
[Put("/v1/Role/Update")]
Task<ApiResponse<RoleAdapter>> UpdateRoleService([Header("TrackingId")][Body] UpdateRoleRequest request, CancellationToken cancellationToken = default);
[Patch("/v1/Role/ChangeStatus")]
Task<ApiResponse<RoleAdapter>> ChangeRoleStatusService([Header("TrackingId")][Body] ChangeRoleStatusRequest request, CancellationToken cancellationToken = default);
[Post("/v1/Role/AddApplication")]
Task<ApiResponse<RoleAdapter>> AddApplicationToRoleService([Header("TrackingId")][Body] AddApplicationToRoleRequest request, CancellationToken cancellationToken = default);
[Delete("/v1/Role/RemoveApplication")]
Task<ApiResponse<RoleAdapter>> RemoveApplicationFromRoleService([Header("TrackingId")][Body] RemoveApplicationFromRoleRequest request, CancellationToken cancellationToken = default);
[Post("/v1/Permission/Create")]
Task<ApiResponse<PermissionAdapter>> CreatePermissionService([Header("TrackingId")][Body] CreatePermissionRequest request, CancellationToken cancellationToken = default);
[Post("/v1/Permission/GetById")]
Task<ApiResponse<PermissionAdapter>> GetPermissionByIdService([Header("TrackingId")][Body] GetPermissionRequest request, CancellationToken cancellationToken = default);
[Get("/v1/Permission/GetAll")]
Task<ApiResponse<IEnumerable<PermissionAdapter>>> GetAllPermissionsService([Header("TrackingId")][Body] GetAllPermissionsRequest request, CancellationToken cancellationToken = default);
[Post("/v1/Permission/GetPermissionList")]
Task<ApiResponse<IEnumerable<PermissionAdapter>>> GetAllPermissionsByListService([Header("TrackingId")][Body] GetAllPermissionsByListRequest request, CancellationToken cancellationToken = default);
[Put("/v1/Permission/Update")]
Task<ApiResponse<PermissionAdapter>> UpdatePermissionService([Header("TrackingId")][Body] UpdatePermissionRequest request, CancellationToken cancellationToken = default);
[Patch("/v1/Permission/ChangeStatus")]
Task<ApiResponse<PermissionAdapter>> ChangePermissionStatusService([Header("TrackingId")][Body] ChangePermissionStatusRequest request, CancellationToken cancellationToken = default);
[Post("/v1/Module/Create")]
Task<ApiResponse<ModuleAdapter>> CreateModuleService([Header("TrackingId")][Body] CreateModuleRequest request, CancellationToken cancellationToken = default);
[Post("/v1/Module/GetById")]
Task<ApiResponse<ModuleAdapter>> GetModuleByIdService([Header("TrackingId")][Body] GetModuleRequest request, CancellationToken cancellationToken = default);
[Get("/v1/Module/GetAll")]
Task<ApiResponse<IEnumerable<ModuleAdapter>>> GetAllModulesService([Header("TrackingId")][Body] GetAllModulesRequest request, CancellationToken cancellationToken = default);
[Post("/v1/Module/GetModuleList")]
Task<ApiResponse<IEnumerable<ModuleAdapter>>> GetAllModulesByListService([Header("TrackingId")][Body] GetAllModulesByListRequest request, CancellationToken cancellationToken = default);
[Put("/v1/Module/Update")]
Task<ApiResponse<ModuleAdapter>> UpdateModuleService([Header("TrackingId")][Body] UpdateModuleRequest request, CancellationToken cancellationToken = default);
[Patch("/v1/Module/ChangeStatus")]
Task<ApiResponse<ModuleAdapter>> ChangeModuleStatusService([Header("TrackingId")][Body] ChangeModuleStatusRequest request, CancellationToken cancellationToken = default);
}
}

View File

@@ -0,0 +1,10 @@
using Core.Thalos.Adapters.Common.Enums;
namespace Core.Thalos.External.Clients.Thalos.Requests.Permissions
{
public class ChangeModuleStatusRequest
{
public string Id { get; set; }
public StatusEnum Status { get; set; }
}
}

View File

@@ -0,0 +1,14 @@
using Core.Thalos.Adapters.Common.Enums;
namespace Core.Thalos.External.Clients.Thalos.Requests.Permissions
{
public class CreateModuleRequest
{
public string Name { get; set; } = null!;
public string? Description { get; set; }
public string? Icon { get; set; }
public string Route { get; set; } = null!;
public int? Order { get; set; }
public ApplicationsEnum? Application { get; set; } = null!;
}
}

View File

@@ -0,0 +1,7 @@
namespace Core.Thalos.External.Clients.Thalos.Requests.Permissions
{
public class GetAllModulesByListRequest
{
public string[] Modules { get; set; }
}
}

View File

@@ -0,0 +1,6 @@
namespace Core.Thalos.External.Clients.Thalos.Requests.Permissions
{
public class GetAllModulesRequest
{
}
}

View File

@@ -0,0 +1,7 @@
namespace Core.Thalos.External.Clients.Thalos.Requests.Permissions
{
public class GetModuleRequest
{
public string Id { get; set; }
}
}

View File

@@ -0,0 +1,17 @@
using Core.Thalos.Adapters.Common.Enums;
namespace Core.Thalos.External.Clients.Thalos.Requests.Permissions
{
public class UpdateModuleRequest
{
public string Id { get; set; } = null!;
public string Name { get; set; } = null!;
public string? Description { get; set; }
public string? Icon { get; set; }
public string Route { get; set; } = null!;
public int? Order { get; set; }
public ApplicationsEnum? Application { get; set; } = null!;
public StatusEnum Status { get; set; }
}
}

View File

@@ -0,0 +1,10 @@
using Core.Thalos.Adapters.Common.Enums;
namespace Core.Thalos.External.Clients.Thalos.Requests.Permissions
{
public class ChangePermissionStatusRequest
{
public string Id { get; set; }
public StatusEnum Status { get; set; }
}
}

View File

@@ -0,0 +1,11 @@
using Core.Thalos.Adapters.Common.Constants;
namespace Core.Thalos.External.Clients.Thalos.Requests.Permissions
{
public class CreatePermissionRequest
{
public string Name { get; set; } = null!;
public string Description { get; set; } = null!;
public AccessLevelEnum? AccessLevel { get; set; } = null!;
}
}

View File

@@ -0,0 +1,7 @@
namespace Core.Thalos.External.Clients.Thalos.Requests.Permissions
{
public class GetAllPermissionsByListRequest
{
public string[] Permissions { get; set; }
}
}

View File

@@ -0,0 +1,6 @@
namespace Core.Thalos.External.Clients.Thalos.Requests.Permissions
{
public class GetAllPermissionsRequest
{
}
}

View File

@@ -0,0 +1,7 @@
namespace Core.Thalos.External.Clients.Thalos.Requests.Permissions
{
public class GetPermissionRequest
{
public string Id { get; set; }
}
}

View File

@@ -0,0 +1,14 @@
using Core.Thalos.Adapters.Common.Constants;
using Core.Thalos.Adapters.Common.Enums;
namespace Core.Thalos.External.Clients.Thalos.Requests.Permissions
{
public class UpdatePermissionRequest
{
public string Id { get; set; } = null!;
public string Name { get; set; } = null!;
public string? Description { get; set; }
public AccessLevelEnum? AccessLevel { get; set; } = null!;
public StatusEnum Status { get; set; } = StatusEnum.Active;
}
}

View File

@@ -0,0 +1,10 @@
using Core.Thalos.Adapters.Common.Enums;
namespace Core.Thalos.Application.UseCases.Roles.Input
{
public class AddApplicationToRoleRequest
{
public string RoleId { get; set; }
public ApplicationsEnum Application { get; set; }
}
}

View File

@@ -0,0 +1,11 @@
using Core.Thalos.Adapters.Common.Enums;
namespace Core.Thalos.Application.UseCases.Roles.Input
{
public class ChangeRoleStatusRequest
{
public string Id { get; set; }
public StatusEnum Status { get; set; }
}
}

View File

@@ -0,0 +1,15 @@
using Core.Thalos.Adapters.Common.Enums;
using System.Text.Json.Serialization;
namespace Core.Thalos.Application.UseCases.Roles.Input
{
public class CreateRoleRequest
{
public string Name { get; set; } = null!;
public string Description { get; set; } = null!;
[JsonConverter(typeof(EnumArrayJsonConverter<ApplicationsEnum>))]
public ApplicationsEnum[]? Applications { get; set; } = null!;
public string[] Modules { get; set; } = null!;
public string[] Permissions { get; set; } = null!;
}
}

View File

@@ -0,0 +1,6 @@
namespace Core.Thalos.Application.UseCases.Roles.Input
{
public class GetAllRolesRequest
{
}
}

View File

@@ -0,0 +1,7 @@
namespace Core.Thalos.Application.UseCases.Roles.Input
{
public class GetRoleRequest
{
public string Id { get; set; }
}
}

View File

@@ -0,0 +1,10 @@
using Core.Thalos.Adapters.Common.Enums;
namespace Core.Thalos.Application.UseCases.Roles.Input
{
public class RemoveApplicationFromRoleRequest
{
public string RoleId { get; set; }
public ApplicationsEnum Application { get; set; }
}
}

View File

@@ -0,0 +1,17 @@
using Core.Thalos.Adapters.Common.Enums;
using System.Text.Json.Serialization;
namespace Core.Thalos.Application.UseCases.Roles.Input
{
public class UpdateRoleRequest
{
public string Id { get; set; } = null!;
public string Name { get; set; } = null!;
public string? Description { get; set; }
[JsonConverter(typeof(EnumArrayJsonConverter<ApplicationsEnum>))]
public ApplicationsEnum[]? Applications { get; set; }
public string[] Modules { get; set; } = null!;
public string[] Permissions { get; set; } = null!;
public StatusEnum Status { get; set; }
}
}

View File

@@ -0,0 +1,8 @@
namespace Core.Thalos.Application.UseCases.Users.Input
{
public class AddCompanyToUserRequest
{
public string UserId { get; set; }
public string CompanyId { get; set; }
}
}

View File

@@ -0,0 +1,8 @@
namespace Core.Thalos.Application.UseCases.Users.Input
{
public class AddProjectToUserRequest
{
public string UserId { get; set; }
public string ProjectId { get; set; }
}
}

View File

@@ -0,0 +1,10 @@
using Core.Thalos.Adapters.Common.Enums;
namespace Core.Thalos.Application.UseCases.Users.Input
{
public class ChangeUserStatusRequest
{
public string Id { get; set; }
public StatusEnum Status { get; set; }
}
}

View File

@@ -0,0 +1,14 @@
namespace Core.Thalos.Application.UseCases.Users.Input
{
public class CreateUserRequest
{
public string Email { get; set; } = null!;
public string Name { get; set; } = null!;
public string? MiddleName { get; set; }
public string LastName { get; set; } = null!;
public string RoleId { get; set; } = null!;
public string[] Companies { get; set; } = null!;
public string[]? Projects { get; set; }
public bool SendInvitation { get; set; }
}
}

View File

@@ -0,0 +1,6 @@
namespace Core.Thalos.Application.UseCases.Users.Input
{
public class GetAllUsersRequest
{
}
}

View File

@@ -0,0 +1,7 @@
namespace Core.Thalos.Application.UseCases.Users.Input
{
public class GetUserByEmailRequest
{
public string Email { get; set; }
}
}

View File

@@ -0,0 +1,7 @@
namespace Core.Thalos.Application.UseCases.Users.Input
{
public class GetTokenAdapterRequest
{
public string Email { get; set; }
}
}

View File

@@ -0,0 +1,7 @@
namespace Core.Thalos.Application.UseCases.Users.Input
{
public class GetUserRequest
{
public string Id { get; set; }
}
}

View File

@@ -0,0 +1,7 @@
namespace Core.Thalos.External.Clients.Thalos.Requests.Users
{
public class LoginUserRequest
{
public string Email { get; set; }
}
}

View File

@@ -0,0 +1,7 @@
namespace Core.Thalos.External.Clients.Thalos.Requests.Users
{
public class LogoutUserRequest
{
public string Email { get; set; }
}
}

View File

@@ -0,0 +1,8 @@
namespace Core.Thalos.Application.UseCases.Users.Input
{
public class RemoveCompanyFromUserRequest
{
public string UserId { get; set; }
public string CompanyId { get; set; }
}
}

View File

@@ -0,0 +1,8 @@
namespace Core.Thalos.Application.UseCases.Users.Input
{
public class RemoveProjectFromUserRequest
{
public string UserId { get; set; }
public string ProjectId { get; set; }
}
}

View File

@@ -0,0 +1,17 @@
using Core.Thalos.Adapters.Common.Enums;
namespace Core.Thalos.Application.UseCases.Users.Input
{
public class UpdateUserRequest
{
public string Id { get; set; } = null!;
public string Email { get; set; } = null!;
public string Name { get; set; } = null!;
public string? MiddleName { get; set; }
public string LastName { get; set; } = null!;
public string RoleId { get; set; } = null!;
public string[] Companies { get; set; } = null!;
public string[]? Projects { get; set; }
public StatusEnum Status { get; set; }
}
}

View File

@@ -0,0 +1,7 @@
namespace Core.Thalos.Application.UseCases.Users.Input
{
public class ValidateUserExistenceRequest
{
public string Email { get; set; }
}
}