Files
Umbraco-CMS/src/Umbraco.Cms.Api.Management/Controllers/TemporaryFile/TemporaryFileControllerBase.cs
Elitsa Marinovska 76e1db87a7 V14: Align routes (#15732)
* Fixing route for temp file

* Adding missing ApiController attribute

* Adding new filter view port

* Creating base classes for member and user filters

* Moving actual filter controllers to correct places

* Update OpenApi.json
2024-02-21 12:29:22 +01:00

43 lines
1.8 KiB
C#

using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Umbraco.Cms.Api.Common.Builders;
using Umbraco.Cms.Api.Management.Routing;
using Umbraco.Cms.Core.Services.OperationStatus;
namespace Umbraco.Cms.Api.Management.Controllers.TemporaryFile;
[ApiController]
[VersionedApiBackOfficeRoute("temporary-file")]
[ApiExplorerSettings(GroupName = "Temporary File")]
public abstract class TemporaryFileControllerBase : ManagementApiControllerBase
{
protected IActionResult TemporaryFileStatusResult(TemporaryFileOperationStatus operationStatus) =>
operationStatus switch
{
TemporaryFileOperationStatus.FileExtensionNotAllowed => BadRequest(new ProblemDetailsBuilder()
.WithTitle("File extension not allowed")
.WithDetail("The file extension is not allowed.")
.Build()),
TemporaryFileOperationStatus.KeyAlreadyUsed => BadRequest(new ProblemDetailsBuilder()
.WithTitle("Key already used")
.WithDetail("The specified key is already used.")
.Build()),
TemporaryFileOperationStatus.NotFound => NotFound(new ProblemDetailsBuilder()
.WithTitle("The temporary file was not found")
.Build()),
TemporaryFileOperationStatus.UploadBlocked => NotFound(new ProblemDetailsBuilder()
.WithTitle("The temporary file was blocked by a validator")
.Build()),
_ => StatusCode(StatusCodes.Status500InternalServerError, new ProblemDetailsBuilder()
.WithTitle("Unknown temporary file operation status.")
.Build()),
};
protected IActionResult TemporaryFileNotFound() => NotFound(new ProblemDetailsBuilder()
.WithTitle("The temporary file could not be found")
.Build());
}