Add physical delete

This commit is contained in:
Oscar Morales
2025-08-08 11:12:11 -06:00
parent 97992e5cdb
commit 6146fcfed2
9 changed files with 148 additions and 0 deletions

View File

@@ -186,5 +186,27 @@ namespace Core.Inventory.DAL.API.Controllers
var result = await service.RemoveParentTag(tagId, parentTagId, cancellationToken).ConfigureAwait(false); ;
return Ok(result);
}
/// <summary>
/// Deletes a Tag by its MongoDB identifier.
/// </summary>
/// <param name="id">The Tag MongoDB identifier.</param>
/// <returns>The result of the delete operation.</returns>
/// <response code="200">The Tag deleted successfully.</response>
/// <response code="404">The Tag not found.</response>
/// <response code="500">The service internal error.</response>
[HttpDelete]
[Route("{id}")]
[Consumes(MimeTypes.ApplicationJson)]
[Produces(MimeTypes.ApplicationJson)]
[ProducesResponseType(typeof(TagAdapter), StatusCodes.Status200OK)]
public async Task<IActionResult> DeleteTag([FromRoute] string id, CancellationToken cancellationToken)
{
var result = await service.DeleteTag(id, cancellationToken).ConfigureAwait(false);
if (result is null) return NotFound("Tag not found");
return Ok(result);
}
}
}

View File

@@ -150,5 +150,27 @@ namespace Core.Inventory.DAL.API.Controllers
var result = await service.ChangeTagOverrideStatus(id, newStatus, cancellationToken).ConfigureAwait(false);
return Ok(result);
}
/// <summary>
/// Deletes a TagOverride by its MongoDB identifier.
/// </summary>
/// <param name="id">The TagOverride MongoDB identifier.</param>
/// <returns>The result of the delete operation.</returns>
/// <response code="200">The TagOverride deleted successfully.</response>
/// <response code="404">The TagOverride not found.</response>
/// <response code="500">The service internal error.</response>
[HttpDelete]
[Route("{id}")]
[Consumes(MimeTypes.ApplicationJson)]
[Produces(MimeTypes.ApplicationJson)]
[ProducesResponseType(typeof(TagOverrideAdapter), StatusCodes.Status200OK)]
public async Task<IActionResult> DeleteTagOverride([FromRoute] string id, CancellationToken cancellationToken)
{
var result = await service.DeleteTagOverride(id, cancellationToken).ConfigureAwait(false);
if (result is null) return NotFound("TagOverride not found");
return Ok(result);
}
}
}

View File

@@ -150,5 +150,27 @@ namespace Core.Inventory.DAL.API.Controllers
var result = await service.ChangeTagTypeStatus(id, newStatus, cancellationToken).ConfigureAwait(false);
return Ok(result);
}
/// <summary>
/// Deletes a TagType by its MongoDB identifier.
/// </summary>
/// <param name="id">The TagType MongoDB identifier.</param>
/// <returns>The result of the delete operation.</returns>
/// <response code="200">The TagType deleted successfully.</response>
/// <response code="404">The TagType not found.</response>
/// <response code="500">The service internal error.</response>
[HttpDelete]
[Route("{id}")]
[Consumes(MimeTypes.ApplicationJson)]
[Produces(MimeTypes.ApplicationJson)]
[ProducesResponseType(typeof(TagTypeAdapter), StatusCodes.Status200OK)]
public async Task<IActionResult> DeleteTagType([FromRoute] string id, CancellationToken cancellationToken)
{
var result = await service.DeleteTagType(id, cancellationToken).ConfigureAwait(false);
if (result is null) return NotFound("TagType not found");
return Ok(result);
}
}
}