Merge pull request 'Add physical delete' (#6) from feature/add-physical-delete into development
Reviewed-on: #6 Reviewed-by: efrain_marin <efrain.marin@agilewebs.com> Reviewed-by: Sergio Matías <sergio.matias@agilewebs.com>
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
using Core.Adapters.Lib;
|
using Core.Adapters.Lib;
|
||||||
using Core.Inventory.External.Clients.Inventory;
|
using Core.Inventory.External.Clients.Inventory;
|
||||||
using Core.Inventory.External.Clients.Inventory.Requests.Tag;
|
using Core.Inventory.External.Clients.Inventory.Requests.Tag;
|
||||||
|
using Core.Inventory.External.Clients.Inventory.Requests.TagType;
|
||||||
using Lib.Architecture.BuildingBlocks;
|
using Lib.Architecture.BuildingBlocks;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
@@ -257,5 +258,34 @@ namespace Core.Inventory.BFF.API.Controllers
|
|||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Deletes a full Tag by identifier.
|
||||||
|
/// </summary>
|
||||||
|
[HttpDelete("Delete")]
|
||||||
|
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||||
|
[ProducesResponseType(StatusCodes.Status400BadRequest)]
|
||||||
|
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
|
||||||
|
[ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)]
|
||||||
|
[ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)]
|
||||||
|
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
||||||
|
public async Task<IActionResult> DeleteTagService(DeleteTagRequest request, CancellationToken cancellationToken)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
logger.LogInformation($"{nameof(DeleteTagService)} - Request received - Payload: {JsonSerializer.Serialize(request)}");
|
||||||
|
|
||||||
|
if (request == null) return BadRequest("Invalid Tag object");
|
||||||
|
|
||||||
|
if (string.IsNullOrEmpty(request.Id)) return BadRequest("Invalid Tag identifier");
|
||||||
|
|
||||||
|
return await Handle(() => inventoryServiceClient.DeleteTagService(request, cancellationToken)).ConfigureAwait(false);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
logger.LogError($"{nameof(DeleteTagService)} - An Error Occurred- {ex.Message} - {ex.InnerException} - {ex.StackTrace} - with payload {JsonSerializer.Serialize(request)}");
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
using Core.Adapters.Lib;
|
using Core.Adapters.Lib;
|
||||||
using Core.Inventory.External.Clients.Inventory;
|
using Core.Inventory.External.Clients.Inventory;
|
||||||
using Core.Inventory.External.Clients.Inventory.Requests.TagOverride;
|
using Core.Inventory.External.Clients.Inventory.Requests.TagOverride;
|
||||||
|
using Core.Inventory.External.Clients.Inventory.Requests.TagType;
|
||||||
using Lib.Architecture.BuildingBlocks;
|
using Lib.Architecture.BuildingBlocks;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
@@ -202,6 +203,33 @@ namespace Core.Inventory.BFF.API.Controllers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Deletes a full TagOverride by identifier.
|
||||||
|
/// </summary>
|
||||||
|
[HttpDelete("Delete")]
|
||||||
|
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||||
|
[ProducesResponseType(StatusCodes.Status400BadRequest)]
|
||||||
|
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
|
||||||
|
[ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)]
|
||||||
|
[ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)]
|
||||||
|
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
||||||
|
public async Task<IActionResult> DeleteTagOverrideService(DeleteTagOverrideRequest request, CancellationToken cancellationToken)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
logger.LogInformation($"{nameof(DeleteTagOverrideService)} - Request received - Payload: {JsonSerializer.Serialize(request)}");
|
||||||
|
|
||||||
|
if (request == null) return BadRequest("Invalid TagOverride object");
|
||||||
|
|
||||||
|
if (string.IsNullOrEmpty(request.Id)) return BadRequest("Invalid TagOverride identifier");
|
||||||
|
|
||||||
|
return await Handle(() => inventoryServiceClient.DeleteTagOverrideService(request, cancellationToken)).ConfigureAwait(false);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
logger.LogError($"{nameof(DeleteTagOverrideService)} - An Error Occurred- {ex.Message} - {ex.InnerException} - {ex.StackTrace} - with payload {JsonSerializer.Serialize(request)}");
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -198,6 +198,33 @@ namespace Core.Inventory.BFF.API.Controllers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Deletes a full TagType by identifier.
|
||||||
|
/// </summary>
|
||||||
|
[HttpDelete("Delete")]
|
||||||
|
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||||
|
[ProducesResponseType(StatusCodes.Status400BadRequest)]
|
||||||
|
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
|
||||||
|
[ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)]
|
||||||
|
[ProducesResponseType(typeof(Notification), StatusCodes.Status422UnprocessableEntity)]
|
||||||
|
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
||||||
|
public async Task<IActionResult> DeleteTagTypeService(DeleteTagTypeRequest request, CancellationToken cancellationToken)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
logger.LogInformation($"{nameof(DeleteTagTypeService)} - Request received - Payload: {JsonSerializer.Serialize(request)}");
|
||||||
|
|
||||||
|
if (request == null) return BadRequest("Invalid TagType object");
|
||||||
|
|
||||||
|
if (string.IsNullOrEmpty(request.Id)) return BadRequest("Invalid TagType identifier");
|
||||||
|
|
||||||
|
return await Handle(() => inventoryServiceClient.DeleteTagTypeService(request, cancellationToken)).ConfigureAwait(false);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
logger.LogError($"{nameof(DeleteTagTypeService)} - An Error Occurred- {ex.Message} - {ex.InnerException} - {ex.StackTrace} - with payload {JsonSerializer.Serialize(request)}");
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -76,6 +76,9 @@ namespace Core.Inventory.External.Clients.Inventory
|
|||||||
[Patch("/api/v1/TagType/ChangeStatus")]
|
[Patch("/api/v1/TagType/ChangeStatus")]
|
||||||
Task<ApiResponse<TagTypeAdapter>> ChangeTagTypeStatusService([Header("TrackingId")][Body] ChangeTagTypeStatusRequest request, CancellationToken cancellationToken = default);
|
Task<ApiResponse<TagTypeAdapter>> ChangeTagTypeStatusService([Header("TrackingId")][Body] ChangeTagTypeStatusRequest request, CancellationToken cancellationToken = default);
|
||||||
|
|
||||||
|
[Delete("/api/v1/TagType/Delete")]
|
||||||
|
Task<ApiResponse<TagTypeAdapter>> DeleteTagTypeService([Header("TrackingId")][Body] DeleteTagTypeRequest request, CancellationToken cancellationToken = default);
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Tag
|
#region Tag
|
||||||
@@ -104,6 +107,9 @@ namespace Core.Inventory.External.Clients.Inventory
|
|||||||
[Delete("/api/v1/Tag/RemoveParentTag")]
|
[Delete("/api/v1/Tag/RemoveParentTag")]
|
||||||
Task<ApiResponse<TagAdapter>> RemoveParentTagAsync([Header("TrackingId")][Body] RemoveParentTagFromTag request, CancellationToken cancellationToken = default);
|
Task<ApiResponse<TagAdapter>> RemoveParentTagAsync([Header("TrackingId")][Body] RemoveParentTagFromTag request, CancellationToken cancellationToken = default);
|
||||||
|
|
||||||
|
[Delete("/api/v1/Tag/Delete")]
|
||||||
|
Task<ApiResponse<TagAdapter>> DeleteTagService([Header("TrackingId")][Body] DeleteTagRequest request, CancellationToken cancellationToken = default);
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region TagOverride
|
#region TagOverride
|
||||||
@@ -126,6 +132,9 @@ namespace Core.Inventory.External.Clients.Inventory
|
|||||||
[Patch("/api/v1/TagOverride/ChangeStatus")]
|
[Patch("/api/v1/TagOverride/ChangeStatus")]
|
||||||
Task<ApiResponse<TagOverrideAdapter>> ChangeTagOverrideStatusService([Header("TrackingId")][Body] ChangeTagOverrideStatusRequest request, CancellationToken cancellationToken = default);
|
Task<ApiResponse<TagOverrideAdapter>> ChangeTagOverrideStatusService([Header("TrackingId")][Body] ChangeTagOverrideStatusRequest request, CancellationToken cancellationToken = default);
|
||||||
|
|
||||||
|
[Delete("/api/v1/TagOverride/Delete")]
|
||||||
|
Task<ApiResponse<TagOverrideAdapter>> DeleteTagOverrideService([Header("TrackingId")][Body] DeleteTagOverrideRequest request, CancellationToken cancellationToken = default);
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Product
|
#region Product
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
using Lib.Architecture.BuildingBlocks;
|
||||||
|
|
||||||
|
namespace Core.Inventory.External.Clients.Inventory.Requests.Tag
|
||||||
|
{
|
||||||
|
public class DeleteTagRequest : Notificator, ICommand
|
||||||
|
{
|
||||||
|
public string Id { get; set; } = null!;
|
||||||
|
|
||||||
|
public bool Validate()
|
||||||
|
{
|
||||||
|
return Id != null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
using Lib.Architecture.BuildingBlocks;
|
||||||
|
|
||||||
|
namespace Core.Inventory.External.Clients.Inventory.Requests.TagOverride
|
||||||
|
{
|
||||||
|
public class DeleteTagOverrideRequest : Notificator, ICommand
|
||||||
|
{
|
||||||
|
public string Id { get; set; } = null!;
|
||||||
|
|
||||||
|
public bool Validate()
|
||||||
|
{
|
||||||
|
return Id != null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
using Lib.Architecture.BuildingBlocks;
|
||||||
|
|
||||||
|
namespace Core.Inventory.External.Clients.Inventory.Requests.TagType
|
||||||
|
{
|
||||||
|
public class DeleteTagTypeRequest : Notificator, ICommand
|
||||||
|
{
|
||||||
|
public string Id { get; set; } = null!;
|
||||||
|
|
||||||
|
public bool Validate()
|
||||||
|
{
|
||||||
|
return Id != null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user