diff --git a/Directory.Packages.props b/Directory.Packages.props
index bc0a2db4fd..1b350a789e 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -14,25 +14,25 @@
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -46,22 +46,22 @@
-
-
+
+
-
+
-
+
-
-
-
-
+
+
+
+
@@ -73,14 +73,14 @@
-
+
-
+
@@ -91,7 +91,7 @@
-
+
diff --git a/build/azure-pipelines.yml b/build/azure-pipelines.yml
index 966c4b982e..781e2e69fd 100644
--- a/build/azure-pipelines.yml
+++ b/build/azure-pipelines.yml
@@ -623,13 +623,24 @@ stages:
displayName: Copy Playwright results
condition: succeededOrFailed()
- # Publish
+ # Publish test artifacts
- task: PublishPipelineArtifact@1
displayName: Publish test artifacts
condition: succeededOrFailed()
inputs:
targetPath: $(Build.ArtifactStagingDirectory)
artifact: "Acceptance Test Results - $(Agent.JobName) - Attempt #$(System.JobAttempt)"
+
+ # Publish test results
+ - task: PublishTestResults@2
+ displayName: "Publish test results"
+ condition: succeededOrFailed()
+ inputs:
+ testResultsFormat: 'JUnit'
+ testResultsFiles: '*.xml'
+ searchFolder: "tests/Umbraco.Tests.AcceptanceTest/results"
+ testRunTitle: "$(Agent.JobName)"
+
- job:
displayName: E2E Tests (SQL Server)
variables:
@@ -788,13 +799,24 @@ stages:
displayName: Copy Playwright results
condition: succeededOrFailed()
- # Publish
+ # Publish test artifacts
- task: PublishPipelineArtifact@1
displayName: Publish test artifacts
condition: succeededOrFailed()
inputs:
targetPath: $(Build.ArtifactStagingDirectory)
artifact: "Acceptance Test Results - $(Agent.JobName) - Attempt #$(System.JobAttempt)"
+
+ # Publish test results
+ - task: PublishTestResults@2
+ displayName: "Publish test results"
+ condition: succeededOrFailed()
+ inputs:
+ testResultsFormat: 'JUnit'
+ testResultsFiles: '*.xml'
+ searchFolder: "tests/Umbraco.Tests.AcceptanceTest/results"
+ testRunTitle: "$(Agent.JobName)"
+
###############################################
## Release
###############################################
diff --git a/build/nightly-E2E-test-pipelines.yml b/build/nightly-E2E-test-pipelines.yml
index 9435aadfd8..8cbb065cd7 100644
--- a/build/nightly-E2E-test-pipelines.yml
+++ b/build/nightly-E2E-test-pipelines.yml
@@ -248,6 +248,16 @@ stages:
targetPath: $(Build.ArtifactStagingDirectory)
artifact: "Acceptance Test Results - $(Agent.JobName) - Attempt #$(System.JobAttempt)"
+ # Publish test results
+ - task: PublishTestResults@2
+ displayName: "Publish test results"
+ condition: succeededOrFailed()
+ inputs:
+ testResultsFormat: 'JUnit'
+ testResultsFiles: '*.xml'
+ searchFolder: "tests/Umbraco.Tests.AcceptanceTest/results"
+ testRunTitle: "$(Agent.JobName)"
+
- job:
displayName: E2E Tests (SQL Server)
timeoutInMinutes: 180
@@ -418,3 +428,13 @@ stages:
inputs:
targetPath: $(Build.ArtifactStagingDirectory)
artifact: "Acceptance Test Results - $(Agent.JobName) - Attempt #$(System.JobAttempt)"
+
+ # Publish test results
+ - task: PublishTestResults@2
+ displayName: "Publish test results"
+ condition: succeededOrFailed()
+ inputs:
+ testResultsFormat: 'JUnit'
+ testResultsFiles: '*.xml'
+ searchFolder: "tests/Umbraco.Tests.AcceptanceTest/results"
+ testRunTitle: "$(Agent.JobName)"
diff --git a/src/Umbraco.Cms.Api.Management/Controllers/DocumentType/AllowedChildrenDocumentTypeController.cs b/src/Umbraco.Cms.Api.Management/Controllers/DocumentType/AllowedChildrenDocumentTypeController.cs
index 5bff749e8a..f7403cb463 100644
--- a/src/Umbraco.Cms.Api.Management/Controllers/DocumentType/AllowedChildrenDocumentTypeController.cs
+++ b/src/Umbraco.Cms.Api.Management/Controllers/DocumentType/AllowedChildrenDocumentTypeController.cs
@@ -1,5 +1,4 @@
-using Asp.Versioning;
-using Microsoft.AspNetCore.Authorization;
+using Asp.Versioning;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Umbraco.Cms.Api.Common.ViewModels.Pagination;
@@ -9,7 +8,6 @@ using Umbraco.Cms.Core.Mapping;
using Umbraco.Cms.Core.Models;
using Umbraco.Cms.Core.Services;
using Umbraco.Cms.Core.Services.OperationStatus;
-using Umbraco.Cms.Web.Common.Authorization;
namespace Umbraco.Cms.Api.Management.Controllers.DocumentType;
@@ -25,6 +23,15 @@ public class AllowedChildrenDocumentTypeController : DocumentTypeControllerBase
_umbracoMapper = umbracoMapper;
}
+ [NonAction]
+ [Obsolete("Use the non obsoleted method instead. Scheduled to be removed in v16")]
+ public async Task AllowedChildrenByKey(
+ CancellationToken cancellationToken,
+ Guid id,
+ int skip = 0,
+ int take = 100)
+ => await AllowedChildrenByKey(cancellationToken, id, null, skip, take);
+
[HttpGet("{id:guid}/allowed-children")]
[MapToApiVersion("1.0")]
[ProducesResponseType(typeof(PagedViewModel), StatusCodes.Status200OK)]
@@ -32,10 +39,11 @@ public class AllowedChildrenDocumentTypeController : DocumentTypeControllerBase
public async Task AllowedChildrenByKey(
CancellationToken cancellationToken,
Guid id,
+ Guid? parentContentKey = null,
int skip = 0,
int take = 100)
{
- Attempt?, ContentTypeOperationStatus> attempt = await _contentTypeService.GetAllowedChildrenAsync(id, skip, take);
+ Attempt?, ContentTypeOperationStatus> attempt = await _contentTypeService.GetAllowedChildrenAsync(id, parentContentKey, skip, take);
if (attempt.Success is false)
{
return OperationStatusResult(attempt.Status);
diff --git a/src/Umbraco.Cms.Api.Management/Controllers/MediaType/AllowedChildrenMediaTypeController.cs b/src/Umbraco.Cms.Api.Management/Controllers/MediaType/AllowedChildrenMediaTypeController.cs
index 231db5646e..71ee63d6e3 100644
--- a/src/Umbraco.Cms.Api.Management/Controllers/MediaType/AllowedChildrenMediaTypeController.cs
+++ b/src/Umbraco.Cms.Api.Management/Controllers/MediaType/AllowedChildrenMediaTypeController.cs
@@ -1,4 +1,4 @@
-using Asp.Versioning;
+using Asp.Versioning;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Umbraco.Cms.Api.Common.ViewModels.Pagination;
@@ -23,6 +23,15 @@ public class AllowedChildrenMediaTypeController : MediaTypeControllerBase
_umbracoMapper = umbracoMapper;
}
+ [NonAction]
+ [Obsolete("Use the non obsoleted method instead. Scheduled for removal in Umbraco 16.")]
+ public async Task AllowedChildrenByKey(
+ CancellationToken cancellationToken,
+ Guid id,
+ int skip = 0,
+ int take = 100)
+ => await AllowedChildrenByKey(cancellationToken, id, null, skip, take);
+
[HttpGet("{id:guid}/allowed-children")]
[MapToApiVersion("1.0")]
[ProducesResponseType(typeof(PagedViewModel), StatusCodes.Status200OK)]
@@ -30,10 +39,11 @@ public class AllowedChildrenMediaTypeController : MediaTypeControllerBase
public async Task AllowedChildrenByKey(
CancellationToken cancellationToken,
Guid id,
+ Guid? parentContentKey = null,
int skip = 0,
int take = 100)
{
- Attempt?, ContentTypeOperationStatus> attempt = await _mediaTypeService.GetAllowedChildrenAsync(id, skip, take);
+ Attempt?, ContentTypeOperationStatus> attempt = await _mediaTypeService.GetAllowedChildrenAsync(id, parentContentKey, skip, take);
if (attempt.Success is false)
{
return OperationStatusResult(attempt.Status);
diff --git a/src/Umbraco.Cms.Api.Management/Controllers/PublishedCache/RebuildPublishedCacheController.cs b/src/Umbraco.Cms.Api.Management/Controllers/PublishedCache/RebuildPublishedCacheController.cs
index 8f29b922f3..5251ac6f51 100644
--- a/src/Umbraco.Cms.Api.Management/Controllers/PublishedCache/RebuildPublishedCacheController.cs
+++ b/src/Umbraco.Cms.Api.Management/Controllers/PublishedCache/RebuildPublishedCacheController.cs
@@ -17,7 +17,20 @@ public class RebuildPublishedCacheController : PublishedCacheControllerBase
[ProducesResponseType(StatusCodes.Status200OK)]
public Task Rebuild(CancellationToken cancellationToken)
{
- _databaseCacheRebuilder.Rebuild();
- return Task.FromResult(Ok());
+ if (_databaseCacheRebuilder.IsRebuilding())
+ {
+ var problemDetails = new ProblemDetails
+ {
+ Title = "Database cache can not be rebuilt",
+ Detail = $"The database cache is in the process of rebuilding.",
+ Status = StatusCodes.Status400BadRequest,
+ Type = "Error",
+ };
+
+ return await Task.FromResult(Conflict(problemDetails));
+ }
+
+ _databaseCacheRebuilder.Rebuild(true);
+ return await Task.FromResult(Ok());
}
}
diff --git a/src/Umbraco.Cms.Api.Management/Controllers/PublishedCache/RebuildPublishedCacheStatusController.cs b/src/Umbraco.Cms.Api.Management/Controllers/PublishedCache/RebuildPublishedCacheStatusController.cs
new file mode 100644
index 0000000000..5ecceecd3d
--- /dev/null
+++ b/src/Umbraco.Cms.Api.Management/Controllers/PublishedCache/RebuildPublishedCacheStatusController.cs
@@ -0,0 +1,27 @@
+using Asp.Versioning;
+using Microsoft.AspNetCore.Http;
+using Microsoft.AspNetCore.Mvc;
+using Umbraco.Cms.Api.Management.ViewModels.PublishedCache;
+using Umbraco.Cms.Core.PublishedCache;
+
+namespace Umbraco.Cms.Api.Management.Controllers.PublishedCache;
+
+[ApiVersion("1.0")]
+public class RebuildPublishedCacheStatusController : PublishedCacheControllerBase
+{
+ private readonly IDatabaseCacheRebuilder _databaseCacheRebuilder;
+
+ public RebuildPublishedCacheStatusController(IDatabaseCacheRebuilder databaseCacheRebuilder) => _databaseCacheRebuilder = databaseCacheRebuilder;
+
+ [HttpGet("rebuild/status")]
+ [MapToApiVersion("1.0")]
+ [ProducesResponseType(typeof(RebuildStatusModel), StatusCodes.Status200OK)]
+ public Task Status(CancellationToken cancellationToken)
+ {
+ var isRebuilding = _databaseCacheRebuilder.IsRebuilding();
+ return Task.FromResult((IActionResult)Ok(new RebuildStatusModel
+ {
+ IsRebuilding = isRebuilding
+ }));
+ }
+}
diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Security/BackOfficeGraphicsController.cs b/src/Umbraco.Cms.Api.Management/Controllers/Security/BackOfficeGraphicsController.cs
index 11c9a36e25..3dc491b714 100644
--- a/src/Umbraco.Cms.Api.Management/Controllers/Security/BackOfficeGraphicsController.cs
+++ b/src/Umbraco.Cms.Api.Management/Controllers/Security/BackOfficeGraphicsController.cs
@@ -19,6 +19,7 @@ namespace Umbraco.Cms.Api.Management.Controllers.Security;
public class BackOfficeGraphicsController : Controller
{
public const string LogoRouteName = nameof(BackOfficeGraphicsController) + "." + nameof(Logo);
+ public const string LogoAlternativeRouteName = nameof(BackOfficeGraphicsController) + "." + nameof(LogoAlternative);
public const string LoginBackGroundRouteName = nameof(BackOfficeGraphicsController) + "." + nameof(LoginBackground);
public const string LoginLogoRouteName = nameof(BackOfficeGraphicsController) + "." + nameof(LoginLogo);
public const string LoginLogoAlternativeRouteName = nameof(BackOfficeGraphicsController) + "." + nameof(LoginLogoAlternative);
@@ -44,6 +45,11 @@ public class BackOfficeGraphicsController : Controller
[MapToApiVersion("1.0")]
public IActionResult Logo() => HandleFileRequest(_contentSettings.Value.BackOfficeLogo);
+ [HttpGet("logo-alternative", Name = LogoAlternativeRouteName)]
+ [AllowAnonymous]
+ [MapToApiVersion("1.0")]
+ public IActionResult LogoAlternative() => HandleFileRequest(_contentSettings.Value.BackOfficeLogoAlternative);
+
[HttpGet("login-logo", Name = LoginLogoRouteName)]
[AllowAnonymous]
[MapToApiVersion("1.0")]
diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Template/Query/ExecuteTemplateQueryController.cs b/src/Umbraco.Cms.Api.Management/Controllers/Template/Query/ExecuteTemplateQueryController.cs
index 2b3656ad25..07063b69f7 100644
--- a/src/Umbraco.Cms.Api.Management/Controllers/Template/Query/ExecuteTemplateQueryController.cs
+++ b/src/Umbraco.Cms.Api.Management/Controllers/Template/Query/ExecuteTemplateQueryController.cs
@@ -28,6 +28,7 @@ public class ExecuteTemplateQueryController : TemplateQueryControllerBase
private static readonly string _indent = $"{Environment.NewLine} ";
+ [ActivatorUtilitiesConstructor]
public ExecuteTemplateQueryController(
IPublishedContentQuery publishedContentQuery,
IPublishedValueFallback publishedValueFallback,
diff --git a/src/Umbraco.Cms.Api.Management/DependencyInjection/UmbracoBuilderExtensions.cs b/src/Umbraco.Cms.Api.Management/DependencyInjection/UmbracoBuilderExtensions.cs
index 4ef42524c4..48e53c97e0 100644
--- a/src/Umbraco.Cms.Api.Management/DependencyInjection/UmbracoBuilderExtensions.cs
+++ b/src/Umbraco.Cms.Api.Management/DependencyInjection/UmbracoBuilderExtensions.cs
@@ -64,7 +64,6 @@ public static partial class UmbracoBuilderExtensions
.AddWebhooks()
.AddServer()
.AddCorsPolicy()
- .AddWebhooks()
.AddPreview()
.AddServerEvents()
.AddPasswordConfiguration()
diff --git a/src/Umbraco.Cms.Api.Management/OpenApi.json b/src/Umbraco.Cms.Api.Management/OpenApi.json
index 11b28ec9fd..73c031040e 100644
--- a/src/Umbraco.Cms.Api.Management/OpenApi.json
+++ b/src/Umbraco.Cms.Api.Management/OpenApi.json
@@ -182,7 +182,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -254,7 +254,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -351,7 +351,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -491,7 +491,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -622,7 +622,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -690,7 +690,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -794,7 +794,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -869,7 +869,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -904,7 +904,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -1038,7 +1038,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -1110,7 +1110,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -1207,7 +1207,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -1347,7 +1347,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -1436,7 +1436,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -1592,7 +1592,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -1663,7 +1663,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -1726,7 +1726,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -1788,7 +1788,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -1946,7 +1946,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -2018,7 +2018,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -2115,7 +2115,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -2255,7 +2255,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -2336,7 +2336,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -2466,7 +2466,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -2612,7 +2612,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -2721,7 +2721,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -2784,7 +2784,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -2839,7 +2839,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -2973,7 +2973,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -3045,7 +3045,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -3142,7 +3142,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -3282,7 +3282,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -3398,7 +3398,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -3544,7 +3544,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -3616,7 +3616,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -3713,7 +3713,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -3853,7 +3853,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -3973,7 +3973,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -4082,7 +4082,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -4153,7 +4153,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -4216,7 +4216,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -4350,7 +4350,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -4422,7 +4422,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -4493,7 +4493,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -4633,7 +4633,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -4671,6 +4671,14 @@
"format": "uuid"
}
},
+ {
+ "name": "parentContentKey",
+ "in": "query",
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ },
{
"name": "skip",
"in": "query",
@@ -4723,7 +4731,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -4801,7 +4809,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -4878,7 +4886,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -5023,7 +5031,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -5096,7 +5104,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -5226,7 +5234,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -5368,7 +5376,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -5435,7 +5443,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -5516,7 +5524,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -5563,7 +5571,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -5697,7 +5705,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -5769,7 +5777,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -5866,7 +5874,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -6006,7 +6014,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -6152,7 +6160,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -6320,7 +6328,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -6391,7 +6399,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -6454,7 +6462,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -6553,7 +6561,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -6627,7 +6635,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -6733,7 +6741,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -6851,7 +6859,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -6992,7 +7000,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -7126,7 +7134,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -7198,7 +7206,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -7295,7 +7303,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -7435,7 +7443,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -7526,7 +7534,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -7645,7 +7653,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -7717,7 +7725,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -7871,7 +7879,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -7987,7 +7995,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -8098,7 +8106,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -8173,7 +8181,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -8275,7 +8283,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -8406,7 +8414,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -8489,7 +8497,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -8559,7 +8567,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -8661,7 +8669,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -8803,7 +8811,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -8945,7 +8953,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -9017,7 +9025,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -9081,7 +9089,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -9145,7 +9153,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -9275,7 +9283,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -9417,7 +9425,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -9560,7 +9568,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -9639,7 +9647,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -9674,7 +9682,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -9793,7 +9801,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -9857,7 +9865,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -9976,7 +9984,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -10177,7 +10185,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -10288,7 +10296,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -10374,7 +10382,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -10504,7 +10512,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -10579,7 +10587,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -10634,7 +10642,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -10682,7 +10690,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -10753,7 +10761,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -10816,7 +10824,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -10894,7 +10902,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -10940,7 +10948,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -10995,7 +11003,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -11054,7 +11062,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -11137,7 +11145,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -11253,7 +11261,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -11430,7 +11438,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -12195,7 +12203,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -12359,7 +12367,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -12498,7 +12506,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -12565,7 +12573,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -12632,7 +12640,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -12727,7 +12735,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -12812,7 +12820,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -12867,7 +12875,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -12973,7 +12981,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -13044,7 +13052,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -13114,7 +13122,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -13182,7 +13190,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -13220,7 +13228,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -13258,7 +13266,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -13638,7 +13646,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -13710,7 +13718,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -13781,7 +13789,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -13921,7 +13929,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -13959,6 +13967,14 @@
"format": "uuid"
}
},
+ {
+ "name": "parentContentKey",
+ "in": "query",
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ },
{
"name": "skip",
"in": "query",
@@ -14011,7 +14027,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -14088,7 +14104,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -14233,7 +14249,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -14306,7 +14322,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -14436,7 +14452,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -14578,7 +14594,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -14645,7 +14661,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -14726,7 +14742,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -14773,7 +14789,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -14907,7 +14923,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -14979,7 +14995,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -15076,7 +15092,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -15216,7 +15232,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -15362,7 +15378,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -15422,7 +15438,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -15493,7 +15509,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -15556,7 +15572,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -15677,7 +15693,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -15938,7 +15954,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -16010,7 +16026,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -16107,7 +16123,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -16247,7 +16263,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -16338,7 +16354,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -16442,7 +16458,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -16553,7 +16569,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -16629,7 +16645,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -16693,7 +16709,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -16823,7 +16839,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -16902,7 +16918,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -16937,7 +16953,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -17056,7 +17072,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -17120,7 +17136,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -17239,7 +17255,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -17313,7 +17329,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -17424,7 +17440,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -17510,7 +17526,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -17640,7 +17656,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -17715,7 +17731,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -17770,7 +17786,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -17818,7 +17834,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -17889,7 +17905,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -17952,7 +17968,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -18056,7 +18072,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -18162,7 +18178,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -18223,7 +18239,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -18320,7 +18336,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -18460,7 +18476,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -18527,7 +18543,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -18769,7 +18785,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -18841,7 +18857,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -18912,7 +18928,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -19052,7 +19068,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -19141,7 +19157,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -19255,7 +19271,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -19348,7 +19364,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -19395,7 +19411,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -19450,7 +19466,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -19570,7 +19586,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -19823,7 +19839,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -19895,7 +19911,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -19992,7 +20008,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -20132,7 +20148,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -20274,7 +20290,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -20321,7 +20337,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -20440,7 +20456,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -20514,7 +20530,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -20561,7 +20577,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -20596,7 +20612,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -20709,7 +20725,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -20807,7 +20823,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -20854,7 +20870,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -20909,7 +20925,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -21041,7 +21057,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -21113,7 +21129,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -21184,7 +21200,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -21298,7 +21314,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -21371,7 +21387,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -21426,7 +21442,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -21608,7 +21624,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -21679,7 +21695,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -21775,7 +21791,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -21914,7 +21930,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -22070,7 +22086,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -22216,7 +22232,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -22287,7 +22303,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -22383,7 +22399,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -22450,7 +22466,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -22509,7 +22525,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -22556,7 +22572,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -22618,7 +22634,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -22673,7 +22689,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -22764,7 +22780,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -22829,7 +22845,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -22903,7 +22919,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -22980,6 +22996,38 @@
]
}
},
+ "/umbraco/management/api/v1/published-cache/rebuild/status": {
+ "get": {
+ "tags": [
+ "Published Cache"
+ ],
+ "operationId": "GetPublishedCacheRebuildStatus",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/RebuildStatusModel"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The resource is protected and requires an authentication token"
+ }
+ },
+ "security": [
+ {
+ "Backoffice User": [ ]
+ }
+ ]
+ }
+ },
"/umbraco/management/api/v1/published-cache/reload": {
"post": {
"tags": [
@@ -23101,7 +23149,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -23165,7 +23213,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -23210,7 +23258,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -23257,7 +23305,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -23300,7 +23348,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -23416,7 +23464,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -23476,7 +23524,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -23554,7 +23602,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -23736,7 +23784,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -23807,7 +23855,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -23903,7 +23951,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -24042,7 +24090,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -24198,7 +24246,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -24344,7 +24392,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -24415,7 +24463,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -24511,7 +24559,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -24570,7 +24618,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -24632,7 +24680,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -24687,7 +24735,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -24855,7 +24903,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -24948,7 +24996,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -25079,7 +25127,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -25279,7 +25327,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -25440,7 +25488,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -25825,7 +25873,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -25896,7 +25944,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -25992,7 +26040,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -26131,7 +26179,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -26287,7 +26335,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -26433,7 +26481,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -26504,7 +26552,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -26600,7 +26648,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -26659,7 +26707,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -26721,7 +26769,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -26776,7 +26824,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -26904,7 +26952,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -26939,7 +26987,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -27030,7 +27078,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -27284,7 +27332,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -27356,7 +27404,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -27453,7 +27501,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -27593,7 +27641,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -27640,7 +27688,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -27718,7 +27766,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -27765,7 +27813,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -27813,7 +27861,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -27876,7 +27924,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -27931,7 +27979,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -28321,7 +28369,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -28382,7 +28430,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -28818,7 +28866,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -28960,7 +29008,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -29078,7 +29126,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -29143,7 +29191,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -29203,7 +29251,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -29274,7 +29322,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -29388,7 +29436,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -29513,7 +29561,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -29636,7 +29684,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -29776,7 +29824,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -29959,7 +30007,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -30062,7 +30110,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -30141,7 +30189,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -30201,7 +30249,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -30298,7 +30346,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -30438,7 +30486,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -30513,7 +30561,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -30620,7 +30668,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -30692,7 +30740,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -30822,7 +30870,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -30938,7 +30986,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -30993,7 +31041,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -31074,7 +31122,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -31196,7 +31244,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -31307,7 +31355,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -31447,7 +31495,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -31494,7 +31542,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -32081,7 +32129,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -32418,7 +32466,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -32549,7 +32597,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -32695,7 +32743,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -32823,7 +32871,7 @@
}
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -32949,7 +32997,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -33088,7 +33136,7 @@
}
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -33162,7 +33210,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -33267,7 +33315,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -33383,7 +33431,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -33515,7 +33563,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -33587,7 +33635,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -33684,7 +33732,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -33824,7 +33872,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource",
+ "description": "The authenticated user does not have access to this resource",
"headers": {
"Umb-Notifications": {
"description": "The list of notifications produced during the request.",
@@ -33952,7 +34000,7 @@
"description": "The resource is protected and requires an authentication token"
},
"403": {
- "description": "The authenticated user do not have access to this resource"
+ "description": "The authenticated user does not have access to this resource"
}
},
"security": [
@@ -36826,6 +36874,8 @@
"required": [
"documentType",
"id",
+ "isProtected",
+ "isTrashed",
"sortOrder",
"values",
"variants"
@@ -36871,6 +36921,12 @@
}
]
},
+ "isTrashed": {
+ "type": "boolean"
+ },
+ "isProtected": {
+ "type": "boolean"
+ },
"updater": {
"type": "string",
"nullable": true
@@ -42881,6 +42937,18 @@
},
"additionalProperties": false
},
+ "RebuildStatusModel": {
+ "required": [
+ "isRebuilding"
+ ],
+ "type": "object",
+ "properties": {
+ "isRebuilding": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false
+ },
"RedirectStatusModel": {
"enum": [
"Enabled",
diff --git a/src/Umbraco.Cms.Api.Management/OpenApi/BackOfficeSecurityRequirementsOperationFilterBase.cs b/src/Umbraco.Cms.Api.Management/OpenApi/BackOfficeSecurityRequirementsOperationFilterBase.cs
index 6557834947..907b91cdac 100644
--- a/src/Umbraco.Cms.Api.Management/OpenApi/BackOfficeSecurityRequirementsOperationFilterBase.cs
+++ b/src/Umbraco.Cms.Api.Management/OpenApi/BackOfficeSecurityRequirementsOperationFilterBase.cs
@@ -1,4 +1,4 @@
-using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.OpenApi.Models;
using Swashbuckle.AspNetCore.SwaggerGen;
@@ -59,7 +59,7 @@ public abstract class BackOfficeSecurityRequirementsOperationFilterBase : IOpera
{
operation.Responses.Add(StatusCodes.Status403Forbidden.ToString(), new OpenApiResponse()
{
- Description = "The authenticated user do not have access to this resource"
+ Description = "The authenticated user does not have access to this resource"
});
}
}
diff --git a/src/Umbraco.Cms.Api.Management/ViewModels/PublishedCache/RebuildStatusModel.cs b/src/Umbraco.Cms.Api.Management/ViewModels/PublishedCache/RebuildStatusModel.cs
new file mode 100644
index 0000000000..b966cf4edb
--- /dev/null
+++ b/src/Umbraco.Cms.Api.Management/ViewModels/PublishedCache/RebuildStatusModel.cs
@@ -0,0 +1,6 @@
+namespace Umbraco.Cms.Api.Management.ViewModels.PublishedCache;
+
+public class RebuildStatusModel
+{
+ public bool IsRebuilding { get; set; }
+}
diff --git a/src/Umbraco.Cms.Imaging.ImageSharp2/Umbraco.Cms.Imaging.ImageSharp2.csproj b/src/Umbraco.Cms.Imaging.ImageSharp2/Umbraco.Cms.Imaging.ImageSharp2.csproj
index 16bac191d5..7563b27d74 100644
--- a/src/Umbraco.Cms.Imaging.ImageSharp2/Umbraco.Cms.Imaging.ImageSharp2.csproj
+++ b/src/Umbraco.Cms.Imaging.ImageSharp2/Umbraco.Cms.Imaging.ImageSharp2.csproj
@@ -4,7 +4,7 @@
Adds imaging support using ImageSharp/ImageSharp.Web version 2 to Umbraco CMS.
-
+
diff --git a/src/Umbraco.Cms.StaticAssets/wwwroot/umbraco/assets/logo_blue.svg b/src/Umbraco.Cms.StaticAssets/wwwroot/umbraco/assets/logo_blue.svg
new file mode 100644
index 0000000000..213e629228
--- /dev/null
+++ b/src/Umbraco.Cms.StaticAssets/wwwroot/umbraco/assets/logo_blue.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/Umbraco.Cms.StaticAssets/wwwroot/umbraco/assets/logo_dark.svg b/src/Umbraco.Cms.StaticAssets/wwwroot/umbraco/assets/logo_dark.svg
index 578bf592f6..5a06848ca2 100644
--- a/src/Umbraco.Cms.StaticAssets/wwwroot/umbraco/assets/logo_dark.svg
+++ b/src/Umbraco.Cms.StaticAssets/wwwroot/umbraco/assets/logo_dark.svg
@@ -1,51 +1 @@
-
-
-
+
\ No newline at end of file
diff --git a/src/Umbraco.Cms.StaticAssets/wwwroot/umbraco/assets/logo_light.svg b/src/Umbraco.Cms.StaticAssets/wwwroot/umbraco/assets/logo_light.svg
index 01f7260cd3..2cf6f016b5 100644
--- a/src/Umbraco.Cms.StaticAssets/wwwroot/umbraco/assets/logo_light.svg
+++ b/src/Umbraco.Cms.StaticAssets/wwwroot/umbraco/assets/logo_light.svg
@@ -1,51 +1 @@
-
-
-
+
\ No newline at end of file
diff --git a/src/Umbraco.Core/Configuration/Models/ContentSettings.cs b/src/Umbraco.Core/Configuration/Models/ContentSettings.cs
index 4eecac3fd7..3e89369f00 100644
--- a/src/Umbraco.Core/Configuration/Models/ContentSettings.cs
+++ b/src/Umbraco.Core/Configuration/Models/ContentSettings.cs
@@ -23,6 +23,8 @@ public class ContentSettings
internal const string StaticLoginLogoImage = "assets/logo_light.svg";
internal const string StaticLoginLogoImageAlternative = "assets/logo_dark.svg";
internal const string StaticBackOfficeLogo = "assets/logo.svg";
+ internal const string StaticBackOfficeLogoAlternative = "assets/logo_blue.svg";
+ internal const bool StaticHideBackOfficeLogo = false;
internal const bool StaticDisableDeleteWhenReferenced = false;
internal const bool StaticDisableUnpublishWhenReferenced = false;
internal const bool StaticAllowEditInvariantFromNonDefault = false;
@@ -87,9 +89,25 @@ public class ContentSettings
///
/// Gets or sets a value for the path to the backoffice logo.
///
+ /// The alternative version of this logo can be found at .
[DefaultValue(StaticBackOfficeLogo)]
public string BackOfficeLogo { get; set; } = StaticBackOfficeLogo;
+ ///
+ /// Gets or sets a value for the path to the alternative backoffice logo, which can be shown
+ /// on top of a light background.
+ ///
+ /// This is the alternative version to the regular logo found at .
+ [DefaultValue(StaticBackOfficeLogoAlternative)]
+ public string BackOfficeLogoAlternative { get; set; } = StaticBackOfficeLogoAlternative;
+
+ ///
+ /// Gets or sets a value indicating whether to hide the backoffice umbraco logo or not.
+ ///
+ [DefaultValue(StaticHideBackOfficeLogo)]
+ [Obsolete("This setting is no longer used and will be removed in future versions. An alternative BackOffice logo can be set using the BackOfficeLogo setting.")]
+ public bool HideBackOfficeLogo { get; set; } = StaticHideBackOfficeLogo;
+
///
/// Gets or sets a value indicating whether to disable the deletion of items referenced by other items.
///
diff --git a/src/Umbraco.Core/EmbeddedResources/Lang/da.xml b/src/Umbraco.Core/EmbeddedResources/Lang/da.xml
index 1fb0445bb1..03a4ab185e 100644
--- a/src/Umbraco.Core/EmbeddedResources/Lang/da.xml
+++ b/src/Umbraco.Core/EmbeddedResources/Lang/da.xml
@@ -114,13 +114,23 @@ Mange hilsner fra Umbraco robotten
%1% for mange.]]>Ét eller flere områder lever ikke op til kravene for antal indholdselementer.Den valgte medie type er ugyldig.
+ Det valgte indhold er af en ugyldig type.
+ Det valgte indhold eksistere ikke.Det er kun tilladt at vælge ét medie.
- Valgt medie kommer fra en ugyldig mappe.
+ Valgt indhold kommer fra en ugyldig mappe.Værdien %0% er mindre end det tilladte minimum af %1%.Værdien %0% er større end det tilladte maksimum af %1%.
+ Den ene enhed givet er mindre end det tilladte minimum af %1%.
+ De %0% enheder givet er mindre end det tilladte minimum af %1%.
+ De %0% enheder givet er større end det tilladte minimum af %1%.Værdien %0% passer ikke med den konfigureret trin værdi af %1% og mindste værdi af %2%.Værdien %0% forventes ikke at indeholde et spænd.
+ Tekststrengen er længere end den tilladte længde på %0% tegn.Værdien %0% forventes at have en værdi der er større end fra værdien.
+ Det valgte indhold er af den forkerte type.
+ "Værdien '%0%' er ikke en af de tilgængelige valgmuligheder.
+ Værdierne '%0%' er ikke tilstede i de tilgængelige valgmuligheder.
+ "Den valgte farve '%0%' er ikke en af de tilgængelige valgmuligheder.Slettet indhold med Id: {0} Relateret til original "parent" med id: {1}
diff --git a/src/Umbraco.Core/EmbeddedResources/Lang/en.xml b/src/Umbraco.Core/EmbeddedResources/Lang/en.xml
index e1fdba85d4..730fa1a6e9 100644
--- a/src/Umbraco.Core/EmbeddedResources/Lang/en.xml
+++ b/src/Umbraco.Core/EmbeddedResources/Lang/en.xml
@@ -378,6 +378,7 @@
Value is invalid, it does not match the correct pattern%1% more.]]>%1% too many.]]>
+ The string length exceeds the maximum length of %0% characters.The content amount requirements are not met for one or more areas.Invalid member group nameInvalid user group name
@@ -389,12 +390,22 @@
Username '%0%' is already takenThe value %0% is less than the allowed minimum value of %1%The value %0% is greater than the allowed maximum value of %1%
+ The 1 item provided is less than the allowed minimum of %1%
+ The %0% items provided are less than the allowed minimum of %1%
+ The %0% items provided are greater than the allowed maximum of %1%The value %0% does not correspond with the configured step value of %1% and minimum value of %2%The value %0% is not expected to contain a rangeThe value %0% is not expected to have a to value less than the from valueThe chosen media type is invalid.
+ The chosen content is of invalid type.
+ The chosen content does not exist.Multiple selected media is not allowed.
- The selected media is from the wrong folder.
+ The value '%0%' is not one of the available options.
+ The values '%0%' are not found in the the available options.
+ "The selected colour '%0%' is not one of the available options.
+ The selected item is from the wrong folder.
+ The selected item is of the wrong type.
+ "The value '%0%' is not one of the available options.
-
+
\ No newline at end of file
diff --git a/src/Umbraco.Web.UI.Client/src/mocks/handlers/backoffice/assets/logo_light.svg b/src/Umbraco.Web.UI.Client/src/mocks/handlers/backoffice/assets/logo_light.svg
index 01f7260cd3..2cf6f016b5 100644
--- a/src/Umbraco.Web.UI.Client/src/mocks/handlers/backoffice/assets/logo_light.svg
+++ b/src/Umbraco.Web.UI.Client/src/mocks/handlers/backoffice/assets/logo_light.svg
@@ -1,51 +1 @@
-
-
-
+
\ No newline at end of file
diff --git a/src/Umbraco.Web.UI.Client/src/mocks/handlers/backoffice/backoffice.handlers.ts b/src/Umbraco.Web.UI.Client/src/mocks/handlers/backoffice/backoffice.handlers.ts
index ddf3473bbf..b1760e7bec 100644
--- a/src/Umbraco.Web.UI.Client/src/mocks/handlers/backoffice/backoffice.handlers.ts
+++ b/src/Umbraco.Web.UI.Client/src/mocks/handlers/backoffice/backoffice.handlers.ts
@@ -2,6 +2,7 @@ const { rest } = window.MockServiceWorker;
import { umbracoPath } from '@umbraco-cms/backoffice/utils';
const logoUrl = './src/mocks/handlers/backoffice/assets/logo.svg';
+const logoAlternativeUrl = './src/mocks/handlers/backoffice/assets/logo_blue.svg';
const loginLogoUrl = './src/mocks/handlers/backoffice/assets/logo_light.svg';
const loginLogoAlternativeUrl = './src/mocks/handlers/backoffice/assets/logo_dark.svg';
const loginBackgroundUrl = './src/mocks/handlers/backoffice/assets/login.jpg';
@@ -16,6 +17,15 @@ export const handlers = [
ctx.body(imageBuffer),
);
}),
+ rest.get(umbracoPath('/security/back-office/graphics/logo-alternative'), async (req, res, ctx) => {
+ const imageBuffer = await fetch(logoAlternativeUrl).then((res) => res.arrayBuffer());
+
+ return res(
+ ctx.set('Content-Length', imageBuffer.byteLength.toString()),
+ ctx.set('Content-Type', 'image/svg+xml'),
+ ctx.body(imageBuffer),
+ );
+ }),
rest.get(umbracoPath('/security/back-office/graphics/login-logo'), async (req, res, ctx) => {
const imageBuffer = await fetch(loginLogoUrl).then((res) => res.arrayBuffer());
diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/clipboard/block/paste/block-to-block-grid-paste-translator.test.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/clipboard/block/paste/block-to-block-grid-paste-translator.test.ts
index 61445c9ab8..571720619f 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/clipboard/block/paste/block-to-block-grid-paste-translator.test.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/clipboard/block/paste/block-to-block-grid-paste-translator.test.ts
@@ -5,6 +5,7 @@ import { UMB_BLOCK_GRID_PROPERTY_EDITOR_SCHEMA_ALIAS } from '../../../property-e
import type { UmbBlockGridValueModel } from '../../../types.js';
import { UmbBlockToBlockGridClipboardPastePropertyValueTranslator } from './block-to-block-grid-paste-translator.js';
import type { UmbBlockClipboardEntryValueModel } from '@umbraco-cms/backoffice/block';
+import type { UmbBlockGridPropertyEditorConfig } from '../../../property-editors/block-grid-editor/types.js';
@customElement('test-controller-host')
class UmbTestControllerHostElement extends UmbControllerHostElementMixin(HTMLElement) {}
@@ -55,22 +56,26 @@ describe('UmbBlockToBlockGridClipboardPastePropertyValueTranslator', () => {
settingsData: blockGridPropertyValue.settingsData,
};
- const config1: Array<{ alias: string; value: [{ contentElementTypeKey: string }] }> = [
+ const config1: UmbBlockGridPropertyEditorConfig = [
{
alias: 'blocks',
value: [
{
+ allowAtRoot: true,
+ allowInAreas: true,
contentElementTypeKey: 'contentTypeKey',
},
],
},
];
- const config2: Array<{ alias: string; value: [{ contentElementTypeKey: string }] }> = [
+ const config2: UmbBlockGridPropertyEditorConfig = [
{
alias: 'blocks',
value: [
{
+ allowAtRoot: true,
+ allowInAreas: true,
contentElementTypeKey: 'contentTypeKey2',
},
],
@@ -101,12 +106,12 @@ describe('UmbBlockToBlockGridClipboardPastePropertyValueTranslator', () => {
describe('isCompatibleValue', () => {
it('returns true if the value is compatible', async () => {
- const result = await copyTranslator.isCompatibleValue(blockClipboardEntryValue, config1);
+ const result = await copyTranslator.isCompatibleValue(blockGridPropertyValue, config1);
expect(result).to.be.true;
});
it('returns false if the value is not compatible', async () => {
- const result = await copyTranslator.isCompatibleValue(blockClipboardEntryValue, config2);
+ const result = await copyTranslator.isCompatibleValue(blockGridPropertyValue, config2);
expect(result).to.be.false;
});
});
diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/clipboard/block/paste/block-to-block-grid-paste-translator.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/clipboard/block/paste/block-to-block-grid-paste-translator.ts
index 1f7cc20ba8..67081389ce 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/clipboard/block/paste/block-to-block-grid-paste-translator.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/clipboard/block/paste/block-to-block-grid-paste-translator.ts
@@ -1,5 +1,6 @@
import type { UmbBlockGridLayoutModel, UmbBlockGridValueModel } from '../../../types.js';
import { UMB_BLOCK_GRID_PROPERTY_EDITOR_SCHEMA_ALIAS } from '../../../constants.js';
+import type { UmbBlockGridPropertyEditorConfig } from '../../../property-editors/block-grid-editor/types.js';
import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api';
import type { UmbClipboardPastePropertyValueTranslator } from '@umbraco-cms/backoffice/clipboard';
import type { UmbBlockClipboardEntryValueModel, UmbBlockLayoutBaseModel } from '@umbraco-cms/backoffice/block';
@@ -44,19 +45,18 @@ export class UmbBlockToBlockGridClipboardPastePropertyValueTranslator
/**
* Determines if a block clipboard entry value is compatible with the Block Grid property editor.
- * @param {UmbBlockClipboardEntryValueModel} value The block clipboard entry value.
- * @param {*} config The Block Grid property editor configuration.
+ * @param {UmbBlockClipboardEntryValueModel} propertyValue The block clipboard entry value.
+ * @param {UmbBlockGridPropertyEditorConfig} config The Block Grid property editor configuration.
* @returns {Promise} A promise that resolves with a boolean indicating if the value is compatible.
* @memberof UmbBlockToBlockGridClipboardPastePropertyValueTranslator
*/
async isCompatibleValue(
- value: UmbBlockClipboardEntryValueModel,
- // TODO: Replace any with the correct type.
- config: Array<{ alias: string; value: [{ contentElementTypeKey: string }] }>,
+ propertyValue: UmbBlockGridValueModel,
+ config: UmbBlockGridPropertyEditorConfig,
): Promise {
const allowedBlockContentTypes =
config.find((c) => c.alias === 'blocks')?.value.map((b) => b.contentElementTypeKey) ?? [];
- const blockContentTypes = value.contentData.map((c) => c.contentTypeKey);
+ const blockContentTypes = propertyValue.contentData.map((c) => c.contentTypeKey);
return blockContentTypes?.every((b) => allowedBlockContentTypes.includes(b)) ?? false;
}
}
diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/clipboard/grid-block/paste/grid-block-to-block-grid-paste-translator.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/clipboard/grid-block/paste/grid-block-to-block-grid-paste-translator.ts
index 150d714843..2b3a2a0e08 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/clipboard/grid-block/paste/grid-block-to-block-grid-paste-translator.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/clipboard/grid-block/paste/grid-block-to-block-grid-paste-translator.ts
@@ -1,3 +1,4 @@
+import type { UmbBlockGridPropertyEditorConfig } from '../../../property-editors/block-grid-editor/types.js';
import { UMB_BLOCK_GRID_PROPERTY_EDITOR_SCHEMA_ALIAS } from '../../../property-editors/constants.js';
import type { UmbBlockGridValueModel } from '../../../types.js';
import type { UmbGridBlockClipboardEntryValueModel } from '../../types.js';
@@ -35,20 +36,22 @@ export class UmbGridBlockToBlockGridClipboardPastePropertyValueTranslator
/**
* Checks if the clipboard entry value is compatible with the config.
- * @param {UmbGridBlockClipboardEntryValueModel} value - The grid block clipboard entry value.
+ * @param {UmbGridBlockClipboardEntryValueModel} propertyValue - The grid block clipboard entry value.
* @param {*} config - The Property Editor config.
+ * @param {(value, config) => Promise} filter - The filter function.
* @returns {Promise} {Promise}
* @memberof UmbGridBlockToBlockGridClipboardPastePropertyValueTranslator
*/
async isCompatibleValue(
- value: UmbGridBlockClipboardEntryValueModel,
- // TODO: Replace any with the correct type.
- config: Array<{ alias: string; value: [{ contentElementTypeKey: string }] }>,
+ propertyValue: UmbBlockGridValueModel,
+ config: UmbBlockGridPropertyEditorConfig,
+ filter?: (propertyValue: UmbBlockGridValueModel, config: UmbBlockGridPropertyEditorConfig) => Promise,
): Promise {
- const allowedBlockContentTypes =
- config.find((c) => c.alias === 'blocks')?.value.map((b) => b.contentElementTypeKey) ?? [];
- const blockContentTypes = value.contentData.map((c) => c.contentTypeKey);
- return blockContentTypes?.every((b) => allowedBlockContentTypes.includes(b)) ?? false;
+ const blocksConfig = config.find((c) => c.alias === 'blocks');
+ const allowedBlockContentTypes = blocksConfig?.value.map((b) => b.contentElementTypeKey) ?? [];
+ const blockContentTypes = propertyValue.contentData.map((c) => c.contentTypeKey);
+ const allContentTypesAllowed = blockContentTypes?.every((b) => allowedBlockContentTypes.includes(b)) ?? false;
+ return allContentTypesAllowed && (!filter || (await filter(propertyValue, config)));
}
}
diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/clipboard/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/clipboard/manifests.ts
index 6546d9da11..7fdabef375 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/clipboard/manifests.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/clipboard/manifests.ts
@@ -1,6 +1,7 @@
import { UMB_BLOCK_GRID_PROPERTY_EDITOR_UI_ALIAS } from '../property-editors/constants.js';
import { manifests as blockManifests } from './block/manifests.js';
import { manifests as gridBlockManifests } from './grid-block/manifests.js';
+import type { UmbExtensionManifestKind } from '@umbraco-cms/backoffice/extension-registry';
import {
UMB_PROPERTY_HAS_VALUE_CONDITION_ALIAS,
UMB_WRITABLE_PROPERTY_CONDITION_ALIAS,
@@ -8,7 +9,7 @@ import {
const forPropertyEditorUis = [UMB_BLOCK_GRID_PROPERTY_EDITOR_UI_ALIAS];
-export const manifests: Array = [
+export const manifests: Array = [
{
type: 'propertyContext',
kind: 'clipboard',
@@ -31,18 +32,6 @@ export const manifests: Array = [
},
],
},
- {
- type: 'propertyAction',
- kind: 'pasteFromClipboard',
- alias: 'Umb.PropertyAction.BlockGrid.Clipboard.Paste',
- name: 'Block Grid Paste From Clipboard Property Action',
- forPropertyEditorUis,
- conditions: [
- {
- alias: UMB_WRITABLE_PROPERTY_CONDITION_ALIAS,
- },
- ],
- },
...blockManifests,
...gridBlockManifests,
];
diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/components/block-grid-entry/block-grid-entry.element.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/components/block-grid-entry/block-grid-entry.element.ts
index 008acd78ca..80807a87b1 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/components/block-grid-entry/block-grid-entry.element.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/components/block-grid-entry/block-grid-entry.element.ts
@@ -446,7 +446,7 @@ export class UmbBlockGridEntryElement extends UmbLitElement implements UmbProper
};
override render() {
- return this.contentKey
+ return this.contentKey && (this._contentTypeAlias || this._unsupported)
? html`
${this.#renderCreateBeforeInlineButton()}
diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/context/block-grid-entries.context.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/context/block-grid-entries.context.ts
index bb1fe4cc37..e410f894d0 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/context/block-grid-entries.context.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/context/block-grid-entries.context.ts
@@ -14,6 +14,7 @@ import type {
UmbBlockGridValueModel,
} from '../types.js';
import { forEachBlockLayoutEntryOf } from '../utils/index.js';
+import type { UmbBlockGridPropertyEditorConfig } from '../property-editors/block-grid-editor/types.js';
import { UMB_BLOCK_GRID_MANAGER_CONTEXT } from './block-grid-manager.context-token.js';
import type { UmbBlockGridScalableContainerContext } from './block-grid-scale-manager/block-grid-scale-manager.controller.js';
import {
@@ -170,7 +171,7 @@ export class UmbBlockGridEntriesContext
// TODO: consider moving some of this logic to the clipboard property context
const propertyContext = await this.getContext(UMB_PROPERTY_CONTEXT);
- const config = propertyContext.getConfig();
+ const config = propertyContext.getConfig() as UmbBlockGridPropertyEditorConfig;
const valueResolver = new UmbClipboardPastePropertyValueTranslatorValueResolver(this);
return {
@@ -198,7 +199,8 @@ export class UmbBlockGridEntriesContext
clipboardEntryDetail.values,
UMB_BLOCK_GRID_PROPERTY_EDITOR_UI_ALIAS,
);
- return pasteTranslator.isCompatibleValue(value, config);
+
+ return pasteTranslator.isCompatibleValue(value, config, (value) => this.#clipboardEntriesFilter(value));
}
return true;
@@ -269,6 +271,21 @@ export class UmbBlockGridEntriesContext
});
}
+ async #clipboardEntriesFilter(propertyValue: UmbBlockGridValueModel) {
+ const allowedElementTypeKeys = this.#retrieveAllowedElementTypes().map((x) => x.contentElementTypeKey);
+
+ const rootContentKeys = propertyValue.layout['Umbraco.BlockGrid']?.map((block) => block.contentKey) ?? [];
+ const rootContentTypeKeys = propertyValue.contentData
+ .filter((content) => rootContentKeys.includes(content.key))
+ .map((content) => content.contentTypeKey);
+
+ const allContentTypesAllowed = rootContentTypeKeys.every((contentKey) =>
+ allowedElementTypeKeys.includes(contentKey),
+ );
+
+ return allContentTypesAllowed;
+ }
+
protected _gotBlockManager() {
if (!this._manager) return;
diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/manifests.ts
index 209e3eef67..5b760bd190 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/manifests.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/manifests.ts
@@ -3,8 +3,9 @@ import { manifests as componentManifests } from './components/manifests.js';
import { manifests as propertyEditorManifests } from './property-editors/manifests.js';
import { manifests as propertyValueClonerManifests } from './property-value-cloner/manifests.js';
import { manifests as workspaceManifests } from './workspace/manifests.js';
+import type { UmbExtensionManifestKind } from '@umbraco-cms/backoffice/extension-registry';
-export const manifests: Array = [
+export const manifests: Array = [
...clipboardManifests,
...componentManifests,
...propertyEditorManifests,
diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/property-editors/block-grid-editor/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/property-editors/block-grid-editor/manifests.ts
index c6cc6a7dcd..c575670a46 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/property-editors/block-grid-editor/manifests.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/property-editors/block-grid-editor/manifests.ts
@@ -1,8 +1,10 @@
import { manifest as blockGridSchemaManifest } from './Umbraco.BlockGrid.js';
import { UMB_BLOCK_GRID_PROPERTY_EDITOR_SCHEMA_ALIAS, UMB_BLOCK_GRID_PROPERTY_EDITOR_UI_ALIAS } from './constants.js';
+import { manifests as propertyActionManifests } from './property-actions/manifests.js';
+import type { UmbExtensionManifestKind } from '@umbraco-cms/backoffice/extension-registry';
import { UmbStandardBlockValueResolver } from '@umbraco-cms/backoffice/block';
-export const manifests: Array = [
+export const manifests: Array = [
{
type: 'propertyEditorUi',
alias: UMB_BLOCK_GRID_PROPERTY_EDITOR_UI_ALIAS,
@@ -66,7 +68,6 @@ export const manifests: Array = [
},
},
},
- blockGridSchemaManifest,
{
type: 'propertyValueResolver',
alias: 'Umb.PropertyValueResolver.BlockGrid',
@@ -76,4 +77,6 @@ export const manifests: Array = [
editorAlias: UMB_BLOCK_GRID_PROPERTY_EDITOR_SCHEMA_ALIAS,
},
},
+ blockGridSchemaManifest,
+ ...propertyActionManifests,
];
diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/property-editors/block-grid-editor/property-actions/block-grid-paste-from-clipboard.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/property-editors/block-grid-editor/property-actions/block-grid-paste-from-clipboard.ts
new file mode 100644
index 0000000000..1480e09dcf
--- /dev/null
+++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/property-editors/block-grid-editor/property-actions/block-grid-paste-from-clipboard.ts
@@ -0,0 +1,52 @@
+import type { UmbBlockGridValueModel } from '../../../types.js';
+import type { UmbBlockGridPropertyEditorConfig } from '../types.js';
+import { UmbPasteFromClipboardPropertyAction } from '@umbraco-cms/backoffice/clipboard';
+
+/**
+ * The Block Grid Paste From Clipboard Property Action.
+ * @exports
+ * @class UmbBlockGridPasteFromClipboardPropertyAction
+ * @augments UmbPasteFromClipboardPropertyAction
+ */
+export class UmbBlockGridPasteFromClipboardPropertyAction extends UmbPasteFromClipboardPropertyAction {
+ /**
+ * Filters the picker based on the block grid property editor config.
+ * @param {UmbBlockGridValueModel} propertyValue The property editor value.
+ * @param {UmbBlockGridPropertyEditorConfig} config The property editor config.
+ * @override
+ * @protected
+ * @memberof UmbBlockGridPasteFromClipboardPropertyAction
+ */
+ protected override async _pickerFilter(
+ propertyValue: UmbBlockGridValueModel,
+ config: UmbBlockGridPropertyEditorConfig,
+ ) {
+ // The property action always paste in the root of the grid so
+ // we need to check if the content types are allowed at the root
+ const blocksConfig = config.find((configValue) => configValue.alias === 'blocks');
+
+ const allowedRootContentTypeKeys =
+ blocksConfig?.value
+ .map((blockConfig) => {
+ if (blockConfig.allowAtRoot) {
+ return blockConfig.contentElementTypeKey;
+ } else {
+ return undefined;
+ }
+ })
+ .filter((contentTypeKey) => contentTypeKey !== undefined) ?? [];
+
+ const rootContentKeys = propertyValue.layout['Umbraco.BlockGrid']?.map((block) => block.contentKey) ?? [];
+ const rootContentTypeKeys = propertyValue.contentData
+ .filter((content) => rootContentKeys.includes(content.key))
+ .map((content) => content.contentTypeKey);
+
+ // ensure all content types in the paste value are allowed in the grid root
+ const allContentTypesAllowedAtRoot = rootContentTypeKeys.every((contentKey) =>
+ allowedRootContentTypeKeys.includes(contentKey),
+ );
+
+ return allContentTypesAllowedAtRoot;
+ }
+}
+export { UmbBlockGridPasteFromClipboardPropertyAction as api };
diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/property-editors/block-grid-editor/property-actions/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/property-editors/block-grid-editor/property-actions/manifests.ts
new file mode 100644
index 0000000000..8b2befb3a1
--- /dev/null
+++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/property-editors/block-grid-editor/property-actions/manifests.ts
@@ -0,0 +1,20 @@
+import { UMB_BLOCK_GRID_PROPERTY_EDITOR_UI_ALIAS } from '../constants.js';
+import { UMB_WRITABLE_PROPERTY_CONDITION_ALIAS } from '@umbraco-cms/backoffice/property';
+import type { UmbExtensionManifestKind } from '@umbraco-cms/backoffice/extension-registry';
+import { UMB_PROPERTY_ACTION_PASTE_FROM_CLIPBOARD_KIND_MANIFEST } from '@umbraco-cms/backoffice/clipboard';
+
+export const manifests: Array = [
+ {
+ ...UMB_PROPERTY_ACTION_PASTE_FROM_CLIPBOARD_KIND_MANIFEST.manifest,
+ type: 'propertyAction',
+ alias: 'Umb.PropertyAction.BlockGrid.Clipboard.Paste',
+ name: 'Block Grid Paste From Clipboard Property Action',
+ api: () => import('./block-grid-paste-from-clipboard.js'),
+ forPropertyEditorUis: [UMB_BLOCK_GRID_PROPERTY_EDITOR_UI_ALIAS],
+ conditions: [
+ {
+ alias: UMB_WRITABLE_PROPERTY_CONDITION_ALIAS,
+ },
+ ],
+ },
+];
diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/property-editors/block-grid-editor/types.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/property-editors/block-grid-editor/types.ts
new file mode 100644
index 0000000000..99e701404c
--- /dev/null
+++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/property-editors/block-grid-editor/types.ts
@@ -0,0 +1,9 @@
+// TODO: add the missing fields to the type
+export type UmbBlockGridPropertyEditorConfig = Array<{
+ alias: 'blocks';
+ value: Array<{
+ allowAtRoot: boolean;
+ allowInAreas: boolean;
+ contentElementTypeKey: string;
+ }>;
+}>;
diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/property-editors/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/property-editors/manifests.ts
index 8a797e8068..37621422be 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/property-editors/manifests.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/property-editors/manifests.ts
@@ -5,8 +5,9 @@ import { manifests as blockGridEditorManifests } from './block-grid-editor/manif
import { manifest as blockGridGroupConfiguration } from './block-grid-group-configuration/manifests.js';
import { manifest as blockGridLayoutStylesheet } from './block-grid-layout-stylesheet/manifests.js';
import { manifest as blockGridTypeConfiguration } from './block-grid-type-configuration/manifests.js';
+import type { UmbExtensionManifestKind } from '@umbraco-cms/backoffice/extension-registry';
-export const manifests: Array = [
+export const manifests: Array = [
blockGridAreaTypePermission,
blockGridAreasConfigEditor,
blockGridColumnSpan,
diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-list/clipboard/block/paste/block-to-block-list-paste-translator.test.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-list/clipboard/block/paste/block-to-block-list-paste-translator.test.ts
index a54f811c9c..56fb74df42 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/block/block-list/clipboard/block/paste/block-to-block-list-paste-translator.test.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-list/clipboard/block/paste/block-to-block-list-paste-translator.test.ts
@@ -98,12 +98,12 @@ describe('UmbBlockToBlockListClipboardPastePropertyValueTranslator', () => {
describe('isCompatibleValue', () => {
it('should return true if the content types are allowed', async () => {
- const result = await pasteTranslator.isCompatibleValue(blockClipboardEntryValue, config);
+ const result = await pasteTranslator.isCompatibleValue(blockListPropertyValue, config);
expect(result).to.be.true;
});
it('should return false if the content types are not allowed', async () => {
- const result = await pasteTranslator.isCompatibleValue(blockClipboardEntryValue, config2);
+ const result = await pasteTranslator.isCompatibleValue(blockListPropertyValue, config2);
expect(result).to.be.false;
});
});
diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-list/clipboard/block/paste/block-to-block-list-paste-translator.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-list/clipboard/block/paste/block-to-block-list-paste-translator.ts
index 9493c4ef61..32fe61adef 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/block/block-list/clipboard/block/paste/block-to-block-list-paste-translator.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-list/clipboard/block/paste/block-to-block-list-paste-translator.ts
@@ -35,19 +35,19 @@ export class UmbBlockToBlockListClipboardPastePropertyValueTranslator
/**
* Checks if the clipboard entry value is compatible with the config.
- * @param {UmbBlockClipboardEntryValueModel} value - The block clipboard entry value.
+ * @param {UmbBlockListValueModel} propertyValue - The property value
* @param {*} config - The Property Editor config.
* @returns {Promise} - Whether the clipboard entry value is compatible with the config.
* @memberof UmbBlockToBlockListClipboardPastePropertyValueTranslator
*/
async isCompatibleValue(
- value: UmbBlockClipboardEntryValueModel,
+ propertyValue: UmbBlockListValueModel,
// TODO: Replace any with the correct type.
config: Array<{ alias: string; value: [{ contentElementTypeKey: string }] }>,
): Promise {
const allowedBlockContentTypes =
config.find((c) => c.alias === 'blocks')?.value.map((b) => b.contentElementTypeKey) ?? [];
- const blockContentTypes = value.contentData.map((c) => c.contentTypeKey);
+ const blockContentTypes = propertyValue.contentData.map((c) => c.contentTypeKey);
return blockContentTypes?.every((b) => allowedBlockContentTypes.includes(b)) ?? false;
}
}
diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-list/components/block-list-entry/block-list-entry.element.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-list/components/block-list-entry/block-list-entry.element.ts
index 48624dad3f..af584330ef 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/block/block-list/components/block-list-entry/block-list-entry.element.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-list/components/block-list-entry/block-list-entry.element.ts
@@ -395,7 +395,7 @@ export class UmbBlockListEntryElement extends UmbLitElement implements UmbProper
}
#renderBlock() {
- return this.contentKey
+ return this.contentKey && (this._contentTypeAlias || this._unsupported)
? html`