Compare commits
	
		
			11 Commits
		
	
	
		
			30b99aa8a9
			...
			developmen
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 78a4587ffc | ||
| ccf267845d | |||
|   | a4c4f2bd8b | ||
|   | 23a5ef9bfc | ||
|   | e25a982b55 | ||
|   | 87fa0e67ef | ||
|   | 858e2adf2c | ||
|   | 2f82e5b98d | ||
|   | 3b2c8906eb | ||
| 4dc7e9f429 | |||
|   | 421c2bb27e | 
							
								
								
									
										17
									
								
								.dockerignore
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								.dockerignore
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | |||||||
|  | **/bin/ | ||||||
|  | **/obj/ | ||||||
|  | **/.vs/ | ||||||
|  | **/.idea/ | ||||||
|  | **/.vscode/ | ||||||
|  | **/*.user | ||||||
|  | **/*.suo | ||||||
|  | **/*.swp | ||||||
|  | **/*.csproj.user | ||||||
|  | **/*.log | ||||||
|  | **/Properties/launchSettings.json | ||||||
|  | **/appsettings.Local.json | ||||||
|  | **/appsettings.*.Development.json | ||||||
|  | .git/ | ||||||
|  | .gitignore | ||||||
|  | Dockerfile | ||||||
|  | docker-compose*.yml | ||||||
| @@ -9,8 +9,7 @@ namespace Core.Thalos.Application.UseCases.Users.Input | |||||||
|         public string MiddleName { get; set; } = null!; |         public string MiddleName { get; set; } = null!; | ||||||
|         public string LastName { get; set; } = null!; |         public string LastName { get; set; } = null!; | ||||||
|         public string RoleId { get; set; } = null!; |         public string RoleId { get; set; } = null!; | ||||||
|         public string[] Companies { get; set; } = null!; |         public string TenantId { get; set; } = null!; | ||||||
|         public string[]? Projects { get; set; } |  | ||||||
|         public bool SendInvitation { get; set; } |         public bool SendInvitation { get; set; } | ||||||
|  |  | ||||||
|         public bool Validate() |         public bool Validate() | ||||||
|   | |||||||
| @@ -10,8 +10,7 @@ namespace Core.Thalos.Application.UseCases.Users.Input | |||||||
|         public string? MiddleName { get; set; } |         public string? MiddleName { get; set; } | ||||||
|         public string LastName { get; set; } = null!; |         public string LastName { get; set; } = null!; | ||||||
|         public string RoleId { get; set; } = null!; |         public string RoleId { get; set; } = null!; | ||||||
|         public string[] Companies { get; set; } = null!; |         public string TenantId { get; set; } = null!; | ||||||
|         public string[]? Projects { get; set; } |  | ||||||
|         public bool Validate() |         public bool Validate() | ||||||
|         { |         { | ||||||
|             return Email != null; |             return Email != null; | ||||||
|   | |||||||
| @@ -196,6 +196,7 @@ namespace Core.Thalos.Application.UseCases.Users | |||||||
|                     MiddleName = command.MiddleName, |                     MiddleName = command.MiddleName, | ||||||
|                     LastName = command.LastName, |                     LastName = command.LastName, | ||||||
|                     RoleId = command.RoleId, |                     RoleId = command.RoleId, | ||||||
|  |                     TenantId = command.TenantId, | ||||||
|                 }; |                 }; | ||||||
|  |  | ||||||
|                 var result = await _thalosDALService.CreateUserAsync(request, command.SendInvitation, cancellationToken).ConfigureAwait(false); |                 var result = await _thalosDALService.CreateUserAsync(request, command.SendInvitation, cancellationToken).ConfigureAwait(false); | ||||||
| @@ -234,6 +235,7 @@ namespace Core.Thalos.Application.UseCases.Users | |||||||
|                     MiddleName = command.MiddleName, |                     MiddleName = command.MiddleName, | ||||||
|                     LastName = command.LastName, |                     LastName = command.LastName, | ||||||
|                     RoleId = command.RoleId, |                     RoleId = command.RoleId, | ||||||
|  |                     TenantId = command.TenantId | ||||||
|                 }; |                 }; | ||||||
|  |  | ||||||
|                 var result = await _thalosDALService.UpdateUserAsync(request, request._Id, cancellationToken).ConfigureAwait(false); |                 var result = await _thalosDALService.UpdateUserAsync(request, request._Id, cancellationToken).ConfigureAwait(false); | ||||||
|   | |||||||
| @@ -11,7 +11,6 @@ namespace Core.Thalos.Application.UseCases.Users.Validator | |||||||
|             RuleFor(i => i.Name).NotEmpty().NotNull().OverridePropertyName(x => x.Name).WithName("User Name").WithMessage("User Name is Obligatory."); |             RuleFor(i => i.Name).NotEmpty().NotNull().OverridePropertyName(x => x.Name).WithName("User Name").WithMessage("User Name is Obligatory."); | ||||||
|             RuleFor(i => i.LastName).NotEmpty().NotNull().OverridePropertyName(x => x.LastName).WithName("User LastName").WithMessage("User LastName is Obligatory."); |             RuleFor(i => i.LastName).NotEmpty().NotNull().OverridePropertyName(x => x.LastName).WithName("User LastName").WithMessage("User LastName is Obligatory."); | ||||||
|             RuleFor(i => i.RoleId).NotEmpty().NotNull().OverridePropertyName(x => x.RoleId).WithName("RoleId").WithMessage("RoleId is Obligatory."); |             RuleFor(i => i.RoleId).NotEmpty().NotNull().OverridePropertyName(x => x.RoleId).WithName("RoleId").WithMessage("RoleId is Obligatory."); | ||||||
|             RuleFor(i => i.Companies).NotEmpty().NotNull().OverridePropertyName(x => x.Companies).WithName("Companies").WithMessage("Companies is Obligatory."); |  | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -11,7 +11,6 @@ namespace Core.Thalos.Application.UseCases.Users.Validator | |||||||
|             RuleFor(i => i.Name).NotEmpty().NotNull().OverridePropertyName(x => x.Name).WithName("User Name").WithMessage("User Name is Obligatory."); |             RuleFor(i => i.Name).NotEmpty().NotNull().OverridePropertyName(x => x.Name).WithName("User Name").WithMessage("User Name is Obligatory."); | ||||||
|             RuleFor(i => i.LastName).NotEmpty().NotNull().OverridePropertyName(x => x.LastName).WithName("User LastName").WithMessage("User LastName is Obligatory."); |             RuleFor(i => i.LastName).NotEmpty().NotNull().OverridePropertyName(x => x.LastName).WithName("User LastName").WithMessage("User LastName is Obligatory."); | ||||||
|             RuleFor(i => i.RoleId).NotEmpty().NotNull().OverridePropertyName(x => x.RoleId).WithName("RoleId").WithMessage("RoleId is Obligatory."); |             RuleFor(i => i.RoleId).NotEmpty().NotNull().OverridePropertyName(x => x.RoleId).WithName("RoleId").WithMessage("RoleId is Obligatory."); | ||||||
|             RuleFor(i => i.Companies).NotEmpty().NotNull().OverridePropertyName(x => x.Companies).WithName("Companies").WithMessage("Companies is Obligatory."); |  | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -7,5 +7,6 @@ | |||||||
|         public string? MiddleName { get; set; } |         public string? MiddleName { get; set; } | ||||||
|         public string LastName { get; set; } = null!; |         public string LastName { get; set; } = null!; | ||||||
|         public string RoleId { get; set; } = null!; |         public string RoleId { get; set; } = null!; | ||||||
|  |         public string TenantId { get; set; } = null!; | ||||||
|     } |     } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -7,9 +7,9 @@ | |||||||
|   </PropertyGroup> |   </PropertyGroup> | ||||||
|  |  | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <PackageReference Include="Core.Blueprint.Storage" Version="1.0.1" /> |  | ||||||
|     <PackageReference Include="Core.Thalos.BuildingBlocks" Version="1.1.7" /> |  | ||||||
|     <PackageReference Include="Lib.Architecture.BuildingBlocks" Version="1.0.0" /> |     <PackageReference Include="Lib.Architecture.BuildingBlocks" Version="1.0.0" /> | ||||||
|  |     <PackageReference Include="Core.Blueprint.Storage" Version="1.0.0" /> | ||||||
|  |     <PackageReference Include="Core.Thalos.BuildingBlocks" Version="1.0.5" /> | ||||||
|     <PackageReference Include="Refit" Version="8.0.0" /> |     <PackageReference Include="Refit" Version="8.0.0" /> | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|  |  | ||||||
|   | |||||||
| @@ -3,6 +3,7 @@ using Core.Thalos.Application.UseCases.Modules.Input; | |||||||
| using Core.Thalos.Application.UseCases.Modules.Ports; | using Core.Thalos.Application.UseCases.Modules.Ports; | ||||||
| using Core.Thalos.BuildingBlocks; | using Core.Thalos.BuildingBlocks; | ||||||
| using Lib.Architecture.BuildingBlocks; | using Lib.Architecture.BuildingBlocks; | ||||||
|  | using Microsoft.AspNetCore.Authorization; | ||||||
| using Microsoft.AspNetCore.Mvc; | using Microsoft.AspNetCore.Mvc; | ||||||
|  |  | ||||||
| namespace Core.Thalos.Service.API.Controllers | namespace Core.Thalos.Service.API.Controllers | ||||||
| @@ -14,7 +15,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|     [Route("api/v{api-version:apiVersion}/[controller]")] |     [Route("api/v{api-version:apiVersion}/[controller]")] | ||||||
|     [Produces("application/json")] |     [Produces("application/json")] | ||||||
|     [ApiController] |     [ApiController] | ||||||
|     //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] |     [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] | ||||||
|     public class ModuleController : ControllerBase |     public class ModuleController : ControllerBase | ||||||
|     { |     { | ||||||
|         private readonly IComponentHandler<GetModuleRequest> getModuleHandler; |         private readonly IComponentHandler<GetModuleRequest> getModuleHandler; | ||||||
| @@ -54,14 +55,14 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Gets all the modules. |         /// Gets all the modules. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpGet("GetAll")] |         [HttpGet("GetAll")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(IEnumerable<ModuleAdapter>), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         //[Permission("ModuleManagement.Read, RoleManagement.Read")] |         [Permission("ModuleManagement.Read, RoleManagement.Read")] | ||||||
|         public async Task<IActionResult> GetAllModulesAsync(CancellationToken cancellationToken) |         public async Task<IActionResult> GetAllModulesAsync(CancellationToken cancellationToken) | ||||||
|         { |         { | ||||||
|             await getAllModulesHandler.ExecuteAsync(new GetAllModulesRequest { }, cancellationToken).ConfigureAwait(false); |             await getAllModulesHandler.ExecuteAsync(new GetAllModulesRequest { }, cancellationToken).ConfigureAwait(false); | ||||||
| @@ -91,7 +92,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         //[Permission("ModuleManagement.Read")] |         [Permission("ModuleManagement.Read")] | ||||||
|         public async Task<IActionResult> GetAllModulesByListAsync([FromBody] GetAllModulesByListRequest request, CancellationToken cancellationToken) |         public async Task<IActionResult> GetAllModulesByListAsync([FromBody] GetAllModulesByListRequest request, CancellationToken cancellationToken) | ||||||
|         { |         { | ||||||
|  |  | ||||||
| @@ -110,14 +111,14 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPost] |         [HttpPost] | ||||||
|         [Route("GetById")] |         [Route("GetById")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(ModuleAdapter), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         //[Permission("ModuleManagement.Read")] |         [Permission("ModuleManagement.Read")] | ||||||
|         public async Task<IActionResult> GetModuleById([FromBody] GetModuleRequest request, CancellationToken cancellationToken) |         public async Task<IActionResult> GetModuleById([FromBody] GetModuleRequest request, CancellationToken cancellationToken) | ||||||
|         { |         { | ||||||
|  |  | ||||||
| @@ -135,14 +136,14 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Creates a new module. |         /// Creates a new module. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPost("Create")] |         [HttpPost("Create")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(ModuleAdapter), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         //[Permission("ModuleManagement.Write")] |         [Permission("ModuleManagement.Write")] | ||||||
|         public async Task<IActionResult> CreateModuleAsync([FromBody] CreateModuleRequest newModule, CancellationToken cancellationToken = default) |         public async Task<IActionResult> CreateModuleAsync([FromBody] CreateModuleRequest newModule, CancellationToken cancellationToken = default) | ||||||
|         { |         { | ||||||
|             await createModuleHandler.ExecuteAsync(newModule, cancellationToken).ConfigureAwait(false); |             await createModuleHandler.ExecuteAsync(newModule, cancellationToken).ConfigureAwait(false); | ||||||
| @@ -154,14 +155,14 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Updates a full module by mongo identifier. |         /// Updates a full module by mongo identifier. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPut("Update")] |         [HttpPut("Update")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(ModuleAdapter), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         //[Permission("ModuleManagement.Write")] |         [Permission("ModuleManagement.Write")] | ||||||
|         public async Task<IActionResult> UpdateModuleAsync([FromBody] UpdateModuleRequest request, CancellationToken cancellationToken = default) |         public async Task<IActionResult> UpdateModuleAsync([FromBody] UpdateModuleRequest request, CancellationToken cancellationToken = default) | ||||||
|         { |         { | ||||||
|             await updateModuleHandler.ExecuteAsync(request, cancellationToken).ConfigureAwait(false); |             await updateModuleHandler.ExecuteAsync(request, cancellationToken).ConfigureAwait(false); | ||||||
| @@ -173,14 +174,14 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Deletes a full module by mongo identifier. |         /// Deletes a full module by mongo identifier. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpDelete("Delete")] |         [HttpDelete("Delete")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(ModuleAdapter), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         //[Permission("ModuleManagement.Write")] |         [Permission("ModuleManagement.Write")] | ||||||
|         public async Task<IActionResult> DeleteModuleAsync([FromBody] DeleteModuleRequest request, CancellationToken cancellationToken = default) |         public async Task<IActionResult> DeleteModuleAsync([FromBody] DeleteModuleRequest request, CancellationToken cancellationToken = default) | ||||||
|         { |         { | ||||||
|             await deleteModuleHandler.ExecuteAsync(request, cancellationToken).ConfigureAwait(false); |             await deleteModuleHandler.ExecuteAsync(request, cancellationToken).ConfigureAwait(false); | ||||||
| @@ -193,14 +194,14 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPatch] |         [HttpPatch] | ||||||
|         [Route("ChangeStatus")] |         [Route("ChangeStatus")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(ModuleAdapter), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         //[Permission("ModuleManagement.Write")] |         [Permission("ModuleManagement.Write")] | ||||||
|         public async Task<IActionResult> ChangeModuleStatusAsync([FromBody] ChangeModuleStatusRequest request, |         public async Task<IActionResult> ChangeModuleStatusAsync([FromBody] ChangeModuleStatusRequest request, | ||||||
|                                                                      CancellationToken cancellationToken) |                                                                      CancellationToken cancellationToken) | ||||||
|         { |         { | ||||||
|   | |||||||
| @@ -15,7 +15,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|     [Route("api/v{api-version:apiVersion}/[controller]")] |     [Route("api/v{api-version:apiVersion}/[controller]")] | ||||||
|     [Produces("application/json")] |     [Produces("application/json")] | ||||||
|     [ApiController] |     [ApiController] | ||||||
|     //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] |     [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] | ||||||
|     public class PermissionController : ControllerBase |     public class PermissionController : ControllerBase | ||||||
|     { |     { | ||||||
|         private readonly IComponentHandler<GetPermissionRequest> getPermissionHandler; |         private readonly IComponentHandler<GetPermissionRequest> getPermissionHandler; | ||||||
| @@ -55,14 +55,14 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Gets all the permissions. |         /// Gets all the permissions. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpGet("GetAll")] |         [HttpGet("GetAll")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(IEnumerable<PermissionAdapter>), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         //[Permission("PermissionManagement.Read, RoleManagement.Read")] |         [Permission("PermissionManagement.Read, RoleManagement.Read")] | ||||||
|         public async Task<IActionResult> GetAllPermissionsAsync(CancellationToken cancellationToken) |         public async Task<IActionResult> GetAllPermissionsAsync(CancellationToken cancellationToken) | ||||||
|         { |         { | ||||||
|             await getAllPermissionsHandler.ExecuteAsync(new GetAllPermissionsRequest { }, cancellationToken).ConfigureAwait(false); |             await getAllPermissionsHandler.ExecuteAsync(new GetAllPermissionsRequest { }, cancellationToken).ConfigureAwait(false); | ||||||
| @@ -92,7 +92,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         //[Permission("PermissionManagement.Read")] |         [Permission("PermissionManagement.Read")] | ||||||
|         public async Task<IActionResult> GetAllPermissionsByListAsync([FromBody] GetAllPermissionsByListRequest request, CancellationToken cancellationToken) |         public async Task<IActionResult> GetAllPermissionsByListAsync([FromBody] GetAllPermissionsByListRequest request, CancellationToken cancellationToken) | ||||||
|         { |         { | ||||||
|  |  | ||||||
| @@ -111,14 +111,14 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPost] |         [HttpPost] | ||||||
|         [Route("GetById")] |         [Route("GetById")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(PermissionAdapter), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         //[Permission("PermissionManagement.Read")] |         [Permission("PermissionManagement.Read")] | ||||||
|         public async Task<IActionResult> GetPermissionById([FromBody] GetPermissionRequest request, CancellationToken cancellationToken) |         public async Task<IActionResult> GetPermissionById([FromBody] GetPermissionRequest request, CancellationToken cancellationToken) | ||||||
|         { |         { | ||||||
|  |  | ||||||
| @@ -136,14 +136,14 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Creates a new permission. |         /// Creates a new permission. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPost("Create")] |         [HttpPost("Create")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(PermissionAdapter), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         //[Permission("PermissionManagement.Write")] |         [Permission("PermissionManagement.Write")] | ||||||
|         public async Task<IActionResult> CreatePermissionAsync([FromBody] CreatePermissionRequest newPermission, CancellationToken cancellationToken = default) |         public async Task<IActionResult> CreatePermissionAsync([FromBody] CreatePermissionRequest newPermission, CancellationToken cancellationToken = default) | ||||||
|         { |         { | ||||||
|             await createPermissionHandler.ExecuteAsync(newPermission, cancellationToken).ConfigureAwait(false); |             await createPermissionHandler.ExecuteAsync(newPermission, cancellationToken).ConfigureAwait(false); | ||||||
| @@ -155,14 +155,14 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Updates a full permission by mongo identifier. |         /// Updates a full permission by mongo identifier. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPut("Update")] |         [HttpPut("Update")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(PermissionAdapter), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         //[Permission("PermissionManagement.Write")] |         [Permission("PermissionManagement.Write")] | ||||||
|         public async Task<IActionResult> UpdatePermissionAsync([FromBody] UpdatePermissionRequest request, CancellationToken cancellationToken = default) |         public async Task<IActionResult> UpdatePermissionAsync([FromBody] UpdatePermissionRequest request, CancellationToken cancellationToken = default) | ||||||
|         { |         { | ||||||
|             await updatePermissionHandler.ExecuteAsync(request, cancellationToken).ConfigureAwait(false); |             await updatePermissionHandler.ExecuteAsync(request, cancellationToken).ConfigureAwait(false); | ||||||
| @@ -174,14 +174,14 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Deletes a full permission by mongo identifier. |         /// Deletes a full permission by mongo identifier. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpDelete("Delete")] |         [HttpDelete("Delete")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(PermissionAdapter), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         //[Permission("PermissionManagement.Write")] |         [Permission("PermissionManagement.Write")] | ||||||
|         public async Task<IActionResult> DeletePermissionAsync([FromBody] DeletePermissionRequest request, CancellationToken cancellationToken = default) |         public async Task<IActionResult> DeletePermissionAsync([FromBody] DeletePermissionRequest request, CancellationToken cancellationToken = default) | ||||||
|         { |         { | ||||||
|             await deletePermissionHandler.ExecuteAsync(request, cancellationToken).ConfigureAwait(false); |             await deletePermissionHandler.ExecuteAsync(request, cancellationToken).ConfigureAwait(false); | ||||||
| @@ -194,14 +194,14 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPatch] |         [HttpPatch] | ||||||
|         [Route("ChangeStatus")] |         [Route("ChangeStatus")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(PermissionAdapter), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         //[Permission("PermissionManagement.Write")] |         [Permission("PermissionManagement.Write")] | ||||||
|         public async Task<IActionResult> ChangePermissionStatusAsync([FromBody] ChangePermissionStatusRequest request, |         public async Task<IActionResult> ChangePermissionStatusAsync([FromBody] ChangePermissionStatusRequest request, | ||||||
|                                                                      CancellationToken cancellationToken) |                                                                      CancellationToken cancellationToken) | ||||||
|         { |         { | ||||||
|   | |||||||
| @@ -15,7 +15,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|     [Route("api/v{api-version:apiVersion}/[controller]")] |     [Route("api/v{api-version:apiVersion}/[controller]")] | ||||||
|     [Produces("application/json")] |     [Produces("application/json")] | ||||||
|     [ApiController] |     [ApiController] | ||||||
|     //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] |     [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] | ||||||
|     public class RoleController : ControllerBase |     public class RoleController : ControllerBase | ||||||
|     { |     { | ||||||
|         private readonly IComponentHandler<GetRoleRequest> getRoleHandler; |         private readonly IComponentHandler<GetRoleRequest> getRoleHandler; | ||||||
| @@ -58,14 +58,14 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Gets all the roles. |         /// Gets all the roles. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpGet("GetAll")] |         [HttpGet("GetAll")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(IEnumerable<RoleAdapter>), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         //[Permission("RoleManagement.Read")] |         [Permission("RoleManagement.Read")] | ||||||
|         public async Task<IActionResult> GetAllRolesAsync(CancellationToken cancellationToken) |         public async Task<IActionResult> GetAllRolesAsync(CancellationToken cancellationToken) | ||||||
|         { |         { | ||||||
|             await getAllRolesHandler.ExecuteAsync(new GetAllRolesRequest { }, cancellationToken).ConfigureAwait(false); |             await getAllRolesHandler.ExecuteAsync(new GetAllRolesRequest { }, cancellationToken).ConfigureAwait(false); | ||||||
| @@ -78,14 +78,14 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPost] |         [HttpPost] | ||||||
|         [Route("GetById")] |         [Route("GetById")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(RoleAdapter), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         //[Permission("RoleManagement.Read")] |         [Permission("RoleManagement.Read")] | ||||||
|         public async Task<IActionResult> GetRoleById([FromBody] GetRoleRequest request, CancellationToken cancellationToken) |         public async Task<IActionResult> GetRoleById([FromBody] GetRoleRequest request, CancellationToken cancellationToken) | ||||||
|         { |         { | ||||||
|             if (string.IsNullOrEmpty(request._Id)) { return BadRequest("Invalid role mongo identifier"); } |             if (string.IsNullOrEmpty(request._Id)) { return BadRequest("Invalid role mongo identifier"); } | ||||||
| @@ -99,14 +99,14 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Creates a new role. |         /// Creates a new role. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPost("Create")] |         [HttpPost("Create")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(RoleAdapter), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         //[Permission("RoleManagement.Write")] |         [Permission("RoleManagement.Write")] | ||||||
|         public async Task<IActionResult> CreateRoleAsync([FromBody] CreateRoleRequest newRole, CancellationToken cancellationToken = default) |         public async Task<IActionResult> CreateRoleAsync([FromBody] CreateRoleRequest newRole, CancellationToken cancellationToken = default) | ||||||
|         { |         { | ||||||
|             await createRoleHandler.ExecuteAsync(newRole, cancellationToken).ConfigureAwait(false); |             await createRoleHandler.ExecuteAsync(newRole, cancellationToken).ConfigureAwait(false); | ||||||
| @@ -118,14 +118,14 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Updates a full role by mongo identifier. |         /// Updates a full role by mongo identifier. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPut("Update")] |         [HttpPut("Update")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(RoleAdapter), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         //[Permission("RoleManagement.Write")] |         [Permission("RoleManagement.Write")] | ||||||
|         public async Task<IActionResult> UpdateRoleAsync([FromBody] UpdateRoleRequest entity, CancellationToken cancellationToken = default) |         public async Task<IActionResult> UpdateRoleAsync([FromBody] UpdateRoleRequest entity, CancellationToken cancellationToken = default) | ||||||
|         { |         { | ||||||
|             await updateRoleHandler.ExecuteAsync(entity, cancellationToken).ConfigureAwait(false); |             await updateRoleHandler.ExecuteAsync(entity, cancellationToken).ConfigureAwait(false); | ||||||
| @@ -137,14 +137,14 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Deletes a full role by mongo identifier. |         /// Deletes a full role by mongo identifier. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpDelete("Delete")] |         [HttpDelete("Delete")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(RoleAdapter), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         //[Permission("RoleManagement.Write")] |         [Permission("RoleManagement.Write")] | ||||||
|         public async Task<IActionResult> DeleteeRoleAsync([FromBody] DeleteRoleRequest entity, CancellationToken cancellationToken = default) |         public async Task<IActionResult> DeleteeRoleAsync([FromBody] DeleteRoleRequest entity, CancellationToken cancellationToken = default) | ||||||
|         { |         { | ||||||
|             await deleteRoleHandler.ExecuteAsync(entity, cancellationToken).ConfigureAwait(false); |             await deleteRoleHandler.ExecuteAsync(entity, cancellationToken).ConfigureAwait(false); | ||||||
| @@ -157,14 +157,14 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPatch] |         [HttpPatch] | ||||||
|         [Route("ChangeStatus")] |         [Route("ChangeStatus")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(RoleAdapter), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         //[Permission("RoleManagement.Write")] |         [Permission("RoleManagement.Write")] | ||||||
|         public async Task<IActionResult> ChageRoleStatusAsync(ChangeRoleStatusRequest request, CancellationToken cancellationToken) |         public async Task<IActionResult> ChageRoleStatusAsync(ChangeRoleStatusRequest request, CancellationToken cancellationToken) | ||||||
|         { |         { | ||||||
|             if (string.IsNullOrEmpty(request._Id)) { return BadRequest("Invalid role mongo identifier"); } |             if (string.IsNullOrEmpty(request._Id)) { return BadRequest("Invalid role mongo identifier"); } | ||||||
| @@ -179,14 +179,14 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPost] |         [HttpPost] | ||||||
|         [Route("AddApplication")] |         [Route("AddApplication")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(RoleAdapter), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         //[Permission("RoleManagement.Write")] |         [Permission("RoleManagement.Write")] | ||||||
|         public async Task<IActionResult> AddApplicationToRoleAsync(AddApplicationToRoleRequest request, CancellationToken cancellationToken) |         public async Task<IActionResult> AddApplicationToRoleAsync(AddApplicationToRoleRequest request, CancellationToken cancellationToken) | ||||||
|         { |         { | ||||||
|             if (string.IsNullOrEmpty(request.RoleId)) { return BadRequest("Invalid role mongo identifier"); } |             if (string.IsNullOrEmpty(request.RoleId)) { return BadRequest("Invalid role mongo identifier"); } | ||||||
| @@ -201,14 +201,14 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpDelete] |         [HttpDelete] | ||||||
|         [Route("RemoveApplication")] |         [Route("RemoveApplication")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(RoleAdapter), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         //[Permission("RoleManagement.Write")] |         [Permission("RoleManagement.Write")] | ||||||
|         public async Task<IActionResult> RemoveApplicationToRoleAsync(RemoveApplicationFromRoleRequest request, |         public async Task<IActionResult> RemoveApplicationToRoleAsync(RemoveApplicationFromRoleRequest request, | ||||||
|                                                                    CancellationToken cancellationToken) |                                                                    CancellationToken cancellationToken) | ||||||
|         { |         { | ||||||
|   | |||||||
| @@ -15,7 +15,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|     [Route("api/v{api-version:apiVersion}/[controller]")] |     [Route("api/v{api-version:apiVersion}/[controller]")] | ||||||
|     [Produces("application/json")] |     [Produces("application/json")] | ||||||
|     [ApiController] |     [ApiController] | ||||||
|     //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] |     [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] | ||||||
|     public class TenantController : ControllerBase |     public class TenantController : ControllerBase | ||||||
|     { |     { | ||||||
|         private readonly IComponentHandler<GetTenantRequest> getTenantHandler; |         private readonly IComponentHandler<GetTenantRequest> getTenantHandler; | ||||||
| @@ -52,14 +52,14 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Gets all the Tenants. |         /// Gets all the Tenants. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpGet("GetAll")] |         [HttpGet("GetAll")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(IEnumerable<TenantAdapter>), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         //[Permission("TenantManagement.Read, RoleManagement.Read")] |         [Permission("TenantManagement.Read, RoleManagement.Read")] | ||||||
|         public async Task<IActionResult> GetAllTenantsAsync(CancellationToken cancellationToken) |         public async Task<IActionResult> GetAllTenantsAsync(CancellationToken cancellationToken) | ||||||
|         { |         { | ||||||
|             await getAllTenantsHandler.ExecuteAsync(new GetAllTenantsRequest { }, cancellationToken).ConfigureAwait(false); |             await getAllTenantsHandler.ExecuteAsync(new GetAllTenantsRequest { }, cancellationToken).ConfigureAwait(false); | ||||||
| @@ -72,14 +72,14 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPost] |         [HttpPost] | ||||||
|         [Route("GetById")] |         [Route("GetById")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(TenantAdapter), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         //[Permission("TenantManagement.Read")] |         [Permission("TenantManagement.Read")] | ||||||
|         public async Task<IActionResult> GetTenantById([FromBody] GetTenantRequest request, CancellationToken cancellationToken) |         public async Task<IActionResult> GetTenantById([FromBody] GetTenantRequest request, CancellationToken cancellationToken) | ||||||
|         { |         { | ||||||
|  |  | ||||||
| @@ -97,14 +97,14 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Creates a new Tenant. |         /// Creates a new Tenant. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPost("Create")] |         [HttpPost("Create")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(TenantAdapter), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         //[Permission("TenantManagement.Write")] |         [Permission("TenantManagement.Write")] | ||||||
|         public async Task<IActionResult> CreateTenantAsync([FromBody] CreateTenantRequest newTenant, CancellationToken cancellationToken = default) |         public async Task<IActionResult> CreateTenantAsync([FromBody] CreateTenantRequest newTenant, CancellationToken cancellationToken = default) | ||||||
|         { |         { | ||||||
|             await createTenantHandler.ExecuteAsync(newTenant, cancellationToken).ConfigureAwait(false); |             await createTenantHandler.ExecuteAsync(newTenant, cancellationToken).ConfigureAwait(false); | ||||||
| @@ -116,14 +116,14 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Updates a full Tenant by mongo identifier. |         /// Updates a full Tenant by mongo identifier. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPut("Update")] |         [HttpPut("Update")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(TenantAdapter), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         //[Permission("TenantManagement.Write")] |         [Permission("TenantManagement.Write")] | ||||||
|         public async Task<IActionResult> UpdateTenantAsync([FromBody] UpdateTenantRequest request, CancellationToken cancellationToken = default) |         public async Task<IActionResult> UpdateTenantAsync([FromBody] UpdateTenantRequest request, CancellationToken cancellationToken = default) | ||||||
|         { |         { | ||||||
|             await updateTenantHandler.ExecuteAsync(request, cancellationToken).ConfigureAwait(false); |             await updateTenantHandler.ExecuteAsync(request, cancellationToken).ConfigureAwait(false); | ||||||
| @@ -135,14 +135,14 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Deletes a full Tenant by mongo identifier. |         /// Deletes a full Tenant by mongo identifier. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpDelete("Delete")] |         [HttpDelete("Delete")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(TenantAdapter), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         //[Permission("TenantManagement.Write")] |         [Permission("TenantManagement.Write")] | ||||||
|         public async Task<IActionResult> DeleteTenantAsync([FromBody] DeleteTenantRequest request, CancellationToken cancellationToken = default) |         public async Task<IActionResult> DeleteTenantAsync([FromBody] DeleteTenantRequest request, CancellationToken cancellationToken = default) | ||||||
|         { |         { | ||||||
|             await deleteTenantHandler.ExecuteAsync(request, cancellationToken).ConfigureAwait(false); |             await deleteTenantHandler.ExecuteAsync(request, cancellationToken).ConfigureAwait(false); | ||||||
| @@ -155,14 +155,14 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPatch] |         [HttpPatch] | ||||||
|         [Route("ChangeStatus")] |         [Route("ChangeStatus")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(TenantAdapter), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         //[Permission("TenantManagement.Write")] |         [Permission("TenantManagement.Write")] | ||||||
|         public async Task<IActionResult> ChangeTenantStatusAsync([FromBody] ChangeTenantStatusRequest request, |         public async Task<IActionResult> ChangeTenantStatusAsync([FromBody] ChangeTenantStatusRequest request, | ||||||
|                                                                      CancellationToken cancellationToken) |                                                                      CancellationToken cancellationToken) | ||||||
|         { |         { | ||||||
|   | |||||||
| @@ -66,15 +66,15 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpGet] |         [HttpGet] | ||||||
|         [Route("GetAll")] |         [Route("GetAll")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(IEnumerable<UserAdapter>), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] |         [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] | ||||||
|         //[Permission("UserManagement.Read")] |         [Permission("UserManagement.Read")] | ||||||
|         public async Task<IActionResult> GetAllUsersAsync(CancellationToken cancellationToken) |         public async Task<IActionResult> GetAllUsersAsync(CancellationToken cancellationToken) | ||||||
|         { |         { | ||||||
|             await getAllUsersHandler.ExecuteAsync(new GetAllUsersRequest { }, cancellationToken).ConfigureAwait(false); |             await getAllUsersHandler.ExecuteAsync(new GetAllUsersRequest { }, cancellationToken).ConfigureAwait(false); | ||||||
| @@ -87,15 +87,15 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPost] |         [HttpPost] | ||||||
|         [Route("GetById")] |         [Route("GetById")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(UserAdapter), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] |         [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] | ||||||
|         //[Permission("UserManagement.Read")] |         [Permission("UserManagement.Read")] | ||||||
|         public async Task<IActionResult> GetUserById([FromBody] GetUserRequest request, CancellationToken cancellationToken) |         public async Task<IActionResult> GetUserById([FromBody] GetUserRequest request, CancellationToken cancellationToken) | ||||||
|         { |         { | ||||||
|             if (string.IsNullOrEmpty(request._Id)) { return BadRequest("Invalid user mongo identifier"); } |             if (string.IsNullOrEmpty(request._Id)) { return BadRequest("Invalid user mongo identifier"); } | ||||||
| @@ -110,14 +110,14 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPost] |         [HttpPost] | ||||||
|         [Route("GetByEmail")] |         [Route("GetByEmail")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(UserAdapter), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         //[Authorize(AuthenticationSchemes = $"{Schemes.DefaultScheme}, {Schemes.GoogleScheme}")] |         [Authorize(AuthenticationSchemes = $"{Schemes.DefaultScheme}, {Schemes.GoogleScheme}")] | ||||||
|         public async Task<IActionResult> GetUserByEmail([FromBody] GetUserByEmailRequest request, CancellationToken cancellationToken) |         public async Task<IActionResult> GetUserByEmail([FromBody] GetUserByEmailRequest request, CancellationToken cancellationToken) | ||||||
|         { |         { | ||||||
|             if (string.IsNullOrEmpty(request.Email)) { return BadRequest("Invalid user email"); } |             if (string.IsNullOrEmpty(request.Email)) { return BadRequest("Invalid user email"); } | ||||||
| @@ -132,15 +132,15 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPost] |         [HttpPost] | ||||||
|         [Route("Create")] |         [Route("Create")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(UserAdapter), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] |         [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] | ||||||
|         //[Permission("UserManagement.Write")] |         [Permission("UserManagement.Write")] | ||||||
|         public async Task<IActionResult> CreateUserAsync([FromBody] CreateUserRequest newUser, CancellationToken cancellationToken = default) |         public async Task<IActionResult> CreateUserAsync([FromBody] CreateUserRequest newUser, CancellationToken cancellationToken = default) | ||||||
|         { |         { | ||||||
|             await createUserHandler.ExecuteAsync(newUser, cancellationToken).ConfigureAwait(false); |             await createUserHandler.ExecuteAsync(newUser, cancellationToken).ConfigureAwait(false); | ||||||
| @@ -152,15 +152,15 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Updates a full user by mongo identifier. |         /// Updates a full user by mongo identifier. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPut("Update")] |         [HttpPut("Update")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(UserAdapter), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] |         [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] | ||||||
|         //[Permission("UserManagement.Write")] |         [Permission("UserManagement.Write")] | ||||||
|         public async Task<IActionResult> UpdateUserAsync([FromBody] UpdateUserRequest request, |         public async Task<IActionResult> UpdateUserAsync([FromBody] UpdateUserRequest request, | ||||||
|                                                          CancellationToken cancellationToken = default) |                                                          CancellationToken cancellationToken = default) | ||||||
|         { |         { | ||||||
| @@ -173,15 +173,15 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Deletes a full user by mongo identifier. |         /// Deletes a full user by mongo identifier. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpDelete("Delete")] |         [HttpDelete("Delete")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(UserAdapter), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] |         [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] | ||||||
|         //[Permission("UserManagement.Write")] |         [Permission("UserManagement.Write")] | ||||||
|         public async Task<IActionResult> DeleteUserAsync([FromBody] DeleteUserRequest request, |         public async Task<IActionResult> DeleteUserAsync([FromBody] DeleteUserRequest request, | ||||||
|                                                          CancellationToken cancellationToken = default) |                                                          CancellationToken cancellationToken = default) | ||||||
|         { |         { | ||||||
| @@ -194,14 +194,14 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Logs in the user. |         /// Logs in the user. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPatch("LoginUser")] |         [HttpPatch("LoginUser")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(UserAdapter), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         //[Authorize(AuthenticationSchemes = $"{Schemes.DefaultScheme}, {Schemes.GoogleScheme}")] |         [Authorize(AuthenticationSchemes = $"{Schemes.DefaultScheme}, {Schemes.GoogleScheme}")] | ||||||
|         public async Task<IActionResult> LoginUserAsync([FromBody] LoginUserRequest request, CancellationToken cancellationToken) |         public async Task<IActionResult> LoginUserAsync([FromBody] LoginUserRequest request, CancellationToken cancellationToken) | ||||||
|         { |         { | ||||||
|             if (string.IsNullOrEmpty(request.Email)) { return BadRequest("Invalid user email"); } |             if (string.IsNullOrEmpty(request.Email)) { return BadRequest("Invalid user email"); } | ||||||
| @@ -215,7 +215,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Logs in the user. |         /// Logs in the user. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPatch("LogOutUser")] |         [HttpPatch("LogOutUser")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(UserAdapter), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
| @@ -236,15 +236,15 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPatch] |         [HttpPatch] | ||||||
|         [Route("ChangeStatus")] |         [Route("ChangeStatus")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(UserAdapter), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)] | ||||||
|         [ProducesResponseType(StatusCodes.Status500InternalServerError)] |         [ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||||||
|         //[Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] |         [Authorize(AuthenticationSchemes = Schemes.DefaultScheme)] | ||||||
|         //[Permission("UserManagement.Write")] |         [Permission("UserManagement.Write")] | ||||||
|         public async Task<IActionResult> ChangeUserStatusAsync([FromBody] ChangeUserStatusRequest request, CancellationToken cancellationToken) |         public async Task<IActionResult> ChangeUserStatusAsync([FromBody] ChangeUserStatusRequest request, CancellationToken cancellationToken) | ||||||
|         { |         { | ||||||
|             if (string.IsNullOrEmpty(request._Id)) { return BadRequest("Invalid user mongo identifier"); } |             if (string.IsNullOrEmpty(request._Id)) { return BadRequest("Invalid user mongo identifier"); } | ||||||
| @@ -259,7 +259,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPost] |         [HttpPost] | ||||||
|         [Route("ValidateExistence")] |         [Route("ValidateExistence")] | ||||||
|         [ProducesResponseType(StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(UserAdapter), StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
| @@ -282,7 +282,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         [HttpPost] |         [HttpPost] | ||||||
|         [Route("GetTokenAdapter")] |         [Route("GetTokenAdapter")] | ||||||
|         [ProducesResponseType(typeof(TokenAdapter), StatusCodes.Status200OK)] |         [ProducesResponseType(typeof(TokenAdapter), StatusCodes.Status200OK)] | ||||||
|         //[Authorize(AuthenticationSchemes = $"{Schemes.DefaultScheme}, {Schemes.GoogleScheme}")] |         [Authorize(AuthenticationSchemes = $"{Schemes.DefaultScheme}, {Schemes.GoogleScheme}")] | ||||||
|         public async Task<IActionResult> GetTokenAdapter([FromBody] GetTokenAdapterRequest request, CancellationToken cancellationToken) |         public async Task<IActionResult> GetTokenAdapter([FromBody] GetTokenAdapterRequest request, CancellationToken cancellationToken) | ||||||
|         { |         { | ||||||
|             if (string.IsNullOrEmpty(request.Email)) { return BadRequest("Invalid user email"); } |             if (string.IsNullOrEmpty(request.Email)) { return BadRequest("Invalid user email"); } | ||||||
|   | |||||||
| @@ -8,7 +8,7 @@ | |||||||
|   </PropertyGroup> |   </PropertyGroup> | ||||||
|  |  | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <PackageReference Include="Core.Blueprint.Logging" Version="1.0.1" /> |     <PackageReference Include="Core.Blueprint.Logging" Version="1.0.0" /> | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|  |  | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|   | |||||||
| @@ -24,7 +24,7 @@ | |||||||
|       "dotnetRunMessages": true, |       "dotnetRunMessages": true, | ||||||
|       "launchBrowser": true, |       "launchBrowser": true, | ||||||
|       "launchUrl": "swagger", |       "launchUrl": "swagger", | ||||||
|       "applicationUrl": "https://localhost:7253;http://localhost:5145", |       "applicationUrl": "https://localhost:44312;http://localhost:5145", | ||||||
|       "environmentVariables": { |       "environmentVariables": { | ||||||
|         "ASPNETCORE_ENVIRONMENT": "Local" |         "ASPNETCORE_ENVIRONMENT": "Local" | ||||||
|       } |       } | ||||||
|   | |||||||
| @@ -7,19 +7,19 @@ | |||||||
|   }, |   }, | ||||||
|   "AllowedHosts": "*", |   "AllowedHosts": "*", | ||||||
|   "LocalGateways": { |   "LocalGateways": { | ||||||
|     "ThalosDAL": "https://localhost:7031/api" |     "ThalosDAL": "https://localhost:44359/api" | ||||||
|   }, |   }, | ||||||
|   "ServiceSettings": { |   "ServiceSettings": { | ||||||
|     "ApplicationName": "thalos", |     "ApplicationName": "thalos", | ||||||
|     "LayerName": "service" |     "LayerName": "service" | ||||||
|   }, |   }, | ||||||
|   "Vault": { |   "Vault": { | ||||||
|     "Address": "http://100.123.31.103:8200", |     "Address": "https://vault.dream-views.com/", | ||||||
|     "Token": "hvs.e37LQvLuPhTd5ALS5QQ03Cwm", |     "Token": "hvs.TGz6P3AsKpYuODMrs11Msiza", | ||||||
|     "SecretMount": "secret" |     "SecretMount": "thalos" | ||||||
|   }, |   }, | ||||||
|   "IdentityProviders": { |   "IdentityProviders": { | ||||||
|     "Google": true, |     "Google": true, | ||||||
|     "Azure": true |     "Azure": false | ||||||
|   } |   } | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										39
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,39 @@ | |||||||
|  | # ============ Build ============ | ||||||
|  | FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build | ||||||
|  | WORKDIR /src | ||||||
|  |  | ||||||
|  | # (Opcional) si usas nuget.config en el root | ||||||
|  | COPY nuget.config* ./ | ||||||
|  |  | ||||||
|  | # Copiamos csprojs primero para cachear restore | ||||||
|  | COPY Core.Thalos.Application/Core.Thalos.Application.csproj Core.Thalos.Application/ | ||||||
|  | COPY Core.Thalos.External/Core.Thalos.External.csproj Core.Thalos.External/ | ||||||
|  | COPY Core.Thalos.Service.API/Core.Thalos.Service.API.csproj Core.Thalos.Service.API/ | ||||||
|  |  | ||||||
|  | RUN dotnet restore Core.Thalos.Service.API/Core.Thalos.Service.API.csproj | ||||||
|  |  | ||||||
|  | # Copia del resto y build | ||||||
|  | COPY . . | ||||||
|  | RUN dotnet build Core.Thalos.Service.API/Core.Thalos.Service.API.csproj -c Release -o /app/build | ||||||
|  |  | ||||||
|  | # ============ Publish ============ | ||||||
|  | FROM build AS publish | ||||||
|  | RUN dotnet publish Core.Thalos.Service.API/Core.Thalos.Service.API.csproj -c Release -o /app/publish --no-restore | ||||||
|  |  | ||||||
|  | # ============ Runtime ============ | ||||||
|  | FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS final | ||||||
|  | # (Opcional) curl para healthcheck HTTP | ||||||
|  | RUN apt-get update && apt-get install -y --no-install-recommends curl && rm -rf /var/lib/apt/lists/* | ||||||
|  |  | ||||||
|  | WORKDIR /app | ||||||
|  | EXPOSE 8080 | ||||||
|  |  | ||||||
|  | # Usuario no-root | ||||||
|  | RUN useradd -m appuser | ||||||
|  | USER appuser | ||||||
|  |  | ||||||
|  | ENV ASPNETCORE_URLS=http://+:8080 | ||||||
|  |  | ||||||
|  | # La app usa UserSecrets y EnvironmentVariables (no metas secretos en la imagen). :contentReference[oaicite:4]{index=4} | ||||||
|  | COPY --from=publish /app/publish ./ | ||||||
|  | ENTRYPOINT ["dotnet", "Core.Thalos.Service.API.dll"] | ||||||
							
								
								
									
										9
									
								
								nuget.config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								nuget.config
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <configuration> | ||||||
|  |   <packageSources> | ||||||
|  |     <!-- Tu BaGet primero --> | ||||||
|  |     <add key="BaGet" value="https://nuget.dream-views.com/v3/index.json" protocolVersion="3" /> | ||||||
|  |     <!-- NuGet oficial como fallback (si quieres) --> | ||||||
|  |     <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" /> | ||||||
|  |   </packageSources> | ||||||
|  | </configuration> | ||||||
		Reference in New Issue
	
	Block a user