Add physical delete #6
@@ -2,6 +2,7 @@
|
||||
using Core.Adapters.Lib;
|
||||
using Core.Inventory.External.Clients.Inventory;
|
||||
using Core.Inventory.External.Clients.Inventory.Requests.Tag;
|
||||
using Core.Inventory.External.Clients.Inventory.Requests.TagType;
|
||||
using Lib.Architecture.BuildingBlocks;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
@@ -257,5 +258,34 @@ namespace Core.Inventory.BFF.API.Controllers
|
||||
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.Inventory.External.Clients.Inventory;
|
||||
using Core.Inventory.External.Clients.Inventory.Requests.TagOverride;
|
||||
using Core.Inventory.External.Clients.Inventory.Requests.TagType;
|
||||
using Lib.Architecture.BuildingBlocks;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
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")]
|
||||
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
|
||||
|
||||
#region Tag
|
||||
@@ -104,6 +107,9 @@ namespace Core.Inventory.External.Clients.Inventory
|
||||
[Delete("/api/v1/Tag/RemoveParentTag")]
|
||||
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
|
||||
|
||||
#region TagOverride
|
||||
@@ -126,6 +132,9 @@ namespace Core.Inventory.External.Clients.Inventory
|
||||
[Patch("/api/v1/TagOverride/ChangeStatus")]
|
||||
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
|
||||
|
||||
#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