V14 Bugfix, fixed some of the document controllers (#15449)

* Updated naming to route correctly

* Added a check for null

* Added another status code for the PublicAccess

* Added a check for null

* Updated naming to match route

* Added attempt pattern

* added a ProblemDetailsBuilder for the EntryNotFound

---------

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
This commit is contained in:
Andreas Zerbst
2024-01-29 12:58:03 +01:00
committed by GitHub
parent aea9b79513
commit bb46d23730
7 changed files with 24 additions and 7 deletions

View File

@@ -3,8 +3,10 @@ using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Umbraco.Cms.Api.Management.Security.Authorization.Content;
using Umbraco.Cms.Core;
using Umbraco.Cms.Core.Actions;
using Umbraco.Cms.Core.Services;
using Umbraco.Cms.Core.Services.OperationStatus;
using Umbraco.Cms.Web.Common.Authorization;
using Umbraco.Extensions;
@@ -38,8 +40,8 @@ public class DeletePublicAccessDocumentController : DocumentControllerBase
return Forbidden();
}
await _publicAccessService.DeleteAsync(id);
Attempt<PublicAccessOperationStatus> attempt = await _publicAccessService.DeleteAsync(id);
return Ok();
return attempt.Success ? Ok() : PublicAccessOperationStatusResult(attempt.Result);
}
}

View File

@@ -22,9 +22,9 @@ public class DomainsController : DocumentControllerBase
[MapToApiVersion("1.0")]
[HttpGet("{id:guid}/domains")]
[ProducesResponseType(typeof(DomainsResponseModel), StatusCodes.Status200OK)]
[ProducesResponseType(typeof(ProblemDetails), StatusCodes.Status404NotFound)]
public async Task<IActionResult> DomainsAsync(Guid id)
[ProducesResponseType(typeof(DomainsResponseModel), StatusCodes.Status200OK)]
[ProducesResponseType(typeof(ProblemDetails), StatusCodes.Status404NotFound)]
public async Task<IActionResult> Domains(Guid id)
{
IDomain[] assignedDomains = (await _domainService.GetAssignedDomainsAsync(id, true))
.OrderBy(d => d.SortOrder)

View File

@@ -55,8 +55,13 @@ public class GetPublicAccessDocumentController : DocumentControllerBase
return PublicAccessOperationStatusResult(accessAttempt.Status);
}
if (accessAttempt.Result is null)
{
return Ok();
}
Attempt<PublicAccessResponseModel?, PublicAccessOperationStatus> responseModelAttempt =
_publicAccessPresentationFactory.CreatePublicAccessResponseModel(accessAttempt.Result!);
_publicAccessPresentationFactory.CreatePublicAccessResponseModel(accessAttempt.Result);
if (responseModelAttempt.Success is false)
{

View File

@@ -26,7 +26,7 @@ public class UpdateDomainsController : DocumentControllerBase
[MapToApiVersion("1.0")]
[HttpPut("{id:guid}/domains")]
public async Task<IActionResult> UpdateDomainsAsync(Guid id, UpdateDomainsRequestModel updateModel)
public async Task<IActionResult> Update(Guid id, UpdateDomainsRequestModel updateModel)
{
DomainsUpdateModel domainsUpdateModel = _umbracoMapper.Map<DomainsUpdateModel>(updateModel)!;