Added new endpoint for variants GetAll
This commit is contained in:
		| @@ -0,0 +1,14 @@ | |||||||
|  | // *********************************************************************** | ||||||
|  | // <copyright file="GetAllFurnitureVariantRequest.cs"> | ||||||
|  | //     Core.Inventory | ||||||
|  | // </copyright> | ||||||
|  | // *********************************************************************** | ||||||
|  | using Lib.Architecture.BuildingBlocks; | ||||||
|  |  | ||||||
|  | namespace Core.Inventory.Application.UseCases.Inventory.Input.Variant | ||||||
|  | { | ||||||
|  |     public class GetAllFurnitureVariantRequest : ICommand | ||||||
|  |     { | ||||||
|  |         public bool Validate() => true; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -23,7 +23,8 @@ namespace Core.Inventory.Application.UseCases.Inventory | |||||||
|         IComponentHandler<GetFurnitureVariantByIdRequest>, |         IComponentHandler<GetFurnitureVariantByIdRequest>, | ||||||
|         IComponentHandler<GetAllFurnitureVariantsByModelIdRequest>, |         IComponentHandler<GetAllFurnitureVariantsByModelIdRequest>, | ||||||
|         IComponentHandler<ChangeFurnitureVariantStatusRequest>, |         IComponentHandler<ChangeFurnitureVariantStatusRequest>, | ||||||
|         IComponentHandler<GetFurnitureVariantsByIdsRequest> |         IComponentHandler<GetFurnitureVariantsByIdsRequest>, | ||||||
|  |         IComponentHandler<GetAllFurnitureVariantRequest> | ||||||
|     { |     { | ||||||
|         // FurnitureBase |         // FurnitureBase | ||||||
|         private readonly IFurnitureBasePort _basePort; |         private readonly IFurnitureBasePort _basePort; | ||||||
| @@ -315,7 +316,7 @@ namespace Core.Inventory.Application.UseCases.Inventory | |||||||
|                     return; |                     return; | ||||||
|                 } |                 } | ||||||
|  |  | ||||||
|                 var result = await _inventoryDALService.GetFurnitureVariantsByIdsAsync(command.Ids.ToArray()); |                 var result = await _inventoryDALService.GetFurnitureVariantsByIdsAsync([.. command.Ids], cancellationToken); | ||||||
|  |  | ||||||
|                 if (result is null || !result.Any()) |                 if (result is null || !result.Any()) | ||||||
|                 { |                 { | ||||||
| @@ -350,6 +351,24 @@ namespace Core.Inventory.Application.UseCases.Inventory | |||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  |         public async ValueTask ExecuteAsync(GetAllFurnitureVariantRequest command, CancellationToken cancellationToken = default) | ||||||
|  |         { | ||||||
|  |             try | ||||||
|  |             { | ||||||
|  |                 var result = await _inventoryDALService.GetAllFurnitureVariantAsync(cancellationToken); | ||||||
|  |                 if (!result.Any()) | ||||||
|  |                 { | ||||||
|  |                     _variantPort.NoContentSuccess(); | ||||||
|  |                     return; | ||||||
|  |                 } | ||||||
|  |                 _variantPort.Success([.. result]); | ||||||
|  |             } | ||||||
|  |             catch (Exception ex) | ||||||
|  |             { | ||||||
|  |                 ApiResponseHelper.EvaluatePort(ex, _basePort); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |  | ||||||
|         #endregion |         #endregion | ||||||
|     } |     } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -47,6 +47,8 @@ namespace Core.Inventory.External.Clients | |||||||
|         [Patch("/api/v1/FurnitureVariant/{mongoId}/{newStatus}/ChangeStatus")] |         [Patch("/api/v1/FurnitureVariant/{mongoId}/{newStatus}/ChangeStatus")] | ||||||
|         Task<FurnitureVariant> ChangeFurnitureVariantStatusAsync([FromRoute] string mongoId, [FromRoute] StatusEnum newStatus, CancellationToken cancellationToken = default); |         Task<FurnitureVariant> ChangeFurnitureVariantStatusAsync([FromRoute] string mongoId, [FromRoute] StatusEnum newStatus, CancellationToken cancellationToken = default); | ||||||
|  |  | ||||||
|  |         [Get("/api/v1/FurnitureVariant")] | ||||||
|  |         Task<IEnumerable<FurnitureVariant>> GetAllFurnitureVariantAsync(CancellationToken cancellationToken = default); | ||||||
|         #endregion |         #endregion | ||||||
|     } |     } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -12,27 +12,36 @@ namespace Core.Inventory.Service.API.Controllers | |||||||
|     [ApiController] |     [ApiController] | ||||||
|     public class FurnitureVariantController( |     public class FurnitureVariantController( | ||||||
|         IComponentHandler<GetFurnitureVariantByIdRequest> getByIdHandler, |         IComponentHandler<GetFurnitureVariantByIdRequest> getByIdHandler, | ||||||
|         IComponentHandler<GetAllFurnitureVariantsByModelIdRequest> getAllHandler, |         IComponentHandler<GetAllFurnitureVariantsByModelIdRequest> getAllMyModelIdHandler, | ||||||
|         IComponentHandler<CreateFurnitureVariantRequest> createHandler, |         IComponentHandler<CreateFurnitureVariantRequest> createHandler, | ||||||
|         IComponentHandler<UpdateFurnitureVariantRequest> updateHandler, |         IComponentHandler<UpdateFurnitureVariantRequest> updateHandler, | ||||||
|         IComponentHandler<ChangeFurnitureVariantStatusRequest> changeStatusHandler, |         IComponentHandler<ChangeFurnitureVariantStatusRequest> changeStatusHandler, | ||||||
|         IComponentHandler<GetFurnitureVariantsByIdsRequest> getByIdsHandler, |         IComponentHandler<GetFurnitureVariantsByIdsRequest> getByIdsHandler, | ||||||
|  |         IComponentHandler<GetAllFurnitureVariantRequest> getAllHandler, | ||||||
|         IFurnitureVariantPort port) : ControllerBase |         IFurnitureVariantPort port) : ControllerBase | ||||||
|     { |     { | ||||||
|         private readonly IComponentHandler<GetFurnitureVariantByIdRequest> _getByIdHandler = getByIdHandler; |         private readonly IComponentHandler<GetFurnitureVariantByIdRequest> _getByIdHandler = getByIdHandler; | ||||||
|         private readonly IComponentHandler<GetAllFurnitureVariantsByModelIdRequest> _getAllHandler = getAllHandler; |         private readonly IComponentHandler<GetAllFurnitureVariantsByModelIdRequest> _getAllByModelIdHandler = getAllMyModelIdHandler; | ||||||
|         private readonly IComponentHandler<CreateFurnitureVariantRequest> _createHandler = createHandler; |         private readonly IComponentHandler<CreateFurnitureVariantRequest> _createHandler = createHandler; | ||||||
|         private readonly IComponentHandler<UpdateFurnitureVariantRequest> _updateHandler = updateHandler; |         private readonly IComponentHandler<UpdateFurnitureVariantRequest> _updateHandler = updateHandler; | ||||||
|         private readonly IComponentHandler<ChangeFurnitureVariantStatusRequest> _changeStatusHandler = changeStatusHandler; |         private readonly IComponentHandler<ChangeFurnitureVariantStatusRequest> _changeStatusHandler = changeStatusHandler; | ||||||
|         private readonly IComponentHandler<GetFurnitureVariantsByIdsRequest> _getByIdsHandler = getByIdsHandler; |         private readonly IComponentHandler<GetFurnitureVariantsByIdsRequest> _getByIdsHandler = getByIdsHandler; | ||||||
|  |         private readonly IComponentHandler<GetAllFurnitureVariantRequest> _getAllHandler = getAllHandler; | ||||||
|         private readonly IFurnitureVariantPort _port = port; |         private readonly IFurnitureVariantPort _port = port; | ||||||
|  |  | ||||||
|  |         [HttpGet("GetAll")] | ||||||
|  |         public async Task<IActionResult> GetAllAsync(CancellationToken cancellationToken) | ||||||
|  |         { | ||||||
|  |             await _getAllHandler.ExecuteAsync(new GetAllFurnitureVariantRequest { }, cancellationToken).ConfigureAwait(false); | ||||||
|  |             return _port.ViewModel; | ||||||
|  |         } | ||||||
|  |  | ||||||
|         [HttpPost("GetAllByModelId")] |         [HttpPost("GetAllByModelId")] | ||||||
|         public async Task<IActionResult> GetAllAsync([FromBody] GetAllFurnitureVariantsByModelIdRequest request, CancellationToken cancellationToken) |         public async Task<IActionResult> GetAllByModelIdAsync([FromBody] GetAllFurnitureVariantsByModelIdRequest request, CancellationToken cancellationToken) | ||||||
|         { |         { | ||||||
|             if (string.IsNullOrEmpty(request?.ModelId)) return BadRequest("Model ID is required"); |             if (string.IsNullOrEmpty(request?.ModelId)) return BadRequest("Model ID is required"); | ||||||
|  |  | ||||||
|             await _getAllHandler.ExecuteAsync(request, cancellationToken).ConfigureAwait(false); |             await _getAllByModelIdHandler.ExecuteAsync(request, cancellationToken).ConfigureAwait(false); | ||||||
|             return _port.ViewModel; |             return _port.ViewModel; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -45,6 +45,7 @@ namespace Core.Inventory.Service.API.Extensions | |||||||
|             services.AddScoped<IComponentHandler<UpdateFurnitureVariantRequest>, InventoryHandler>(); |             services.AddScoped<IComponentHandler<UpdateFurnitureVariantRequest>, InventoryHandler>(); | ||||||
|             services.AddScoped<IComponentHandler<ChangeFurnitureVariantStatusRequest>, InventoryHandler>(); |             services.AddScoped<IComponentHandler<ChangeFurnitureVariantStatusRequest>, InventoryHandler>(); | ||||||
|             services.AddScoped<IComponentHandler<GetFurnitureVariantsByIdsRequest>, InventoryHandler>(); |             services.AddScoped<IComponentHandler<GetFurnitureVariantsByIdsRequest>, InventoryHandler>(); | ||||||
|  |             services.AddScoped<IComponentHandler<GetAllFurnitureVariantRequest>, InventoryHandler>(); | ||||||
|  |  | ||||||
|             services.AddValidatorsFromAssemblyContaining<CreateFurnitureVariantValidator>(); |             services.AddValidatorsFromAssemblyContaining<CreateFurnitureVariantValidator>(); | ||||||
|             services.AddScoped<IValidator<CreateFurnitureVariantRequest>, CreateFurnitureVariantValidator>(); |             services.AddScoped<IValidator<CreateFurnitureVariantRequest>, CreateFurnitureVariantValidator>(); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user