1
0
mirror of https://github.com/bitwarden/server synced 2025-12-15 15:53:59 +00:00

Refactor to track entities rather than manually writing destroy

This commit is contained in:
Hinton
2025-10-07 16:54:08 -07:00
parent 79f5d8f147
commit 92f2555b5c
9 changed files with 122 additions and 44 deletions

View File

@@ -31,13 +31,14 @@ public class SeedController : Controller
try
{
var result = _recipeService.ExecuteRecipe(request.Template, request.Arguments);
var (result, seedId) = _recipeService.ExecuteRecipe(request.Template, request.Arguments);
return Ok(new
{
Message = "Seed completed successfully",
request.Template,
Result = result
Result = result,
SeedId = seedId
});
}
catch (RecipeNotFoundException ex)
@@ -64,29 +65,24 @@ public class SeedController : Controller
}
}
[HttpDelete("/delete")]
public IActionResult Delete([FromBody] SeedRequestModel request)
[HttpDelete("/seed/{seedId}")]
public IActionResult Delete([FromRoute] Guid seedId)
{
_logger.LogInformation("Deleting with template: {Template}", request.Template);
_logger.LogInformation("Deleting seeded data with ID: {SeedId}", seedId);
try
{
var result = _recipeService.DestroyRecipe(request.Template, request.Arguments);
var result = _recipeService.DestroyRecipe(seedId);
return Ok(new
{
Message = "Delete completed successfully",
request.Template,
Result = result
});
}
catch (RecipeNotFoundException ex)
{
return NotFound(new { Error = ex.Message });
}
catch (RecipeExecutionException ex)
{
_logger.LogError(ex, "Error executing recipe delete: {Template}", request.Template);
_logger.LogError(ex, "Error deleting seeded data: {SeedId}", seedId);
return BadRequest(new
{
Error = ex.Message,
@@ -95,7 +91,7 @@ public class SeedController : Controller
}
catch (Exception ex)
{
_logger.LogError(ex, "Unexpected error deleting with template: {Template}", request.Template);
_logger.LogError(ex, "Unexpected error deleting seeded data: {SeedId}", seedId);
return StatusCode(500, new
{
Error = "An unexpected error occurred while deleting",