trst
All checks were successful
Branch - test - Build and Push Backend API Docker Image / build-and-push (push) Successful in 27s

This commit is contained in:
Tizian.Breuch
2025-11-07 14:10:00 +01:00
parent b879095627
commit 4ef8047460

View File

@@ -77,15 +77,17 @@ namespace Webshop.Api.Controllers.Admin
[ProducesResponseType(typeof(ProblemDetails), StatusCodes.Status409Conflict)] [ProducesResponseType(typeof(ProblemDetails), StatusCodes.Status409Conflict)]
public async Task<IActionResult> UpdateAdminProduct(Guid id, [FromForm] UpdateAdminProductDto productDto) public async Task<IActionResult> UpdateAdminProduct(Guid id, [FromForm] UpdateAdminProductDto productDto)
{ {
// ==============================================================================
// DIES IST DIE ENTSCHEIDENDE KORREKTUR
// Wir stellen sicher, dass die ID aus der URL die ID ist, mit der wir arbeiten.
// ==============================================================================
if (id != productDto.Id) if (id != productDto.Id)
{ {
return BadRequest(new { Message = "ID in der URL und im Body stimmen nicht <20>berein." }); // Wenn Frontend und URL sich nicht einig sind, ist die Anfrage fehlerhaft.
} return BadRequest(new { Message = "Die ID in der URL stimmt nicht mit der ID im Formular <20>berein." });
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
} }
// Ab hier l<>uft alles wie gehabt. Der Service erh<72>lt ein DTO mit der verifizierten ID.
var result = await _adminProductService.UpdateAdminProductAsync(productDto); var result = await _adminProductService.UpdateAdminProductAsync(productDto);
return result.Type switch return result.Type switch
@@ -93,8 +95,7 @@ namespace Webshop.Api.Controllers.Admin
ServiceResultType.Success => NoContent(), ServiceResultType.Success => NoContent(),
ServiceResultType.NotFound => NotFound(new { Message = result.ErrorMessage }), ServiceResultType.NotFound => NotFound(new { Message = result.ErrorMessage }),
ServiceResultType.Conflict => Conflict(new { Message = result.ErrorMessage }), ServiceResultType.Conflict => Conflict(new { Message = result.ErrorMessage }),
ServiceResultType.InvalidInput => BadRequest(new { Message = result.ErrorMessage }), _ => BadRequest(new { Message = result.ErrorMessage ?? "Ein Fehler ist aufgetreten." })
_ => StatusCode(StatusCodes.Status500InternalServerError, new { Message = result.ErrorMessage ?? "Ein unerwarteter Fehler ist aufgetreten." })
}; };
} }