diff --git a/Core.Thalos.Application/UseCases/Modules/Input/UpdateModuleRequest.cs b/Core.Thalos.Application/UseCases/Modules/Input/UpdateModuleRequest.cs index f807044..2dfa644 100644 --- a/Core.Thalos.Application/UseCases/Modules/Input/UpdateModuleRequest.cs +++ b/Core.Thalos.Application/UseCases/Modules/Input/UpdateModuleRequest.cs @@ -12,7 +12,6 @@ namespace Core.Thalos.Application.UseCases.Modules.Input public string Route { get; set; } = null!; public int? Order { get; set; } public ApplicationsEnum? Application { get; set; } = null!; - public StatusEnum Status { get; set; } public bool Validate() { return Id != null; diff --git a/Core.Thalos.Application/UseCases/Modules/ModuleHandler.cs b/Core.Thalos.Application/UseCases/Modules/ModuleHandler.cs index c2f540d..2837324 100644 --- a/Core.Thalos.Application/UseCases/Modules/ModuleHandler.cs +++ b/Core.Thalos.Application/UseCases/Modules/ModuleHandler.cs @@ -194,8 +194,7 @@ namespace Core.Thalos.Application.UseCases.Modules Application = command.Application, Route = command.Route, Order = command.Order, - Icon = command.Icon, - Status = command.Status + Icon = command.Icon }; string id = command.Id; diff --git a/Core.Thalos.Application/UseCases/Permissions/PermissionHandler.cs b/Core.Thalos.Application/UseCases/Permissions/PermissionHandler.cs index 2ac2aa4..ddedb7b 100644 --- a/Core.Thalos.Application/UseCases/Permissions/PermissionHandler.cs +++ b/Core.Thalos.Application/UseCases/Permissions/PermissionHandler.cs @@ -179,8 +179,7 @@ namespace Core.Thalos.Application.UseCases.Permissions Id = command.Id, Name = command.Name, Description = command.Description, - AccessLevel = command.AccessLevel, - Status = command.Status + AccessLevel = command.AccessLevel }; string id = command.Id; diff --git a/Core.Thalos.Application/UseCases/Roles/RoleHandler.cs b/Core.Thalos.Application/UseCases/Roles/RoleHandler.cs index 322572e..e08b36a 100644 --- a/Core.Thalos.Application/UseCases/Roles/RoleHandler.cs +++ b/Core.Thalos.Application/UseCases/Roles/RoleHandler.cs @@ -166,8 +166,7 @@ namespace Core.Thalos.Application.UseCases.Role Description = command.Description, Applications = command.Applications, Modules = command.Modules, - Permissions = command.Permissions, - Status = command.Status + Permissions = command.Permissions }; string id = command.Id; diff --git a/Core.Thalos.External/Core.Thalos.External.csproj b/Core.Thalos.External/Core.Thalos.External.csproj index 8c9b4f7..3b3d98e 100644 --- a/Core.Thalos.External/Core.Thalos.External.csproj +++ b/Core.Thalos.External/Core.Thalos.External.csproj @@ -9,7 +9,7 @@ - + diff --git a/Core.Thalos.Service.API/Controllers/ModuleController.cs b/Core.Thalos.Service.API/Controllers/ModuleController.cs index a073cc0..cbf537f 100644 --- a/Core.Thalos.Service.API/Controllers/ModuleController.cs +++ b/Core.Thalos.Service.API/Controllers/ModuleController.cs @@ -60,8 +60,8 @@ namespace Core.Thalos.Service.API.Controllers [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] [ProducesResponseType(StatusCodes.Status400BadRequest)] - [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] - [Permission("ModuleManagement.Read, RoleManagement.Read")] + //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] + //[Permission("ModuleManagement.Read, RoleManagement.Read")] public async Task GetAllModulesAsync(CancellationToken cancellationToken) { await getAllModulesHandler.ExecuteAsync(new GetAllModulesRequest { }, cancellationToken).ConfigureAwait(false); @@ -91,8 +91,8 @@ namespace Core.Thalos.Service.API.Controllers [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] - [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] - [Permission("ModuleManagement.Read")] + //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] + //[Permission("ModuleManagement.Read")] public async Task GetAllModulesByListAsync([FromBody] GetAllModulesByListRequest request, CancellationToken cancellationToken) { @@ -118,8 +118,8 @@ namespace Core.Thalos.Service.API.Controllers [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] - [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] - [Permission("ModuleManagement.Read")] + //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] + //[Permission("ModuleManagement.Read")] public async Task GetModuleById([FromBody] GetModuleRequest request, CancellationToken cancellationToken) { @@ -144,8 +144,8 @@ namespace Core.Thalos.Service.API.Controllers [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] [ProducesResponseType(StatusCodes.Status400BadRequest)] - [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] - [Permission("ModuleManagement.Write")] + //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] + //[Permission("ModuleManagement.Write")] public async Task CreateModuleAsync([FromBody] CreateModuleRequest newModule, CancellationToken cancellationToken = default) { await createModuleHandler.ExecuteAsync(newModule, cancellationToken).ConfigureAwait(false); @@ -164,8 +164,8 @@ namespace Core.Thalos.Service.API.Controllers [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] [ProducesResponseType(StatusCodes.Status400BadRequest)] - [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] - [Permission("ModuleManagement.Write")] + //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] + //[Permission("ModuleManagement.Write")] public async Task UpdateModuleAsync([FromBody] UpdateModuleRequest request, CancellationToken cancellationToken = default) { await updateModuleHandler.ExecuteAsync(request, cancellationToken).ConfigureAwait(false); @@ -185,8 +185,8 @@ namespace Core.Thalos.Service.API.Controllers [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] - [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] - [Permission("ModuleManagement.Write")] + //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] + //[Permission("ModuleManagement.Write")] public async Task ChangeModuleStatusAsync([FromBody] ChangeModuleStatusRequest request, CancellationToken cancellationToken) { diff --git a/Core.Thalos.Service.API/Controllers/PermissionController.cs b/Core.Thalos.Service.API/Controllers/PermissionController.cs index 25e1322..336151c 100644 --- a/Core.Thalos.Service.API/Controllers/PermissionController.cs +++ b/Core.Thalos.Service.API/Controllers/PermissionController.cs @@ -60,8 +60,8 @@ namespace Core.Thalos.Service.API.Controllers [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] [ProducesResponseType(StatusCodes.Status400BadRequest)] - [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] - [Permission("PermissionManagement.Read, RoleManagement.Read")] + //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] + //[Permission("PermissionManagement.Read, RoleManagement.Read")] public async Task GetAllPermissionsAsync(CancellationToken cancellationToken) { await getAllPermissionsHandler.ExecuteAsync(new GetAllPermissionsRequest { }, cancellationToken).ConfigureAwait(false); @@ -91,8 +91,8 @@ namespace Core.Thalos.Service.API.Controllers [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] - [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] - [Permission("PermissionManagement.Read")] + //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] + //[Permission("PermissionManagement.Read")] public async Task GetAllPermissionsByListAsync([FromBody] GetAllPermissionsByListRequest request, CancellationToken cancellationToken) { @@ -118,8 +118,8 @@ namespace Core.Thalos.Service.API.Controllers [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] - [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] - [Permission("PermissionManagement.Read")] + //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] + //[Permission("PermissionManagement.Read")] public async Task GetPermissionById([FromBody] GetPermissionRequest request, CancellationToken cancellationToken) { @@ -144,8 +144,8 @@ namespace Core.Thalos.Service.API.Controllers [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] [ProducesResponseType(StatusCodes.Status400BadRequest)] - [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] - [Permission("PermissionManagement.Write")] + //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] + //[Permission("PermissionManagement.Write")] public async Task CreatePermissionAsync([FromBody] CreatePermissionRequest newPermission, CancellationToken cancellationToken = default) { await createPermissionHandler.ExecuteAsync(newPermission, cancellationToken).ConfigureAwait(false); @@ -164,8 +164,8 @@ namespace Core.Thalos.Service.API.Controllers [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] [ProducesResponseType(StatusCodes.Status400BadRequest)] - [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] - [Permission("PermissionManagement.Write")] + //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] + //[Permission("PermissionManagement.Write")] public async Task UpdatePermissionAsync([FromBody] UpdatePermissionRequest request, CancellationToken cancellationToken = default) { await updatePermissionHandler.ExecuteAsync(request, cancellationToken).ConfigureAwait(false); @@ -185,8 +185,8 @@ namespace Core.Thalos.Service.API.Controllers [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] - [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] - [Permission("PermissionManagement.Write")] + //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] + //[Permission("PermissionManagement.Write")] public async Task ChangePermissionStatusAsync([FromBody] ChangePermissionStatusRequest request, CancellationToken cancellationToken) { diff --git a/Core.Thalos.Service.API/Controllers/RoleController.cs b/Core.Thalos.Service.API/Controllers/RoleController.cs index 8a643e2..4a8a4fc 100644 --- a/Core.Thalos.Service.API/Controllers/RoleController.cs +++ b/Core.Thalos.Service.API/Controllers/RoleController.cs @@ -16,7 +16,7 @@ namespace Core.Thalos.Service.API.Controllers [Route("api/v{api-version:apiVersion}/[controller]")] [Produces("application/json")] [ApiController] - [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] + //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] public class RoleController : ControllerBase { private readonly IComponentHandler getRoleHandler; @@ -63,8 +63,8 @@ namespace Core.Thalos.Service.API.Controllers [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] [ProducesResponseType(StatusCodes.Status400BadRequest)] - [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] - [Permission("RoleManagement.Read")] + //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] + //[Permission("RoleManagement.Read")] public async Task GetAllRolesAsync(CancellationToken cancellationToken) { await getAllRolesHandler.ExecuteAsync(new GetAllRolesRequest { }, cancellationToken).ConfigureAwait(false); @@ -84,8 +84,8 @@ namespace Core.Thalos.Service.API.Controllers [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] - [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] - [Permission("RoleManagement.Read")] + //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] + //[Permission("RoleManagement.Read")] public async Task GetRoleById([FromBody] GetRoleRequest request, CancellationToken cancellationToken) { if (string.IsNullOrEmpty(request.Id)) { return BadRequest("Invalid role identifier"); } @@ -106,8 +106,8 @@ namespace Core.Thalos.Service.API.Controllers [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] [ProducesResponseType(StatusCodes.Status400BadRequest)] - [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] - [Permission("RoleManagement.Write")] + //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] + //[Permission("RoleManagement.Write")] public async Task CreateRoleAsync([FromBody] CreateRoleRequest newRole, CancellationToken cancellationToken = default) { await createRoleHandler.ExecuteAsync(newRole, cancellationToken).ConfigureAwait(false); @@ -126,8 +126,8 @@ namespace Core.Thalos.Service.API.Controllers [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] [ProducesResponseType(StatusCodes.Status400BadRequest)] - [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] - [Permission("RoleManagement.Write")] + //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] + //[Permission("RoleManagement.Write")] public async Task UpdateRoleAsync([FromBody] UpdateRoleRequest entity, CancellationToken cancellationToken = default) { await updateRoleHandler.ExecuteAsync(entity, cancellationToken).ConfigureAwait(false); @@ -147,8 +147,8 @@ namespace Core.Thalos.Service.API.Controllers [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] - [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] - [Permission("RoleManagement.Write")] + //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] + //[Permission("RoleManagement.Write")] public async Task ChageRoleStatusAsync(ChangeRoleStatusRequest request, CancellationToken cancellationToken) { if (string.IsNullOrEmpty(request.Id)) { return BadRequest("Invalid role identifier"); } @@ -170,8 +170,8 @@ namespace Core.Thalos.Service.API.Controllers [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] - [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] - [Permission("RoleManagement.Write")] + //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] + //[Permission("RoleManagement.Write")] public async Task AddApplicationToRoleAsync(AddApplicationToRoleRequest request, CancellationToken cancellationToken) { if (string.IsNullOrEmpty(request.RoleId)) { return BadRequest("Invalid role identifier"); } @@ -193,8 +193,8 @@ namespace Core.Thalos.Service.API.Controllers [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] - [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] - [Permission("RoleManagement.Write")] + //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] + //[Permission("RoleManagement.Write")] public async Task RemoveApplicationToRoleAsync(RemoveApplicationFromRoleRequest request, CancellationToken cancellationToken) { diff --git a/Core.Thalos.Service.API/Controllers/UserController.cs b/Core.Thalos.Service.API/Controllers/UserController.cs index e835a6c..ff391c1 100644 --- a/Core.Thalos.Service.API/Controllers/UserController.cs +++ b/Core.Thalos.Service.API/Controllers/UserController.cs @@ -33,8 +33,6 @@ namespace Core.Thalos.Service.API.Controllers private readonly IComponentHandler logoutUserHandler; private readonly IComponentHandler validateUserHandler; private readonly IComponentHandler getTokenAdapterHandler; - private readonly IComponentHandler getConsentFormPDFHandler; - private readonly IComponentHandler acceptUserConsentFormHandler; private readonly IUserPort port; /// @@ -55,8 +53,6 @@ namespace Core.Thalos.Service.API.Controllers IComponentHandler logoutUserHandler, IComponentHandler validateUserHandler, IComponentHandler getTokenAdapterHandler, - IComponentHandler getConsentFormPDFHandler, - IComponentHandler acceptUserConsentFormHandler, IUserPort port ) { @@ -74,8 +70,6 @@ namespace Core.Thalos.Service.API.Controllers this.logoutUserHandler = logoutUserHandler; this.validateUserHandler = validateUserHandler; this.getTokenAdapterHandler = getTokenAdapterHandler; - this.getConsentFormPDFHandler = getConsentFormPDFHandler; - this.acceptUserConsentFormHandler = acceptUserConsentFormHandler; this.port = port; } /// @@ -90,8 +84,8 @@ namespace Core.Thalos.Service.API.Controllers [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] [ProducesResponseType(StatusCodes.Status400BadRequest)] - [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] - [Permission("UserManagement.Read")] + //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] + //[Permission("UserManagement.Read")] public async Task GetAllUsersAsync(CancellationToken cancellationToken) { await getAllUsersHandler.ExecuteAsync(new GetAllUsersRequest { }, cancellationToken).ConfigureAwait(false); @@ -111,8 +105,8 @@ namespace Core.Thalos.Service.API.Controllers [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] - [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] - [Permission("UserManagement.Read")] + //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] + //[Permission("UserManagement.Read")] public async Task GetUserById([FromBody] GetUserRequest request, CancellationToken cancellationToken) { if (string.IsNullOrEmpty(request.Id)) { return BadRequest("Invalid user identifier"); } @@ -134,7 +128,7 @@ namespace Core.Thalos.Service.API.Controllers [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] - [Authorize(AuthenticationSchemes = $"{Schemes.DefaultScheme}, {Schemes.AzureScheme}")] + //[Authorize(AuthenticationSchemes = $"{Schemes.DefaultScheme}, {Schemes.AzureScheme}")] public async Task GetUserByEmail([FromBody] GetUserByEmailRequest request, CancellationToken cancellationToken) { if (string.IsNullOrEmpty(request.Email)) { return BadRequest("Invalid user email"); } @@ -156,8 +150,8 @@ namespace Core.Thalos.Service.API.Controllers [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] [ProducesResponseType(StatusCodes.Status400BadRequest)] - [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] - [Permission("UserManagement.Write")] + //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] + //[Permission("UserManagement.Write")] public async Task CreateUserAsync([FromBody] CreateUserRequest newUser, CancellationToken cancellationToken = default) { await createUserHandler.ExecuteAsync(newUser, cancellationToken).ConfigureAwait(false); @@ -176,8 +170,8 @@ namespace Core.Thalos.Service.API.Controllers [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] [ProducesResponseType(StatusCodes.Status400BadRequest)] - [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] - [Permission("UserManagement.Write")] + //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] + //[Permission("UserManagement.Write")] public async Task UpdateUserAsync([FromBody] UpdateUserRequest request, CancellationToken cancellationToken = default) { @@ -197,7 +191,7 @@ namespace Core.Thalos.Service.API.Controllers [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] [ProducesResponseType(StatusCodes.Status400BadRequest)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] - [Authorize(AuthenticationSchemes = $"{Schemes.DefaultScheme}, {Schemes.AzureScheme}")] + //[Authorize(AuthenticationSchemes = $"{Schemes.DefaultScheme}, {Schemes.AzureScheme}")] public async Task LoginUserAsync([FromBody] LoginUserRequest request, CancellationToken cancellationToken) { if (string.IsNullOrEmpty(request.Email)) { return BadRequest("Invalid user email"); } @@ -239,8 +233,8 @@ namespace Core.Thalos.Service.API.Controllers [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] - [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] - [Permission("UserManagement.Write")] + //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] + //[Permission("UserManagement.Write")] public async Task ChangeUserStatusAsync([FromBody] ChangeUserStatusRequest request, CancellationToken cancellationToken) { if (string.IsNullOrEmpty(request.Id)) { return BadRequest("Invalid user identifier"); } @@ -262,8 +256,8 @@ namespace Core.Thalos.Service.API.Controllers [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] - [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] - [Permission("UserManagement.Write")] + //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] + //[Permission("UserManagement.Write")] public async Task AddCompanyToUserAsync([FromBody] AddCompanyToUserRequest request, CancellationToken cancellationToken) { @@ -287,8 +281,8 @@ namespace Core.Thalos.Service.API.Controllers [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] - [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] - [Permission("UserManagement.Write")] + //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] + //[Permission("UserManagement.Write")] public async Task RemoveCompanyFromUserAsync([FromBody] RemoveCompanyFromUserRequest request, CancellationToken cancellationToken) { @@ -312,8 +306,8 @@ namespace Core.Thalos.Service.API.Controllers [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] - [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] - [Permission("UserManagement.Write")] + //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] + //[Permission("UserManagement.Write")] public async Task AddProjectToUserAsync([FromBody] AddProjectToUserRequest request, CancellationToken cancellationToken) { @@ -337,8 +331,8 @@ namespace Core.Thalos.Service.API.Controllers [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] - [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] - [Permission("UserManagement.Write")] + //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] + //[Permission("UserManagement.Write")] public async Task RemoveProjectFromUserAsync([FromBody] RemoveProjectFromUserRequest request, CancellationToken cancellationToken) { @@ -379,7 +373,7 @@ namespace Core.Thalos.Service.API.Controllers [HttpPost] [Route("GetTokenAdapter")] [ProducesResponseType(typeof(TokenAdapter), StatusCodes.Status200OK)] - [Authorize(AuthenticationSchemes = $"{Schemes.DefaultScheme}, {Schemes.AzureScheme}")] + //[Authorize(AuthenticationSchemes = $"{Schemes.DefaultScheme}, {Schemes.AzureScheme}")] public async Task GetTokenAdapter([FromBody] GetTokenAdapterRequest request, CancellationToken cancellationToken) { if (string.IsNullOrEmpty(request.Email)) { return BadRequest("Invalid user email"); } diff --git a/Core.Thalos.Service.API/Core.Thalos.Service.API.csproj b/Core.Thalos.Service.API/Core.Thalos.Service.API.csproj index 95fcd28..71d7385 100644 --- a/Core.Thalos.Service.API/Core.Thalos.Service.API.csproj +++ b/Core.Thalos.Service.API/Core.Thalos.Service.API.csproj @@ -7,6 +7,10 @@ True + + + + diff --git a/Core.Thalos.Service.API/Extensions/ServiceCollectionExtension.cs b/Core.Thalos.Service.API/Extensions/ServiceCollectionExtension.cs new file mode 100644 index 0000000..dbfdeba --- /dev/null +++ b/Core.Thalos.Service.API/Extensions/ServiceCollectionExtension.cs @@ -0,0 +1,130 @@ +using Core.Thalos.Application.UseCases.Modules; +using Core.Thalos.Application.UseCases.Modules.Adapter; +using Core.Thalos.Application.UseCases.Modules.Input; +using Core.Thalos.Application.UseCases.Modules.Ports; +using Core.Thalos.Application.UseCases.Modules.Validator; +using Core.Thalos.Application.UseCases.Permissions; +using Core.Thalos.Application.UseCases.Permissions.Adapter; +using Core.Thalos.Application.UseCases.Permissions.Input; +using Core.Thalos.Application.UseCases.Permissions.Ports; +using Core.Thalos.Application.UseCases.Permissions.Validator; +using Core.Thalos.Application.UseCases.Role; +using Core.Thalos.Application.UseCases.Roles.Adapter; +using Core.Thalos.Application.UseCases.Roles.Input; +using Core.Thalos.Application.UseCases.Roles.Ports; +using Core.Thalos.Application.UseCases.Roles.Validator; +using Core.Thalos.Application.UseCases.Users; +using Core.Thalos.Application.UseCases.Users.Adapter; +using Core.Thalos.Application.UseCases.Users.Input; +using Core.Thalos.Application.UseCases.Users.Ports; +using Core.Thalos.Application.UseCases.Users.Validator; +using FluentValidation; +using Lib.Architecture.BuildingBlocks; + +namespace Core.Thalos.Service.API.Extensions +{ + public static class ServiceCollectionExtension + { + public static IServiceCollection AddServiceConfigurationLayer(this IServiceCollection services) + { + #region User Services + + services.AddScoped(); + services.AddScoped, UserHandler>(); + services.AddScoped, UserHandler>(); + services.AddScoped, UserHandler>(); + services.AddScoped, UserHandler>(); + services.AddScoped, UserHandler>(); + services.AddScoped, UserHandler>(); + services.AddScoped, UserHandler>(); + services.AddScoped, UserHandler>(); + services.AddScoped, UserHandler>(); + services.AddScoped, UserHandler>(); + services.AddScoped, UserHandler>(); + + + services.AddValidatorsFromAssemblyContaining(); + services.AddScoped, CreateUserValidator>(); + services.AddScoped, UserHandler>(); + + services.AddValidatorsFromAssemblyContaining(); + services.AddScoped, UpdateUserValidator>(); + services.AddScoped, UserHandler>(); + + services.AddValidatorsFromAssemblyContaining(); + services.AddScoped, ChangeUserStatusValidator>(); + services.AddScoped, UserHandler>(); + + #endregion + + #region Role Services + + services.AddScoped(); + services.AddScoped, RoleHandler>(); + services.AddScoped, RoleHandler>(); + services.AddScoped, RoleHandler>(); + services.AddScoped, RoleHandler>(); + + services.AddValidatorsFromAssemblyContaining(); + services.AddScoped, CreateRoleValidator>(); + services.AddScoped, RoleHandler>(); + + services.AddValidatorsFromAssemblyContaining(); + services.AddScoped, UpdateRoleValidator>(); + services.AddScoped, RoleHandler>(); + + services.AddValidatorsFromAssemblyContaining(); + services.AddScoped, ChangeRoleStatusValidator>(); + services.AddScoped, RoleHandler>(); + + #endregion + + #region Permission Services + + services.AddScoped(); + services.AddScoped, PermissionHandler>(); + services.AddScoped, PermissionHandler>(); + services.AddScoped, PermissionHandler>(); + + services.AddValidatorsFromAssemblyContaining(); + services.AddScoped, CreatePermissionValidator>(); + services.AddScoped, PermissionHandler>(); + + services.AddValidatorsFromAssemblyContaining(); + services.AddScoped, UpdatePermissionValidator>(); + services.AddScoped, PermissionHandler>(); + + services.AddValidatorsFromAssemblyContaining(); + services.AddScoped, ChangePermissionStatusValidator>(); + services.AddScoped, PermissionHandler>(); + + #endregion + + #region Module Services + + services.AddScoped(); + services.AddScoped, ModuleHandler>(); + services.AddScoped, ModuleHandler>(); + + services.AddValidatorsFromAssemblyContaining(); + services.AddScoped, GetAllModulesByListValidator>(); + services.AddScoped, ModuleHandler>(); + + services.AddValidatorsFromAssemblyContaining(); + services.AddScoped, CreateModuleValidator>(); + services.AddScoped, ModuleHandler>(); + + services.AddValidatorsFromAssemblyContaining(); + services.AddScoped, UpdateModuleValidator>(); + services.AddScoped, ModuleHandler>(); + + services.AddValidatorsFromAssemblyContaining(); + services.AddScoped, ChangeModuleStatusValidator>(); + services.AddScoped, ModuleHandler>(); + + #endregion + + return services; + } + } +} diff --git a/Core.Thalos.Service.API/Program.cs b/Core.Thalos.Service.API/Program.cs index 6cc43e5..a70e759 100644 --- a/Core.Thalos.Service.API/Program.cs +++ b/Core.Thalos.Service.API/Program.cs @@ -1,168 +1,86 @@ +using Core.Blueprint.Logging.Configuration; using Core.Thalos.Adapters.Extensions; -using Core.Thalos.Adapters.Helpers; -using Core.Thalos.Application.UseCases.Modules; -using Core.Thalos.Application.UseCases.Modules.Adapter; -using Core.Thalos.Application.UseCases.Modules.Input; -using Core.Thalos.Application.UseCases.Modules.Ports; -using Core.Thalos.Application.UseCases.Modules.Validator; -using Core.Thalos.Application.UseCases.Permissions; -using Core.Thalos.Application.UseCases.Permissions.Adapter; -using Core.Thalos.Application.UseCases.Permissions.Input; -using Core.Thalos.Application.UseCases.Permissions.Ports; -using Core.Thalos.Application.UseCases.Permissions.Validator; -using Core.Thalos.Application.UseCases.Role; -using Core.Thalos.Application.UseCases.Roles.Adapter; -using Core.Thalos.Application.UseCases.Roles.Input; -using Core.Thalos.Application.UseCases.Roles.Ports; -using Core.Thalos.Application.UseCases.Roles.Validator; -using Core.Thalos.Application.UseCases.Users; -using Core.Thalos.Application.UseCases.Users.Adapter; -using Core.Thalos.Application.UseCases.Users.Input; -using Core.Thalos.Application.UseCases.Users.Ports; -using Core.Thalos.Application.UseCases.Users.Validator; using Core.Thalos.External.ClientConfiguration; using Core.Thalos.Service.API.Extensions; -using FluentValidation; -using Lib.Architecture.BuildingBlocks; -using Microsoft.AspNetCore.ResponseCompression; -using System.IO.Compression; +using Microsoft.AspNetCore.HttpLogging; +using System.Reflection; +using System.Text.Json.Serialization; var builder = WebApplication.CreateBuilder(args); -var authSettings = AuthHelper.GetAuthSettings(builder, "thalos_service"); +//var authSettings = AuthHelper.GetAuthSettings(builder, "thalos_service"); -builder.Services.ConfigureAuthentication(builder.Configuration, authSettings); +//builder.Services.ConfigureAuthentication(builder.Configuration, authSettings); + +builder.Services.AddLogs(builder); + +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(); +builder.Configuration + .AddUserSecrets(Assembly.GetExecutingAssembly()) + .AddEnvironmentVariables(); + +builder.Services.RegisterExternalLayer(builder.Configuration); +builder.Services.AddServiceConfigurationLayer(); +builder.Services.AddResponseCompression(); +builder.Services.AddProblemDetails(); +builder.Services.AddMemoryCache(); builder.Host.ConfigureServices((context, services) => { - services.AddCors(options => - { - options.AddPolicy("AllowAll", policyBuilder => - policyBuilder.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod()); - }); - services.AddMvc().AddJsonOptions(options => - { - options.JsonSerializerOptions.WriteIndented = true; - options.JsonSerializerOptions.MaxDepth = 20; - options.JsonSerializerOptions.NumberHandling = System.Text.Json.Serialization.JsonNumberHandling.AllowNamedFloatingPointLiterals; - }); - services.Configure(options => - { - options.Level = CompressionLevel.SmallestSize; - }); - services.Configure(options => - { - options.Level = CompressionLevel.SmallestSize; - }); - services.AddResponseCompression(options => - { - options.EnableForHttps = true; - options.Providers.Add(); - options.Providers.Add(); - }); - services.AddResponseCaching(); - services.AddControllers(); - services.AddEndpointsApiExplorer(); - builder.Services.AddSwagger(builder.Configuration, "Core.Thalos.Service.API.xml", authSettings); - builder.Services.AddVersioning(builder.Configuration); services.AddLogging(); + services.AddControllers(); services.AddProblemDetails(); + services.AddCors(options + => options.AddDefaultPolicy(policyBuilder + => policyBuilder + .AllowAnyOrigin() + .AllowAnyHeader() + .AllowAnyMethod())); - //Register Stuff - services.RegisterExternalLayer(builder.Configuration); + builder.Services.Configure(options => + { + options.SerializerOptions.Converters.Add(new JsonStringEnumConverter()); + }); - services.AddScoped(); - services.AddScoped, UserHandler>(); - services.AddScoped, UserHandler>(); - services.AddScoped, UserHandler>(); - services.AddScoped, UserHandler>(); - services.AddScoped, UserHandler>(); - services.AddScoped, UserHandler>(); - services.AddScoped, UserHandler>(); - services.AddScoped, UserHandler>(); - services.AddScoped, UserHandler>(); - services.AddScoped, UserHandler>(); - services.AddScoped, UserHandler>(); + services + .AddEndpointsApiExplorer() + .AddVersioning() + .AddSwagger(builder.Configuration); + services.AddHealthChecks(); + services.AddHttpLogging(options => options.LoggingFields = HttpLoggingFields.All); - services.AddValidatorsFromAssemblyContaining(); - services.AddScoped, CreateUserValidator>(); - services.AddScoped, UserHandler>(); + builder.Services.AddOutputCache(options => + { + options.AddBasePolicy(builder => + builder.Expire(TimeSpan.FromSeconds(10))); + options.AddPolicy("Expire20", builder => + builder.Expire(TimeSpan.FromSeconds(20))); + options.AddPolicy("Expire30", builder => + builder.Expire(TimeSpan.FromSeconds(30))); + }); - services.AddValidatorsFromAssemblyContaining(); - services.AddScoped, UpdateUserValidator>(); - services.AddScoped, UserHandler>(); - - services.AddValidatorsFromAssemblyContaining(); - services.AddScoped, ChangeUserStatusValidator>(); - services.AddScoped, UserHandler>(); - - services.AddScoped(); - services.AddScoped, RoleHandler>(); - services.AddScoped, RoleHandler>(); - services.AddScoped, RoleHandler>(); - services.AddScoped, RoleHandler>(); - - services.AddValidatorsFromAssemblyContaining(); - services.AddScoped, CreateRoleValidator>(); - services.AddScoped, RoleHandler>(); - - services.AddValidatorsFromAssemblyContaining(); - services.AddScoped, UpdateRoleValidator>(); - services.AddScoped, RoleHandler>(); - - services.AddValidatorsFromAssemblyContaining(); - services.AddScoped, ChangeRoleStatusValidator>(); - services.AddScoped, RoleHandler>(); - - services.AddScoped(); - services.AddScoped, PermissionHandler>(); - services.AddScoped, PermissionHandler>(); - services.AddScoped, PermissionHandler>(); - - services.AddValidatorsFromAssemblyContaining(); - services.AddScoped, CreatePermissionValidator>(); - services.AddScoped, PermissionHandler>(); - - services.AddValidatorsFromAssemblyContaining(); - services.AddScoped, UpdatePermissionValidator>(); - services.AddScoped, PermissionHandler>(); - - services.AddValidatorsFromAssemblyContaining(); - services.AddScoped, ChangePermissionStatusValidator>(); - services.AddScoped, PermissionHandler>(); - - services.AddScoped(); - services.AddScoped, ModuleHandler>(); - services.AddScoped, ModuleHandler>(); - - services.AddValidatorsFromAssemblyContaining(); - services.AddScoped, GetAllModulesByListValidator>(); - services.AddScoped, ModuleHandler>(); - - services.AddValidatorsFromAssemblyContaining(); - services.AddScoped, CreateModuleValidator>(); - services.AddScoped, ModuleHandler>(); - - services.AddValidatorsFromAssemblyContaining(); - services.AddScoped, UpdateModuleValidator>(); - services.AddScoped, ModuleHandler>(); - - services.AddValidatorsFromAssemblyContaining(); - services.AddScoped, ChangeModuleStatusValidator>(); - services.AddScoped, ModuleHandler>(); }); var app = builder.Build(); -app.UseSwaggerUI(builder.Configuration, authSettings); -app.ConfigureSwagger(builder.Configuration); -app.UseResponseCompression(); -app.UseResponseCaching(); -app.UseHttpsRedirection(); -app.UseCors("AllowAll"); + +app.UseRouting(); +app.UseSwagger(); +app.UseSwaggerUI(); +app.UseAuthentication(); app.UseAuthorization(); app.MapControllers(); +app.UseCors(); +app.ConfigureSwagger(); +app.UseHttpsRedirection(); +app.UseStaticFiles(); +app.UseResponseCompression(); +app.UseOutputCache(); +app.UseResponseCaching(); +app.UseLogging(builder.Configuration); +app.MapHealthChecks("/health"); app.Run();