From d8c8f2b627fc4c432fde9dbb3eb4a6decf26b175 Mon Sep 17 00:00:00 2001 From: Andy Butland Date: Thu, 30 Jan 2025 14:59:20 +0100 Subject: [PATCH 01/39] Added deliveries workspace view to the webhook details workspace. --- .../Webhook/AllWebhookController.cs | 2 +- .../Webhook/Logs/AllWebhookLogController.cs | 11 +- .../Webhook/Logs/WebhookLogController.cs | 33 ++++ .../Webhook/Logs/WebhookLogControllerBase.cs | 21 ++- src/Umbraco.Cms.Api.Management/OpenApi.json | 159 ++++++++++++++++-- .../Repositories/IWebhookLogRepository.cs | 13 +- .../Services/IWebhookLogService.cs | 14 +- .../Services/WebhookLogService.cs | 9 +- .../Implement/WebhookLogRepository.cs | 9 +- .../src/assets/lang/en.ts | 1 + .../src/external/backend-api/src/sdk.gen.ts | 30 +++- .../src/external/backend-api/src/types.gen.ts | 31 +++- .../date-table-column-view.element.ts | 20 +++ .../core/collection/components/index.ts | 1 + .../packages/webhook/collection/constants.ts | 6 +- .../collection/deliveries/constants.ts | 4 + .../webhook/collection/deliveries/index.ts | 2 + .../collection/deliveries/manifests.ts | 17 ++ .../deliveries/repository/constants.ts | 1 + .../collection/deliveries/repository/index.ts | 1 + .../deliveries/repository/manifests.ts | 10 ++ .../collection/deliveries/repository/types.ts | 8 + .../webhook-delivery-collection.repository.ts | 33 ++++ ...-delivery-collection.server.data-source.ts | 56 ++++++ .../webhook/collection/deliveries/types.ts | 5 + .../collection/deliveries/views/constants.ts | 1 + .../collection/deliveries/views/manifests.ts | 23 +++ ...table-status-code-column-layout.element.ts | 39 +++++ ...-delivery-table-collection-view.element.ts | 134 +++++++++++++++ .../src/packages/webhook/collection/index.ts | 4 +- .../packages/webhook/collection/manifests.ts | 20 +-- .../{ => webhooks}/action/manifests.ts | 0 .../webhook/collection/webhooks/constants.ts | 4 + .../webhook/collection/webhooks/index.ts | 2 + .../webhook/collection/webhooks/manifests.ts | 19 +++ .../{ => webhooks}/repository/constants.ts | 0 .../{ => webhooks}/repository/index.ts | 0 .../{ => webhooks}/repository/manifests.ts | 0 .../{ => webhooks}/repository/types.ts | 2 +- .../webhook-collection.repository.ts | 0 .../webhook-collection.server.data-source.ts | 4 +- .../collection/{ => webhooks}/types.ts | 2 +- .../{ => webhooks}/views/constants.ts | 0 .../{ => webhooks}/views/manifests.ts | 0 ...ebhook-table-name-column-layout.element.ts | 0 ...ebhook-table-name-column-layout.element.ts | 0 .../webhook-table-collection-view.element.ts | 2 +- .../src/packages/webhook/entity.ts | 3 + .../src/packages/webhook/types.ts | 12 +- .../workspace/webhook-root/manifests.ts | 2 +- .../webhook/workspace/webhook/manifests.ts | 19 +++ .../webhook-details-workspace-view.element.ts | 14 +- .../Services/WebhookLogServiceTests.cs | 35 ++-- 53 files changed, 758 insertions(+), 80 deletions(-) create mode 100644 src/Umbraco.Cms.Api.Management/Controllers/Webhook/Logs/WebhookLogController.cs create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/collection/components/date-table-column-view/date-table-column-view.element.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/constants.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/index.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/manifests.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/constants.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/index.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/manifests.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/types.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/webhook-delivery-collection.repository.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/webhook-delivery-collection.server.data-source.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/types.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/views/constants.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/views/manifests.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/views/table/column-layouts/status-code/webhook-delivery-table-status-code-column-layout.element.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/views/table/webhook-delivery-table-collection-view.element.ts rename src/Umbraco.Web.UI.Client/src/packages/webhook/collection/{ => webhooks}/action/manifests.ts (100%) create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/constants.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/index.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/manifests.ts rename src/Umbraco.Web.UI.Client/src/packages/webhook/collection/{ => webhooks}/repository/constants.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/collection/{ => webhooks}/repository/index.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/collection/{ => webhooks}/repository/manifests.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/collection/{ => webhooks}/repository/types.ts (81%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/collection/{ => webhooks}/repository/webhook-collection.repository.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/collection/{ => webhooks}/repository/webhook-collection.server.data-source.ts (93%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/collection/{ => webhooks}/types.ts (97%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/collection/{ => webhooks}/views/constants.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/collection/{ => webhooks}/views/manifests.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/collection/{ => webhooks}/views/table/column-layouts/content-type/webhook-table-name-column-layout.element.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/collection/{ => webhooks}/views/table/column-layouts/name/webhook-table-name-column-layout.element.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/collection/{ => webhooks}/views/table/webhook-table-collection-view.element.ts (98%) diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Webhook/AllWebhookController.cs b/src/Umbraco.Cms.Api.Management/Controllers/Webhook/AllWebhookController.cs index c5429ab8145e..db11f532f108 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/Webhook/AllWebhookController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/Webhook/AllWebhookController.cs @@ -34,7 +34,7 @@ public async Task>> All( var viewModel = new PagedViewModel { Total = result.Total, - Items = webhooks.Select(x => _webhookPresentationFactory.CreateResponseModel(x)), + Items = webhooks.Select(_webhookPresentationFactory.CreateResponseModel), }; return Ok(viewModel); diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Webhook/Logs/AllWebhookLogController.cs b/src/Umbraco.Cms.Api.Management/Controllers/Webhook/Logs/AllWebhookLogController.cs index a40b9d4e6a9c..d9ab9e9963ac 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/Webhook/Logs/AllWebhookLogController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/Webhook/Logs/AllWebhookLogController.cs @@ -1,8 +1,8 @@ -using Asp.Versioning; +using Asp.Versioning; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using Umbraco.Cms.Api.Common.ViewModels.Pagination; using Umbraco.Cms.Api.Management.Factories; -using Umbraco.Cms.Api.Management.ViewModels.Webhook; using Umbraco.Cms.Api.Management.ViewModels.Webhook.Logs; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Services; @@ -23,12 +23,11 @@ public AllWebhookLogController(IWebhookLogService webhookLogService, IWebhookPre [HttpGet("logs")] [MapToApiVersion("1.0")] - [ProducesResponseType(typeof(WebhookResponseModel), StatusCodes.Status200OK)] - [ProducesResponseType(typeof(ProblemDetails), StatusCodes.Status404NotFound)] + [ProducesResponseType(typeof(PagedViewModel), StatusCodes.Status200OK)] public async Task Logs(CancellationToken cancellationToken, int skip = 0, int take = 100) { PagedModel logs = await _webhookLogService.Get(skip, take); - IEnumerable logResponseModels = logs.Items.Select(x => _webhookPresentationFactory.CreateResponseModel(x)); - return Ok(logResponseModels); + PagedViewModel viewModel = CreatePagedWebhookLogResponseModel(logs, _webhookPresentationFactory); + return Ok(viewModel); } } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Webhook/Logs/WebhookLogController.cs b/src/Umbraco.Cms.Api.Management/Controllers/Webhook/Logs/WebhookLogController.cs new file mode 100644 index 000000000000..9d353b797953 --- /dev/null +++ b/src/Umbraco.Cms.Api.Management/Controllers/Webhook/Logs/WebhookLogController.cs @@ -0,0 +1,33 @@ +using Asp.Versioning; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using Umbraco.Cms.Api.Common.ViewModels.Pagination; +using Umbraco.Cms.Api.Management.Factories; +using Umbraco.Cms.Api.Management.ViewModels.Webhook.Logs; +using Umbraco.Cms.Core.Models; +using Umbraco.Cms.Core.Services; + +namespace Umbraco.Cms.Api.Management.Controllers.Webhook.Logs; + +[ApiVersion("1.0")] +public class WebhookLogController : WebhookLogControllerBase +{ + private readonly IWebhookLogService _webhookLogService; + private readonly IWebhookPresentationFactory _webhookPresentationFactory; + + public WebhookLogController(IWebhookLogService webhookLogService, IWebhookPresentationFactory webhookPresentationFactory) + { + _webhookLogService = webhookLogService; + _webhookPresentationFactory = webhookPresentationFactory; + } + + [HttpGet("{id:guid}/logs")] + [MapToApiVersion("1.0")] + [ProducesResponseType(typeof(PagedViewModel), StatusCodes.Status200OK)] + public async Task Logs(CancellationToken cancellationToken, Guid id, int skip = 0, int take = 100) + { + PagedModel logs = await _webhookLogService.Get(id, skip, take); + PagedViewModel viewModel = CreatePagedWebhookLogResponseModel(logs, _webhookPresentationFactory); + return Ok(viewModel); + } +} diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Webhook/Logs/WebhookLogControllerBase.cs b/src/Umbraco.Cms.Api.Management/Controllers/Webhook/Logs/WebhookLogControllerBase.cs index 84888184abdb..658133516510 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/Webhook/Logs/WebhookLogControllerBase.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/Webhook/Logs/WebhookLogControllerBase.cs @@ -1,9 +1,26 @@ -using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc; +using Umbraco.Cms.Api.Common.ViewModels.Pagination; +using Umbraco.Cms.Api.Management.Factories; using Umbraco.Cms.Api.Management.Routing; +using Umbraco.Cms.Api.Management.ViewModels.Webhook.Logs; using Umbraco.Cms.Core; +using Umbraco.Cms.Core.Models; namespace Umbraco.Cms.Api.Management.Controllers.Webhook.Logs; [VersionedApiBackOfficeRoute($"{Constants.UdiEntityType.Webhook}")] [ApiExplorerSettings(GroupName = "Webhook")] -public class WebhookLogControllerBase : ManagementApiControllerBase; +public class WebhookLogControllerBase : ManagementApiControllerBase +{ + protected PagedViewModel CreatePagedWebhookLogResponseModel(PagedModel logs, IWebhookPresentationFactory webhookPresentationFactory) + { + WebhookLogResponseModel[] logResponseModels = logs.Items.Select(webhookPresentationFactory.CreateResponseModel).ToArray(); + + return new PagedViewModel + { + Total = logs.Total, + Items = logResponseModels, + }; + } + +} diff --git a/src/Umbraco.Cms.Api.Management/OpenApi.json b/src/Umbraco.Cms.Api.Management/OpenApi.json index c02287a77a48..0bc6f12ab125 100644 --- a/src/Umbraco.Cms.Api.Management/OpenApi.json +++ b/src/Umbraco.Cms.Api.Management/OpenApi.json @@ -33813,13 +33813,22 @@ ] } }, - "/umbraco/management/api/v1/webhook/events": { + "/umbraco/management/api/v1/webhook/{id}/logs": { "get": { "tags": [ "Webhook" ], - "operationId": "GetWebhookEvents", + "operationId": "GetWebhookByIdLogs", "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + } + }, { "name": "skip", "in": "query", @@ -33847,7 +33856,7 @@ "schema": { "oneOf": [ { - "$ref": "#/components/schemas/PagedWebhookEventModel" + "$ref": "#/components/schemas/PagedWebhookLogResponseModel" } ] } @@ -33856,9 +33865,6 @@ }, "401": { "description": "The resource is protected and requires an authentication token" - }, - "403": { - "description": "The authenticated user do not have access to this resource" } }, "security": [ @@ -33868,12 +33874,12 @@ ] } }, - "/umbraco/management/api/v1/webhook/logs": { + "/umbraco/management/api/v1/webhook/events": { "get": { "tags": [ "Webhook" ], - "operationId": "GetWebhookLogs", + "operationId": "GetWebhookEvents", "parameters": [ { "name": "skip", @@ -33902,21 +33908,62 @@ "schema": { "oneOf": [ { - "$ref": "#/components/schemas/WebhookResponseModel" + "$ref": "#/components/schemas/PagedWebhookEventModel" } ] } } } }, - "404": { - "description": "Not Found", + "401": { + "description": "The resource is protected and requires an authentication token" + }, + "403": { + "description": "The authenticated user do not have access to this resource" + } + }, + "security": [ + { + "Backoffice User": [ ] + } + ] + } + }, + "/umbraco/management/api/v1/webhook/logs": { + "get": { + "tags": [ + "Webhook" + ], + "operationId": "GetWebhookLogs", + "parameters": [ + { + "name": "skip", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 0 + } + }, + { + "name": "take", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 100 + } + } + ], + "responses": { + "200": { + "description": "OK", "content": { "application/json": { "schema": { "oneOf": [ { - "$ref": "#/components/schemas/ProblemDetails" + "$ref": "#/components/schemas/PagedWebhookLogResponseModel" } ] } @@ -42287,6 +42334,30 @@ }, "additionalProperties": false }, + "PagedWebhookLogResponseModel": { + "required": [ + "items", + "total" + ], + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "items": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/WebhookLogResponseModel" + } + ] + } + } + }, + "additionalProperties": false + }, "PagedWebhookResponseModel": { "required": [ "items", @@ -46157,6 +46228,70 @@ }, "additionalProperties": false }, + "WebhookLogResponseModel": { + "required": [ + "date", + "eventAlias", + "exceptionOccured", + "isSuccessStatusCode", + "key", + "requestBody", + "requestHeaders", + "responseBody", + "responseHeaders", + "retryCount", + "statusCode", + "url", + "webhookKey" + ], + "type": "object", + "properties": { + "key": { + "type": "string", + "format": "uuid" + }, + "webhookKey": { + "type": "string", + "format": "uuid" + }, + "statusCode": { + "type": "string" + }, + "isSuccessStatusCode": { + "type": "boolean" + }, + "date": { + "type": "string", + "format": "date-time" + }, + "eventAlias": { + "type": "string" + }, + "url": { + "type": "string" + }, + "retryCount": { + "type": "integer", + "format": "int32" + }, + "requestHeaders": { + "type": "string" + }, + "requestBody": { + "type": "string" + }, + "responseHeaders": { + "type": "string" + }, + "responseBody": { + "type": "string" + }, + "exceptionOccured": { + "type": "boolean" + } + }, + "additionalProperties": false + }, "WebhookResponseModel": { "required": [ "contentTypeKeys", diff --git a/src/Umbraco.Core/Persistence/Repositories/IWebhookLogRepository.cs b/src/Umbraco.Core/Persistence/Repositories/IWebhookLogRepository.cs index c719df2b5040..cbb012bf04c6 100644 --- a/src/Umbraco.Core/Persistence/Repositories/IWebhookLogRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/IWebhookLogRepository.cs @@ -1,4 +1,4 @@ -using Umbraco.Cms.Core.Models; +using Umbraco.Cms.Core.Models; namespace Umbraco.Cms.Core.Persistence.Repositories; @@ -8,6 +8,17 @@ public interface IWebhookLogRepository Task> GetPagedAsync(int skip, int take); + // TODO (V16): Remove the default implementation on this method. + async Task> GetPagedAsync(Guid webhookKey, int skip, int take) + { + // This is very inefficient as the filter/skip/take is in-memory, but it will return the correct data. + // As it's only here to avoid a breaking change on the interface that is unlikely to have a custom + // implementation, this seems reasonable. + PagedModel allLogs = await GetPagedAsync(0, int.MaxValue); + var logsForId = allLogs.Items.Where(x => x.WebhookKey == webhookKey).ToList(); + return new PagedModel(logsForId.Count, logsForId.Skip(skip).Take(take)); + } + Task> GetOlderThanDate(DateTime date); Task DeleteByIds(int[] ids); diff --git a/src/Umbraco.Core/Services/IWebhookLogService.cs b/src/Umbraco.Core/Services/IWebhookLogService.cs index 12b53bfa7609..ee404e38e446 100644 --- a/src/Umbraco.Core/Services/IWebhookLogService.cs +++ b/src/Umbraco.Core/Services/IWebhookLogService.cs @@ -1,5 +1,4 @@ -using Umbraco.Cms.Core.Models; -using Umbraco.Cms.Core.Webhooks; +using Umbraco.Cms.Core.Models; namespace Umbraco.Cms.Core.Services; @@ -8,4 +7,15 @@ public interface IWebhookLogService Task CreateAsync(WebhookLog webhookLog); Task> Get(int skip = 0, int take = int.MaxValue); + + // TODO (V16): Remove the default implementation on this method. + async Task> Get(Guid webhookKey, int skip = 0, int take = int.MaxValue) + { + // This is very inefficient as the filter/skip/take is in-memory, but it will return the correct data. + // As it's only here to avoid a breaking change on the interface that is unlikely to have a custom + // implementation, this seems reasonable. + PagedModel allLogs = await Get(0, int.MaxValue); + var logsForId = allLogs.Items.Where(x => x.WebhookKey == webhookKey).ToList(); + return new PagedModel(logsForId.Count, logsForId.Skip(skip).Take(take)); + } } diff --git a/src/Umbraco.Core/Services/WebhookLogService.cs b/src/Umbraco.Core/Services/WebhookLogService.cs index 3b0bbebf1997..4257b775d4d1 100644 --- a/src/Umbraco.Core/Services/WebhookLogService.cs +++ b/src/Umbraco.Core/Services/WebhookLogService.cs @@ -1,7 +1,6 @@ -using Umbraco.Cms.Core.Models; +using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Persistence.Repositories; using Umbraco.Cms.Core.Scoping; -using Umbraco.Cms.Core.Webhooks; namespace Umbraco.Cms.Core.Services; @@ -30,4 +29,10 @@ public async Task> Get(int skip = 0, int take = int.MaxVa using ICoreScope scope = _coreScopeProvider.CreateCoreScope(autoComplete: true); return await _webhookLogRepository.GetPagedAsync(skip, take); } + + public async Task> Get(Guid webhookKey, int skip = 0, int take = int.MaxValue) + { + using ICoreScope scope = _coreScopeProvider.CreateCoreScope(autoComplete: true); + return await _webhookLogRepository.GetPagedAsync(webhookKey, skip, take); + } } diff --git a/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/WebhookLogRepository.cs b/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/WebhookLogRepository.cs index af6c561d9031..334407d01842 100644 --- a/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/WebhookLogRepository.cs +++ b/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/WebhookLogRepository.cs @@ -1,4 +1,4 @@ -using NPoco; +using NPoco; using Umbraco.Cms.Core; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Persistence.Repositories; @@ -37,10 +37,17 @@ public async Task CreateAsync(WebhookLog log) } public async Task> GetPagedAsync(int skip, int take) + => await GetPagedAsyncInternal(null, skip, take); + + public async Task> GetPagedAsync(Guid webhookKey, int skip, int take) + => await GetPagedAsyncInternal(webhookKey, skip, take); + + private async Task> GetPagedAsyncInternal(Guid? webhookKey, int skip, int take) { Sql sql = Database.SqlContext.Sql() .Select() .From() + .Where(x => !webhookKey.HasValue || x.WebhookKey == webhookKey) .OrderByDescending(x => x.Date); PaginationHelper.ConvertSkipTakeToPaging(skip, take, out var pageNumber, out var pageSize); diff --git a/src/Umbraco.Web.UI.Client/src/assets/lang/en.ts b/src/Umbraco.Web.UI.Client/src/assets/lang/en.ts index 7dab23437437..1ce3ca390348 100644 --- a/src/Umbraco.Web.UI.Client/src/assets/lang/en.ts +++ b/src/Umbraco.Web.UI.Client/src/assets/lang/en.ts @@ -1771,6 +1771,7 @@ export default { headers: 'Headers', selectEventFirst: 'Please select an event first.', selectEvents: 'Select events', + statusCode: 'Status code' }, languages: { addLanguage: 'Add language', diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/sdk.gen.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/sdk.gen.ts index 851b36d512a3..b170f282654a 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/sdk.gen.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/sdk.gen.ts @@ -3,7 +3,7 @@ import type { CancelablePromise } from './core/CancelablePromise'; import { OpenAPI } from './core/OpenAPI'; import { request as __request } from './core/request'; -import type { GetCultureData, GetCultureResponse, PostDataTypeData, PostDataTypeResponse, GetDataTypeByIdData, GetDataTypeByIdResponse, DeleteDataTypeByIdData, DeleteDataTypeByIdResponse, PutDataTypeByIdData, PutDataTypeByIdResponse, PostDataTypeByIdCopyData, PostDataTypeByIdCopyResponse, GetDataTypeByIdIsUsedData, GetDataTypeByIdIsUsedResponse, PutDataTypeByIdMoveData, PutDataTypeByIdMoveResponse, GetDataTypeByIdReferencesData, GetDataTypeByIdReferencesResponse, GetDataTypeConfigurationResponse, PostDataTypeFolderData, PostDataTypeFolderResponse, GetDataTypeFolderByIdData, GetDataTypeFolderByIdResponse, DeleteDataTypeFolderByIdData, DeleteDataTypeFolderByIdResponse, PutDataTypeFolderByIdData, PutDataTypeFolderByIdResponse, GetFilterDataTypeData, GetFilterDataTypeResponse, GetItemDataTypeData, GetItemDataTypeResponse, GetItemDataTypeSearchData, GetItemDataTypeSearchResponse, GetTreeDataTypeAncestorsData, GetTreeDataTypeAncestorsResponse, GetTreeDataTypeChildrenData, GetTreeDataTypeChildrenResponse, GetTreeDataTypeRootData, GetTreeDataTypeRootResponse, GetDictionaryData, GetDictionaryResponse, PostDictionaryData, PostDictionaryResponse, GetDictionaryByIdData, GetDictionaryByIdResponse, DeleteDictionaryByIdData, DeleteDictionaryByIdResponse, PutDictionaryByIdData, PutDictionaryByIdResponse, GetDictionaryByIdExportData, GetDictionaryByIdExportResponse, PutDictionaryByIdMoveData, PutDictionaryByIdMoveResponse, PostDictionaryImportData, PostDictionaryImportResponse, GetItemDictionaryData, GetItemDictionaryResponse, GetTreeDictionaryAncestorsData, GetTreeDictionaryAncestorsResponse, GetTreeDictionaryChildrenData, GetTreeDictionaryChildrenResponse, GetTreeDictionaryRootData, GetTreeDictionaryRootResponse, GetCollectionDocumentByIdData, GetCollectionDocumentByIdResponse, PostDocumentData, PostDocumentResponse, GetDocumentByIdData, GetDocumentByIdResponse, DeleteDocumentByIdData, DeleteDocumentByIdResponse, PutDocumentByIdData, PutDocumentByIdResponse, GetDocumentByIdAuditLogData, GetDocumentByIdAuditLogResponse, PostDocumentByIdCopyData, PostDocumentByIdCopyResponse, GetDocumentByIdDomainsData, GetDocumentByIdDomainsResponse, PutDocumentByIdDomainsData, PutDocumentByIdDomainsResponse, PutDocumentByIdMoveData, PutDocumentByIdMoveResponse, PutDocumentByIdMoveToRecycleBinData, PutDocumentByIdMoveToRecycleBinResponse, GetDocumentByIdNotificationsData, GetDocumentByIdNotificationsResponse, PutDocumentByIdNotificationsData, PutDocumentByIdNotificationsResponse, PostDocumentByIdPublicAccessData, PostDocumentByIdPublicAccessResponse, DeleteDocumentByIdPublicAccessData, DeleteDocumentByIdPublicAccessResponse, GetDocumentByIdPublicAccessData, GetDocumentByIdPublicAccessResponse, PutDocumentByIdPublicAccessData, PutDocumentByIdPublicAccessResponse, PutDocumentByIdPublishData, PutDocumentByIdPublishResponse, PutDocumentByIdPublishWithDescendantsData, PutDocumentByIdPublishWithDescendantsResponse, GetDocumentByIdPublishedData, GetDocumentByIdPublishedResponse, GetDocumentByIdReferencedByData, GetDocumentByIdReferencedByResponse, GetDocumentByIdReferencedDescendantsData, GetDocumentByIdReferencedDescendantsResponse, PutDocumentByIdUnpublishData, PutDocumentByIdUnpublishResponse, PutDocumentByIdValidateData, PutDocumentByIdValidateResponse, PutUmbracoManagementApiV11DocumentByIdValidate11Data, PutUmbracoManagementApiV11DocumentByIdValidate11Response, GetDocumentAreReferencedData, GetDocumentAreReferencedResponse, GetDocumentConfigurationResponse, PutDocumentSortData, PutDocumentSortResponse, GetDocumentUrlsData, GetDocumentUrlsResponse, PostDocumentValidateData, PostDocumentValidateResponse, GetItemDocumentData, GetItemDocumentResponse, GetItemDocumentSearchData, GetItemDocumentSearchResponse, DeleteRecycleBinDocumentResponse, DeleteRecycleBinDocumentByIdData, DeleteRecycleBinDocumentByIdResponse, GetRecycleBinDocumentByIdOriginalParentData, GetRecycleBinDocumentByIdOriginalParentResponse, PutRecycleBinDocumentByIdRestoreData, PutRecycleBinDocumentByIdRestoreResponse, GetRecycleBinDocumentChildrenData, GetRecycleBinDocumentChildrenResponse, GetRecycleBinDocumentRootData, GetRecycleBinDocumentRootResponse, GetTreeDocumentAncestorsData, GetTreeDocumentAncestorsResponse, GetTreeDocumentChildrenData, GetTreeDocumentChildrenResponse, GetTreeDocumentRootData, GetTreeDocumentRootResponse, PostDocumentBlueprintData, PostDocumentBlueprintResponse, GetDocumentBlueprintByIdData, GetDocumentBlueprintByIdResponse, DeleteDocumentBlueprintByIdData, DeleteDocumentBlueprintByIdResponse, PutDocumentBlueprintByIdData, PutDocumentBlueprintByIdResponse, PutDocumentBlueprintByIdMoveData, PutDocumentBlueprintByIdMoveResponse, PostDocumentBlueprintFolderData, PostDocumentBlueprintFolderResponse, GetDocumentBlueprintFolderByIdData, GetDocumentBlueprintFolderByIdResponse, DeleteDocumentBlueprintFolderByIdData, DeleteDocumentBlueprintFolderByIdResponse, PutDocumentBlueprintFolderByIdData, PutDocumentBlueprintFolderByIdResponse, PostDocumentBlueprintFromDocumentData, PostDocumentBlueprintFromDocumentResponse, GetItemDocumentBlueprintData, GetItemDocumentBlueprintResponse, GetTreeDocumentBlueprintAncestorsData, GetTreeDocumentBlueprintAncestorsResponse, GetTreeDocumentBlueprintChildrenData, GetTreeDocumentBlueprintChildrenResponse, GetTreeDocumentBlueprintRootData, GetTreeDocumentBlueprintRootResponse, PostDocumentTypeData, PostDocumentTypeResponse, GetDocumentTypeByIdData, GetDocumentTypeByIdResponse, DeleteDocumentTypeByIdData, DeleteDocumentTypeByIdResponse, PutDocumentTypeByIdData, PutDocumentTypeByIdResponse, GetDocumentTypeByIdAllowedChildrenData, GetDocumentTypeByIdAllowedChildrenResponse, GetDocumentTypeByIdBlueprintData, GetDocumentTypeByIdBlueprintResponse, GetDocumentTypeByIdCompositionReferencesData, GetDocumentTypeByIdCompositionReferencesResponse, PostDocumentTypeByIdCopyData, PostDocumentTypeByIdCopyResponse, GetDocumentTypeByIdExportData, GetDocumentTypeByIdExportResponse, PutDocumentTypeByIdImportData, PutDocumentTypeByIdImportResponse, PutDocumentTypeByIdMoveData, PutDocumentTypeByIdMoveResponse, GetDocumentTypeAllowedAtRootData, GetDocumentTypeAllowedAtRootResponse, PostDocumentTypeAvailableCompositionsData, PostDocumentTypeAvailableCompositionsResponse, GetDocumentTypeConfigurationResponse, PostDocumentTypeFolderData, PostDocumentTypeFolderResponse, GetDocumentTypeFolderByIdData, GetDocumentTypeFolderByIdResponse, DeleteDocumentTypeFolderByIdData, DeleteDocumentTypeFolderByIdResponse, PutDocumentTypeFolderByIdData, PutDocumentTypeFolderByIdResponse, PostDocumentTypeImportData, PostDocumentTypeImportResponse, GetItemDocumentTypeData, GetItemDocumentTypeResponse, GetItemDocumentTypeSearchData, GetItemDocumentTypeSearchResponse, GetTreeDocumentTypeAncestorsData, GetTreeDocumentTypeAncestorsResponse, GetTreeDocumentTypeChildrenData, GetTreeDocumentTypeChildrenResponse, GetTreeDocumentTypeRootData, GetTreeDocumentTypeRootResponse, GetDocumentVersionData, GetDocumentVersionResponse, GetDocumentVersionByIdData, GetDocumentVersionByIdResponse, PutDocumentVersionByIdPreventCleanupData, PutDocumentVersionByIdPreventCleanupResponse, PostDocumentVersionByIdRollbackData, PostDocumentVersionByIdRollbackResponse, PostDynamicRootQueryData, PostDynamicRootQueryResponse, GetDynamicRootStepsResponse, GetHealthCheckGroupData, GetHealthCheckGroupResponse, GetHealthCheckGroupByNameData, GetHealthCheckGroupByNameResponse, PostHealthCheckGroupByNameCheckData, PostHealthCheckGroupByNameCheckResponse, PostHealthCheckExecuteActionData, PostHealthCheckExecuteActionResponse, GetHelpData, GetHelpResponse, GetImagingResizeUrlsData, GetImagingResizeUrlsResponse, GetImportAnalyzeData, GetImportAnalyzeResponse, GetIndexerData, GetIndexerResponse, GetIndexerByIndexNameData, GetIndexerByIndexNameResponse, PostIndexerByIndexNameRebuildData, PostIndexerByIndexNameRebuildResponse, GetInstallSettingsResponse, PostInstallSetupData, PostInstallSetupResponse, PostInstallValidateDatabaseData, PostInstallValidateDatabaseResponse, GetItemLanguageData, GetItemLanguageResponse, GetItemLanguageDefaultResponse, GetLanguageData, GetLanguageResponse, PostLanguageData, PostLanguageResponse, GetLanguageByIsoCodeData, GetLanguageByIsoCodeResponse, DeleteLanguageByIsoCodeData, DeleteLanguageByIsoCodeResponse, PutLanguageByIsoCodeData, PutLanguageByIsoCodeResponse, GetLogViewerLevelData, GetLogViewerLevelResponse, GetLogViewerLevelCountData, GetLogViewerLevelCountResponse, GetLogViewerLogData, GetLogViewerLogResponse, GetLogViewerMessageTemplateData, GetLogViewerMessageTemplateResponse, GetLogViewerSavedSearchData, GetLogViewerSavedSearchResponse, PostLogViewerSavedSearchData, PostLogViewerSavedSearchResponse, GetLogViewerSavedSearchByNameData, GetLogViewerSavedSearchByNameResponse, DeleteLogViewerSavedSearchByNameData, DeleteLogViewerSavedSearchByNameResponse, GetLogViewerValidateLogsSizeData, GetLogViewerValidateLogsSizeResponse, GetManifestManifestResponse, GetManifestManifestPrivateResponse, GetManifestManifestPublicResponse, GetCollectionMediaData, GetCollectionMediaResponse, GetItemMediaData, GetItemMediaResponse, GetItemMediaSearchData, GetItemMediaSearchResponse, PostMediaData, PostMediaResponse, GetMediaByIdData, GetMediaByIdResponse, DeleteMediaByIdData, DeleteMediaByIdResponse, PutMediaByIdData, PutMediaByIdResponse, GetMediaByIdAuditLogData, GetMediaByIdAuditLogResponse, PutMediaByIdMoveData, PutMediaByIdMoveResponse, PutMediaByIdMoveToRecycleBinData, PutMediaByIdMoveToRecycleBinResponse, GetMediaByIdReferencedByData, GetMediaByIdReferencedByResponse, GetMediaByIdReferencedDescendantsData, GetMediaByIdReferencedDescendantsResponse, PutMediaByIdValidateData, PutMediaByIdValidateResponse, GetMediaAreReferencedData, GetMediaAreReferencedResponse, GetMediaConfigurationResponse, PutMediaSortData, PutMediaSortResponse, GetMediaUrlsData, GetMediaUrlsResponse, PostMediaValidateData, PostMediaValidateResponse, DeleteRecycleBinMediaResponse, DeleteRecycleBinMediaByIdData, DeleteRecycleBinMediaByIdResponse, GetRecycleBinMediaByIdOriginalParentData, GetRecycleBinMediaByIdOriginalParentResponse, PutRecycleBinMediaByIdRestoreData, PutRecycleBinMediaByIdRestoreResponse, GetRecycleBinMediaChildrenData, GetRecycleBinMediaChildrenResponse, GetRecycleBinMediaRootData, GetRecycleBinMediaRootResponse, GetTreeMediaAncestorsData, GetTreeMediaAncestorsResponse, GetTreeMediaChildrenData, GetTreeMediaChildrenResponse, GetTreeMediaRootData, GetTreeMediaRootResponse, GetItemMediaTypeData, GetItemMediaTypeResponse, GetItemMediaTypeAllowedData, GetItemMediaTypeAllowedResponse, GetItemMediaTypeFoldersData, GetItemMediaTypeFoldersResponse, GetItemMediaTypeSearchData, GetItemMediaTypeSearchResponse, PostMediaTypeData, PostMediaTypeResponse, GetMediaTypeByIdData, GetMediaTypeByIdResponse, DeleteMediaTypeByIdData, DeleteMediaTypeByIdResponse, PutMediaTypeByIdData, PutMediaTypeByIdResponse, GetMediaTypeByIdAllowedChildrenData, GetMediaTypeByIdAllowedChildrenResponse, GetMediaTypeByIdCompositionReferencesData, GetMediaTypeByIdCompositionReferencesResponse, PostMediaTypeByIdCopyData, PostMediaTypeByIdCopyResponse, GetMediaTypeByIdExportData, GetMediaTypeByIdExportResponse, PutMediaTypeByIdImportData, PutMediaTypeByIdImportResponse, PutMediaTypeByIdMoveData, PutMediaTypeByIdMoveResponse, GetMediaTypeAllowedAtRootData, GetMediaTypeAllowedAtRootResponse, PostMediaTypeAvailableCompositionsData, PostMediaTypeAvailableCompositionsResponse, GetMediaTypeConfigurationResponse, PostMediaTypeFolderData, PostMediaTypeFolderResponse, GetMediaTypeFolderByIdData, GetMediaTypeFolderByIdResponse, DeleteMediaTypeFolderByIdData, DeleteMediaTypeFolderByIdResponse, PutMediaTypeFolderByIdData, PutMediaTypeFolderByIdResponse, PostMediaTypeImportData, PostMediaTypeImportResponse, GetTreeMediaTypeAncestorsData, GetTreeMediaTypeAncestorsResponse, GetTreeMediaTypeChildrenData, GetTreeMediaTypeChildrenResponse, GetTreeMediaTypeRootData, GetTreeMediaTypeRootResponse, GetFilterMemberData, GetFilterMemberResponse, GetItemMemberData, GetItemMemberResponse, GetItemMemberSearchData, GetItemMemberSearchResponse, PostMemberData, PostMemberResponse, GetMemberByIdData, GetMemberByIdResponse, DeleteMemberByIdData, DeleteMemberByIdResponse, PutMemberByIdData, PutMemberByIdResponse, PutMemberByIdValidateData, PutMemberByIdValidateResponse, GetMemberConfigurationResponse, PostMemberValidateData, PostMemberValidateResponse, GetItemMemberGroupData, GetItemMemberGroupResponse, GetMemberGroupData, GetMemberGroupResponse, PostMemberGroupData, PostMemberGroupResponse, GetMemberGroupByIdData, GetMemberGroupByIdResponse, DeleteMemberGroupByIdData, DeleteMemberGroupByIdResponse, PutMemberGroupByIdData, PutMemberGroupByIdResponse, GetTreeMemberGroupRootData, GetTreeMemberGroupRootResponse, GetItemMemberTypeData, GetItemMemberTypeResponse, GetItemMemberTypeSearchData, GetItemMemberTypeSearchResponse, PostMemberTypeData, PostMemberTypeResponse, GetMemberTypeByIdData, GetMemberTypeByIdResponse, DeleteMemberTypeByIdData, DeleteMemberTypeByIdResponse, PutMemberTypeByIdData, PutMemberTypeByIdResponse, GetMemberTypeByIdCompositionReferencesData, GetMemberTypeByIdCompositionReferencesResponse, PostMemberTypeByIdCopyData, PostMemberTypeByIdCopyResponse, PostMemberTypeAvailableCompositionsData, PostMemberTypeAvailableCompositionsResponse, GetMemberTypeConfigurationResponse, GetTreeMemberTypeRootData, GetTreeMemberTypeRootResponse, PostModelsBuilderBuildResponse, GetModelsBuilderDashboardResponse, GetModelsBuilderStatusResponse, GetObjectTypesData, GetObjectTypesResponse, GetOembedQueryData, GetOembedQueryResponse, PostPackageByNameRunMigrationData, PostPackageByNameRunMigrationResponse, GetPackageConfigurationResponse, GetPackageCreatedData, GetPackageCreatedResponse, PostPackageCreatedData, PostPackageCreatedResponse, GetPackageCreatedByIdData, GetPackageCreatedByIdResponse, DeletePackageCreatedByIdData, DeletePackageCreatedByIdResponse, PutPackageCreatedByIdData, PutPackageCreatedByIdResponse, GetPackageCreatedByIdDownloadData, GetPackageCreatedByIdDownloadResponse, GetPackageMigrationStatusData, GetPackageMigrationStatusResponse, GetItemPartialViewData, GetItemPartialViewResponse, PostPartialViewData, PostPartialViewResponse, GetPartialViewByPathData, GetPartialViewByPathResponse, DeletePartialViewByPathData, DeletePartialViewByPathResponse, PutPartialViewByPathData, PutPartialViewByPathResponse, PutPartialViewByPathRenameData, PutPartialViewByPathRenameResponse, PostPartialViewFolderData, PostPartialViewFolderResponse, GetPartialViewFolderByPathData, GetPartialViewFolderByPathResponse, DeletePartialViewFolderByPathData, DeletePartialViewFolderByPathResponse, GetPartialViewSnippetData, GetPartialViewSnippetResponse, GetPartialViewSnippetByIdData, GetPartialViewSnippetByIdResponse, GetTreePartialViewAncestorsData, GetTreePartialViewAncestorsResponse, GetTreePartialViewChildrenData, GetTreePartialViewChildrenResponse, GetTreePartialViewRootData, GetTreePartialViewRootResponse, DeletePreviewResponse, PostPreviewResponse, GetProfilingStatusResponse, PutProfilingStatusData, PutProfilingStatusResponse, GetPropertyTypeIsUsedData, GetPropertyTypeIsUsedResponse, PostPublishedCacheRebuildResponse, PostPublishedCacheReloadResponse, GetRedirectManagementData, GetRedirectManagementResponse, GetRedirectManagementByIdData, GetRedirectManagementByIdResponse, DeleteRedirectManagementByIdData, DeleteRedirectManagementByIdResponse, GetRedirectManagementStatusResponse, PostRedirectManagementStatusData, PostRedirectManagementStatusResponse, GetRelationByRelationTypeIdData, GetRelationByRelationTypeIdResponse, GetItemRelationTypeData, GetItemRelationTypeResponse, GetRelationTypeData, GetRelationTypeResponse, GetRelationTypeByIdData, GetRelationTypeByIdResponse, GetItemScriptData, GetItemScriptResponse, PostScriptData, PostScriptResponse, GetScriptByPathData, GetScriptByPathResponse, DeleteScriptByPathData, DeleteScriptByPathResponse, PutScriptByPathData, PutScriptByPathResponse, PutScriptByPathRenameData, PutScriptByPathRenameResponse, PostScriptFolderData, PostScriptFolderResponse, GetScriptFolderByPathData, GetScriptFolderByPathResponse, DeleteScriptFolderByPathData, DeleteScriptFolderByPathResponse, GetTreeScriptAncestorsData, GetTreeScriptAncestorsResponse, GetTreeScriptChildrenData, GetTreeScriptChildrenResponse, GetTreeScriptRootData, GetTreeScriptRootResponse, GetSearcherData, GetSearcherResponse, GetSearcherBySearcherNameQueryData, GetSearcherBySearcherNameQueryResponse, GetSecurityConfigurationResponse, PostSecurityForgotPasswordData, PostSecurityForgotPasswordResponse, PostSecurityForgotPasswordResetData, PostSecurityForgotPasswordResetResponse, PostSecurityForgotPasswordVerifyData, PostSecurityForgotPasswordVerifyResponse, GetSegmentData, GetSegmentResponse, GetServerConfigurationResponse, GetServerInformationResponse, GetServerStatusResponse, GetServerTroubleshootingResponse, GetServerUpgradeCheckResponse, GetItemStaticFileData, GetItemStaticFileResponse, GetTreeStaticFileAncestorsData, GetTreeStaticFileAncestorsResponse, GetTreeStaticFileChildrenData, GetTreeStaticFileChildrenResponse, GetTreeStaticFileRootData, GetTreeStaticFileRootResponse, GetItemStylesheetData, GetItemStylesheetResponse, PostStylesheetData, PostStylesheetResponse, GetStylesheetByPathData, GetStylesheetByPathResponse, DeleteStylesheetByPathData, DeleteStylesheetByPathResponse, PutStylesheetByPathData, PutStylesheetByPathResponse, PutStylesheetByPathRenameData, PutStylesheetByPathRenameResponse, PostStylesheetFolderData, PostStylesheetFolderResponse, GetStylesheetFolderByPathData, GetStylesheetFolderByPathResponse, DeleteStylesheetFolderByPathData, DeleteStylesheetFolderByPathResponse, GetTreeStylesheetAncestorsData, GetTreeStylesheetAncestorsResponse, GetTreeStylesheetChildrenData, GetTreeStylesheetChildrenResponse, GetTreeStylesheetRootData, GetTreeStylesheetRootResponse, GetTagData, GetTagResponse, GetTelemetryData, GetTelemetryResponse, GetTelemetryLevelResponse, PostTelemetryLevelData, PostTelemetryLevelResponse, GetItemTemplateData, GetItemTemplateResponse, GetItemTemplateSearchData, GetItemTemplateSearchResponse, PostTemplateData, PostTemplateResponse, GetTemplateByIdData, GetTemplateByIdResponse, DeleteTemplateByIdData, DeleteTemplateByIdResponse, PutTemplateByIdData, PutTemplateByIdResponse, GetTemplateConfigurationResponse, PostTemplateQueryExecuteData, PostTemplateQueryExecuteResponse, GetTemplateQuerySettingsResponse, GetTreeTemplateAncestorsData, GetTreeTemplateAncestorsResponse, GetTreeTemplateChildrenData, GetTreeTemplateChildrenResponse, GetTreeTemplateRootData, GetTreeTemplateRootResponse, PostTemporaryFileData, PostTemporaryFileResponse, GetTemporaryFileByIdData, GetTemporaryFileByIdResponse, DeleteTemporaryFileByIdData, DeleteTemporaryFileByIdResponse, GetTemporaryFileConfigurationResponse, PostUpgradeAuthorizeResponse, GetUpgradeSettingsResponse, GetFilterUserData, GetFilterUserResponse, GetItemUserData, GetItemUserResponse, PostUserData, PostUserResponse, DeleteUserData, DeleteUserResponse, GetUserData, GetUserResponse, GetUserByIdData, GetUserByIdResponse, DeleteUserByIdData, DeleteUserByIdResponse, PutUserByIdData, PutUserByIdResponse, GetUserById2FaData, GetUserById2FaResponse, DeleteUserById2FaByProviderNameData, DeleteUserById2FaByProviderNameResponse, GetUserByIdCalculateStartNodesData, GetUserByIdCalculateStartNodesResponse, PostUserByIdChangePasswordData, PostUserByIdChangePasswordResponse, PostUserByIdClientCredentialsData, PostUserByIdClientCredentialsResponse, GetUserByIdClientCredentialsData, GetUserByIdClientCredentialsResponse, DeleteUserByIdClientCredentialsByClientIdData, DeleteUserByIdClientCredentialsByClientIdResponse, PostUserByIdResetPasswordData, PostUserByIdResetPasswordResponse, DeleteUserAvatarByIdData, DeleteUserAvatarByIdResponse, PostUserAvatarByIdData, PostUserAvatarByIdResponse, GetUserConfigurationResponse, GetUserCurrentResponse, GetUserCurrent2FaResponse, DeleteUserCurrent2FaByProviderNameData, DeleteUserCurrent2FaByProviderNameResponse, PostUserCurrent2FaByProviderNameData, PostUserCurrent2FaByProviderNameResponse, GetUserCurrent2FaByProviderNameData, GetUserCurrent2FaByProviderNameResponse, PostUserCurrentAvatarData, PostUserCurrentAvatarResponse, PostUserCurrentChangePasswordData, PostUserCurrentChangePasswordResponse, GetUserCurrentConfigurationResponse, GetUserCurrentLoginProvidersResponse, GetUserCurrentPermissionsData, GetUserCurrentPermissionsResponse, GetUserCurrentPermissionsDocumentData, GetUserCurrentPermissionsDocumentResponse, GetUserCurrentPermissionsMediaData, GetUserCurrentPermissionsMediaResponse, PostUserDisableData, PostUserDisableResponse, PostUserEnableData, PostUserEnableResponse, PostUserInviteData, PostUserInviteResponse, PostUserInviteCreatePasswordData, PostUserInviteCreatePasswordResponse, PostUserInviteResendData, PostUserInviteResendResponse, PostUserInviteVerifyData, PostUserInviteVerifyResponse, PostUserSetUserGroupsData, PostUserSetUserGroupsResponse, PostUserUnlockData, PostUserUnlockResponse, PostUserDataData, PostUserDataResponse, GetUserDataData, GetUserDataResponse, PutUserDataData, PutUserDataResponse, GetUserDataByIdData, GetUserDataByIdResponse, GetFilterUserGroupData, GetFilterUserGroupResponse, GetItemUserGroupData, GetItemUserGroupResponse, DeleteUserGroupData, DeleteUserGroupResponse, PostUserGroupData, PostUserGroupResponse, GetUserGroupData, GetUserGroupResponse, GetUserGroupByIdData, GetUserGroupByIdResponse, DeleteUserGroupByIdData, DeleteUserGroupByIdResponse, PutUserGroupByIdData, PutUserGroupByIdResponse, DeleteUserGroupByIdUsersData, DeleteUserGroupByIdUsersResponse, PostUserGroupByIdUsersData, PostUserGroupByIdUsersResponse, GetItemWebhookData, GetItemWebhookResponse, GetWebhookData, GetWebhookResponse, PostWebhookData, PostWebhookResponse, GetWebhookByIdData, GetWebhookByIdResponse, DeleteWebhookByIdData, DeleteWebhookByIdResponse, PutWebhookByIdData, PutWebhookByIdResponse, GetWebhookEventsData, GetWebhookEventsResponse, GetWebhookLogsData, GetWebhookLogsResponse } from './types.gen'; +import type { GetCultureData, GetCultureResponse, PostDataTypeData, PostDataTypeResponse, GetDataTypeByIdData, GetDataTypeByIdResponse, DeleteDataTypeByIdData, DeleteDataTypeByIdResponse, PutDataTypeByIdData, PutDataTypeByIdResponse, PostDataTypeByIdCopyData, PostDataTypeByIdCopyResponse, GetDataTypeByIdIsUsedData, GetDataTypeByIdIsUsedResponse, PutDataTypeByIdMoveData, PutDataTypeByIdMoveResponse, GetDataTypeByIdReferencesData, GetDataTypeByIdReferencesResponse, GetDataTypeConfigurationResponse, PostDataTypeFolderData, PostDataTypeFolderResponse, GetDataTypeFolderByIdData, GetDataTypeFolderByIdResponse, DeleteDataTypeFolderByIdData, DeleteDataTypeFolderByIdResponse, PutDataTypeFolderByIdData, PutDataTypeFolderByIdResponse, GetFilterDataTypeData, GetFilterDataTypeResponse, GetItemDataTypeData, GetItemDataTypeResponse, GetItemDataTypeSearchData, GetItemDataTypeSearchResponse, GetTreeDataTypeAncestorsData, GetTreeDataTypeAncestorsResponse, GetTreeDataTypeChildrenData, GetTreeDataTypeChildrenResponse, GetTreeDataTypeRootData, GetTreeDataTypeRootResponse, GetDictionaryData, GetDictionaryResponse, PostDictionaryData, PostDictionaryResponse, GetDictionaryByIdData, GetDictionaryByIdResponse, DeleteDictionaryByIdData, DeleteDictionaryByIdResponse, PutDictionaryByIdData, PutDictionaryByIdResponse, GetDictionaryByIdExportData, GetDictionaryByIdExportResponse, PutDictionaryByIdMoveData, PutDictionaryByIdMoveResponse, PostDictionaryImportData, PostDictionaryImportResponse, GetItemDictionaryData, GetItemDictionaryResponse, GetTreeDictionaryAncestorsData, GetTreeDictionaryAncestorsResponse, GetTreeDictionaryChildrenData, GetTreeDictionaryChildrenResponse, GetTreeDictionaryRootData, GetTreeDictionaryRootResponse, GetCollectionDocumentByIdData, GetCollectionDocumentByIdResponse, PostDocumentData, PostDocumentResponse, GetDocumentByIdData, GetDocumentByIdResponse, DeleteDocumentByIdData, DeleteDocumentByIdResponse, PutDocumentByIdData, PutDocumentByIdResponse, GetDocumentByIdAuditLogData, GetDocumentByIdAuditLogResponse, PostDocumentByIdCopyData, PostDocumentByIdCopyResponse, GetDocumentByIdDomainsData, GetDocumentByIdDomainsResponse, PutDocumentByIdDomainsData, PutDocumentByIdDomainsResponse, PutDocumentByIdMoveData, PutDocumentByIdMoveResponse, PutDocumentByIdMoveToRecycleBinData, PutDocumentByIdMoveToRecycleBinResponse, GetDocumentByIdNotificationsData, GetDocumentByIdNotificationsResponse, PutDocumentByIdNotificationsData, PutDocumentByIdNotificationsResponse, PostDocumentByIdPublicAccessData, PostDocumentByIdPublicAccessResponse, DeleteDocumentByIdPublicAccessData, DeleteDocumentByIdPublicAccessResponse, GetDocumentByIdPublicAccessData, GetDocumentByIdPublicAccessResponse, PutDocumentByIdPublicAccessData, PutDocumentByIdPublicAccessResponse, PutDocumentByIdPublishData, PutDocumentByIdPublishResponse, PutDocumentByIdPublishWithDescendantsData, PutDocumentByIdPublishWithDescendantsResponse, GetDocumentByIdPublishedData, GetDocumentByIdPublishedResponse, GetDocumentByIdReferencedByData, GetDocumentByIdReferencedByResponse, GetDocumentByIdReferencedDescendantsData, GetDocumentByIdReferencedDescendantsResponse, PutDocumentByIdUnpublishData, PutDocumentByIdUnpublishResponse, PutDocumentByIdValidateData, PutDocumentByIdValidateResponse, PutUmbracoManagementApiV11DocumentByIdValidate11Data, PutUmbracoManagementApiV11DocumentByIdValidate11Response, GetDocumentAreReferencedData, GetDocumentAreReferencedResponse, GetDocumentConfigurationResponse, PutDocumentSortData, PutDocumentSortResponse, GetDocumentUrlsData, GetDocumentUrlsResponse, PostDocumentValidateData, PostDocumentValidateResponse, GetItemDocumentData, GetItemDocumentResponse, GetItemDocumentSearchData, GetItemDocumentSearchResponse, DeleteRecycleBinDocumentResponse, DeleteRecycleBinDocumentByIdData, DeleteRecycleBinDocumentByIdResponse, GetRecycleBinDocumentByIdOriginalParentData, GetRecycleBinDocumentByIdOriginalParentResponse, PutRecycleBinDocumentByIdRestoreData, PutRecycleBinDocumentByIdRestoreResponse, GetRecycleBinDocumentChildrenData, GetRecycleBinDocumentChildrenResponse, GetRecycleBinDocumentRootData, GetRecycleBinDocumentRootResponse, GetTreeDocumentAncestorsData, GetTreeDocumentAncestorsResponse, GetTreeDocumentChildrenData, GetTreeDocumentChildrenResponse, GetTreeDocumentRootData, GetTreeDocumentRootResponse, PostDocumentBlueprintData, PostDocumentBlueprintResponse, GetDocumentBlueprintByIdData, GetDocumentBlueprintByIdResponse, DeleteDocumentBlueprintByIdData, DeleteDocumentBlueprintByIdResponse, PutDocumentBlueprintByIdData, PutDocumentBlueprintByIdResponse, PutDocumentBlueprintByIdMoveData, PutDocumentBlueprintByIdMoveResponse, PostDocumentBlueprintFolderData, PostDocumentBlueprintFolderResponse, GetDocumentBlueprintFolderByIdData, GetDocumentBlueprintFolderByIdResponse, DeleteDocumentBlueprintFolderByIdData, DeleteDocumentBlueprintFolderByIdResponse, PutDocumentBlueprintFolderByIdData, PutDocumentBlueprintFolderByIdResponse, PostDocumentBlueprintFromDocumentData, PostDocumentBlueprintFromDocumentResponse, GetItemDocumentBlueprintData, GetItemDocumentBlueprintResponse, GetTreeDocumentBlueprintAncestorsData, GetTreeDocumentBlueprintAncestorsResponse, GetTreeDocumentBlueprintChildrenData, GetTreeDocumentBlueprintChildrenResponse, GetTreeDocumentBlueprintRootData, GetTreeDocumentBlueprintRootResponse, PostDocumentTypeData, PostDocumentTypeResponse, GetDocumentTypeByIdData, GetDocumentTypeByIdResponse, DeleteDocumentTypeByIdData, DeleteDocumentTypeByIdResponse, PutDocumentTypeByIdData, PutDocumentTypeByIdResponse, GetDocumentTypeByIdAllowedChildrenData, GetDocumentTypeByIdAllowedChildrenResponse, GetDocumentTypeByIdBlueprintData, GetDocumentTypeByIdBlueprintResponse, GetDocumentTypeByIdCompositionReferencesData, GetDocumentTypeByIdCompositionReferencesResponse, PostDocumentTypeByIdCopyData, PostDocumentTypeByIdCopyResponse, GetDocumentTypeByIdExportData, GetDocumentTypeByIdExportResponse, PutDocumentTypeByIdImportData, PutDocumentTypeByIdImportResponse, PutDocumentTypeByIdMoveData, PutDocumentTypeByIdMoveResponse, GetDocumentTypeAllowedAtRootData, GetDocumentTypeAllowedAtRootResponse, PostDocumentTypeAvailableCompositionsData, PostDocumentTypeAvailableCompositionsResponse, GetDocumentTypeConfigurationResponse, PostDocumentTypeFolderData, PostDocumentTypeFolderResponse, GetDocumentTypeFolderByIdData, GetDocumentTypeFolderByIdResponse, DeleteDocumentTypeFolderByIdData, DeleteDocumentTypeFolderByIdResponse, PutDocumentTypeFolderByIdData, PutDocumentTypeFolderByIdResponse, PostDocumentTypeImportData, PostDocumentTypeImportResponse, GetItemDocumentTypeData, GetItemDocumentTypeResponse, GetItemDocumentTypeSearchData, GetItemDocumentTypeSearchResponse, GetTreeDocumentTypeAncestorsData, GetTreeDocumentTypeAncestorsResponse, GetTreeDocumentTypeChildrenData, GetTreeDocumentTypeChildrenResponse, GetTreeDocumentTypeRootData, GetTreeDocumentTypeRootResponse, GetDocumentVersionData, GetDocumentVersionResponse, GetDocumentVersionByIdData, GetDocumentVersionByIdResponse, PutDocumentVersionByIdPreventCleanupData, PutDocumentVersionByIdPreventCleanupResponse, PostDocumentVersionByIdRollbackData, PostDocumentVersionByIdRollbackResponse, PostDynamicRootQueryData, PostDynamicRootQueryResponse, GetDynamicRootStepsResponse, GetHealthCheckGroupData, GetHealthCheckGroupResponse, GetHealthCheckGroupByNameData, GetHealthCheckGroupByNameResponse, PostHealthCheckGroupByNameCheckData, PostHealthCheckGroupByNameCheckResponse, PostHealthCheckExecuteActionData, PostHealthCheckExecuteActionResponse, GetHelpData, GetHelpResponse, GetImagingResizeUrlsData, GetImagingResizeUrlsResponse, GetImportAnalyzeData, GetImportAnalyzeResponse, GetIndexerData, GetIndexerResponse, GetIndexerByIndexNameData, GetIndexerByIndexNameResponse, PostIndexerByIndexNameRebuildData, PostIndexerByIndexNameRebuildResponse, GetInstallSettingsResponse, PostInstallSetupData, PostInstallSetupResponse, PostInstallValidateDatabaseData, PostInstallValidateDatabaseResponse, GetItemLanguageData, GetItemLanguageResponse, GetItemLanguageDefaultResponse, GetLanguageData, GetLanguageResponse, PostLanguageData, PostLanguageResponse, GetLanguageByIsoCodeData, GetLanguageByIsoCodeResponse, DeleteLanguageByIsoCodeData, DeleteLanguageByIsoCodeResponse, PutLanguageByIsoCodeData, PutLanguageByIsoCodeResponse, GetLogViewerLevelData, GetLogViewerLevelResponse, GetLogViewerLevelCountData, GetLogViewerLevelCountResponse, GetLogViewerLogData, GetLogViewerLogResponse, GetLogViewerMessageTemplateData, GetLogViewerMessageTemplateResponse, GetLogViewerSavedSearchData, GetLogViewerSavedSearchResponse, PostLogViewerSavedSearchData, PostLogViewerSavedSearchResponse, GetLogViewerSavedSearchByNameData, GetLogViewerSavedSearchByNameResponse, DeleteLogViewerSavedSearchByNameData, DeleteLogViewerSavedSearchByNameResponse, GetLogViewerValidateLogsSizeData, GetLogViewerValidateLogsSizeResponse, GetManifestManifestResponse, GetManifestManifestPrivateResponse, GetManifestManifestPublicResponse, GetCollectionMediaData, GetCollectionMediaResponse, GetItemMediaData, GetItemMediaResponse, GetItemMediaSearchData, GetItemMediaSearchResponse, PostMediaData, PostMediaResponse, GetMediaByIdData, GetMediaByIdResponse, DeleteMediaByIdData, DeleteMediaByIdResponse, PutMediaByIdData, PutMediaByIdResponse, GetMediaByIdAuditLogData, GetMediaByIdAuditLogResponse, PutMediaByIdMoveData, PutMediaByIdMoveResponse, PutMediaByIdMoveToRecycleBinData, PutMediaByIdMoveToRecycleBinResponse, GetMediaByIdReferencedByData, GetMediaByIdReferencedByResponse, GetMediaByIdReferencedDescendantsData, GetMediaByIdReferencedDescendantsResponse, PutMediaByIdValidateData, PutMediaByIdValidateResponse, GetMediaAreReferencedData, GetMediaAreReferencedResponse, GetMediaConfigurationResponse, PutMediaSortData, PutMediaSortResponse, GetMediaUrlsData, GetMediaUrlsResponse, PostMediaValidateData, PostMediaValidateResponse, DeleteRecycleBinMediaResponse, DeleteRecycleBinMediaByIdData, DeleteRecycleBinMediaByIdResponse, GetRecycleBinMediaByIdOriginalParentData, GetRecycleBinMediaByIdOriginalParentResponse, PutRecycleBinMediaByIdRestoreData, PutRecycleBinMediaByIdRestoreResponse, GetRecycleBinMediaChildrenData, GetRecycleBinMediaChildrenResponse, GetRecycleBinMediaRootData, GetRecycleBinMediaRootResponse, GetTreeMediaAncestorsData, GetTreeMediaAncestorsResponse, GetTreeMediaChildrenData, GetTreeMediaChildrenResponse, GetTreeMediaRootData, GetTreeMediaRootResponse, GetItemMediaTypeData, GetItemMediaTypeResponse, GetItemMediaTypeAllowedData, GetItemMediaTypeAllowedResponse, GetItemMediaTypeFoldersData, GetItemMediaTypeFoldersResponse, GetItemMediaTypeSearchData, GetItemMediaTypeSearchResponse, PostMediaTypeData, PostMediaTypeResponse, GetMediaTypeByIdData, GetMediaTypeByIdResponse, DeleteMediaTypeByIdData, DeleteMediaTypeByIdResponse, PutMediaTypeByIdData, PutMediaTypeByIdResponse, GetMediaTypeByIdAllowedChildrenData, GetMediaTypeByIdAllowedChildrenResponse, GetMediaTypeByIdCompositionReferencesData, GetMediaTypeByIdCompositionReferencesResponse, PostMediaTypeByIdCopyData, PostMediaTypeByIdCopyResponse, GetMediaTypeByIdExportData, GetMediaTypeByIdExportResponse, PutMediaTypeByIdImportData, PutMediaTypeByIdImportResponse, PutMediaTypeByIdMoveData, PutMediaTypeByIdMoveResponse, GetMediaTypeAllowedAtRootData, GetMediaTypeAllowedAtRootResponse, PostMediaTypeAvailableCompositionsData, PostMediaTypeAvailableCompositionsResponse, GetMediaTypeConfigurationResponse, PostMediaTypeFolderData, PostMediaTypeFolderResponse, GetMediaTypeFolderByIdData, GetMediaTypeFolderByIdResponse, DeleteMediaTypeFolderByIdData, DeleteMediaTypeFolderByIdResponse, PutMediaTypeFolderByIdData, PutMediaTypeFolderByIdResponse, PostMediaTypeImportData, PostMediaTypeImportResponse, GetTreeMediaTypeAncestorsData, GetTreeMediaTypeAncestorsResponse, GetTreeMediaTypeChildrenData, GetTreeMediaTypeChildrenResponse, GetTreeMediaTypeRootData, GetTreeMediaTypeRootResponse, GetFilterMemberData, GetFilterMemberResponse, GetItemMemberData, GetItemMemberResponse, GetItemMemberSearchData, GetItemMemberSearchResponse, PostMemberData, PostMemberResponse, GetMemberByIdData, GetMemberByIdResponse, DeleteMemberByIdData, DeleteMemberByIdResponse, PutMemberByIdData, PutMemberByIdResponse, PutMemberByIdValidateData, PutMemberByIdValidateResponse, GetMemberConfigurationResponse, PostMemberValidateData, PostMemberValidateResponse, GetItemMemberGroupData, GetItemMemberGroupResponse, GetMemberGroupData, GetMemberGroupResponse, PostMemberGroupData, PostMemberGroupResponse, GetMemberGroupByIdData, GetMemberGroupByIdResponse, DeleteMemberGroupByIdData, DeleteMemberGroupByIdResponse, PutMemberGroupByIdData, PutMemberGroupByIdResponse, GetTreeMemberGroupRootData, GetTreeMemberGroupRootResponse, GetItemMemberTypeData, GetItemMemberTypeResponse, GetItemMemberTypeSearchData, GetItemMemberTypeSearchResponse, PostMemberTypeData, PostMemberTypeResponse, GetMemberTypeByIdData, GetMemberTypeByIdResponse, DeleteMemberTypeByIdData, DeleteMemberTypeByIdResponse, PutMemberTypeByIdData, PutMemberTypeByIdResponse, GetMemberTypeByIdCompositionReferencesData, GetMemberTypeByIdCompositionReferencesResponse, PostMemberTypeByIdCopyData, PostMemberTypeByIdCopyResponse, PostMemberTypeAvailableCompositionsData, PostMemberTypeAvailableCompositionsResponse, GetMemberTypeConfigurationResponse, GetTreeMemberTypeRootData, GetTreeMemberTypeRootResponse, PostModelsBuilderBuildResponse, GetModelsBuilderDashboardResponse, GetModelsBuilderStatusResponse, GetObjectTypesData, GetObjectTypesResponse, GetOembedQueryData, GetOembedQueryResponse, PostPackageByNameRunMigrationData, PostPackageByNameRunMigrationResponse, GetPackageConfigurationResponse, GetPackageCreatedData, GetPackageCreatedResponse, PostPackageCreatedData, PostPackageCreatedResponse, GetPackageCreatedByIdData, GetPackageCreatedByIdResponse, DeletePackageCreatedByIdData, DeletePackageCreatedByIdResponse, PutPackageCreatedByIdData, PutPackageCreatedByIdResponse, GetPackageCreatedByIdDownloadData, GetPackageCreatedByIdDownloadResponse, GetPackageMigrationStatusData, GetPackageMigrationStatusResponse, GetItemPartialViewData, GetItemPartialViewResponse, PostPartialViewData, PostPartialViewResponse, GetPartialViewByPathData, GetPartialViewByPathResponse, DeletePartialViewByPathData, DeletePartialViewByPathResponse, PutPartialViewByPathData, PutPartialViewByPathResponse, PutPartialViewByPathRenameData, PutPartialViewByPathRenameResponse, PostPartialViewFolderData, PostPartialViewFolderResponse, GetPartialViewFolderByPathData, GetPartialViewFolderByPathResponse, DeletePartialViewFolderByPathData, DeletePartialViewFolderByPathResponse, GetPartialViewSnippetData, GetPartialViewSnippetResponse, GetPartialViewSnippetByIdData, GetPartialViewSnippetByIdResponse, GetTreePartialViewAncestorsData, GetTreePartialViewAncestorsResponse, GetTreePartialViewChildrenData, GetTreePartialViewChildrenResponse, GetTreePartialViewRootData, GetTreePartialViewRootResponse, DeletePreviewResponse, PostPreviewResponse, GetProfilingStatusResponse, PutProfilingStatusData, PutProfilingStatusResponse, GetPropertyTypeIsUsedData, GetPropertyTypeIsUsedResponse, PostPublishedCacheRebuildResponse, PostPublishedCacheReloadResponse, GetRedirectManagementData, GetRedirectManagementResponse, GetRedirectManagementByIdData, GetRedirectManagementByIdResponse, DeleteRedirectManagementByIdData, DeleteRedirectManagementByIdResponse, GetRedirectManagementStatusResponse, PostRedirectManagementStatusData, PostRedirectManagementStatusResponse, GetRelationByRelationTypeIdData, GetRelationByRelationTypeIdResponse, GetItemRelationTypeData, GetItemRelationTypeResponse, GetRelationTypeData, GetRelationTypeResponse, GetRelationTypeByIdData, GetRelationTypeByIdResponse, GetItemScriptData, GetItemScriptResponse, PostScriptData, PostScriptResponse, GetScriptByPathData, GetScriptByPathResponse, DeleteScriptByPathData, DeleteScriptByPathResponse, PutScriptByPathData, PutScriptByPathResponse, PutScriptByPathRenameData, PutScriptByPathRenameResponse, PostScriptFolderData, PostScriptFolderResponse, GetScriptFolderByPathData, GetScriptFolderByPathResponse, DeleteScriptFolderByPathData, DeleteScriptFolderByPathResponse, GetTreeScriptAncestorsData, GetTreeScriptAncestorsResponse, GetTreeScriptChildrenData, GetTreeScriptChildrenResponse, GetTreeScriptRootData, GetTreeScriptRootResponse, GetSearcherData, GetSearcherResponse, GetSearcherBySearcherNameQueryData, GetSearcherBySearcherNameQueryResponse, GetSecurityConfigurationResponse, PostSecurityForgotPasswordData, PostSecurityForgotPasswordResponse, PostSecurityForgotPasswordResetData, PostSecurityForgotPasswordResetResponse, PostSecurityForgotPasswordVerifyData, PostSecurityForgotPasswordVerifyResponse, GetSegmentData, GetSegmentResponse, GetServerConfigurationResponse, GetServerInformationResponse, GetServerStatusResponse, GetServerTroubleshootingResponse, GetServerUpgradeCheckResponse, GetItemStaticFileData, GetItemStaticFileResponse, GetTreeStaticFileAncestorsData, GetTreeStaticFileAncestorsResponse, GetTreeStaticFileChildrenData, GetTreeStaticFileChildrenResponse, GetTreeStaticFileRootData, GetTreeStaticFileRootResponse, GetItemStylesheetData, GetItemStylesheetResponse, PostStylesheetData, PostStylesheetResponse, GetStylesheetByPathData, GetStylesheetByPathResponse, DeleteStylesheetByPathData, DeleteStylesheetByPathResponse, PutStylesheetByPathData, PutStylesheetByPathResponse, PutStylesheetByPathRenameData, PutStylesheetByPathRenameResponse, PostStylesheetFolderData, PostStylesheetFolderResponse, GetStylesheetFolderByPathData, GetStylesheetFolderByPathResponse, DeleteStylesheetFolderByPathData, DeleteStylesheetFolderByPathResponse, GetTreeStylesheetAncestorsData, GetTreeStylesheetAncestorsResponse, GetTreeStylesheetChildrenData, GetTreeStylesheetChildrenResponse, GetTreeStylesheetRootData, GetTreeStylesheetRootResponse, GetTagData, GetTagResponse, GetTelemetryData, GetTelemetryResponse, GetTelemetryLevelResponse, PostTelemetryLevelData, PostTelemetryLevelResponse, GetItemTemplateData, GetItemTemplateResponse, GetItemTemplateSearchData, GetItemTemplateSearchResponse, PostTemplateData, PostTemplateResponse, GetTemplateByIdData, GetTemplateByIdResponse, DeleteTemplateByIdData, DeleteTemplateByIdResponse, PutTemplateByIdData, PutTemplateByIdResponse, GetTemplateConfigurationResponse, PostTemplateQueryExecuteData, PostTemplateQueryExecuteResponse, GetTemplateQuerySettingsResponse, GetTreeTemplateAncestorsData, GetTreeTemplateAncestorsResponse, GetTreeTemplateChildrenData, GetTreeTemplateChildrenResponse, GetTreeTemplateRootData, GetTreeTemplateRootResponse, PostTemporaryFileData, PostTemporaryFileResponse, GetTemporaryFileByIdData, GetTemporaryFileByIdResponse, DeleteTemporaryFileByIdData, DeleteTemporaryFileByIdResponse, GetTemporaryFileConfigurationResponse, PostUpgradeAuthorizeResponse, GetUpgradeSettingsResponse, GetFilterUserData, GetFilterUserResponse, GetItemUserData, GetItemUserResponse, PostUserData, PostUserResponse, DeleteUserData, DeleteUserResponse, GetUserData, GetUserResponse, GetUserByIdData, GetUserByIdResponse, DeleteUserByIdData, DeleteUserByIdResponse, PutUserByIdData, PutUserByIdResponse, GetUserById2FaData, GetUserById2FaResponse, DeleteUserById2FaByProviderNameData, DeleteUserById2FaByProviderNameResponse, GetUserByIdCalculateStartNodesData, GetUserByIdCalculateStartNodesResponse, PostUserByIdChangePasswordData, PostUserByIdChangePasswordResponse, PostUserByIdClientCredentialsData, PostUserByIdClientCredentialsResponse, GetUserByIdClientCredentialsData, GetUserByIdClientCredentialsResponse, DeleteUserByIdClientCredentialsByClientIdData, DeleteUserByIdClientCredentialsByClientIdResponse, PostUserByIdResetPasswordData, PostUserByIdResetPasswordResponse, DeleteUserAvatarByIdData, DeleteUserAvatarByIdResponse, PostUserAvatarByIdData, PostUserAvatarByIdResponse, GetUserConfigurationResponse, GetUserCurrentResponse, GetUserCurrent2FaResponse, DeleteUserCurrent2FaByProviderNameData, DeleteUserCurrent2FaByProviderNameResponse, PostUserCurrent2FaByProviderNameData, PostUserCurrent2FaByProviderNameResponse, GetUserCurrent2FaByProviderNameData, GetUserCurrent2FaByProviderNameResponse, PostUserCurrentAvatarData, PostUserCurrentAvatarResponse, PostUserCurrentChangePasswordData, PostUserCurrentChangePasswordResponse, GetUserCurrentConfigurationResponse, GetUserCurrentLoginProvidersResponse, GetUserCurrentPermissionsData, GetUserCurrentPermissionsResponse, GetUserCurrentPermissionsDocumentData, GetUserCurrentPermissionsDocumentResponse, GetUserCurrentPermissionsMediaData, GetUserCurrentPermissionsMediaResponse, PostUserDisableData, PostUserDisableResponse, PostUserEnableData, PostUserEnableResponse, PostUserInviteData, PostUserInviteResponse, PostUserInviteCreatePasswordData, PostUserInviteCreatePasswordResponse, PostUserInviteResendData, PostUserInviteResendResponse, PostUserInviteVerifyData, PostUserInviteVerifyResponse, PostUserSetUserGroupsData, PostUserSetUserGroupsResponse, PostUserUnlockData, PostUserUnlockResponse, PostUserDataData, PostUserDataResponse, GetUserDataData, GetUserDataResponse, PutUserDataData, PutUserDataResponse, GetUserDataByIdData, GetUserDataByIdResponse, GetFilterUserGroupData, GetFilterUserGroupResponse, GetItemUserGroupData, GetItemUserGroupResponse, DeleteUserGroupData, DeleteUserGroupResponse, PostUserGroupData, PostUserGroupResponse, GetUserGroupData, GetUserGroupResponse, GetUserGroupByIdData, GetUserGroupByIdResponse, DeleteUserGroupByIdData, DeleteUserGroupByIdResponse, PutUserGroupByIdData, PutUserGroupByIdResponse, DeleteUserGroupByIdUsersData, DeleteUserGroupByIdUsersResponse, PostUserGroupByIdUsersData, PostUserGroupByIdUsersResponse, GetItemWebhookData, GetItemWebhookResponse, GetWebhookData, GetWebhookResponse, PostWebhookData, PostWebhookResponse, GetWebhookByIdData, GetWebhookByIdResponse, DeleteWebhookByIdData, DeleteWebhookByIdResponse, PutWebhookByIdData, PutWebhookByIdResponse, GetWebhookByIdLogsData, GetWebhookByIdLogsResponse, GetWebhookEventsData, GetWebhookEventsResponse, GetWebhookLogsData, GetWebhookLogsResponse } from './types.gen'; export class CultureService { /** @@ -8857,6 +8857,31 @@ export class WebhookService { }); } + /** + * @param data The data for the request. + * @param data.id + * @param data.skip + * @param data.take + * @returns unknown OK + * @throws ApiError + */ + public static getWebhookByIdLogs(data: GetWebhookByIdLogsData): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/umbraco/management/api/v1/webhook/{id}/logs', + path: { + id: data.id + }, + query: { + skip: data.skip, + take: data.take + }, + errors: { + 401: 'The resource is protected and requires an authentication token' + } + }); + } + /** * @param data The data for the request. * @param data.skip @@ -8895,8 +8920,7 @@ export class WebhookService { take: data.take }, errors: { - 401: 'The resource is protected and requires an authentication token', - 404: 'Not Found' + 401: 'The resource is protected and requires an authentication token' } }); } diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/types.gen.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/types.gen.ts index 7d6d2d7e425a..157292951bec 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/types.gen.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/types.gen.ts @@ -1942,6 +1942,11 @@ export type PagedWebhookEventModel = { items: Array<(WebhookEventModel)>; }; +export type PagedWebhookLogResponseModel = { + total: number; + items: Array<(WebhookLogResponseModel)>; +}; + export type PagedWebhookResponseModel = { total: number; items: Array<(WebhookResponseModel)>; @@ -2881,6 +2886,22 @@ export type WebhookItemResponseModel = { types: string; }; +export type WebhookLogResponseModel = { + key: string; + webhookKey: string; + statusCode: string; + isSuccessStatusCode: boolean; + date: string; + eventAlias: string; + url: string; + retryCount: number; + requestHeaders: string; + requestBody: string; + responseHeaders: string; + responseBody: string; + exceptionOccured: boolean; +}; + export type WebhookResponseModel = { enabled: boolean; url: string; @@ -5353,6 +5374,14 @@ export type PutWebhookByIdData = { export type PutWebhookByIdResponse = (string); +export type GetWebhookByIdLogsData = { + id: string; + skip?: number; + take?: number; +}; + +export type GetWebhookByIdLogsResponse = ((PagedWebhookLogResponseModel)); + export type GetWebhookEventsData = { skip?: number; take?: number; @@ -5365,4 +5394,4 @@ export type GetWebhookLogsData = { take?: number; }; -export type GetWebhookLogsResponse = ((WebhookResponseModel)); \ No newline at end of file +export type GetWebhookLogsResponse = ((PagedWebhookLogResponseModel)); \ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/collection/components/date-table-column-view/date-table-column-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/collection/components/date-table-column-view/date-table-column-view.element.ts new file mode 100644 index 000000000000..e3c1aa9a42d8 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/collection/components/date-table-column-view/date-table-column-view.element.ts @@ -0,0 +1,20 @@ +import { html, nothing, customElement, property } from '@umbraco-cms/backoffice/external/lit'; +import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; + +@customElement('umb-date-table-column-view') +export class UmbDateTableColumnViewElement extends UmbLitElement { + @property({ attribute: false }) + value?: string; + + override render() { + if (!this.value) return nothing; + const date = new Date(this.value); + return html`${date.toLocaleString()}`; + } +} + +declare global { + interface HTMLElementTagNameMap { + 'umb-date-table-column-view': UmbDateTableColumnViewElement; + } +} diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/collection/components/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/collection/components/index.ts index a440030db139..7f76846b356e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/collection/components/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/collection/components/index.ts @@ -1,4 +1,5 @@ import './boolean-table-column-view/boolean-table-column-view.element.js'; +import './date-table-column-view/date-table-column-view.element.js'; import './collection-action-bundle.element.js'; import './collection-filter-field.element.js'; import './collection-selection-actions.element.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/constants.ts index 18c09af44f61..b8a56501d319 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/constants.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/constants.ts @@ -1,4 +1,2 @@ -export * from './repository/constants.js'; -export * from './views/constants.js'; - -export const UMB_WEBHOOK_COLLECTION_ALIAS = 'Umb.Collection.Webhook'; +export * from './webhooks/constants.js'; +export * from './deliveries/constants.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/constants.ts new file mode 100644 index 000000000000..12a35faf8a80 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/constants.ts @@ -0,0 +1,4 @@ +export * from './repository/constants.js'; +export * from './views/constants.js'; + +export const UMB_WEBHOOK_DELIVERY_COLLECTION_ALIAS = 'Umb.Collection.Webhook.Delivery'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/index.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/index.ts new file mode 100644 index 000000000000..c5243b17bfc3 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/index.ts @@ -0,0 +1,2 @@ +export { UmbWebhookDeliveryCollectionRepository } from './repository/index.js'; +export { UMB_WEBHOOK_DELIVERY_COLLECTION_ALIAS } from './constants.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/manifests.ts new file mode 100644 index 000000000000..f4338c6a3445 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/manifests.ts @@ -0,0 +1,17 @@ +import { UMB_WEBHOOK_DELIVERY_COLLECTION_ALIAS, UMB_WEBHOOK_DELIVERIES_COLLECTION_REPOSITORY_ALIAS } from './constants.js'; +import { manifests as collectionRepositoryManifests } from './repository/manifests.js'; +import { manifests as collectionViewManifests } from './views/manifests.js'; + +export const manifests: Array = [ + { + type: 'collection', + kind: 'default', + alias: UMB_WEBHOOK_DELIVERY_COLLECTION_ALIAS, + name: 'Webhook Delivery Collection', + meta: { + repositoryAlias: UMB_WEBHOOK_DELIVERIES_COLLECTION_REPOSITORY_ALIAS, + }, + }, + ...collectionRepositoryManifests, + ...collectionViewManifests, +]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/constants.ts new file mode 100644 index 000000000000..dcbb8c884fa9 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/constants.ts @@ -0,0 +1 @@ +export const UMB_WEBHOOK_DELIVERIES_COLLECTION_REPOSITORY_ALIAS = 'Umb.Repository.WebhookDeliveriesCollection'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/index.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/index.ts new file mode 100644 index 000000000000..cc58ece354d6 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/index.ts @@ -0,0 +1 @@ +export { UmbWebhookDeliveryCollectionRepository } from './webhook-delivery-collection.repository.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/manifests.ts new file mode 100644 index 000000000000..079dc8bd6adc --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/manifests.ts @@ -0,0 +1,10 @@ +import { UMB_WEBHOOK_DELIVERIES_COLLECTION_REPOSITORY_ALIAS } from './constants.js'; + +export const manifests: Array = [ + { + type: 'repository', + alias: UMB_WEBHOOK_DELIVERIES_COLLECTION_REPOSITORY_ALIAS, + name: 'Webhook Deliveries Collection Repository', + api: () => import('./webhook-delivery-collection.repository.js'), + }, +]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/types.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/types.ts new file mode 100644 index 000000000000..13a198b1325e --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/types.ts @@ -0,0 +1,8 @@ +import type { UmbWebhookDeliveryDetailModel } from '../../../types.js'; +import type { UmbWebhookDeliveryCollectionFilterModel } from '../types.js'; +import type { UmbCollectionDataSource } from '@umbraco-cms/backoffice/collection'; + +export type UmbWebhookDeliveryCollectionDataSource = UmbCollectionDataSource< + UmbWebhookDeliveryDetailModel, + UmbWebhookDeliveryCollectionFilterModel +>; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/webhook-delivery-collection.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/webhook-delivery-collection.repository.ts new file mode 100644 index 000000000000..b61fab95b5ac --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/webhook-delivery-collection.repository.ts @@ -0,0 +1,33 @@ +import type { UmbWebhookDeliveryCollectionFilterModel } from '../types.js'; +import { UmbWebhookDeliveryCollectionServerDataSource } from './webhook-delivery-collection.server.data-source.js'; +import type { UmbWebhookDeliveryCollectionDataSource } from './types.js'; + +import { UmbRepositoryBase } from '@umbraco-cms/backoffice/repository'; +import type { UmbCollectionRepository } from '@umbraco-cms/backoffice/collection'; +import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; +import { UMB_WEBHOOK_WORKSPACE_CONTEXT } from 'src/packages/webhook/constants.js'; + +export class UmbWebhookDeliveryCollectionRepository extends UmbRepositoryBase implements UmbCollectionRepository { + #collectionSource: UmbWebhookDeliveryCollectionDataSource; + + #webhookId: string = ""; + + constructor(host: UmbControllerHost) { + super(host); + + this.#collectionSource = new UmbWebhookDeliveryCollectionServerDataSource(host); + + this.consumeContext(UMB_WEBHOOK_WORKSPACE_CONTEXT, (instance) => { + this.observe(instance.data, (webhook) => { + this.#webhookId = webhook?.unique ?? ""; + }); + }); + } + + async requestCollection(filter: UmbWebhookDeliveryCollectionFilterModel) { + const filterWithId = { ...filter, id: this.#webhookId }; + return this.#collectionSource.getCollection(filterWithId); + } +} + +export default UmbWebhookDeliveryCollectionRepository; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/webhook-delivery-collection.server.data-source.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/webhook-delivery-collection.server.data-source.ts new file mode 100644 index 000000000000..a97971fac8ad --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/webhook-delivery-collection.server.data-source.ts @@ -0,0 +1,56 @@ +import type { UmbWebhookDeliveryCollectionFilterModel } from '../types.js'; +import type { UmbWebhookDeliveryDetailModel } from '../../../types.js'; +import { UMB_WEBHOOK_DELIVERY_ENTITY_TYPE } from '../../../entity.js'; + +import { WebhookService } from '@umbraco-cms/backoffice/external/backend-api'; +import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; + +/** + * A data source that fetches the webhook delivery collection data from the server. + * @class UmbWebhookDeliveryCollectionServerDataSource + * @implements {UmbCollectionDataSource} + */ +export class UmbWebhookDeliveryCollectionServerDataSource implements UmbWebhookDeliveryCollectionServerDataSource { + #host: UmbControllerHost; + + /** + * Creates an instance of UmbWebhookDeliveryCollectionServerDataSource. + * @param {UmbControllerHost} host - The controller host for this controller to be appended to + * @memberof UmbWebhookDeliveryCollectionServerDataSource + */ + constructor(host: UmbControllerHost) { + this.#host = host; + } + + /** + * Gets the Webhook delivery collection filtered by the given filter. + * @param {UmbWebhookDeliveryCollectionFilterModel} filter + * @param _filter + * @returns {*} + * @memberof UmbWebhookDeliveryCollectionServerDataSource + */ + async getCollection(_filter: UmbWebhookDeliveryCollectionFilterModel) { + const { data, error } = await tryExecuteAndNotify(this.#host, WebhookService.getWebhookByIdLogs(_filter)); + + if (error || !data) { + return { error }; + } + + const items = data.items.map((item) => { + const model: UmbWebhookDeliveryDetailModel = { + entityType: UMB_WEBHOOK_DELIVERY_ENTITY_TYPE, + unique: item.key, + date: item.date, + url: item.url, + eventAlias: item.eventAlias, + retryCount: item.retryCount, + statusCode: item.statusCode + }; + + return model; + }); + + return { data: { items, total: data.total } }; + } +} diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/types.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/types.ts new file mode 100644 index 000000000000..5420256cdbc5 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/types.ts @@ -0,0 +1,5 @@ +export interface UmbWebhookDeliveryCollectionFilterModel { + id: string; + skip?: number; + take?: number; +} diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/views/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/views/constants.ts new file mode 100644 index 000000000000..b1a78871dfbf --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/views/constants.ts @@ -0,0 +1 @@ +export { UMB_WEBHOOK_DELIVERIES_TABLE_COLLECTION_VIEW_ALIAS } from './manifests.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/views/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/views/manifests.ts new file mode 100644 index 000000000000..4fc3316cf5b9 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/views/manifests.ts @@ -0,0 +1,23 @@ +import { UMB_COLLECTION_ALIAS_CONDITION } from '@umbraco-cms/backoffice/collection'; + +export const UMB_WEBHOOK_DELIVERIES_TABLE_COLLECTION_VIEW_ALIAS = 'Umb.CollectionView.WebhookDeliveries.Table'; + +export const manifests: Array = [ + { + type: 'collectionView', + alias: UMB_WEBHOOK_DELIVERIES_TABLE_COLLECTION_VIEW_ALIAS, + name: 'Webhook Deliveries Table Collection View', + js: () => import('./table/webhook-delivery-table-collection-view.element'), + meta: { + label: 'Table', + icon: 'icon-list', + pathName: 'table', + }, + conditions: [ + { + alias: UMB_COLLECTION_ALIAS_CONDITION, + match: "Umb.Collection.Webhook.Delivery", + }, + ], + }, +]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/views/table/column-layouts/status-code/webhook-delivery-table-status-code-column-layout.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/views/table/column-layouts/status-code/webhook-delivery-table-status-code-column-layout.element.ts new file mode 100644 index 000000000000..f0d911a26f81 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/views/table/column-layouts/status-code/webhook-delivery-table-status-code-column-layout.element.ts @@ -0,0 +1,39 @@ +import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; +import { html, LitElement, nothing, customElement, property, css } from '@umbraco-cms/backoffice/external/lit'; + +@customElement('umb-webhook-delivery-table-status-code-column-layout') +export class UmbWebhookDeliveryTableStatusCodeColumnLayoutElement extends LitElement { + @property({ attribute: false }) + value: string = ""; + + override render() { + if (this.value.length === 0) return nothing; + + const className = this.value.includes("(2") || this.value.includes("(3") + ? "success" + : this.value.includes("(4") + ? "warning" + : "error"; + + return html`${this.value}`; + } + + static override styles = [ + UmbTextStyles, + css` + :host { + white-space: nowrap; + } + + .success { color: var(--uui-palette-jungle-green); } + .warning { color: var(--uui-palette-chamoisee); } + .error { color: var(--uui-palette-maroon-flush); } + `, + ]; +} + +declare global { + interface HTMLElementTagNameMap { + 'umb-webhook-delivery-table-status-code-column-layout': UmbWebhookDeliveryTableStatusCodeColumnLayoutElement; + } +} diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/views/table/webhook-delivery-table-collection-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/views/table/webhook-delivery-table-collection-view.element.ts new file mode 100644 index 000000000000..0883a446020f --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/views/table/webhook-delivery-table-collection-view.element.ts @@ -0,0 +1,134 @@ +import type { UmbWebhookDeliveryDetailModel } from '../../../../types.js'; +import type { UmbDefaultCollectionContext } from '@umbraco-cms/backoffice/collection'; +import { css, customElement, html, nothing, state } from '@umbraco-cms/backoffice/external/lit'; +import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; +import { UMB_COLLECTION_CONTEXT } from '@umbraco-cms/backoffice/collection'; +import type { UmbTableColumn, UmbTableConfig, UmbTableItem } from '@umbraco-cms/backoffice/components'; + +import './column-layouts/status-code/webhook-delivery-table-status-code-column-layout.element.js'; +import type { UUIPaginationEvent } from '@umbraco-ui/uui'; + +@customElement('umb-webhook-delivery-table-collection-view') +export class UmbWebhookDeliveryTableCollectionViewElement extends UmbLitElement { + #itemsPerPage = 50; + #currentPage = 1; + + @state() + private _total = 0; + + @state() + private _tableConfig: UmbTableConfig = { + allowSelection: false, + hideIcon: true + }; + + @state() + private _tableColumns: Array = [ + { + name: this.localize.term('general_date'), + alias: 'date', + }, + { + name: this.localize.term('webhooks_url'), + alias: 'url', + }, + { + name: this.localize.term('webhooks_event'), + alias: 'eventAlias', + }, + { + name: this.localize.term('webhooks_statusCode'), + alias: 'statusCode', + elementName: 'umb-webhook-delivery-table-status-code-column-layout', + }, + { + name: this.localize.term('webhooks_retryCount'), + alias: 'retryCount', + }, + ]; + + @state() + private _tableItems: Array = []; + + #collectionContext?: UmbDefaultCollectionContext; + + constructor() { + super(); + + this.consumeContext(UMB_COLLECTION_CONTEXT, (instance) => { + this.#collectionContext = instance; + this.#observeCollectionItems(); + }); + } + + #observeCollectionItems() { + if (!this.#collectionContext) return; + this.observe(this.#collectionContext.items, (items) => this.#createTableItems(items), 'umbCollectionItemsObserver'); + this.observe(this.#collectionContext.totalItems, (totalItems) => this._total = totalItems, 'umbCollectionTotalItemsObserver'); + } + + #createTableItems(deliveries: Array) { + this._tableItems = deliveries.map((delivery, index) => { + return { + id: delivery.unique, + icon: 'icon-box-alt', + data: [ + { + columnAlias: 'date', + value: html``, + }, + { + columnAlias: 'url', + value: delivery.url, + }, + { + columnAlias: 'eventAlias', + value: delivery.eventAlias, + }, + { + columnAlias: 'statusCode', + value: delivery.statusCode, + }, + { + columnAlias: 'retryCount', + value: delivery.retryCount, + }, + ], + }; + }); + } + + #onChangePage(event: UUIPaginationEvent) { + this.#currentPage = event.target.current; + this.#collectionContext?.setFilter({skip: this.#itemsPerPage * (this.#currentPage - 1), take: this.#itemsPerPage}) + } + + override render() { + return html` + + ${this._total > this.#itemsPerPage + ? html`` + : nothing} + `; + } + + static override styles = [ + css` + :host { + display: flex; + flex-direction: column; + } + `, + ]; +} + +export default UmbWebhookDeliveryTableCollectionViewElement; + +declare global { + interface HTMLElementTagNameMap { + 'umb-webhook-delivery-table-collection-view': UmbWebhookDeliveryTableCollectionViewElement; + } +} diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/index.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/index.ts index 55f846d876c6..42d6621489b9 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/index.ts @@ -1,2 +1,2 @@ -export { UmbWebhookCollectionRepository } from './repository/index.js'; -export { UMB_WEBHOOK_COLLECTION_ALIAS } from './constants.js'; +export * from './webhooks/index.js'; +export * from './deliveries/index.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/manifests.ts index 20f72e817111..291a0aa65987 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/manifests.ts @@ -1,19 +1,7 @@ -import { manifests as collectionRepositoryManifests } from './repository/manifests.js'; -import { manifests as collectionViewManifests } from './views/manifests.js'; -import { manifests as collectionActionManifests } from './action/manifests.js'; -import { UMB_WEBHOOK_COLLECTION_ALIAS, UMB_WEBHOOK_COLLECTION_REPOSITORY_ALIAS } from './constants.js'; +import { manifests as webhooksManifests } from './webhooks/manifests.js'; +import { manifests as deliveriesManifests } from './deliveries/manifests.js'; export const manifests: Array = [ - { - type: 'collection', - kind: 'default', - alias: UMB_WEBHOOK_COLLECTION_ALIAS, - name: 'Webhook Collection', - meta: { - repositoryAlias: UMB_WEBHOOK_COLLECTION_REPOSITORY_ALIAS, - }, - }, - ...collectionRepositoryManifests, - ...collectionViewManifests, - ...collectionActionManifests, + ...webhooksManifests, + ...deliveriesManifests, ]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/action/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/action/manifests.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/action/manifests.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/action/manifests.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/constants.ts new file mode 100644 index 000000000000..18c09af44f61 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/constants.ts @@ -0,0 +1,4 @@ +export * from './repository/constants.js'; +export * from './views/constants.js'; + +export const UMB_WEBHOOK_COLLECTION_ALIAS = 'Umb.Collection.Webhook'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/index.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/index.ts new file mode 100644 index 000000000000..55f846d876c6 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/index.ts @@ -0,0 +1,2 @@ +export { UmbWebhookCollectionRepository } from './repository/index.js'; +export { UMB_WEBHOOK_COLLECTION_ALIAS } from './constants.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/manifests.ts new file mode 100644 index 000000000000..20f72e817111 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/manifests.ts @@ -0,0 +1,19 @@ +import { manifests as collectionRepositoryManifests } from './repository/manifests.js'; +import { manifests as collectionViewManifests } from './views/manifests.js'; +import { manifests as collectionActionManifests } from './action/manifests.js'; +import { UMB_WEBHOOK_COLLECTION_ALIAS, UMB_WEBHOOK_COLLECTION_REPOSITORY_ALIAS } from './constants.js'; + +export const manifests: Array = [ + { + type: 'collection', + kind: 'default', + alias: UMB_WEBHOOK_COLLECTION_ALIAS, + name: 'Webhook Collection', + meta: { + repositoryAlias: UMB_WEBHOOK_COLLECTION_REPOSITORY_ALIAS, + }, + }, + ...collectionRepositoryManifests, + ...collectionViewManifests, + ...collectionActionManifests, +]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/repository/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/repository/constants.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/repository/constants.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/repository/constants.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/repository/index.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/repository/index.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/repository/index.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/repository/index.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/repository/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/repository/manifests.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/repository/manifests.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/repository/manifests.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/repository/types.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/repository/types.ts similarity index 81% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/repository/types.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/repository/types.ts index 28989e140eb7..b531afa5cd69 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/repository/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/repository/types.ts @@ -1,4 +1,4 @@ -import type { UmbWebhookDetailModel } from '../../types.js'; +import type { UmbWebhookDetailModel } from '../../../types.js'; import type { UmbWebhookCollectionFilterModel } from '../types.js'; import type { UmbCollectionDataSource } from '@umbraco-cms/backoffice/collection'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/repository/webhook-collection.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/repository/webhook-collection.repository.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/repository/webhook-collection.repository.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/repository/webhook-collection.repository.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/repository/webhook-collection.server.data-source.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/repository/webhook-collection.server.data-source.ts similarity index 93% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/repository/webhook-collection.server.data-source.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/repository/webhook-collection.server.data-source.ts index ac19447bbe51..307dfadc4290 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/repository/webhook-collection.server.data-source.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/repository/webhook-collection.server.data-source.ts @@ -1,6 +1,6 @@ import type { UmbWebhookCollectionFilterModel } from '../types.js'; -import type { UmbWebhookDetailModel } from '../../types.js'; -import { UMB_WEBHOOK_ENTITY_TYPE } from '../../entity.js'; +import type { UmbWebhookDetailModel } from '../../../types.js'; +import { UMB_WEBHOOK_ENTITY_TYPE } from '../../../entity.js'; import { WebhookService } from '@umbraco-cms/backoffice/external/backend-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/types.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/types.ts similarity index 97% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/types.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/types.ts index fc7ef64ca721..4482deba591a 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/types.ts @@ -1,4 +1,4 @@ export interface UmbWebhookCollectionFilterModel { skip?: number; take?: number; -} +} \ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/views/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/views/constants.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/views/constants.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/views/constants.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/views/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/views/manifests.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/views/manifests.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/views/manifests.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/views/table/column-layouts/content-type/webhook-table-name-column-layout.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/views/table/column-layouts/content-type/webhook-table-name-column-layout.element.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/views/table/column-layouts/content-type/webhook-table-name-column-layout.element.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/views/table/column-layouts/content-type/webhook-table-name-column-layout.element.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/views/table/column-layouts/name/webhook-table-name-column-layout.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/views/table/column-layouts/name/webhook-table-name-column-layout.element.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/views/table/column-layouts/name/webhook-table-name-column-layout.element.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/views/table/column-layouts/name/webhook-table-name-column-layout.element.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/views/table/webhook-table-collection-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/views/table/webhook-table-collection-view.element.ts similarity index 98% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/views/table/webhook-table-collection-view.element.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/views/table/webhook-table-collection-view.element.ts index b731b164cbc9..985b0967f30c 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/views/table/webhook-table-collection-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/views/table/webhook-table-collection-view.element.ts @@ -1,4 +1,4 @@ -import type { UmbWebhookDetailModel } from '../../../types.js'; +import type { UmbWebhookDetailModel } from '../../../../types.js'; import type { UmbDefaultCollectionContext } from '@umbraco-cms/backoffice/collection'; import { css, customElement, html, state } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/entity.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/entity.ts index e0c220e06dc6..51932a19c6b5 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/entity.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/entity.ts @@ -6,5 +6,8 @@ export const UMB_WEBHOOK_WORKSPACE = 'Umb.Workspace.Webhook'; export const UMB_WEBHOOK_ENTITY_TYPE = 'webhook'; export const UMB_WEBHOOK_ROOT_ENTITY_TYPE = 'webhook-root'; +export const UMB_WEBHOOK_DELIVERY_ENTITY_TYPE = 'webhook-delivery'; export type UmbWebhookEntityType = typeof UMB_WEBHOOK_ENTITY_TYPE; + +export type UmbWebhookDeliveryEntityType = typeof UMB_WEBHOOK_DELIVERY_ENTITY_TYPE; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/types.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/types.ts index 8c3c81653909..c15b5306d635 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/types.ts @@ -1,4 +1,4 @@ -import type { UmbWebhookEntityType } from './entity.js'; +import type { UmbWebhookDeliveryEntityType, UmbWebhookEntityType } from './entity.js'; export interface UmbWebhookDetailModel { entityType: UmbWebhookEntityType; @@ -15,3 +15,13 @@ export interface UmbWebhookEventModel { eventType: string; alias: string; } + +export interface UmbWebhookDeliveryDetailModel { + entityType: UmbWebhookDeliveryEntityType; + unique: string; + date: string; + url: string; + eventAlias: string, + retryCount: number, + statusCode: string +} diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook-root/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook-root/manifests.ts index b63162d1c371..158c4b941726 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook-root/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook-root/manifests.ts @@ -1,4 +1,4 @@ -import { UMB_WEBHOOK_COLLECTION_ALIAS } from '../../constants.js'; +import { UMB_WEBHOOK_COLLECTION_ALIAS } from '../../collection/constants.js'; import { UMB_WEBHOOK_ROOT_ENTITY_TYPE } from '../../entity.js'; import { UMB_WEBHOOK_ROOT_WORKSPACE_ALIAS } from './constants.js'; import { UMB_WORKSPACE_CONDITION_ALIAS } from '@umbraco-cms/backoffice/workspace'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/manifests.ts index da58546d92ac..4b7cfeced76a 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/manifests.ts @@ -1,3 +1,4 @@ +import { UMB_WEBHOOK_DELIVERY_COLLECTION_ALIAS } from '../../collection/deliveries/constants.js'; import { UMB_WEBHOOK_ENTITY_TYPE, UMB_WEBHOOK_WORKSPACE_ALIAS } from '../../entity.js'; import { UMB_WORKSPACE_CONDITION_ALIAS, UmbSubmitWorkspaceAction } from '@umbraco-cms/backoffice/workspace'; @@ -30,6 +31,24 @@ export const manifests: Array = [ }, ], }, + { + type: 'workspaceView', + kind: 'collection', + alias: 'Umb.WorkspaceView.WebhookDeliveries.Collection', + name: 'Webhook Root Workspace Deliveries View', + meta: { + label: 'Deliveries', + pathname: 'deliveries', + icon: 'icon-box-alt', + collectionAlias: UMB_WEBHOOK_DELIVERY_COLLECTION_ALIAS, + }, + conditions: [ + { + alias: UMB_WORKSPACE_CONDITION_ALIAS, + match: UMB_WEBHOOK_WORKSPACE_ALIAS, + }, + ], + }, { type: 'workspaceAction', kind: 'default', diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/views/webhook-details-workspace-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/views/webhook-details-workspace-view.element.ts index c727415667de..8936eba10cd1 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/views/webhook-details-workspace-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/views/webhook-details-workspace-view.element.ts @@ -17,13 +17,13 @@ import '../../../components/input-webhook-events.element.js'; @customElement('umb-webhook-details-workspace-view') export class UmbWebhookDetailsWorkspaceViewElement extends UmbLitElement implements UmbWorkspaceViewElement { @state() - _webhook?: UmbWebhookDetailModel; + private _webhook?: UmbWebhookDetailModel; @state() - _isNew?: boolean; + private _isNew?: boolean; @state() - contentType?: string; + private _contentType?: string; #webhookWorkspaceContext?: typeof UMB_WEBHOOK_WORKSPACE_CONTEXT.TYPE; @@ -34,7 +34,7 @@ export class UmbWebhookDetailsWorkspaceViewElement extends UmbLitElement impleme this.#webhookWorkspaceContext = instance; this.observe(this.#webhookWorkspaceContext.data, (webhook) => { this._webhook = webhook; - this.contentType = this._webhook?.events[0]?.eventType ?? undefined; + this._contentType = this._webhook?.events[0]?.eventType ?? undefined; }); this.observe(this.#webhookWorkspaceContext.isNew, (isNew) => { this._isNew = isNew; @@ -44,7 +44,7 @@ export class UmbWebhookDetailsWorkspaceViewElement extends UmbLitElement impleme #onEventsChange(event: UmbChangeEvent & { target: UmbInputWebhookEventsElement }) { const events = event.target.events ?? []; - if (events.length && events[0].eventType !== this.contentType) { + if (events.length && events[0].eventType !== this._contentType) { this.#webhookWorkspaceContext?.setTypes([]); } this.#webhookWorkspaceContext?.setEvents(events); @@ -71,7 +71,7 @@ export class UmbWebhookDetailsWorkspaceViewElement extends UmbLitElement impleme this.#webhookWorkspaceContext?.setEnabled(event.target.checked); } #renderContentTypePicker() { - if (this.contentType !== 'Content' && this.contentType !== 'Media') return nothing; + if (this._contentType !== 'Content' && this._contentType !== 'Media') return nothing; return html` { - Assert.IsNotNull(webhookLogsPaged); - Assert.IsNotEmpty(webhookLogsPaged.Items); - Assert.AreEqual(1, webhookLogsPaged.Items.Count()); - var webhookLog = webhookLogsPaged.Items.First(); - Assert.AreEqual(createdWebhookLog.Date.ToString(CultureInfo.InvariantCulture), webhookLog.Date.ToString(CultureInfo.InvariantCulture)); - Assert.AreEqual(createdWebhookLog.EventAlias, webhookLog.EventAlias); - Assert.AreEqual(createdWebhookLog.RequestBody, webhookLog.RequestBody); - Assert.AreEqual(createdWebhookLog.ResponseBody, webhookLog.ResponseBody); - Assert.AreEqual(createdWebhookLog.StatusCode, webhookLog.StatusCode); - Assert.AreEqual(createdWebhookLog.RetryCount, webhookLog.RetryCount); - Assert.AreEqual(createdWebhookLog.Key, webhookLog.Key); + AssertGetResult(createdWebhookLog, allWebhookLogsPaged); + AssertGetResult(createdWebhookLog, specificWebhookLogsPaged); + + static void AssertGetResult(WebhookLog createdWebhookLog, PagedModel allWebhookLogsPaged) + { + Assert.IsNotNull(allWebhookLogsPaged); + Assert.IsNotEmpty(allWebhookLogsPaged.Items); + Assert.AreEqual(1, allWebhookLogsPaged.Items.Count()); + var webhookLog = allWebhookLogsPaged.Items.First(); + Assert.AreEqual(createdWebhookLog.Date.ToString(CultureInfo.InvariantCulture), webhookLog.Date.ToString(CultureInfo.InvariantCulture)); + Assert.AreEqual(createdWebhookLog.EventAlias, webhookLog.EventAlias); + Assert.AreEqual(createdWebhookLog.RequestBody, webhookLog.RequestBody); + Assert.AreEqual(createdWebhookLog.ResponseBody, webhookLog.ResponseBody); + Assert.AreEqual(createdWebhookLog.StatusCode, webhookLog.StatusCode); + Assert.AreEqual(createdWebhookLog.RetryCount, webhookLog.RetryCount); + Assert.AreEqual(createdWebhookLog.Key, webhookLog.Key); + } }); } } From 4e2703fae536cae5c9c653f76ab1bcda1c073896 Mon Sep 17 00:00:00 2001 From: Andy Butland Date: Thu, 30 Jan 2025 15:37:52 +0100 Subject: [PATCH 02/39] Front-end linting fixes. --- .../repository/webhook-delivery-collection.repository.ts | 2 +- .../packages/webhook/collection/deliveries/views/manifests.ts | 2 +- .../table/webhook-delivery-table-collection-view.element.ts | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/webhook-delivery-collection.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/webhook-delivery-collection.repository.ts index b61fab95b5ac..c8fd1325eb54 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/webhook-delivery-collection.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/webhook-delivery-collection.repository.ts @@ -5,7 +5,7 @@ import type { UmbWebhookDeliveryCollectionDataSource } from './types.js'; import { UmbRepositoryBase } from '@umbraco-cms/backoffice/repository'; import type { UmbCollectionRepository } from '@umbraco-cms/backoffice/collection'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; -import { UMB_WEBHOOK_WORKSPACE_CONTEXT } from 'src/packages/webhook/constants.js'; +import { UMB_WEBHOOK_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/webhook'; export class UmbWebhookDeliveryCollectionRepository extends UmbRepositoryBase implements UmbCollectionRepository { #collectionSource: UmbWebhookDeliveryCollectionDataSource; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/views/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/views/manifests.ts index 4fc3316cf5b9..d5011d97b2c1 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/views/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/views/manifests.ts @@ -7,7 +7,7 @@ export const manifests: Array = [ type: 'collectionView', alias: UMB_WEBHOOK_DELIVERIES_TABLE_COLLECTION_VIEW_ALIAS, name: 'Webhook Deliveries Table Collection View', - js: () => import('./table/webhook-delivery-table-collection-view.element'), + js: () => import('./table/webhook-delivery-table-collection-view.element.js'), meta: { label: 'Table', icon: 'icon-list', diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/views/table/webhook-delivery-table-collection-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/views/table/webhook-delivery-table-collection-view.element.ts index 0883a446020f..d9ecd093203f 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/views/table/webhook-delivery-table-collection-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/views/table/webhook-delivery-table-collection-view.element.ts @@ -6,7 +6,7 @@ import { UMB_COLLECTION_CONTEXT } from '@umbraco-cms/backoffice/collection'; import type { UmbTableColumn, UmbTableConfig, UmbTableItem } from '@umbraco-cms/backoffice/components'; import './column-layouts/status-code/webhook-delivery-table-status-code-column-layout.element.js'; -import type { UUIPaginationEvent } from '@umbraco-ui/uui'; +import type { UUIPaginationEvent } from '@umbraco-cms/backoffice/external/uui'; @customElement('umb-webhook-delivery-table-collection-view') export class UmbWebhookDeliveryTableCollectionViewElement extends UmbLitElement { @@ -68,7 +68,7 @@ export class UmbWebhookDeliveryTableCollectionViewElement extends UmbLitElement } #createTableItems(deliveries: Array) { - this._tableItems = deliveries.map((delivery, index) => { + this._tableItems = deliveries.map((delivery) => { return { id: delivery.unique, icon: 'icon-box-alt', From 6df96de3c5429bfbbcc0d7012110f869571e51f4 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 31 Jan 2025 14:47:31 +0100 Subject: [PATCH 03/39] rename to unique --- .../webhook-delivery-collection.repository.ts | 4 ++-- ...hook-delivery-collection.server.data-source.ts | 15 +++++++++++---- .../webhook/collection/deliveries/types.ts | 2 +- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/webhook-delivery-collection.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/webhook-delivery-collection.repository.ts index c8fd1325eb54..4ba6bd4db5e4 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/webhook-delivery-collection.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/webhook-delivery-collection.repository.ts @@ -10,7 +10,7 @@ import { UMB_WEBHOOK_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/webhook'; export class UmbWebhookDeliveryCollectionRepository extends UmbRepositoryBase implements UmbCollectionRepository { #collectionSource: UmbWebhookDeliveryCollectionDataSource; - #webhookId: string = ""; + #webhookId: string = ''; constructor(host: UmbControllerHost) { super(host); @@ -19,7 +19,7 @@ export class UmbWebhookDeliveryCollectionRepository extends UmbRepositoryBase im this.consumeContext(UMB_WEBHOOK_WORKSPACE_CONTEXT, (instance) => { this.observe(instance.data, (webhook) => { - this.#webhookId = webhook?.unique ?? ""; + this.#webhookId = webhook?.unique ?? ''; }); }); } diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/webhook-delivery-collection.server.data-source.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/webhook-delivery-collection.server.data-source.ts index a97971fac8ad..dec77e6d9d4d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/webhook-delivery-collection.server.data-source.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/webhook-delivery-collection.server.data-source.ts @@ -26,12 +26,19 @@ export class UmbWebhookDeliveryCollectionServerDataSource implements UmbWebhookD /** * Gets the Webhook delivery collection filtered by the given filter. * @param {UmbWebhookDeliveryCollectionFilterModel} filter - * @param _filter + * @param filter * @returns {*} * @memberof UmbWebhookDeliveryCollectionServerDataSource */ - async getCollection(_filter: UmbWebhookDeliveryCollectionFilterModel) { - const { data, error } = await tryExecuteAndNotify(this.#host, WebhookService.getWebhookByIdLogs(_filter)); + async getCollection(filter: UmbWebhookDeliveryCollectionFilterModel) { + const { data, error } = await tryExecuteAndNotify( + this.#host, + WebhookService.getWebhookByIdLogs({ + id: filter.webhook.unique, + skip: filter.skip, + take: filter.take, + }), + ); if (error || !data) { return { error }; @@ -45,7 +52,7 @@ export class UmbWebhookDeliveryCollectionServerDataSource implements UmbWebhookD url: item.url, eventAlias: item.eventAlias, retryCount: item.retryCount, - statusCode: item.statusCode + statusCode: item.statusCode, }; return model; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/types.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/types.ts index 5420256cdbc5..1d17ac9a974c 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/types.ts @@ -1,5 +1,5 @@ export interface UmbWebhookDeliveryCollectionFilterModel { - id: string; + webhook: { unique: string }; skip?: number; take?: number; } From f0e80cd0e7ed87800b73971be84e5d4a57ffcc3c Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 31 Jan 2025 14:56:42 +0100 Subject: [PATCH 04/39] update filter value --- .../webhook-delivery-collection.repository.ts | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/webhook-delivery-collection.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/webhook-delivery-collection.repository.ts index 4ba6bd4db5e4..52cac09119fd 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/webhook-delivery-collection.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/webhook-delivery-collection.repository.ts @@ -1,4 +1,5 @@ import type { UmbWebhookDeliveryCollectionFilterModel } from '../types.js'; +import type { UmbWebhookDeliveryDetailModel } from '../../../types.js'; import { UmbWebhookDeliveryCollectionServerDataSource } from './webhook-delivery-collection.server.data-source.js'; import type { UmbWebhookDeliveryCollectionDataSource } from './types.js'; @@ -7,10 +8,13 @@ import type { UmbCollectionRepository } from '@umbraco-cms/backoffice/collection import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { UMB_WEBHOOK_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/webhook'; -export class UmbWebhookDeliveryCollectionRepository extends UmbRepositoryBase implements UmbCollectionRepository { +export class UmbWebhookDeliveryCollectionRepository + extends UmbRepositoryBase + implements UmbCollectionRepository +{ #collectionSource: UmbWebhookDeliveryCollectionDataSource; - #webhookId: string = ''; + #webhookUnique?: string; constructor(host: UmbControllerHost) { super(host); @@ -19,13 +23,17 @@ export class UmbWebhookDeliveryCollectionRepository extends UmbRepositoryBase im this.consumeContext(UMB_WEBHOOK_WORKSPACE_CONTEXT, (instance) => { this.observe(instance.data, (webhook) => { - this.#webhookId = webhook?.unique ?? ''; + this.#webhookUnique = webhook?.unique; }); }); } async requestCollection(filter: UmbWebhookDeliveryCollectionFilterModel) { - const filterWithId = { ...filter, id: this.#webhookId }; + const filterWithId = { + ...filter, + webhook: { unique: this.#webhookUnique! }, + }; + return this.#collectionSource.getCollection(filterWithId); } } From 2d577da272d265abeb1c7f02c10b547f7a70ae71 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 31 Jan 2025 15:00:56 +0100 Subject: [PATCH 05/39] make delivery feature folder --- .../src/packages/webhook/collection/constants.ts | 2 +- .../src/packages/webhook/collection/index.ts | 2 +- .../src/packages/webhook/collection/manifests.ts | 7 ++----- .../deliveries => delivery/collection}/constants.ts | 0 .../deliveries => delivery/collection}/index.ts | 0 .../deliveries => delivery/collection}/manifests.ts | 0 .../collection}/repository/constants.ts | 0 .../deliveries => delivery/collection}/repository/index.ts | 0 .../collection}/repository/manifests.ts | 0 .../deliveries => delivery/collection}/repository/types.ts | 0 .../repository/webhook-delivery-collection.repository.ts | 0 .../webhook-delivery-collection.server.data-source.ts | 0 .../deliveries => delivery/collection}/types.ts | 0 .../deliveries => delivery/collection}/views/constants.ts | 0 .../deliveries => delivery/collection}/views/manifests.ts | 0 ...ook-delivery-table-status-code-column-layout.element.ts | 0 .../webhook-delivery-table-collection-view.element.ts | 0 .../src/packages/webhook/workspace/webhook/manifests.ts | 2 +- 18 files changed, 5 insertions(+), 8 deletions(-) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{collection/deliveries => delivery/collection}/constants.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{collection/deliveries => delivery/collection}/index.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{collection/deliveries => delivery/collection}/manifests.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{collection/deliveries => delivery/collection}/repository/constants.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{collection/deliveries => delivery/collection}/repository/index.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{collection/deliveries => delivery/collection}/repository/manifests.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{collection/deliveries => delivery/collection}/repository/types.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{collection/deliveries => delivery/collection}/repository/webhook-delivery-collection.repository.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{collection/deliveries => delivery/collection}/repository/webhook-delivery-collection.server.data-source.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{collection/deliveries => delivery/collection}/types.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{collection/deliveries => delivery/collection}/views/constants.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{collection/deliveries => delivery/collection}/views/manifests.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{collection/deliveries => delivery/collection}/views/table/column-layouts/status-code/webhook-delivery-table-status-code-column-layout.element.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{collection/deliveries => delivery/collection}/views/table/webhook-delivery-table-collection-view.element.ts (100%) diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/constants.ts index b8a56501d319..15033620c89e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/constants.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/constants.ts @@ -1,2 +1,2 @@ export * from './webhooks/constants.js'; -export * from './deliveries/constants.js'; +export * from '../delivery/collection/constants.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/index.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/index.ts index 42d6621489b9..721f7c9156f0 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/index.ts @@ -1,2 +1,2 @@ export * from './webhooks/index.js'; -export * from './deliveries/index.js'; +export * from '../delivery/collection/index.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/manifests.ts index 291a0aa65987..c32ed07fe752 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/manifests.ts @@ -1,7 +1,4 @@ import { manifests as webhooksManifests } from './webhooks/manifests.js'; -import { manifests as deliveriesManifests } from './deliveries/manifests.js'; +import { manifests as deliveriesManifests } from '../delivery/collection/manifests.js'; -export const manifests: Array = [ - ...webhooksManifests, - ...deliveriesManifests, -]; +export const manifests: Array = [...webhooksManifests, ...deliveriesManifests]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/constants.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/constants.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/constants.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/index.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/index.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/index.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/index.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/manifests.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/manifests.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/manifests.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/constants.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/constants.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/constants.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/index.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/index.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/index.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/index.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/manifests.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/manifests.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/manifests.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/types.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/types.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/types.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/types.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/webhook-delivery-collection.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/webhook-delivery-collection.repository.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/webhook-delivery-collection.repository.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/webhook-delivery-collection.repository.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/webhook-delivery-collection.server.data-source.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/webhook-delivery-collection.server.data-source.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/repository/webhook-delivery-collection.server.data-source.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/webhook-delivery-collection.server.data-source.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/types.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/types.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/types.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/types.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/views/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/constants.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/views/constants.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/constants.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/views/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/manifests.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/views/manifests.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/manifests.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/views/table/column-layouts/status-code/webhook-delivery-table-status-code-column-layout.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/table/column-layouts/status-code/webhook-delivery-table-status-code-column-layout.element.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/views/table/column-layouts/status-code/webhook-delivery-table-status-code-column-layout.element.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/table/column-layouts/status-code/webhook-delivery-table-status-code-column-layout.element.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/views/table/webhook-delivery-table-collection-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/table/webhook-delivery-table-collection-view.element.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/deliveries/views/table/webhook-delivery-table-collection-view.element.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/table/webhook-delivery-table-collection-view.element.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/manifests.ts index 4b7cfeced76a..e12addc7308b 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/manifests.ts @@ -1,4 +1,4 @@ -import { UMB_WEBHOOK_DELIVERY_COLLECTION_ALIAS } from '../../collection/deliveries/constants.js'; +import { UMB_WEBHOOK_DELIVERY_COLLECTION_ALIAS } from '../../delivery/collection/constants.js'; import { UMB_WEBHOOK_ENTITY_TYPE, UMB_WEBHOOK_WORKSPACE_ALIAS } from '../../entity.js'; import { UMB_WORKSPACE_CONDITION_ALIAS, UmbSubmitWorkspaceAction } from '@umbraco-cms/backoffice/workspace'; From c4f27253696a1b855971ba0805ece9513069f8ec Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 31 Jan 2025 15:06:22 +0100 Subject: [PATCH 06/39] move delivery workspace view for delivery feature folder --- .../packages/webhook/delivery/manifests.ts | 4 ++++ .../delivery/workspace-view/manifests.ts | 24 +++++++++++++++++++ .../src/packages/webhook/manifests.ts | 15 +++++++----- .../webhook/workspace/webhook/manifests.ts | 18 -------------- 4 files changed, 37 insertions(+), 24 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/manifests.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/workspace-view/manifests.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/manifests.ts new file mode 100644 index 000000000000..452776435093 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/manifests.ts @@ -0,0 +1,4 @@ +import { manifests as collectionManifests } from './collection/manifests.js'; +import { manifests as workspaceViewManifests } from './workspace-view/manifests.js'; + +export const manifests: Array = [...collectionManifests, ...workspaceViewManifests]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/workspace-view/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/workspace-view/manifests.ts new file mode 100644 index 000000000000..8b1e0cbdb62a --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/workspace-view/manifests.ts @@ -0,0 +1,24 @@ +import { UMB_WEBHOOK_DELIVERY_COLLECTION_ALIAS } from '../collection/constants.js'; +import { UMB_WEBHOOK_WORKSPACE_ALIAS } from '../../entity.js'; +import { UMB_WORKSPACE_CONDITION_ALIAS } from '@umbraco-cms/backoffice/workspace'; + +export const manifests: Array = [ + { + type: 'workspaceView', + kind: 'collection', + alias: 'Umb.WorkspaceView.WebhookDeliveries.Collection', + name: 'Webhook Root Workspace Deliveries View', + meta: { + label: 'Deliveries', + pathname: 'deliveries', + icon: 'icon-box-alt', + collectionAlias: UMB_WEBHOOK_DELIVERY_COLLECTION_ALIAS, + }, + conditions: [ + { + alias: UMB_WORKSPACE_CONDITION_ALIAS, + match: UMB_WEBHOOK_WORKSPACE_ALIAS, + }, + ], + }, +]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts index 51de6fd4c9af..8032e40cdf29 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts @@ -1,14 +1,17 @@ -import { manifests as treeManifests } from './menu-item/manifests.js'; -import { manifests as workspaceManifests } from './workspace/manifests.js'; import { manifests as collectionManifests } from './collection/manifests.js'; -import { manifests as repositoryManifests } from './repository/manifests.js'; +import { manifests as deliveryManifests } from './delivery/manifests.js'; import { manifests as entityActions } from './entity-actions/manifests.js'; +import { manifests as repositoryManifests } from './repository/manifests.js'; +import { manifests as treeManifests } from './menu-item/manifests.js'; +import { manifests as workspaceManifests } from './workspace/manifests.js'; + export const manifests: Array = [ - ...treeManifests, - ...workspaceManifests, ...collectionManifests, - ...repositoryManifests, + ...deliveryManifests, ...entityActions, + ...repositoryManifests, + ...treeManifests, + ...workspaceManifests, { type: 'modal', alias: 'Umb.Modal.Webhook.Events', diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/manifests.ts index e12addc7308b..4c78ef4a4a8b 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/manifests.ts @@ -31,24 +31,6 @@ export const manifests: Array = [ }, ], }, - { - type: 'workspaceView', - kind: 'collection', - alias: 'Umb.WorkspaceView.WebhookDeliveries.Collection', - name: 'Webhook Root Workspace Deliveries View', - meta: { - label: 'Deliveries', - pathname: 'deliveries', - icon: 'icon-box-alt', - collectionAlias: UMB_WEBHOOK_DELIVERY_COLLECTION_ALIAS, - }, - conditions: [ - { - alias: UMB_WORKSPACE_CONDITION_ALIAS, - match: UMB_WEBHOOK_WORKSPACE_ALIAS, - }, - ], - }, { type: 'workspaceAction', kind: 'default', From e0602fcaa9b837fdb5d8c444ceb895751752a741 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 31 Jan 2025 15:07:43 +0100 Subject: [PATCH 07/39] correct details workspace view label and pathname to match name --- .../src/packages/webhook/workspace/webhook/manifests.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/manifests.ts index 4c78ef4a4a8b..0903574775ee 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/manifests.ts @@ -20,8 +20,8 @@ export const manifests: Array = [ js: () => import('./views/webhook-details-workspace-view.element.js'), weight: 300, meta: { - label: 'Overview', - pathname: 'overview', + label: 'Details', + pathname: 'details', icon: 'icon-webhook', }, conditions: [ From 8d146126a1dfdc6df9e2d1c946d1438613ffd29c Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 31 Jan 2025 15:10:18 +0100 Subject: [PATCH 08/39] remove unused alias --- .../src/packages/webhook/workspace/webhook/manifests.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/manifests.ts index 0903574775ee..43f583c9393e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/manifests.ts @@ -1,4 +1,3 @@ -import { UMB_WEBHOOK_DELIVERY_COLLECTION_ALIAS } from '../../delivery/collection/constants.js'; import { UMB_WEBHOOK_ENTITY_TYPE, UMB_WEBHOOK_WORKSPACE_ALIAS } from '../../entity.js'; import { UMB_WORKSPACE_CONDITION_ALIAS, UmbSubmitWorkspaceAction } from '@umbraco-cms/backoffice/workspace'; From b47edc16ae953931d6ebe813f7f68fad04ec6172 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 31 Jan 2025 15:12:03 +0100 Subject: [PATCH 09/39] use singular form to align naming --- .../src/packages/webhook/delivery/collection/manifests.ts | 7 +++++-- .../webhook/delivery/collection/repository/constants.ts | 2 +- .../webhook/delivery/collection/repository/manifests.ts | 6 +++--- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/manifests.ts index f4338c6a3445..c9790b0b3cc5 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/manifests.ts @@ -1,4 +1,7 @@ -import { UMB_WEBHOOK_DELIVERY_COLLECTION_ALIAS, UMB_WEBHOOK_DELIVERIES_COLLECTION_REPOSITORY_ALIAS } from './constants.js'; +import { + UMB_WEBHOOK_DELIVERY_COLLECTION_ALIAS, + UMB_WEBHOOK_DELIVERY_COLLECTION_REPOSITORY_ALIAS, +} from './constants.js'; import { manifests as collectionRepositoryManifests } from './repository/manifests.js'; import { manifests as collectionViewManifests } from './views/manifests.js'; @@ -9,7 +12,7 @@ export const manifests: Array = [ alias: UMB_WEBHOOK_DELIVERY_COLLECTION_ALIAS, name: 'Webhook Delivery Collection', meta: { - repositoryAlias: UMB_WEBHOOK_DELIVERIES_COLLECTION_REPOSITORY_ALIAS, + repositoryAlias: UMB_WEBHOOK_DELIVERY_COLLECTION_REPOSITORY_ALIAS, }, }, ...collectionRepositoryManifests, diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/constants.ts index dcbb8c884fa9..02e4e939d2b2 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/constants.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/constants.ts @@ -1 +1 @@ -export const UMB_WEBHOOK_DELIVERIES_COLLECTION_REPOSITORY_ALIAS = 'Umb.Repository.WebhookDeliveriesCollection'; +export const UMB_WEBHOOK_DELIVERY_COLLECTION_REPOSITORY_ALIAS = 'Umb.Repository.WebhookDelivery.Collection'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/manifests.ts index 079dc8bd6adc..d433456b0079 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/manifests.ts @@ -1,10 +1,10 @@ -import { UMB_WEBHOOK_DELIVERIES_COLLECTION_REPOSITORY_ALIAS } from './constants.js'; +import { UMB_WEBHOOK_DELIVERY_COLLECTION_REPOSITORY_ALIAS } from './constants.js'; export const manifests: Array = [ { type: 'repository', - alias: UMB_WEBHOOK_DELIVERIES_COLLECTION_REPOSITORY_ALIAS, - name: 'Webhook Deliveries Collection Repository', + alias: UMB_WEBHOOK_DELIVERY_COLLECTION_REPOSITORY_ALIAS, + name: 'Webhook Delivery Collection Repository', api: () => import('./webhook-delivery-collection.repository.js'), }, ]; From cf948f3cffea33145d02de4e7137502477cdcc10 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 31 Jan 2025 17:21:31 +0100 Subject: [PATCH 10/39] remove pagination as the default collection kind already includes this --- ...-delivery-table-collection-view.element.ts | 23 ++----------------- 1 file changed, 2 insertions(+), 21 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/table/webhook-delivery-table-collection-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/table/webhook-delivery-table-collection-view.element.ts index d9ecd093203f..4c816d9dcf1e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/table/webhook-delivery-table-collection-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/table/webhook-delivery-table-collection-view.element.ts @@ -1,25 +1,18 @@ import type { UmbWebhookDeliveryDetailModel } from '../../../../types.js'; import type { UmbDefaultCollectionContext } from '@umbraco-cms/backoffice/collection'; -import { css, customElement, html, nothing, state } from '@umbraco-cms/backoffice/external/lit'; +import { css, customElement, html, state } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import { UMB_COLLECTION_CONTEXT } from '@umbraco-cms/backoffice/collection'; import type { UmbTableColumn, UmbTableConfig, UmbTableItem } from '@umbraco-cms/backoffice/components'; import './column-layouts/status-code/webhook-delivery-table-status-code-column-layout.element.js'; -import type { UUIPaginationEvent } from '@umbraco-cms/backoffice/external/uui'; @customElement('umb-webhook-delivery-table-collection-view') export class UmbWebhookDeliveryTableCollectionViewElement extends UmbLitElement { - #itemsPerPage = 50; - #currentPage = 1; - - @state() - private _total = 0; - @state() private _tableConfig: UmbTableConfig = { allowSelection: false, - hideIcon: true + hideIcon: true, }; @state() @@ -64,7 +57,6 @@ export class UmbWebhookDeliveryTableCollectionViewElement extends UmbLitElement #observeCollectionItems() { if (!this.#collectionContext) return; this.observe(this.#collectionContext.items, (items) => this.#createTableItems(items), 'umbCollectionItemsObserver'); - this.observe(this.#collectionContext.totalItems, (totalItems) => this._total = totalItems, 'umbCollectionTotalItemsObserver'); } #createTableItems(deliveries: Array) { @@ -98,20 +90,9 @@ export class UmbWebhookDeliveryTableCollectionViewElement extends UmbLitElement }); } - #onChangePage(event: UUIPaginationEvent) { - this.#currentPage = event.target.current; - this.#collectionContext?.setFilter({skip: this.#itemsPerPage * (this.#currentPage - 1), take: this.#itemsPerPage}) - } - override render() { return html` - ${this._total > this.#itemsPerPage - ? html`` - : nothing} `; } From 5ff190fb6499da5ee8bc50e4bce57542afda101a Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 31 Jan 2025 20:04:50 +0100 Subject: [PATCH 11/39] show icon --- .../table/webhook-delivery-table-collection-view.element.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/table/webhook-delivery-table-collection-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/table/webhook-delivery-table-collection-view.element.ts index 4c816d9dcf1e..952b334472b6 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/table/webhook-delivery-table-collection-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/table/webhook-delivery-table-collection-view.element.ts @@ -12,7 +12,6 @@ export class UmbWebhookDeliveryTableCollectionViewElement extends UmbLitElement @state() private _tableConfig: UmbTableConfig = { allowSelection: false, - hideIcon: true, }; @state() From c31be7103e13ec68a3f1f1d30c9d01fa5d0e1bbb Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Mon, 3 Feb 2025 09:33:26 +0100 Subject: [PATCH 12/39] remove double registration --- .../src/packages/webhook/collection/manifests.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/manifests.ts index c32ed07fe752..d8074fa90e3d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/manifests.ts @@ -1,4 +1,3 @@ import { manifests as webhooksManifests } from './webhooks/manifests.js'; -import { manifests as deliveriesManifests } from '../delivery/collection/manifests.js'; -export const manifests: Array = [...webhooksManifests, ...deliveriesManifests]; +export const manifests: Array = [...webhooksManifests]; From 19c54dc6a23ccca89b6bc3dbea3d6f45af696a2d Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Mon, 3 Feb 2025 09:59:35 +0100 Subject: [PATCH 13/39] add observables for webhook data, add get methods + add jsdocs --- .../webhook/webhook-workspace.context.ts | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+) diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/webhook-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/webhook-workspace.context.ts index 67da34f9a99a..800b517b4e0f 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/webhook-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/webhook-workspace.context.ts @@ -16,6 +16,13 @@ export class UmbWebhookWorkspaceContext extends UmbEntityDetailWorkspaceContextBase implements UmbSubmittableWorkspaceContext, UmbRoutableWorkspaceContext { + // Observable states + readonly headers = this._data.createObservablePartOfCurrent((data) => data?.headers); + readonly enabled = this._data.createObservablePartOfCurrent((data) => data?.enabled); + readonly url = this._data.createObservablePartOfCurrent((data) => data?.url); + readonly events = this._data.createObservablePartOfCurrent((data) => data?.events); + readonly contentTypes = this._data.createObservablePartOfCurrent((data) => data?.contentTypes); + constructor(host: UmbControllerHost) { super(host, { workspaceAlias: UMB_WEBHOOK_WORKSPACE_ALIAS, @@ -48,25 +55,95 @@ export class UmbWebhookWorkspaceContext ]); } + /** + * Sets the events + * @param {Array} events - The events + * @memberof UmbWebhookWorkspaceContext + */ setEvents(events: Array) { this._data.updateCurrent({ events }); } + /** + * Gets the events + * @returns {Array} + * @memberof UmbWebhookWorkspaceContext + */ + getEvents(): Array | undefined { + return this._data.getCurrent()?.events; + } + + /** + * Sets the headers + * @param {{ [key: string]: string }} headers - The headers + * @memberof UmbWebhookWorkspaceContext + */ setHeaders(headers: { [key: string]: string }) { this._data.updateCurrent({ headers }); } + /** + * Gets the headers + * @returns {UmbWebhookDetailModel['headers']} - The headers + * @memberof UmbWebhookWorkspaceContext + */ + getHeaders(): UmbWebhookDetailModel['headers'] | undefined { + return this._data.getCurrent()?.headers; + } + + /** + * Sets the content types + * @param {string[]} types - The content types + * @memberof UmbWebhookWorkspaceContext + */ setTypes(types: string[]) { this._data.updateCurrent({ contentTypes: types }); } + /** + * Gets the content types + * @returns {string[]} - The content types + * @memberof UmbWebhookWorkspaceContext + */ + getTypes(): string[] | undefined { + return this._data.getCurrent()?.contentTypes; + } + + /** + * Sets the URL + * @param {string} url - The URL + * @memberof UmbWebhookWorkspaceContext + */ setUrl(url: string) { this._data.updateCurrent({ url }); } + /** + * Gets the URL + * @returns {string} - The URL + * @memberof UmbWebhookWorkspaceContext + */ + getUrl(): string | undefined { + return this._data.getCurrent()?.url; + } + + /** + * Sets the enabled state + * @param {boolean} enabled - The enabled state + * @memberof UmbWebhookWorkspaceContext + */ setEnabled(enabled: boolean) { this._data.updateCurrent({ enabled }); } + + /** + * Gets the enabled state + * @returns {boolean} - The enabled state + * @memberof UmbWebhookWorkspaceContext + */ + getEnabled(): boolean | undefined { + return this._data.getCurrent()?.enabled; + } } export { UmbWebhookWorkspaceContext as api }; From 1cd62ec5492832c81accdb366eb32c40dd94ef58 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Mon, 3 Feb 2025 09:59:50 +0100 Subject: [PATCH 14/39] align UX with languages --- .../webhook-workspace-editor.element.ts | 27 ++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/webhook-workspace-editor.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/webhook-workspace-editor.element.ts index 6532bb03aa7c..a59cc1cb7605 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/webhook-workspace-editor.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/webhook-workspace-editor.element.ts @@ -1,12 +1,33 @@ -import { html, customElement } from '@umbraco-cms/backoffice/external/lit'; +import type { UmbWebhookDetailModel } from '../../types.js'; +import { UMB_WEBHOOK_WORKSPACE_CONTEXT } from './webhook-workspace.context-token.js'; +import { html, customElement, state } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; @customElement('umb-webhook-workspace-editor') export class UmbWebhookWorkspaceEditorElement extends UmbLitElement { + #workspaceContext?: typeof UMB_WEBHOOK_WORKSPACE_CONTEXT.TYPE; + + @state() + _isNew?: boolean; + + @state() + _url?: UmbWebhookDetailModel['url']; + + constructor() { + super(); + + this.consumeContext(UMB_WEBHOOK_WORKSPACE_CONTEXT, (context) => { + this.#workspaceContext = context; + this.observe(this.#workspaceContext.isNew, (isNew) => (this._isNew = isNew)); + this.observe(this.#workspaceContext.url, (url) => (this._url = url)); + }); + } + override render() { return html` - + + ${this._isNew ? html`

Add Webhook

` : html`

${this._url}

`} +
`; } From 134e6b0611042e7f2911cc8660500f7e4cb12462 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Mon, 3 Feb 2025 10:16:00 +0100 Subject: [PATCH 15/39] remove hardcoded fake name + make url the link --- .../webhook-table-collection-view.element.ts | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/views/table/webhook-table-collection-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/views/table/webhook-table-collection-view.element.ts index 985b0967f30c..91037ce102c9 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/views/table/webhook-table-collection-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/views/table/webhook-table-collection-view.element.ts @@ -18,18 +18,13 @@ export class UmbWebhookTableCollectionViewElement extends UmbLitElement { @state() private _tableColumns: Array = [ { - name: this.localize.term('general_name'), - alias: 'name', - elementName: 'umb-webhook-table-name-column-layout', + name: this.localize.term('webhooks_url'), + alias: 'url', }, { name: this.localize.term('webhooks_enabled'), alias: 'enabled', }, - { - name: this.localize.term('webhooks_url'), - alias: 'url', - }, { name: this.localize.term('webhooks_events'), alias: 'events', @@ -66,19 +61,14 @@ export class UmbWebhookTableCollectionViewElement extends UmbLitElement { } #createTableItems(webhooks: Array) { - this._tableItems = webhooks.map((webhook, index) => { + this._tableItems = webhooks.map((webhook) => { return { id: webhook.unique, icon: 'icon-webhook', data: [ - { - columnAlias: 'name', - value: { name: `Webhook ${index + 1}`, unique: webhook.unique }, - }, { columnAlias: 'url', - value: webhook.url, - path: webhook.url, + value: html`${webhook.url}`, }, { columnAlias: 'enabled', From 4a21b148fef9bf8e2446be441fceceb5e005339c Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Mon, 3 Feb 2025 10:18:56 +0100 Subject: [PATCH 16/39] remove redundant url in table --- .../webhook-delivery-table-collection-view.element.ts | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/table/webhook-delivery-table-collection-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/table/webhook-delivery-table-collection-view.element.ts index 952b334472b6..b92442148981 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/table/webhook-delivery-table-collection-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/table/webhook-delivery-table-collection-view.element.ts @@ -20,10 +20,6 @@ export class UmbWebhookDeliveryTableCollectionViewElement extends UmbLitElement name: this.localize.term('general_date'), alias: 'date', }, - { - name: this.localize.term('webhooks_url'), - alias: 'url', - }, { name: this.localize.term('webhooks_event'), alias: 'eventAlias', @@ -68,10 +64,6 @@ export class UmbWebhookDeliveryTableCollectionViewElement extends UmbLitElement columnAlias: 'date', value: html``, }, - { - columnAlias: 'url', - value: delivery.url, - }, { columnAlias: 'eventAlias', value: delivery.eventAlias, From f37958630848523065141fb3618c2eee8a5464b8 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Mon, 3 Feb 2025 10:29:48 +0100 Subject: [PATCH 17/39] render status code as tag --- ...table-status-code-column-layout.element.ts | 30 +++++++++++-------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/table/column-layouts/status-code/webhook-delivery-table-status-code-column-layout.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/table/column-layouts/status-code/webhook-delivery-table-status-code-column-layout.element.ts index f0d911a26f81..133b12e5e8e7 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/table/column-layouts/status-code/webhook-delivery-table-status-code-column-layout.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/table/column-layouts/status-code/webhook-delivery-table-status-code-column-layout.element.ts @@ -4,18 +4,26 @@ import { html, LitElement, nothing, customElement, property, css } from '@umbrac @customElement('umb-webhook-delivery-table-status-code-column-layout') export class UmbWebhookDeliveryTableStatusCodeColumnLayoutElement extends LitElement { @property({ attribute: false }) - value: string = ""; + value: string = ''; - override render() { - if (this.value.length === 0) return nothing; + #getTagColor() { + console.log(this.value); + if (this.value.includes('(2')) { + return 'positive'; + } + if (this.value.includes('(4')) { + return 'warning'; + } + if (this.value.includes('(5')) { + return 'danger'; + } - const className = this.value.includes("(2") || this.value.includes("(3") - ? "success" - : this.value.includes("(4") - ? "warning" - : "error"; + return 'default'; + } - return html`${this.value}`; + override render() { + if (this.value.length === 0) return nothing; + return html`${this.value}`; } static override styles = [ @@ -24,10 +32,6 @@ export class UmbWebhookDeliveryTableStatusCodeColumnLayoutElement extends LitEle :host { white-space: nowrap; } - - .success { color: var(--uui-palette-jungle-green); } - .warning { color: var(--uui-palette-chamoisee); } - .error { color: var(--uui-palette-maroon-flush); } `, ]; } From 66f3a8b4e08e810b833b1fb3e085337262930539 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Mon, 3 Feb 2025 10:51:41 +0100 Subject: [PATCH 18/39] use tags for enabled/disabled webhook state to align with users --- .../src/assets/lang/en.ts | 3 ++- .../webhook-table-collection-view.element.ts | 23 ++++++++++++------- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/assets/lang/en.ts b/src/Umbraco.Web.UI.Client/src/assets/lang/en.ts index f60ce8479809..04ee494f71df 100644 --- a/src/Umbraco.Web.UI.Client/src/assets/lang/en.ts +++ b/src/Umbraco.Web.UI.Client/src/assets/lang/en.ts @@ -1761,6 +1761,7 @@ export default { noHeaders: 'No webhook headers have been added', noEventsFound: 'No events were found.', enabled: 'Enabled', + disabled: 'Disabled', events: 'Events', event: 'Event', url: 'URL', @@ -1776,7 +1777,7 @@ export default { headers: 'Headers', selectEventFirst: 'Please select an event first.', selectEvents: 'Select events', - statusCode: 'Status code' + statusCode: 'Status code', }, languages: { addLanguage: 'Add language', diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/views/table/webhook-table-collection-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/views/table/webhook-table-collection-view.element.ts index 91037ce102c9..dc2496ba0230 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/views/table/webhook-table-collection-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/views/table/webhook-table-collection-view.element.ts @@ -21,10 +21,6 @@ export class UmbWebhookTableCollectionViewElement extends UmbLitElement { name: this.localize.term('webhooks_url'), alias: 'url', }, - { - name: this.localize.term('webhooks_enabled'), - alias: 'enabled', - }, { name: this.localize.term('webhooks_events'), alias: 'events', @@ -34,6 +30,10 @@ export class UmbWebhookTableCollectionViewElement extends UmbLitElement { alias: 'types', elementName: 'umb-webhook-table-content-type-column-layout', }, + { + name: this.localize.term('general_status'), + alias: 'status', + }, { name: '', alias: 'entityActions', @@ -45,10 +45,15 @@ export class UmbWebhookTableCollectionViewElement extends UmbLitElement { private _tableItems: Array = []; #collectionContext?: UmbDefaultCollectionContext; + #enabledLabel: string; + #disabledLabel: string; constructor() { super(); + this.#enabledLabel = this.localize.term('webhooks_enabled'); + this.#disabledLabel = this.localize.term('webhooks_disabled'); + this.consumeContext(UMB_COLLECTION_CONTEXT, (instance) => { this.#collectionContext = instance; this.#observeCollectionItems(); @@ -70,10 +75,6 @@ export class UmbWebhookTableCollectionViewElement extends UmbLitElement { columnAlias: 'url', value: html`${webhook.url}`, }, - { - columnAlias: 'enabled', - value: html``, - }, { columnAlias: 'events', value: webhook.events.map((event) => event.eventName).join(', ') || 'None', @@ -82,6 +83,12 @@ export class UmbWebhookTableCollectionViewElement extends UmbLitElement { columnAlias: 'types', value: { contentTypeName: webhook.events[0].eventType, contentTypes: webhook.contentTypes }, }, + { + columnAlias: 'status', + value: html`${webhook.enabled ? this.#enabledLabel : this.#disabledLabel}`, + }, { columnAlias: 'entityActions', value: html` Date: Mon, 3 Feb 2025 11:01:52 +0100 Subject: [PATCH 19/39] make the name more explicit --- src/Umbraco.Web.UI.Client/src/assets/lang/en.ts | 3 ++- .../views/table/webhook-table-collection-view.element.ts | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/assets/lang/en.ts b/src/Umbraco.Web.UI.Client/src/assets/lang/en.ts index 04ee494f71df..acc108d91b40 100644 --- a/src/Umbraco.Web.UI.Client/src/assets/lang/en.ts +++ b/src/Umbraco.Web.UI.Client/src/assets/lang/en.ts @@ -390,6 +390,7 @@ export default { contentType: { copyFailed: 'Failed to copy content type', moveFailed: 'Failed to move content type', + contentTypes: 'Content Types', }, mediaType: { copyFailed: 'Failed to copy media type', @@ -1765,7 +1766,7 @@ export default { events: 'Events', event: 'Event', url: 'URL', - types: 'Types', + types: 'Content Types', webhookKey: 'Webhook key', retryCount: 'Retry count', urlDescription: 'The URL to call when the webhook is triggered.', diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/views/table/webhook-table-collection-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/views/table/webhook-table-collection-view.element.ts index dc2496ba0230..9c48f9dd3174 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/views/table/webhook-table-collection-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/views/table/webhook-table-collection-view.element.ts @@ -27,7 +27,7 @@ export class UmbWebhookTableCollectionViewElement extends UmbLitElement { }, { name: this.localize.term('webhooks_types'), - alias: 'types', + alias: 'contentTypes', elementName: 'umb-webhook-table-content-type-column-layout', }, { @@ -80,7 +80,7 @@ export class UmbWebhookTableCollectionViewElement extends UmbLitElement { value: webhook.events.map((event) => event.eventName).join(', ') || 'None', }, { - columnAlias: 'types', + columnAlias: 'contentTypes', value: { contentTypeName: webhook.events[0].eventType, contentTypes: webhook.contentTypes }, }, { From ba4b3b01de0b12603d5ac3e760bef31202995a2c Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Mon, 3 Feb 2025 11:39:27 +0100 Subject: [PATCH 20/39] move webhook root to a feature folder --- src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts | 2 ++ .../src/packages/webhook/webhook-root/manifests.ts | 3 +++ .../webhook-root => webhook-root/workspace}/constants.ts | 0 .../webhook-root => webhook-root/workspace}/manifests.ts | 0 .../src/packages/webhook/workspace/constants.ts | 2 +- .../src/packages/webhook/workspace/manifests.ts | 3 +-- 6 files changed, 7 insertions(+), 3 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-root/manifests.ts rename src/Umbraco.Web.UI.Client/src/packages/webhook/{workspace/webhook-root => webhook-root/workspace}/constants.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{workspace/webhook-root => webhook-root/workspace}/manifests.ts (100%) diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts index 8032e40cdf29..33eb9ce164a6 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts @@ -4,6 +4,7 @@ import { manifests as entityActions } from './entity-actions/manifests.js'; import { manifests as repositoryManifests } from './repository/manifests.js'; import { manifests as treeManifests } from './menu-item/manifests.js'; import { manifests as workspaceManifests } from './workspace/manifests.js'; +import { manifests as webhookRootManifests } from './webhook-root/manifests.js'; export const manifests: Array = [ ...collectionManifests, @@ -12,6 +13,7 @@ export const manifests: Array = [ ...repositoryManifests, ...treeManifests, ...workspaceManifests, + ...webhookRootManifests, { type: 'modal', alias: 'Umb.Modal.Webhook.Events', diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-root/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-root/manifests.ts new file mode 100644 index 000000000000..f3edde04ca19 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-root/manifests.ts @@ -0,0 +1,3 @@ +import { manifests as workspaceManifests } from './workspace/manifests.js'; + +export const manifests: Array = [...workspaceManifests]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook-root/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-root/workspace/constants.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook-root/constants.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-root/workspace/constants.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook-root/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-root/workspace/manifests.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook-root/manifests.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-root/workspace/manifests.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/constants.ts index f6b0d77c6234..c21637a9a82d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/constants.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/constants.ts @@ -1,2 +1,2 @@ export * from './webhook/constants.js'; -export * from './webhook-root/constants.js'; +export * from '../webhook-root/workspace/constants.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/manifests.ts index 144c13d7eda8..4e7c5e8f2580 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/manifests.ts @@ -1,4 +1,3 @@ import { manifests as webhookManifests } from './webhook/manifests.js'; -import { manifests as webhookRootManifests } from './webhook-root/manifests.js'; -export const manifests: Array = [...webhookManifests, ...webhookRootManifests]; +export const manifests: Array = [...webhookManifests]; From f3fb944ef48fd5a3d453cd624be6f5a1f9ea00ea Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Mon, 3 Feb 2025 11:41:00 +0100 Subject: [PATCH 21/39] export consts --- src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts | 1 + .../src/packages/webhook/webhook-root/constants.ts | 1 + .../src/packages/webhook/workspace/constants.ts | 1 - src/Umbraco.Web.UI.Client/utils/all-umb-consts/index.ts | 2 +- 4 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-root/constants.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts index 10af37b6c75f..d29d6ed43cd2 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts @@ -2,3 +2,4 @@ export * from './collection/constants.js'; export * from './components/constants.js'; export * from './repository/constants.js'; export * from './workspace/constants.js'; +export * from './webhook-root/constants.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-root/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-root/constants.ts new file mode 100644 index 000000000000..2840e34df819 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-root/constants.ts @@ -0,0 +1 @@ +export * from './workspace/constants.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/constants.ts index c21637a9a82d..28f5c8a9a14d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/constants.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/constants.ts @@ -1,2 +1 @@ export * from './webhook/constants.js'; -export * from '../webhook-root/workspace/constants.js'; diff --git a/src/Umbraco.Web.UI.Client/utils/all-umb-consts/index.ts b/src/Umbraco.Web.UI.Client/utils/all-umb-consts/index.ts index 81387d9cc9ee..0a1c8121e647 100644 --- a/src/Umbraco.Web.UI.Client/utils/all-umb-consts/index.ts +++ b/src/Umbraco.Web.UI.Client/utils/all-umb-consts/index.ts @@ -420,7 +420,7 @@ export const foundConsts = [{ }, { path: '@umbraco-cms/backoffice/webhook', - consts: ["UMB_WEBHOOK_COLLECTION_ALIAS","UMB_WEBHOOK_COLLECTION_REPOSITORY_ALIAS","UMB_WEBHOOK_TABLE_COLLECTION_VIEW_ALIAS","UMB_WEBHOOK_EVENTS_MODAL","UMB_WEBHOOK_WORKSPACE_ALIAS","UMB_WEBHOOK_WORKSPACE","UMB_WEBHOOK_ENTITY_TYPE","UMB_WEBHOOK_ROOT_ENTITY_TYPE","UMB_WEBHOOK_DETAIL_REPOSITORY_ALIAS","UMB_WEBHOOK_DETAIL_STORE_ALIAS","UMB_WEBHOOK_DETAIL_STORE_CONTEXT","UMB_WEBHOOK_EVENT_REPOSITORY_ALIAS","UMB_WEBHOOK_EVENT_STORE_ALIAS","UMB_WEBHOOK_EVENT_STORE_CONTEXT","UMB_WEBHOOK_ITEM_REPOSITORY_ALIAS","UMB_WEBHOOK_STORE_ALIAS","UMB_WEBHOOK_ITEM_STORE_CONTEXT","UMB_WEBHOOK_WORKSPACE_CONTEXT","UMB_WEBHOOK_ROOT_WORKSPACE_ALIAS"] + consts: ["UMB_WEBHOOK_COLLECTION_ALIAS","UMB_WEBHOOK_COLLECTION_REPOSITORY_ALIAS","UMB_WEBHOOK_TABLE_COLLECTION_VIEW_ALIAS","UMB_WEBHOOK_EVENTS_MODAL","UMB_WEBHOOK_DELIVERY_COLLECTION_ALIAS","UMB_WEBHOOK_DELIVERY_COLLECTION_REPOSITORY_ALIAS","UMB_WEBHOOK_DELIVERIES_TABLE_COLLECTION_VIEW_ALIAS","UMB_WEBHOOK_WORKSPACE_ALIAS","UMB_WEBHOOK_WORKSPACE","UMB_WEBHOOK_ENTITY_TYPE","UMB_WEBHOOK_ROOT_ENTITY_TYPE","UMB_WEBHOOK_DELIVERY_ENTITY_TYPE","UMB_WEBHOOK_DETAIL_REPOSITORY_ALIAS","UMB_WEBHOOK_DETAIL_STORE_ALIAS","UMB_WEBHOOK_DETAIL_STORE_CONTEXT","UMB_WEBHOOK_EVENT_REPOSITORY_ALIAS","UMB_WEBHOOK_EVENT_STORE_ALIAS","UMB_WEBHOOK_EVENT_STORE_CONTEXT","UMB_WEBHOOK_ITEM_REPOSITORY_ALIAS","UMB_WEBHOOK_STORE_ALIAS","UMB_WEBHOOK_ITEM_STORE_CONTEXT","UMB_WEBHOOK_ROOT_WORKSPACE_ALIAS","UMB_WEBHOOK_WORKSPACE_CONTEXT"] }, { path: '@umbraco-cms/backoffice/workspace', From 0ae4ea2d1351b87080cbee11bbf49b3dcd3f82d1 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Mon, 3 Feb 2025 11:44:55 +0100 Subject: [PATCH 22/39] fix webhook collection pagination --- .../repository/webhook-collection.server.data-source.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/repository/webhook-collection.server.data-source.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/repository/webhook-collection.server.data-source.ts index 307dfadc4290..037293ca62e9 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/repository/webhook-collection.server.data-source.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/repository/webhook-collection.server.data-source.ts @@ -50,6 +50,6 @@ export class UmbWebhookCollectionServerDataSource implements UmbWebhookCollectio return model; }); - return { data: { items, total: data.items.length } }; + return { data: { items, total: data.total } }; } } From 1693adb37f0579a0f95175f7e71bfd8aa3effec5 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Mon, 3 Feb 2025 11:55:29 +0100 Subject: [PATCH 23/39] move menu item manifests into root folder --- src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts | 2 -- .../src/packages/webhook/webhook-root/manifests.ts | 3 ++- .../packages/webhook/{ => webhook-root}/menu-item/manifests.ts | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{ => webhook-root}/menu-item/manifests.ts (89%) diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts index 33eb9ce164a6..0fc6ad59af9e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts @@ -2,7 +2,6 @@ import { manifests as collectionManifests } from './collection/manifests.js'; import { manifests as deliveryManifests } from './delivery/manifests.js'; import { manifests as entityActions } from './entity-actions/manifests.js'; import { manifests as repositoryManifests } from './repository/manifests.js'; -import { manifests as treeManifests } from './menu-item/manifests.js'; import { manifests as workspaceManifests } from './workspace/manifests.js'; import { manifests as webhookRootManifests } from './webhook-root/manifests.js'; @@ -11,7 +10,6 @@ export const manifests: Array = [ ...deliveryManifests, ...entityActions, ...repositoryManifests, - ...treeManifests, ...workspaceManifests, ...webhookRootManifests, { diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-root/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-root/manifests.ts index f3edde04ca19..f1dce3155e5d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-root/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-root/manifests.ts @@ -1,3 +1,4 @@ +import { manifests as menuItemManifests } from './menu-item/manifests.js'; import { manifests as workspaceManifests } from './workspace/manifests.js'; -export const manifests: Array = [...workspaceManifests]; +export const manifests: Array = [...menuItemManifests, ...workspaceManifests]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/menu-item/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-root/menu-item/manifests.ts similarity index 89% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/menu-item/manifests.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-root/menu-item/manifests.ts index e04e92a59c8c..1a109a607837 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/menu-item/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-root/menu-item/manifests.ts @@ -2,7 +2,7 @@ export const manifests: Array = [ { type: 'menuItem', alias: 'Umb.MenuItem.Webhook', - name: 'Webhook Menu Item', + name: 'Webhook Root Menu Item', weight: 100, meta: { label: '#treeHeaders_webhooks', From f919a3c1e44f879313b71714e7ba0685a8d7cd7a Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Mon, 3 Feb 2025 13:25:35 +0100 Subject: [PATCH 24/39] move webhook delivery filering responsibility from repo to workspace view --- .../core/collection/collection.element.ts | 28 +++++++++++++++++-- .../src/packages/core/collection/index.ts | 1 + .../collection-workspace-view.element.ts | 21 ++++++++++---- .../webhook-delivery-collection.repository.ts | 18 +----------- ...table-status-code-column-layout.element.ts | 1 - .../delivery/workspace-view/manifests.ts | 5 ++-- ...ivery-collection-workspace-view.element.ts | 28 +++++++++++++++++++ 7 files changed, 73 insertions(+), 29 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/workspace-view/webhook-delivery-collection-workspace-view.element.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/collection/collection.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/collection/collection.element.ts index 52f3837354b4..357e2eb0ac9d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/collection/collection.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/collection/collection.element.ts @@ -1,12 +1,16 @@ import type { UmbCollectionConfiguration } from './types.js'; import type { ManifestCollection } from './extensions/types.js'; +import type { UmbCollectionFilterModel } from './collection-filter-model.interface.js'; import { customElement, property } from '@umbraco-cms/backoffice/external/lit'; import { UmbExtensionElementAndApiSlotElementBase } from '@umbraco-cms/backoffice/extension-registry'; import type { UmbApi } from '@umbraco-cms/backoffice/extension-api'; const elementName = 'umb-collection'; @customElement(elementName) -export class UmbCollectionElement extends UmbExtensionElementAndApiSlotElementBase { +export class UmbCollectionElement< + ConfigType extends UmbCollectionConfiguration = UmbCollectionConfiguration, + FilterType extends UmbCollectionFilterModel = UmbCollectionFilterModel, +> extends UmbExtensionElementAndApiSlotElementBase { getExtensionType() { return 'collection'; } @@ -16,18 +20,29 @@ export class UmbCollectionElement extends UmbExtensionElementAndApiSlotElementBa } @property({ type: Object, attribute: false }) - set config(newVal: UmbCollectionConfiguration | undefined) { + set config(newVal: ConfigType | undefined) { this.#config = newVal; this.#setConfig(); } get config() { return this.#config; } - #config?: UmbCollectionConfiguration; + #config?: ConfigType; + + @property({ type: Object, attribute: false }) + set filter(newVal: FilterType | undefined) { + this.#filter = newVal; + this.#setFilter(); + } + get filter() { + return this.#filter; + } + #filter?: FilterType; protected override apiChanged(api: UmbApi | undefined): void { super.apiChanged(api); this.#setConfig(); + this.#setFilter(); } #setConfig() { @@ -36,6 +51,13 @@ export class UmbCollectionElement extends UmbExtensionElementAndApiSlotElementBa // @ts-ignore this._api.setConfig(this.#config); } + + #setFilter() { + if (!this.#filter || !this._api) return; + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + this._api.setFilter(this.#filter); + } } declare global { diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/collection/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/collection/index.ts index 334cc99458c2..7ffdd86cf63d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/collection/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/collection/index.ts @@ -7,6 +7,7 @@ export * from './collection.element.js'; export * from './components/index.js'; export * from './conditions/index.js'; export * from './collection-item-picker-modal/index.js'; +export * from './workspace-view/index.js'; export * from './default/collection-default.context.js'; export * from './default/collection-default.context-token.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/collection/workspace-view/collection-workspace-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/collection/workspace-view/collection-workspace-view.element.ts index ae709482ac02..679dbb836e92 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/collection/workspace-view/collection-workspace-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/collection/workspace-view/collection-workspace-view.element.ts @@ -1,17 +1,26 @@ +import type { UmbCollectionConfiguration } from '../types.js'; import type { ManifestWorkspaceViewCollectionKind } from './types.js'; -import { html, customElement, property } from '@umbraco-cms/backoffice/external/lit'; +import { html, customElement, property, state } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; -const elementName = 'umb-collection-workspace-view'; -@customElement(elementName) +@customElement('umb-collection-workspace-view') export class UmbCollectionWorkspaceViewElement extends UmbLitElement { @property({ type: Object, attribute: false }) - manifest?: ManifestWorkspaceViewCollectionKind; + public manifest?: ManifestWorkspaceViewCollectionKind; + + @state() + protected _config?: UmbCollectionConfiguration; + + @state() + protected _filter?: unknown; override render() { if (!this.manifest) return html`
No Manifest
`; if (!this.manifest.meta.collectionAlias) return html`
No Collection Alias in Manifest
`; - return html``; + return html``; } } @@ -19,6 +28,6 @@ export { UmbCollectionWorkspaceViewElement as element }; declare global { interface HTMLElementTagNameMap { - [elementName]: UmbCollectionWorkspaceViewElement; + 'umb-collection-workspace-view': UmbCollectionWorkspaceViewElement; } } diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/webhook-delivery-collection.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/webhook-delivery-collection.repository.ts index 52cac09119fd..40261569376d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/webhook-delivery-collection.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/webhook-delivery-collection.repository.ts @@ -2,11 +2,9 @@ import type { UmbWebhookDeliveryCollectionFilterModel } from '../types.js'; import type { UmbWebhookDeliveryDetailModel } from '../../../types.js'; import { UmbWebhookDeliveryCollectionServerDataSource } from './webhook-delivery-collection.server.data-source.js'; import type { UmbWebhookDeliveryCollectionDataSource } from './types.js'; - import { UmbRepositoryBase } from '@umbraco-cms/backoffice/repository'; import type { UmbCollectionRepository } from '@umbraco-cms/backoffice/collection'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; -import { UMB_WEBHOOK_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/webhook'; export class UmbWebhookDeliveryCollectionRepository extends UmbRepositoryBase @@ -14,27 +12,13 @@ export class UmbWebhookDeliveryCollectionRepository { #collectionSource: UmbWebhookDeliveryCollectionDataSource; - #webhookUnique?: string; - constructor(host: UmbControllerHost) { super(host); - this.#collectionSource = new UmbWebhookDeliveryCollectionServerDataSource(host); - - this.consumeContext(UMB_WEBHOOK_WORKSPACE_CONTEXT, (instance) => { - this.observe(instance.data, (webhook) => { - this.#webhookUnique = webhook?.unique; - }); - }); } async requestCollection(filter: UmbWebhookDeliveryCollectionFilterModel) { - const filterWithId = { - ...filter, - webhook: { unique: this.#webhookUnique! }, - }; - - return this.#collectionSource.getCollection(filterWithId); + return this.#collectionSource.getCollection(filter); } } diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/table/column-layouts/status-code/webhook-delivery-table-status-code-column-layout.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/table/column-layouts/status-code/webhook-delivery-table-status-code-column-layout.element.ts index 133b12e5e8e7..55094cf2fd0a 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/table/column-layouts/status-code/webhook-delivery-table-status-code-column-layout.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/table/column-layouts/status-code/webhook-delivery-table-status-code-column-layout.element.ts @@ -7,7 +7,6 @@ export class UmbWebhookDeliveryTableStatusCodeColumnLayoutElement extends LitEle value: string = ''; #getTagColor() { - console.log(this.value); if (this.value.includes('(2')) { return 'positive'; } diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/workspace-view/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/workspace-view/manifests.ts index 8b1e0cbdb62a..7775403569d7 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/workspace-view/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/workspace-view/manifests.ts @@ -6,8 +6,9 @@ export const manifests: Array = [ { type: 'workspaceView', kind: 'collection', - alias: 'Umb.WorkspaceView.WebhookDeliveries.Collection', - name: 'Webhook Root Workspace Deliveries View', + alias: 'Umb.WorkspaceView.WebhookDelivery.Collection', + name: 'Webhook Delivery Workspace View', + element: () => import('./webhook-delivery-collection-workspace-view.element.js'), meta: { label: 'Deliveries', pathname: 'deliveries', diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/workspace-view/webhook-delivery-collection-workspace-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/workspace-view/webhook-delivery-collection-workspace-view.element.ts new file mode 100644 index 000000000000..97d2e062b74c --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/workspace-view/webhook-delivery-collection-workspace-view.element.ts @@ -0,0 +1,28 @@ +import { UMB_WEBHOOK_WORKSPACE_CONTEXT } from '../../workspace/constants.js'; +import { UmbCollectionWorkspaceViewElement } from '@umbraco-cms/backoffice/collection'; +import { customElement } from '@umbraco-cms/backoffice/external/lit'; + +@customElement('umb-webhook-delivery-collection-workspace-view') +export class UmbWebhookDeliveryCollectionWorkspaceViewElement extends UmbCollectionWorkspaceViewElement { + constructor() { + super(); + + this.consumeContext(UMB_WEBHOOK_WORKSPACE_CONTEXT, (instance) => { + this.observe(instance.unique, (unique) => this.#setWebhookFilter(unique)); + }); + } + + #setWebhookFilter(unique: string | null) { + this._filter = { + webhook: unique ? { unique } : null, + }; + } +} + +export { UmbWebhookDeliveryCollectionWorkspaceViewElement as element }; + +declare global { + interface HTMLElementTagNameMap { + 'umb-webhook-delivery-collection-workspace-view': UmbWebhookDeliveryCollectionWorkspaceViewElement; + } +} From 64ee7d4071d2854759fdf8117af9e2062cb185a9 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Mon, 3 Feb 2025 13:41:09 +0100 Subject: [PATCH 25/39] reorganize --- .../src/packages/webhook/collection/constants.ts | 2 -- .../src/packages/webhook/collection/index.ts | 2 -- .../src/packages/webhook/collection/manifests.ts | 3 --- .../src/packages/webhook/constants.ts | 2 +- src/Umbraco.Web.UI.Client/src/packages/webhook/index.ts | 2 +- .../src/packages/webhook/manifests.ts | 8 ++++---- .../packages/webhook/webhook-root/workspace/manifests.ts | 2 +- .../webhooks => webhook/collection}/action/manifests.ts | 0 .../webhooks => webhook/collection}/constants.ts | 0 .../{collection/webhooks => webhook/collection}/index.ts | 0 .../webhooks => webhook/collection}/manifests.ts | 0 .../collection}/repository/constants.ts | 0 .../webhooks => webhook/collection}/repository/index.ts | 0 .../collection}/repository/manifests.ts | 0 .../webhooks => webhook/collection}/repository/types.ts | 0 .../repository/webhook-collection.repository.ts | 0 .../repository/webhook-collection.server.data-source.ts | 0 .../{collection/webhooks => webhook/collection}/types.ts | 0 .../webhooks => webhook/collection}/views/constants.ts | 0 .../webhooks => webhook/collection}/views/manifests.ts | 0 .../webhook-table-name-column-layout.element.ts | 0 .../name/webhook-table-name-column-layout.element.ts | 0 .../views/table/webhook-table-collection-view.element.ts | 0 .../src/packages/webhook/webhook/constants.ts | 1 + .../src/packages/webhook/webhook/index.ts | 1 + .../src/packages/webhook/webhook/manifests.ts | 3 +++ .../src/packages/webhook/webhook/types.ts | 1 + 27 files changed, 13 insertions(+), 14 deletions(-) delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/collection/constants.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/collection/index.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/collection/manifests.ts rename src/Umbraco.Web.UI.Client/src/packages/webhook/{collection/webhooks => webhook/collection}/action/manifests.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{collection/webhooks => webhook/collection}/constants.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{collection/webhooks => webhook/collection}/index.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{collection/webhooks => webhook/collection}/manifests.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{collection/webhooks => webhook/collection}/repository/constants.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{collection/webhooks => webhook/collection}/repository/index.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{collection/webhooks => webhook/collection}/repository/manifests.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{collection/webhooks => webhook/collection}/repository/types.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{collection/webhooks => webhook/collection}/repository/webhook-collection.repository.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{collection/webhooks => webhook/collection}/repository/webhook-collection.server.data-source.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{collection/webhooks => webhook/collection}/types.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{collection/webhooks => webhook/collection}/views/constants.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{collection/webhooks => webhook/collection}/views/manifests.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{collection/webhooks => webhook/collection}/views/table/column-layouts/content-type/webhook-table-name-column-layout.element.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{collection/webhooks => webhook/collection}/views/table/column-layouts/name/webhook-table-name-column-layout.element.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{collection/webhooks => webhook/collection}/views/table/webhook-table-collection-view.element.ts (100%) create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/constants.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/index.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/manifests.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/types.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/constants.ts deleted file mode 100644 index 15033620c89e..000000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/constants.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './webhooks/constants.js'; -export * from '../delivery/collection/constants.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/index.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/index.ts deleted file mode 100644 index 721f7c9156f0..000000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './webhooks/index.js'; -export * from '../delivery/collection/index.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/manifests.ts deleted file mode 100644 index d8074fa90e3d..000000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/manifests.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { manifests as webhooksManifests } from './webhooks/manifests.js'; - -export const manifests: Array = [...webhooksManifests]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts index d29d6ed43cd2..611413ad0b18 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts @@ -1,4 +1,4 @@ -export * from './collection/constants.js'; +export * from './webhook/constants.js'; export * from './components/constants.js'; export * from './repository/constants.js'; export * from './workspace/constants.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/index.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/index.ts index e7a395db88e7..4fa01ba6896e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/index.ts @@ -1,4 +1,4 @@ -export * from './collection/index.js'; +export * from './webhook/index.js'; export * from './constants.js'; export * from './entity.js'; export * from './repository/index.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts index 0fc6ad59af9e..7f0f153ba456 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts @@ -1,17 +1,17 @@ -import { manifests as collectionManifests } from './collection/manifests.js'; import { manifests as deliveryManifests } from './delivery/manifests.js'; import { manifests as entityActions } from './entity-actions/manifests.js'; import { manifests as repositoryManifests } from './repository/manifests.js'; -import { manifests as workspaceManifests } from './workspace/manifests.js'; +import { manifests as webhookManifests } from './webhook/manifests.js'; import { manifests as webhookRootManifests } from './webhook-root/manifests.js'; +import { manifests as workspaceManifests } from './workspace/manifests.js'; export const manifests: Array = [ - ...collectionManifests, ...deliveryManifests, ...entityActions, ...repositoryManifests, - ...workspaceManifests, + ...webhookManifests, ...webhookRootManifests, + ...workspaceManifests, { type: 'modal', alias: 'Umb.Modal.Webhook.Events', diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-root/workspace/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-root/workspace/manifests.ts index 158c4b941726..2dcb55453a69 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-root/workspace/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-root/workspace/manifests.ts @@ -1,4 +1,4 @@ -import { UMB_WEBHOOK_COLLECTION_ALIAS } from '../../collection/constants.js'; +import { UMB_WEBHOOK_COLLECTION_ALIAS } from '../../webhook/constants.js'; import { UMB_WEBHOOK_ROOT_ENTITY_TYPE } from '../../entity.js'; import { UMB_WEBHOOK_ROOT_WORKSPACE_ALIAS } from './constants.js'; import { UMB_WORKSPACE_CONDITION_ALIAS } from '@umbraco-cms/backoffice/workspace'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/action/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/action/manifests.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/action/manifests.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/action/manifests.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/constants.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/constants.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/constants.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/index.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/index.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/index.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/index.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/manifests.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/manifests.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/manifests.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/repository/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/repository/constants.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/repository/constants.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/repository/constants.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/repository/index.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/repository/index.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/repository/index.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/repository/index.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/repository/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/repository/manifests.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/repository/manifests.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/repository/manifests.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/repository/types.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/repository/types.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/repository/types.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/repository/types.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/repository/webhook-collection.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/repository/webhook-collection.repository.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/repository/webhook-collection.repository.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/repository/webhook-collection.repository.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/repository/webhook-collection.server.data-source.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/repository/webhook-collection.server.data-source.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/repository/webhook-collection.server.data-source.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/repository/webhook-collection.server.data-source.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/types.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/types.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/types.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/types.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/views/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/views/constants.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/views/constants.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/views/constants.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/views/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/views/manifests.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/views/manifests.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/views/manifests.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/views/table/column-layouts/content-type/webhook-table-name-column-layout.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/views/table/column-layouts/content-type/webhook-table-name-column-layout.element.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/views/table/column-layouts/content-type/webhook-table-name-column-layout.element.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/views/table/column-layouts/content-type/webhook-table-name-column-layout.element.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/views/table/column-layouts/name/webhook-table-name-column-layout.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/views/table/column-layouts/name/webhook-table-name-column-layout.element.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/views/table/column-layouts/name/webhook-table-name-column-layout.element.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/views/table/column-layouts/name/webhook-table-name-column-layout.element.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/views/table/webhook-table-collection-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/views/table/webhook-table-collection-view.element.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/collection/webhooks/views/table/webhook-table-collection-view.element.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/views/table/webhook-table-collection-view.element.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/constants.ts new file mode 100644 index 000000000000..d7b529d49c8c --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/constants.ts @@ -0,0 +1 @@ +export * from './collection/constants.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/index.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/index.ts new file mode 100644 index 000000000000..d5015315d0f6 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/index.ts @@ -0,0 +1 @@ +export * from './collection/index.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/manifests.ts new file mode 100644 index 000000000000..bfab902d3c4e --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/manifests.ts @@ -0,0 +1,3 @@ +import { manifests as collectionManifests } from './collection/manifests.js'; + +export const manifests: Array = [...collectionManifests]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/types.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/types.ts new file mode 100644 index 000000000000..26e5cdffc57d --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/types.ts @@ -0,0 +1 @@ +export type * from './collection/types.js'; From f24d655617ca53c38bdec8a3f410e446adbf340b Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Mon, 3 Feb 2025 13:44:35 +0100 Subject: [PATCH 26/39] move workspace --- src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts | 1 - src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts | 2 -- .../src/packages/webhook/webhook/constants.ts | 1 + .../src/packages/webhook/webhook/manifests.ts | 3 ++- .../{workspace/webhook => webhook/workspace}/constants.ts | 0 .../{workspace/webhook => webhook/workspace}/manifests.ts | 0 .../workspace}/views/webhook-details-workspace-view.element.ts | 0 .../workspace}/webhook-workspace-editor.element.ts | 0 .../workspace}/webhook-workspace.context-token.ts | 0 .../webhook => webhook/workspace}/webhook-workspace.context.ts | 0 .../src/packages/webhook/workspace/constants.ts | 1 - .../src/packages/webhook/workspace/manifests.ts | 3 --- 12 files changed, 3 insertions(+), 8 deletions(-) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{workspace/webhook => webhook/workspace}/constants.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{workspace/webhook => webhook/workspace}/manifests.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{workspace/webhook => webhook/workspace}/views/webhook-details-workspace-view.element.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{workspace/webhook => webhook/workspace}/webhook-workspace-editor.element.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{workspace/webhook => webhook/workspace}/webhook-workspace.context-token.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{workspace/webhook => webhook/workspace}/webhook-workspace.context.ts (100%) delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/constants.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/manifests.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts index 611413ad0b18..85b32b98e284 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts @@ -1,5 +1,4 @@ export * from './webhook/constants.js'; export * from './components/constants.js'; export * from './repository/constants.js'; -export * from './workspace/constants.js'; export * from './webhook-root/constants.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts index 7f0f153ba456..26970b0eeae8 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts @@ -3,7 +3,6 @@ import { manifests as entityActions } from './entity-actions/manifests.js'; import { manifests as repositoryManifests } from './repository/manifests.js'; import { manifests as webhookManifests } from './webhook/manifests.js'; import { manifests as webhookRootManifests } from './webhook-root/manifests.js'; -import { manifests as workspaceManifests } from './workspace/manifests.js'; export const manifests: Array = [ ...deliveryManifests, @@ -11,7 +10,6 @@ export const manifests: Array = [ ...repositoryManifests, ...webhookManifests, ...webhookRootManifests, - ...workspaceManifests, { type: 'modal', alias: 'Umb.Modal.Webhook.Events', diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/constants.ts index d7b529d49c8c..9d625d629fc6 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/constants.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/constants.ts @@ -1 +1,2 @@ export * from './collection/constants.js'; +export * from './workspace/constants.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/manifests.ts index bfab902d3c4e..08207ad33d23 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/manifests.ts @@ -1,3 +1,4 @@ import { manifests as collectionManifests } from './collection/manifests.js'; +import { manifests as workspaceManifests } from './workspace/manifests.js'; -export const manifests: Array = [...collectionManifests]; +export const manifests: Array = [...collectionManifests, ...workspaceManifests]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/workspace/constants.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/constants.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/workspace/constants.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/workspace/manifests.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/manifests.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/workspace/manifests.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/views/webhook-details-workspace-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/workspace/views/webhook-details-workspace-view.element.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/views/webhook-details-workspace-view.element.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/workspace/views/webhook-details-workspace-view.element.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/webhook-workspace-editor.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/workspace/webhook-workspace-editor.element.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/webhook-workspace-editor.element.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/workspace/webhook-workspace-editor.element.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/webhook-workspace.context-token.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/workspace/webhook-workspace.context-token.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/webhook-workspace.context-token.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/workspace/webhook-workspace.context-token.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/webhook-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/workspace/webhook-workspace.context.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/webhook/webhook-workspace.context.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/workspace/webhook-workspace.context.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/constants.ts deleted file mode 100644 index 28f5c8a9a14d..000000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/constants.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './webhook/constants.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/manifests.ts deleted file mode 100644 index 4e7c5e8f2580..000000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/workspace/manifests.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { manifests as webhookManifests } from './webhook/manifests.js'; - -export const manifests: Array = [...webhookManifests]; From 347916408471fce47b61f392b4a3cc71d5d5e197 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Mon, 3 Feb 2025 13:45:36 +0100 Subject: [PATCH 27/39] fix import --- .../webhook-delivery-collection-workspace-view.element.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/workspace-view/webhook-delivery-collection-workspace-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/workspace-view/webhook-delivery-collection-workspace-view.element.ts index 97d2e062b74c..ee877bbde8bd 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/workspace-view/webhook-delivery-collection-workspace-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/workspace-view/webhook-delivery-collection-workspace-view.element.ts @@ -1,4 +1,4 @@ -import { UMB_WEBHOOK_WORKSPACE_CONTEXT } from '../../workspace/constants.js'; +import { UMB_WEBHOOK_WORKSPACE_CONTEXT } from '../../webhook/constants.js'; import { UmbCollectionWorkspaceViewElement } from '@umbraco-cms/backoffice/collection'; import { customElement } from '@umbraco-cms/backoffice/external/lit'; From 457b0c955941cbb7d5b69ddbb3845a93fdaa398a Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Mon, 3 Feb 2025 13:48:27 +0100 Subject: [PATCH 28/39] move entity actions --- .../src/packages/webhook/manifests.ts | 2 -- .../webhook/{ => webhook}/entity-actions/manifests.ts | 4 ++-- .../src/packages/webhook/webhook/manifests.ts | 7 ++++++- 3 files changed, 8 insertions(+), 5 deletions(-) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{ => webhook}/entity-actions/manifests.ts (79%) diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts index 26970b0eeae8..9be713b86c08 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts @@ -1,12 +1,10 @@ import { manifests as deliveryManifests } from './delivery/manifests.js'; -import { manifests as entityActions } from './entity-actions/manifests.js'; import { manifests as repositoryManifests } from './repository/manifests.js'; import { manifests as webhookManifests } from './webhook/manifests.js'; import { manifests as webhookRootManifests } from './webhook-root/manifests.js'; export const manifests: Array = [ ...deliveryManifests, - ...entityActions, ...repositoryManifests, ...webhookManifests, ...webhookRootManifests, diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/entity-actions/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/entity-actions/manifests.ts similarity index 79% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/entity-actions/manifests.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/entity-actions/manifests.ts index 1b5d96238ecc..cae0a7a5a8e3 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/entity-actions/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/entity-actions/manifests.ts @@ -1,5 +1,5 @@ -import { UMB_WEBHOOK_DETAIL_REPOSITORY_ALIAS, UMB_WEBHOOK_ITEM_REPOSITORY_ALIAS } from '../repository/index.js'; -import { UMB_WEBHOOK_ENTITY_TYPE } from '../entity.js'; +import { UMB_WEBHOOK_ENTITY_TYPE } from '../../entity.js'; +import { UMB_WEBHOOK_DETAIL_REPOSITORY_ALIAS, UMB_WEBHOOK_ITEM_REPOSITORY_ALIAS } from '../../repository/index.js'; export const manifests: Array = [ { diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/manifests.ts index 08207ad33d23..df6fc08f1dd5 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/manifests.ts @@ -1,4 +1,9 @@ import { manifests as collectionManifests } from './collection/manifests.js'; +import { manifests as entityActionManifests } from './entity-actions/manifests.js'; import { manifests as workspaceManifests } from './workspace/manifests.js'; -export const manifests: Array = [...collectionManifests, ...workspaceManifests]; +export const manifests: Array = [ + ...collectionManifests, + ...entityActionManifests, + ...workspaceManifests, +]; From 81d0ec09162ad109da06609c2437265d45c2bb5e Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Mon, 3 Feb 2025 13:55:15 +0100 Subject: [PATCH 29/39] export delivery consts --- src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts | 3 ++- .../src/packages/webhook/delivery/constants.ts | 1 + src/Umbraco.Web.UI.Client/utils/all-umb-consts/index.ts | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/constants.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts index 85b32b98e284..c3b29dd3100e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts @@ -1,4 +1,5 @@ -export * from './webhook/constants.js'; export * from './components/constants.js'; +export * from './delivery/constants.js'; export * from './repository/constants.js'; export * from './webhook-root/constants.js'; +export * from './webhook/constants.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/constants.ts new file mode 100644 index 000000000000..d7b529d49c8c --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/constants.ts @@ -0,0 +1 @@ +export * from './collection/constants.js'; diff --git a/src/Umbraco.Web.UI.Client/utils/all-umb-consts/index.ts b/src/Umbraco.Web.UI.Client/utils/all-umb-consts/index.ts index 0a1c8121e647..7b837e5589c5 100644 --- a/src/Umbraco.Web.UI.Client/utils/all-umb-consts/index.ts +++ b/src/Umbraco.Web.UI.Client/utils/all-umb-consts/index.ts @@ -420,7 +420,7 @@ export const foundConsts = [{ }, { path: '@umbraco-cms/backoffice/webhook', - consts: ["UMB_WEBHOOK_COLLECTION_ALIAS","UMB_WEBHOOK_COLLECTION_REPOSITORY_ALIAS","UMB_WEBHOOK_TABLE_COLLECTION_VIEW_ALIAS","UMB_WEBHOOK_EVENTS_MODAL","UMB_WEBHOOK_DELIVERY_COLLECTION_ALIAS","UMB_WEBHOOK_DELIVERY_COLLECTION_REPOSITORY_ALIAS","UMB_WEBHOOK_DELIVERIES_TABLE_COLLECTION_VIEW_ALIAS","UMB_WEBHOOK_WORKSPACE_ALIAS","UMB_WEBHOOK_WORKSPACE","UMB_WEBHOOK_ENTITY_TYPE","UMB_WEBHOOK_ROOT_ENTITY_TYPE","UMB_WEBHOOK_DELIVERY_ENTITY_TYPE","UMB_WEBHOOK_DETAIL_REPOSITORY_ALIAS","UMB_WEBHOOK_DETAIL_STORE_ALIAS","UMB_WEBHOOK_DETAIL_STORE_CONTEXT","UMB_WEBHOOK_EVENT_REPOSITORY_ALIAS","UMB_WEBHOOK_EVENT_STORE_ALIAS","UMB_WEBHOOK_EVENT_STORE_CONTEXT","UMB_WEBHOOK_ITEM_REPOSITORY_ALIAS","UMB_WEBHOOK_STORE_ALIAS","UMB_WEBHOOK_ITEM_STORE_CONTEXT","UMB_WEBHOOK_ROOT_WORKSPACE_ALIAS","UMB_WEBHOOK_WORKSPACE_CONTEXT"] + consts: ["UMB_WEBHOOK_EVENTS_MODAL","UMB_WEBHOOK_DELIVERY_COLLECTION_ALIAS","UMB_WEBHOOK_DELIVERY_COLLECTION_REPOSITORY_ALIAS","UMB_WEBHOOK_DELIVERIES_TABLE_COLLECTION_VIEW_ALIAS","UMB_WEBHOOK_WORKSPACE_ALIAS","UMB_WEBHOOK_WORKSPACE","UMB_WEBHOOK_ENTITY_TYPE","UMB_WEBHOOK_ROOT_ENTITY_TYPE","UMB_WEBHOOK_DELIVERY_ENTITY_TYPE","UMB_WEBHOOK_DETAIL_REPOSITORY_ALIAS","UMB_WEBHOOK_DETAIL_STORE_ALIAS","UMB_WEBHOOK_DETAIL_STORE_CONTEXT","UMB_WEBHOOK_EVENT_REPOSITORY_ALIAS","UMB_WEBHOOK_EVENT_STORE_ALIAS","UMB_WEBHOOK_EVENT_STORE_CONTEXT","UMB_WEBHOOK_ITEM_REPOSITORY_ALIAS","UMB_WEBHOOK_STORE_ALIAS","UMB_WEBHOOK_ITEM_STORE_CONTEXT","UMB_WEBHOOK_COLLECTION_ALIAS","UMB_WEBHOOK_COLLECTION_REPOSITORY_ALIAS","UMB_WEBHOOK_TABLE_COLLECTION_VIEW_ALIAS","UMB_WEBHOOK_WORKSPACE_CONTEXT","UMB_WEBHOOK_ROOT_WORKSPACE_ALIAS"] }, { path: '@umbraco-cms/backoffice/workspace', From f1f34c3bc22f699cb27e17863df9042fc086442d Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Mon, 3 Feb 2025 14:00:47 +0100 Subject: [PATCH 30/39] dot not export const --- .../src/packages/webhook/delivery/collection/constants.ts | 1 - .../packages/webhook/delivery/collection/views/constants.ts | 1 - .../packages/webhook/delivery/collection/views/manifests.ts | 6 ++---- 3 files changed, 2 insertions(+), 6 deletions(-) delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/constants.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/constants.ts index 12a35faf8a80..f81716723caf 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/constants.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/constants.ts @@ -1,4 +1,3 @@ export * from './repository/constants.js'; -export * from './views/constants.js'; export const UMB_WEBHOOK_DELIVERY_COLLECTION_ALIAS = 'Umb.Collection.Webhook.Delivery'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/constants.ts deleted file mode 100644 index b1a78871dfbf..000000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/constants.ts +++ /dev/null @@ -1 +0,0 @@ -export { UMB_WEBHOOK_DELIVERIES_TABLE_COLLECTION_VIEW_ALIAS } from './manifests.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/manifests.ts index d5011d97b2c1..e68f5c6a1bd9 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/manifests.ts @@ -1,11 +1,9 @@ import { UMB_COLLECTION_ALIAS_CONDITION } from '@umbraco-cms/backoffice/collection'; -export const UMB_WEBHOOK_DELIVERIES_TABLE_COLLECTION_VIEW_ALIAS = 'Umb.CollectionView.WebhookDeliveries.Table'; - export const manifests: Array = [ { type: 'collectionView', - alias: UMB_WEBHOOK_DELIVERIES_TABLE_COLLECTION_VIEW_ALIAS, + alias: 'Umb.CollectionView.WebhookDeliveries.Table', name: 'Webhook Deliveries Table Collection View', js: () => import('./table/webhook-delivery-table-collection-view.element.js'), meta: { @@ -16,7 +14,7 @@ export const manifests: Array = [ conditions: [ { alias: UMB_COLLECTION_ALIAS_CONDITION, - match: "Umb.Collection.Webhook.Delivery", + match: 'Umb.Collection.Webhook.Delivery', }, ], }, From 00bdcad8bb1396e0561993670a8d8800000f08d9 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Mon, 3 Feb 2025 14:01:09 +0100 Subject: [PATCH 31/39] rename folder --- .../{delivery => webhook-delivery}/collection/constants.ts | 0 .../webhook/{delivery => webhook-delivery}/collection/index.ts | 0 .../{delivery => webhook-delivery}/collection/manifests.ts | 0 .../collection/repository/constants.ts | 0 .../{delivery => webhook-delivery}/collection/repository/index.ts | 0 .../collection/repository/manifests.ts | 0 .../{delivery => webhook-delivery}/collection/repository/types.ts | 0 .../repository/webhook-delivery-collection.repository.ts | 0 .../repository/webhook-delivery-collection.server.data-source.ts | 0 .../webhook/{delivery => webhook-delivery}/collection/types.ts | 0 .../{delivery => webhook-delivery}/collection/views/manifests.ts | 0 .../webhook-delivery-table-status-code-column-layout.element.ts | 0 .../views/table/webhook-delivery-table-collection-view.element.ts | 0 .../packages/webhook/{delivery => webhook-delivery}/constants.ts | 0 .../packages/webhook/{delivery => webhook-delivery}/manifests.ts | 0 .../{delivery => webhook-delivery}/workspace-view/manifests.ts | 0 .../webhook-delivery-collection-workspace-view.element.ts | 0 17 files changed, 0 insertions(+), 0 deletions(-) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{delivery => webhook-delivery}/collection/constants.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{delivery => webhook-delivery}/collection/index.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{delivery => webhook-delivery}/collection/manifests.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{delivery => webhook-delivery}/collection/repository/constants.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{delivery => webhook-delivery}/collection/repository/index.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{delivery => webhook-delivery}/collection/repository/manifests.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{delivery => webhook-delivery}/collection/repository/types.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{delivery => webhook-delivery}/collection/repository/webhook-delivery-collection.repository.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{delivery => webhook-delivery}/collection/repository/webhook-delivery-collection.server.data-source.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{delivery => webhook-delivery}/collection/types.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{delivery => webhook-delivery}/collection/views/manifests.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{delivery => webhook-delivery}/collection/views/table/column-layouts/status-code/webhook-delivery-table-status-code-column-layout.element.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{delivery => webhook-delivery}/collection/views/table/webhook-delivery-table-collection-view.element.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{delivery => webhook-delivery}/constants.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{delivery => webhook-delivery}/manifests.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{delivery => webhook-delivery}/workspace-view/manifests.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{delivery => webhook-delivery}/workspace-view/webhook-delivery-collection-workspace-view.element.ts (100%) diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/constants.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/constants.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/constants.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/index.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/index.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/index.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/index.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/manifests.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/manifests.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/manifests.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/repository/constants.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/constants.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/repository/constants.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/index.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/repository/index.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/index.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/repository/index.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/repository/manifests.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/manifests.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/repository/manifests.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/types.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/repository/types.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/types.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/repository/types.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/webhook-delivery-collection.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/repository/webhook-delivery-collection.repository.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/webhook-delivery-collection.repository.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/repository/webhook-delivery-collection.repository.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/webhook-delivery-collection.server.data-source.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/repository/webhook-delivery-collection.server.data-source.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/repository/webhook-delivery-collection.server.data-source.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/repository/webhook-delivery-collection.server.data-source.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/types.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/types.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/types.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/types.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/views/manifests.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/manifests.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/views/manifests.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/table/column-layouts/status-code/webhook-delivery-table-status-code-column-layout.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/views/table/column-layouts/status-code/webhook-delivery-table-status-code-column-layout.element.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/table/column-layouts/status-code/webhook-delivery-table-status-code-column-layout.element.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/views/table/column-layouts/status-code/webhook-delivery-table-status-code-column-layout.element.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/table/webhook-delivery-table-collection-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/views/table/webhook-delivery-table-collection-view.element.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/collection/views/table/webhook-delivery-table-collection-view.element.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/views/table/webhook-delivery-table-collection-view.element.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/constants.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/constants.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/constants.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/manifests.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/manifests.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/manifests.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/workspace-view/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/workspace-view/manifests.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/workspace-view/manifests.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/workspace-view/manifests.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/workspace-view/webhook-delivery-collection-workspace-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/workspace-view/webhook-delivery-collection-workspace-view.element.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/delivery/workspace-view/webhook-delivery-collection-workspace-view.element.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/workspace-view/webhook-delivery-collection-workspace-view.element.ts From 9e73d361deb03cb6ad261cbdb6601ba1171869bd Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Mon, 3 Feb 2025 14:19:39 +0100 Subject: [PATCH 32/39] update name --- src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts | 2 +- src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts index c3b29dd3100e..6eef111f4a1e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts @@ -1,5 +1,5 @@ export * from './components/constants.js'; -export * from './delivery/constants.js'; +export * from './webhook-delivery/constants.js'; export * from './repository/constants.js'; export * from './webhook-root/constants.js'; export * from './webhook/constants.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts index 9be713b86c08..adb942c647dc 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts @@ -1,4 +1,4 @@ -import { manifests as deliveryManifests } from './delivery/manifests.js'; +import { manifests as deliveryManifests } from './webhook-delivery/manifests.js'; import { manifests as repositoryManifests } from './repository/manifests.js'; import { manifests as webhookManifests } from './webhook/manifests.js'; import { manifests as webhookRootManifests } from './webhook-root/manifests.js'; From fc10b3bfaa5120a2015a6c2f21b02d3f8713dcfb Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Mon, 3 Feb 2025 14:37:38 +0100 Subject: [PATCH 33/39] make event feature folder --- .../packages/webhook/components/constants.ts | 1 - .../webhook-events-modal.element.ts | 2 +- .../src/packages/webhook/constants.ts | 2 +- .../src/packages/webhook/index.ts | 4 +- .../src/packages/webhook/manifests.ts | 8 +- .../packages/webhook/repository/constants.ts | 1 - .../src/packages/webhook/repository/index.ts | 3 +- .../packages/webhook/repository/manifests.ts | 3 +- .../webhook/webhook-event/constants.ts | 2 + .../packages/webhook/webhook-event/index.ts | 1 + .../input-webhook-events.element.ts | 2 +- .../webhook/webhook-event/manifests.ts | 4 + .../webhook/webhook-event/modal/constants.ts | 1 + .../webhook/webhook-event/modal/manifests.ts | 8 ++ .../modal/webhook-events-modal.element.ts | 106 ++++++++++++++++++ .../modal}/webhook-events-modal.token.ts | 0 .../repository}/constants.ts | 0 .../repository}/index.ts | 0 .../repository}/manifests.ts | 0 .../repository}/webhook-event.repository.ts | 0 .../webhook-event.server.data-source.ts | 0 .../repository}/webhook-event.store.ts | 0 .../webhook-details-workspace-view.element.ts | 4 +- 23 files changed, 134 insertions(+), 18 deletions(-) delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/components/constants.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/constants.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/index.ts rename src/Umbraco.Web.UI.Client/src/packages/webhook/{components => webhook-event}/input-webhook-events.element.ts (96%) create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/manifests.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/modal/constants.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/modal/manifests.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/modal/webhook-events-modal.element.ts rename src/Umbraco.Web.UI.Client/src/packages/webhook/{components/webhook-events-modal => webhook-event/modal}/webhook-events-modal.token.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{repository/event => webhook-event/repository}/constants.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{repository/event => webhook-event/repository}/index.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{repository/event => webhook-event/repository}/manifests.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{repository/event => webhook-event/repository}/webhook-event.repository.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{repository/event => webhook-event/repository}/webhook-event.server.data-source.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{repository/event => webhook-event/repository}/webhook-event.store.ts (100%) diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/components/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/components/constants.ts deleted file mode 100644 index c0c34b5d931d..000000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/components/constants.ts +++ /dev/null @@ -1 +0,0 @@ -export { UMB_WEBHOOK_EVENTS_MODAL } from './webhook-events-modal/webhook-events-modal.token.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/components/webhook-events-modal/webhook-events-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/components/webhook-events-modal/webhook-events-modal.element.ts index 7df91e91c600..c3f502a9e64a 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/components/webhook-events-modal/webhook-events-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/components/webhook-events-modal/webhook-events-modal.element.ts @@ -1,4 +1,4 @@ -import { UmbWebhookEventRepository } from '../../repository/event/webhook-event.repository.js'; +import { UmbWebhookEventRepository } from '../../webhook-event/repository/webhook-event.repository.js'; import type { UmbWebhookEventModel } from '../../types.js'; import type { UmbWebhookPickerModalData, UmbWebhookPickerModalValue } from './webhook-events-modal.token.js'; import { customElement, html, state, repeat } from '@umbraco-cms/backoffice/external/lit'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts index 6eef111f4a1e..f0ea31f4582b 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts @@ -1,4 +1,4 @@ -export * from './components/constants.js'; +export * from './webhook-event/modal/constants.js'; export * from './webhook-delivery/constants.js'; export * from './repository/constants.js'; export * from './webhook-root/constants.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/index.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/index.ts index 4fa01ba6896e..29989f7f98c7 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/index.ts @@ -1,5 +1,7 @@ -export * from './webhook/index.js'; export * from './constants.js'; export * from './entity.js'; export * from './repository/index.js'; +export * from './webhook-event/index.js'; +export * from './webhook/index.js'; + export type * from './types.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts index adb942c647dc..7802e4c1c01f 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts @@ -1,17 +1,13 @@ import { manifests as deliveryManifests } from './webhook-delivery/manifests.js'; +import { manifests as eventManifests } from './webhook-event/manifests.js'; import { manifests as repositoryManifests } from './repository/manifests.js'; import { manifests as webhookManifests } from './webhook/manifests.js'; import { manifests as webhookRootManifests } from './webhook-root/manifests.js'; export const manifests: Array = [ ...deliveryManifests, + ...eventManifests, ...repositoryManifests, ...webhookManifests, ...webhookRootManifests, - { - type: 'modal', - alias: 'Umb.Modal.Webhook.Events', - name: 'Webhook Events Modal', - js: () => import('./components/webhook-events-modal/webhook-events-modal.element.js'), - }, ]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/repository/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/repository/constants.ts index bffbeaf54294..4cae00f6dce5 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/repository/constants.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/repository/constants.ts @@ -1,3 +1,2 @@ export * from './item/constants.js'; -export * from './event/constants.js'; export * from './detail/constants.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/repository/index.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/repository/index.ts index c236ecde5769..e94276bc0aec 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/repository/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/repository/index.ts @@ -1,3 +1,2 @@ export * from './detail/index.js'; -export * from './event/index.js'; -export * from './item/manifests.js'; +export * from './item/index.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/repository/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/repository/manifests.ts index da38afdfcdbe..4dfb0c911f4e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/repository/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/repository/manifests.ts @@ -1,5 +1,4 @@ import { manifests as detailManifests } from './detail/manifests.js'; -import { manifests as eventManifests } from './event/manifests.js'; import { manifests as itemManifests } from './item/manifests.js'; -export const manifests: Array = [...detailManifests, ...eventManifests, ...itemManifests]; +export const manifests: Array = [...detailManifests, ...itemManifests]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/constants.ts new file mode 100644 index 000000000000..9c35ab3ee734 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/constants.ts @@ -0,0 +1,2 @@ +export * from './modal/constants.js'; +export * from './repository/constants.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/index.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/index.ts new file mode 100644 index 000000000000..3d76f338dddc --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/index.ts @@ -0,0 +1 @@ +export * from './repository/index.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/components/input-webhook-events.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/input-webhook-events.element.ts similarity index 96% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/components/input-webhook-events.element.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/input-webhook-events.element.ts index f17bea9008bf..72acedd4cad5 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/components/input-webhook-events.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/input-webhook-events.element.ts @@ -1,5 +1,5 @@ import type { UmbWebhookEventModel } from '../types.js'; -import { UMB_WEBHOOK_EVENTS_MODAL } from './webhook-events-modal/webhook-events-modal.token.js'; +import { UMB_WEBHOOK_EVENTS_MODAL } from './modal/webhook-events-modal.token.js'; import { css, html, customElement, property, repeat, nothing } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/manifests.ts new file mode 100644 index 000000000000..6b7cf27f5197 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/manifests.ts @@ -0,0 +1,4 @@ +import { manifests as modalManifests } from './modal/manifests.js'; +import { manifests as repositoryManifests } from './repository/manifests.js'; + +export const manifests: Array = [...modalManifests, ...repositoryManifests]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/modal/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/modal/constants.ts new file mode 100644 index 000000000000..dc255bb35b04 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/modal/constants.ts @@ -0,0 +1 @@ +export * from './webhook-events-modal.token.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/modal/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/modal/manifests.ts new file mode 100644 index 000000000000..b87310786047 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/modal/manifests.ts @@ -0,0 +1,8 @@ +export const manifests: Array = [ + { + type: 'modal', + alias: 'Umb.Modal.Webhook.Events', + name: 'Webhook Events Modal', + js: () => import('./webhook-events-modal.element.js'), + }, +]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/modal/webhook-events-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/modal/webhook-events-modal.element.ts new file mode 100644 index 000000000000..00d5384e93b9 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/modal/webhook-events-modal.element.ts @@ -0,0 +1,106 @@ +import { UmbWebhookEventRepository } from '../repository/webhook-event.repository.js'; +import type { UmbWebhookEventModel } from '../../types.js'; +import type { UmbWebhookPickerModalData, UmbWebhookPickerModalValue } from './webhook-events-modal.token.js'; +import { customElement, html, state, repeat } from '@umbraco-cms/backoffice/external/lit'; +import { UmbModalBaseElement } from '@umbraco-cms/backoffice/modal'; +import { UmbSelectionManager } from '@umbraco-cms/backoffice/utils'; + +@customElement('umb-webhook-events-modal') +export class UmbWebhookEventsModalElement extends UmbModalBaseElement< + UmbWebhookPickerModalData, + UmbWebhookPickerModalValue +> { + @state() + _events: Array = []; + + #repository = new UmbWebhookEventRepository(this); + + #selectionManager = new UmbSelectionManager(this); + + #eventsRequest?: Promise; + + override connectedCallback(): void { + super.connectedCallback(); + + this.#selectionManager.setSelectable(true); + this.#selectionManager.setMultiple(true); + this.#selectionManager.setSelection(this.data?.events.map((item) => item.alias) ?? []); + + this.#requestEvents(); + this.#observeSelection(); + } + + async #observeSelection() { + await this.#eventsRequest; + + this.observe(this.#selectionManager.selection, (selection) => { + this.value = { events: this._events.filter((item) => selection.includes(item.alias)) }; + }); + } + + async #requestEvents() { + this.#eventsRequest = this.#repository.requestEvents(); + const { data } = await this.#eventsRequest; + + if (!data) return; + + this._events = data.items; + } + + #submit() { + this.modalContext?.submit(); + } + + #close() { + this.modalContext?.reject(); + } + + #getItemDisabled(item: UmbWebhookEventModel) { + const selection = this.#selectionManager.getSelection(); + + if (!selection.length) return false; + + const selectedEvents = this._events.filter((item) => selection.includes(item.alias)); + return selectedEvents[0].eventType !== item.eventType; + } + + override render() { + return html` + + + ${repeat( + this._events, + (item) => item.alias, + (item) => html` + this.#selectionManager.select(item.alias)} + @deselected=${() => this.#selectionManager.deselect(item.alias)} + ?selected=${this.value.events.includes(item)}> + + + `, + )} + +
+ + +
+
+ `; + } +} + +export default UmbWebhookEventsModalElement; + +declare global { + interface HTMLElementTagNameMap { + 'umb-webhook-events-modal': UmbWebhookEventsModalElement; + } +} diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/components/webhook-events-modal/webhook-events-modal.token.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/modal/webhook-events-modal.token.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/components/webhook-events-modal/webhook-events-modal.token.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/modal/webhook-events-modal.token.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/repository/event/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/repository/constants.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/repository/event/constants.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/repository/constants.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/repository/event/index.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/repository/index.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/repository/event/index.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/repository/index.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/repository/event/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/repository/manifests.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/repository/event/manifests.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/repository/manifests.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/repository/event/webhook-event.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/repository/webhook-event.repository.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/repository/event/webhook-event.repository.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/repository/webhook-event.repository.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/repository/event/webhook-event.server.data-source.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/repository/webhook-event.server.data-source.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/repository/event/webhook-event.server.data-source.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/repository/webhook-event.server.data-source.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/repository/event/webhook-event.store.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/repository/webhook-event.store.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/repository/event/webhook-event.store.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/repository/webhook-event.store.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/workspace/views/webhook-details-workspace-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/workspace/views/webhook-details-workspace-view.element.ts index 8936eba10cd1..88f302cca333 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/workspace/views/webhook-details-workspace-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/workspace/views/webhook-details-workspace-view.element.ts @@ -1,6 +1,6 @@ import { UMB_WEBHOOK_WORKSPACE_CONTEXT } from '../webhook-workspace.context-token.js'; import type { UmbInputWebhookHeadersElement } from '../../../components/input-webhook-headers.element.js'; -import type { UmbInputWebhookEventsElement } from '../../../components/input-webhook-events.element.js'; +import type { UmbInputWebhookEventsElement } from '../../../webhook-event/input-webhook-events.element.js'; import { css, customElement, html, state, nothing } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement, umbFocus } from '@umbraco-cms/backoffice/lit-element'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; @@ -12,7 +12,7 @@ import type { UUIBooleanInputEvent, UUIInputEvent } from '@umbraco-cms/backoffic import '@umbraco-cms/backoffice/culture'; import '../../../components/input-webhook-headers.element.js'; -import '../../../components/input-webhook-events.element.js'; +import '../../../webhook-event/input-webhook-events.element.js'; @customElement('umb-webhook-details-workspace-view') export class UmbWebhookDetailsWorkspaceViewElement extends UmbLitElement implements UmbWorkspaceViewElement { From f97fe2c6927cfa1937945d61baef053776188d8e Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Mon, 3 Feb 2025 14:38:44 +0100 Subject: [PATCH 34/39] export consts --- .../webhook-events-modal.element.ts | 106 ------------------ .../src/packages/webhook/constants.ts | 2 +- .../utils/all-umb-consts/index.ts | 2 +- 3 files changed, 2 insertions(+), 108 deletions(-) delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/components/webhook-events-modal/webhook-events-modal.element.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/components/webhook-events-modal/webhook-events-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/components/webhook-events-modal/webhook-events-modal.element.ts deleted file mode 100644 index c3f502a9e64a..000000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/components/webhook-events-modal/webhook-events-modal.element.ts +++ /dev/null @@ -1,106 +0,0 @@ -import { UmbWebhookEventRepository } from '../../webhook-event/repository/webhook-event.repository.js'; -import type { UmbWebhookEventModel } from '../../types.js'; -import type { UmbWebhookPickerModalData, UmbWebhookPickerModalValue } from './webhook-events-modal.token.js'; -import { customElement, html, state, repeat } from '@umbraco-cms/backoffice/external/lit'; -import { UmbModalBaseElement } from '@umbraco-cms/backoffice/modal'; -import { UmbSelectionManager } from '@umbraco-cms/backoffice/utils'; - -@customElement('umb-webhook-events-modal') -export class UmbWebhookEventsModalElement extends UmbModalBaseElement< - UmbWebhookPickerModalData, - UmbWebhookPickerModalValue -> { - @state() - _events: Array = []; - - #repository = new UmbWebhookEventRepository(this); - - #selectionManager = new UmbSelectionManager(this); - - #eventsRequest?: Promise; - - override connectedCallback(): void { - super.connectedCallback(); - - this.#selectionManager.setSelectable(true); - this.#selectionManager.setMultiple(true); - this.#selectionManager.setSelection(this.data?.events.map((item) => item.alias) ?? []); - - this.#requestEvents(); - this.#observeSelection(); - } - - async #observeSelection() { - await this.#eventsRequest; - - this.observe(this.#selectionManager.selection, (selection) => { - this.value = { events: this._events.filter((item) => selection.includes(item.alias)) }; - }); - } - - async #requestEvents() { - this.#eventsRequest = this.#repository.requestEvents(); - const { data } = await this.#eventsRequest; - - if (!data) return; - - this._events = data.items; - } - - #submit() { - this.modalContext?.submit(); - } - - #close() { - this.modalContext?.reject(); - } - - #getItemDisabled(item: UmbWebhookEventModel) { - const selection = this.#selectionManager.getSelection(); - - if (!selection.length) return false; - - const selectedEvents = this._events.filter((item) => selection.includes(item.alias)); - return selectedEvents[0].eventType !== item.eventType; - } - - override render() { - return html` - - - ${repeat( - this._events, - (item) => item.alias, - (item) => html` - this.#selectionManager.select(item.alias)} - @deselected=${() => this.#selectionManager.deselect(item.alias)} - ?selected=${this.value.events.includes(item)}> - - - `, - )} - -
- - -
-
- `; - } -} - -export default UmbWebhookEventsModalElement; - -declare global { - interface HTMLElementTagNameMap { - 'umb-webhook-events-modal': UmbWebhookEventsModalElement; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts index f0ea31f4582b..56a41d35ed58 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts @@ -1,4 +1,4 @@ -export * from './webhook-event/modal/constants.js'; +export * from './webhook-event/constants.js'; export * from './webhook-delivery/constants.js'; export * from './repository/constants.js'; export * from './webhook-root/constants.js'; diff --git a/src/Umbraco.Web.UI.Client/utils/all-umb-consts/index.ts b/src/Umbraco.Web.UI.Client/utils/all-umb-consts/index.ts index 7b837e5589c5..58df29edbb79 100644 --- a/src/Umbraco.Web.UI.Client/utils/all-umb-consts/index.ts +++ b/src/Umbraco.Web.UI.Client/utils/all-umb-consts/index.ts @@ -420,7 +420,7 @@ export const foundConsts = [{ }, { path: '@umbraco-cms/backoffice/webhook', - consts: ["UMB_WEBHOOK_EVENTS_MODAL","UMB_WEBHOOK_DELIVERY_COLLECTION_ALIAS","UMB_WEBHOOK_DELIVERY_COLLECTION_REPOSITORY_ALIAS","UMB_WEBHOOK_DELIVERIES_TABLE_COLLECTION_VIEW_ALIAS","UMB_WEBHOOK_WORKSPACE_ALIAS","UMB_WEBHOOK_WORKSPACE","UMB_WEBHOOK_ENTITY_TYPE","UMB_WEBHOOK_ROOT_ENTITY_TYPE","UMB_WEBHOOK_DELIVERY_ENTITY_TYPE","UMB_WEBHOOK_DETAIL_REPOSITORY_ALIAS","UMB_WEBHOOK_DETAIL_STORE_ALIAS","UMB_WEBHOOK_DETAIL_STORE_CONTEXT","UMB_WEBHOOK_EVENT_REPOSITORY_ALIAS","UMB_WEBHOOK_EVENT_STORE_ALIAS","UMB_WEBHOOK_EVENT_STORE_CONTEXT","UMB_WEBHOOK_ITEM_REPOSITORY_ALIAS","UMB_WEBHOOK_STORE_ALIAS","UMB_WEBHOOK_ITEM_STORE_CONTEXT","UMB_WEBHOOK_COLLECTION_ALIAS","UMB_WEBHOOK_COLLECTION_REPOSITORY_ALIAS","UMB_WEBHOOK_TABLE_COLLECTION_VIEW_ALIAS","UMB_WEBHOOK_WORKSPACE_CONTEXT","UMB_WEBHOOK_ROOT_WORKSPACE_ALIAS"] + consts: ["UMB_WEBHOOK_WORKSPACE_ALIAS","UMB_WEBHOOK_WORKSPACE","UMB_WEBHOOK_ENTITY_TYPE","UMB_WEBHOOK_ROOT_ENTITY_TYPE","UMB_WEBHOOK_DELIVERY_ENTITY_TYPE","UMB_WEBHOOK_DETAIL_REPOSITORY_ALIAS","UMB_WEBHOOK_DETAIL_STORE_ALIAS","UMB_WEBHOOK_DETAIL_STORE_CONTEXT","UMB_WEBHOOK_ITEM_REPOSITORY_ALIAS","UMB_WEBHOOK_STORE_ALIAS","UMB_WEBHOOK_ITEM_STORE_CONTEXT","UMB_WEBHOOK_COLLECTION_ALIAS","UMB_WEBHOOK_COLLECTION_REPOSITORY_ALIAS","UMB_WEBHOOK_TABLE_COLLECTION_VIEW_ALIAS","UMB_WEBHOOK_WORKSPACE_CONTEXT","UMB_WEBHOOK_DELIVERY_COLLECTION_ALIAS","UMB_WEBHOOK_DELIVERY_COLLECTION_REPOSITORY_ALIAS","UMB_WEBHOOK_EVENTS_MODAL","UMB_WEBHOOK_EVENT_REPOSITORY_ALIAS","UMB_WEBHOOK_EVENT_STORE_ALIAS","UMB_WEBHOOK_EVENT_STORE_CONTEXT","UMB_WEBHOOK_ROOT_WORKSPACE_ALIAS"] }, { path: '@umbraco-cms/backoffice/workspace', From f626fa492f68bbf6accd0d81c8f033179be05044 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Mon, 3 Feb 2025 14:40:35 +0100 Subject: [PATCH 35/39] move repository files --- .../src/packages/webhook/constants.ts | 1 - .../src/packages/webhook/index.ts | 1 - .../src/packages/webhook/manifests.ts | 10 ++++------ .../src/packages/webhook/webhook/constants.ts | 1 + .../src/packages/webhook/webhook/index.ts | 1 + .../src/packages/webhook/webhook/manifests.ts | 2 ++ .../webhook/{ => webhook}/repository/constants.ts | 0 .../{ => webhook}/repository/detail/constants.ts | 0 .../webhook/{ => webhook}/repository/detail/index.ts | 0 .../{ => webhook}/repository/detail/manifests.ts | 0 .../repository/detail/webhook-detail.repository.ts | 0 .../detail/webhook-detail.server.data-source.ts | 0 .../repository/detail/webhook-detail.store.ts | 0 .../packages/webhook/{ => webhook}/repository/index.ts | 0 .../webhook/{ => webhook}/repository/item/constants.ts | 0 .../webhook/{ => webhook}/repository/item/index.ts | 0 .../webhook/{ => webhook}/repository/item/manifests.ts | 0 .../webhook/{ => webhook}/repository/item/types.ts | 0 .../repository/item/webhook-item.repository.ts | 0 .../repository/item/webhook-item.server.data-source.ts | 0 .../repository/item/webhook-item.store.ts | 0 .../webhook/{ => webhook}/repository/manifests.ts | 0 22 files changed, 8 insertions(+), 8 deletions(-) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{ => webhook}/repository/constants.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{ => webhook}/repository/detail/constants.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{ => webhook}/repository/detail/index.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{ => webhook}/repository/detail/manifests.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{ => webhook}/repository/detail/webhook-detail.repository.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{ => webhook}/repository/detail/webhook-detail.server.data-source.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{ => webhook}/repository/detail/webhook-detail.store.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{ => webhook}/repository/index.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{ => webhook}/repository/item/constants.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{ => webhook}/repository/item/index.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{ => webhook}/repository/item/manifests.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{ => webhook}/repository/item/types.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{ => webhook}/repository/item/webhook-item.repository.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{ => webhook}/repository/item/webhook-item.server.data-source.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{ => webhook}/repository/item/webhook-item.store.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/webhook/{ => webhook}/repository/manifests.ts (100%) diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts index 56a41d35ed58..ecc64ff8c6e7 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/constants.ts @@ -1,5 +1,4 @@ export * from './webhook-event/constants.js'; export * from './webhook-delivery/constants.js'; -export * from './repository/constants.js'; export * from './webhook-root/constants.js'; export * from './webhook/constants.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/index.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/index.ts index 29989f7f98c7..3936c26017bc 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/index.ts @@ -1,6 +1,5 @@ export * from './constants.js'; export * from './entity.js'; -export * from './repository/index.js'; export * from './webhook-event/index.js'; export * from './webhook/index.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts index 7802e4c1c01f..a034f4985610 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/manifests.ts @@ -1,13 +1,11 @@ -import { manifests as deliveryManifests } from './webhook-delivery/manifests.js'; -import { manifests as eventManifests } from './webhook-event/manifests.js'; -import { manifests as repositoryManifests } from './repository/manifests.js'; +import { manifests as webhookDeliveryManifests } from './webhook-delivery/manifests.js'; +import { manifests as webhookEventManifests } from './webhook-event/manifests.js'; import { manifests as webhookManifests } from './webhook/manifests.js'; import { manifests as webhookRootManifests } from './webhook-root/manifests.js'; export const manifests: Array = [ - ...deliveryManifests, - ...eventManifests, - ...repositoryManifests, + ...webhookDeliveryManifests, + ...webhookEventManifests, ...webhookManifests, ...webhookRootManifests, ]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/constants.ts index 9d625d629fc6..19190bc8db4e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/constants.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/constants.ts @@ -1,2 +1,3 @@ export * from './collection/constants.js'; export * from './workspace/constants.js'; +export * from './repository/constants.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/index.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/index.ts index d5015315d0f6..6cb335f36a52 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/index.ts @@ -1 +1,2 @@ export * from './collection/index.js'; +export * from './repository/index.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/manifests.ts index df6fc08f1dd5..fab7d47a8341 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/manifests.ts @@ -1,9 +1,11 @@ import { manifests as collectionManifests } from './collection/manifests.js'; import { manifests as entityActionManifests } from './entity-actions/manifests.js'; +import { manifests as repositoryManifests } from './repository/manifests.js'; import { manifests as workspaceManifests } from './workspace/manifests.js'; export const manifests: Array = [ ...collectionManifests, ...entityActionManifests, + ...repositoryManifests, ...workspaceManifests, ]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/repository/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/constants.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/repository/constants.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/constants.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/repository/detail/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/detail/constants.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/repository/detail/constants.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/detail/constants.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/repository/detail/index.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/detail/index.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/repository/detail/index.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/detail/index.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/repository/detail/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/detail/manifests.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/repository/detail/manifests.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/detail/manifests.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/repository/detail/webhook-detail.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/detail/webhook-detail.repository.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/repository/detail/webhook-detail.repository.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/detail/webhook-detail.repository.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/repository/detail/webhook-detail.server.data-source.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/detail/webhook-detail.server.data-source.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/repository/detail/webhook-detail.server.data-source.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/detail/webhook-detail.server.data-source.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/repository/detail/webhook-detail.store.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/detail/webhook-detail.store.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/repository/detail/webhook-detail.store.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/detail/webhook-detail.store.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/repository/index.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/index.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/repository/index.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/index.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/repository/item/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/item/constants.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/repository/item/constants.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/item/constants.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/repository/item/index.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/item/index.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/repository/item/index.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/item/index.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/repository/item/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/item/manifests.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/repository/item/manifests.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/item/manifests.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/repository/item/types.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/item/types.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/repository/item/types.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/item/types.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/repository/item/webhook-item.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/item/webhook-item.repository.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/repository/item/webhook-item.repository.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/item/webhook-item.repository.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/repository/item/webhook-item.server.data-source.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/item/webhook-item.server.data-source.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/repository/item/webhook-item.server.data-source.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/item/webhook-item.server.data-source.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/repository/item/webhook-item.store.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/item/webhook-item.store.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/repository/item/webhook-item.store.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/item/webhook-item.store.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/repository/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/manifests.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/webhook/repository/manifests.ts rename to src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/manifests.ts From 7cb514657305d24964c731f688b88bceac448d59 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Mon, 3 Feb 2025 14:50:41 +0100 Subject: [PATCH 36/39] more clean up --- src/Umbraco.Web.UI.Client/src/packages/webhook/types.ts | 6 +++--- .../packages/webhook/webhook/entity-actions/manifests.ts | 2 +- .../webhook/repository/detail/webhook-detail.repository.ts | 2 +- .../repository/detail/webhook-detail.server.data-source.ts | 4 ++-- .../webhook/repository/detail/webhook-detail.store.ts | 2 +- .../webhook/webhook/workspace/webhook-workspace.context.ts | 4 ++-- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/types.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/types.ts index c15b5306d635..d559be103d02 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/types.ts @@ -21,7 +21,7 @@ export interface UmbWebhookDeliveryDetailModel { unique: string; date: string; url: string; - eventAlias: string, - retryCount: number, - statusCode: string + eventAlias: string; + retryCount: number; + statusCode: string; } diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/entity-actions/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/entity-actions/manifests.ts index cae0a7a5a8e3..07d064a0dd15 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/entity-actions/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/entity-actions/manifests.ts @@ -1,5 +1,5 @@ import { UMB_WEBHOOK_ENTITY_TYPE } from '../../entity.js'; -import { UMB_WEBHOOK_DETAIL_REPOSITORY_ALIAS, UMB_WEBHOOK_ITEM_REPOSITORY_ALIAS } from '../../repository/index.js'; +import { UMB_WEBHOOK_DETAIL_REPOSITORY_ALIAS, UMB_WEBHOOK_ITEM_REPOSITORY_ALIAS } from '../repository/index.js'; export const manifests: Array = [ { diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/detail/webhook-detail.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/detail/webhook-detail.repository.ts index f1495a286bc6..73d75cf3e772 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/detail/webhook-detail.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/detail/webhook-detail.repository.ts @@ -1,4 +1,4 @@ -import type { UmbWebhookDetailModel } from '../../types.js'; +import type { UmbWebhookDetailModel } from '../../../types.js'; import { UmbWebhookDetailServerDataSource } from './webhook-detail.server.data-source.js'; import { UMB_WEBHOOK_DETAIL_STORE_CONTEXT } from './webhook-detail.store.js'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/detail/webhook-detail.server.data-source.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/detail/webhook-detail.server.data-source.ts index 212cb9c2b75d..d1dc7b453865 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/detail/webhook-detail.server.data-source.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/detail/webhook-detail.server.data-source.ts @@ -1,5 +1,5 @@ -import type { UmbWebhookDetailModel } from '../../types.js'; -import { UMB_WEBHOOK_ENTITY_TYPE } from '../../entity.js'; +import type { UmbWebhookDetailModel } from '../../../types.js'; +import { UMB_WEBHOOK_ENTITY_TYPE } from '../../../entity.js'; import { UmbId } from '@umbraco-cms/backoffice/id'; import type { UmbDetailDataSource } from '@umbraco-cms/backoffice/repository'; import type { diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/detail/webhook-detail.store.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/detail/webhook-detail.store.ts index b80fc36b2e74..eddbd835e540 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/detail/webhook-detail.store.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/detail/webhook-detail.store.ts @@ -1,4 +1,4 @@ -import type { UmbWebhookDetailModel } from '../../types.js'; +import type { UmbWebhookDetailModel } from '../../../types.js'; import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; import { UmbDetailStoreBase } from '@umbraco-cms/backoffice/store'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/workspace/webhook-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/workspace/webhook-workspace.context.ts index 800b517b4e0f..20604e767d16 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/workspace/webhook-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/workspace/webhook-workspace.context.ts @@ -1,6 +1,6 @@ import type { UmbWebhookDetailModel, UmbWebhookEventModel } from '../../types.js'; -import type { UmbWebhookDetailRepository } from '../../repository/index.js'; -import { UMB_WEBHOOK_DETAIL_REPOSITORY_ALIAS } from '../../repository/index.js'; +import type { UmbWebhookDetailRepository } from '../repository/index.js'; +import { UMB_WEBHOOK_DETAIL_REPOSITORY_ALIAS } from '../repository/index.js'; import { UMB_WEBHOOK_ENTITY_TYPE, UMB_WEBHOOK_ROOT_ENTITY_TYPE, UMB_WEBHOOK_WORKSPACE_ALIAS } from '../../entity.js'; import { UmbWebhookWorkspaceEditorElement } from './webhook-workspace-editor.element.js'; import { From d260fd29ae24d318c8aabc80d552d6e217177065 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Mon, 3 Feb 2025 15:10:12 +0100 Subject: [PATCH 37/39] split types --- .../src/packages/webhook/types.ts | 30 ++----------------- .../collection/repository/types.ts | 2 +- .../webhook-delivery-collection.repository.ts | 2 +- ...-delivery-collection.server.data-source.ts | 3 +- ...-delivery-table-collection-view.element.ts | 2 +- .../webhook/webhook-delivery/types.ts | 11 +++++++ .../input-webhook-events.element.ts | 2 +- .../modal/webhook-events-modal.element.ts | 2 +- .../modal/webhook-events-modal.token.ts | 2 +- .../repository/webhook-event.store.ts | 2 +- .../packages/webhook/webhook-event/types.ts | 5 ++++ .../webhook/collection/repository/types.ts | 2 +- .../webhook-collection.server.data-source.ts | 2 +- .../webhook-table-collection-view.element.ts | 2 +- .../src/packages/webhook/webhook/types.ts | 13 ++++++++ .../workspace/webhook-workspace.context.ts | 3 +- .../utils/all-umb-consts/index.ts | 2 +- 17 files changed, 46 insertions(+), 41 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/types.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/types.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/types.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/types.ts index d559be103d02..8ca708f68ec9 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/types.ts @@ -1,27 +1,3 @@ -import type { UmbWebhookDeliveryEntityType, UmbWebhookEntityType } from './entity.js'; - -export interface UmbWebhookDetailModel { - entityType: UmbWebhookEntityType; - headers: Record; - unique: string; - enabled: boolean; - url: string; - events: Array; - contentTypes: Array; -} - -export interface UmbWebhookEventModel { - eventName: string; - eventType: string; - alias: string; -} - -export interface UmbWebhookDeliveryDetailModel { - entityType: UmbWebhookDeliveryEntityType; - unique: string; - date: string; - url: string; - eventAlias: string; - retryCount: number; - statusCode: string; -} +export type * from './webhook/types.js'; +export type * from './webhook-delivery/types.js'; +export type * from './webhook-event/types.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/repository/types.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/repository/types.ts index 13a198b1325e..9d12af4af415 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/repository/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/repository/types.ts @@ -1,4 +1,4 @@ -import type { UmbWebhookDeliveryDetailModel } from '../../../types.js'; +import type { UmbWebhookDeliveryDetailModel } from '../../types.js'; import type { UmbWebhookDeliveryCollectionFilterModel } from '../types.js'; import type { UmbCollectionDataSource } from '@umbraco-cms/backoffice/collection'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/repository/webhook-delivery-collection.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/repository/webhook-delivery-collection.repository.ts index 40261569376d..7ccff419a5e4 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/repository/webhook-delivery-collection.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/repository/webhook-delivery-collection.repository.ts @@ -1,5 +1,5 @@ import type { UmbWebhookDeliveryCollectionFilterModel } from '../types.js'; -import type { UmbWebhookDeliveryDetailModel } from '../../../types.js'; +import type { UmbWebhookDeliveryDetailModel } from '../../types.js'; import { UmbWebhookDeliveryCollectionServerDataSource } from './webhook-delivery-collection.server.data-source.js'; import type { UmbWebhookDeliveryCollectionDataSource } from './types.js'; import { UmbRepositoryBase } from '@umbraco-cms/backoffice/repository'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/repository/webhook-delivery-collection.server.data-source.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/repository/webhook-delivery-collection.server.data-source.ts index dec77e6d9d4d..448f8c30e229 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/repository/webhook-delivery-collection.server.data-source.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/repository/webhook-delivery-collection.server.data-source.ts @@ -1,7 +1,6 @@ import type { UmbWebhookDeliveryCollectionFilterModel } from '../types.js'; -import type { UmbWebhookDeliveryDetailModel } from '../../../types.js'; import { UMB_WEBHOOK_DELIVERY_ENTITY_TYPE } from '../../../entity.js'; - +import type { UmbWebhookDeliveryDetailModel } from '../../types.js'; import { WebhookService } from '@umbraco-cms/backoffice/external/backend-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/views/table/webhook-delivery-table-collection-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/views/table/webhook-delivery-table-collection-view.element.ts index b92442148981..7991bafe7df4 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/views/table/webhook-delivery-table-collection-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/views/table/webhook-delivery-table-collection-view.element.ts @@ -1,4 +1,4 @@ -import type { UmbWebhookDeliveryDetailModel } from '../../../../types.js'; +import type { UmbWebhookDeliveryDetailModel } from '../../../types.js'; import type { UmbDefaultCollectionContext } from '@umbraco-cms/backoffice/collection'; import { css, customElement, html, state } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/types.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/types.ts new file mode 100644 index 000000000000..bc029bb4b783 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/types.ts @@ -0,0 +1,11 @@ +import type { UmbWebhookDeliveryEntityType } from '../entity.js'; + +export interface UmbWebhookDeliveryDetailModel { + entityType: UmbWebhookDeliveryEntityType; + unique: string; + date: string; + url: string; + eventAlias: string; + retryCount: number; + statusCode: string; +} diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/input-webhook-events.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/input-webhook-events.element.ts index 72acedd4cad5..ceb1df8947d0 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/input-webhook-events.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/input-webhook-events.element.ts @@ -1,5 +1,5 @@ -import type { UmbWebhookEventModel } from '../types.js'; import { UMB_WEBHOOK_EVENTS_MODAL } from './modal/webhook-events-modal.token.js'; +import type { UmbWebhookEventModel } from './types.js'; import { css, html, customElement, property, repeat, nothing } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/modal/webhook-events-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/modal/webhook-events-modal.element.ts index 00d5384e93b9..ff77e8d511f8 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/modal/webhook-events-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/modal/webhook-events-modal.element.ts @@ -1,5 +1,5 @@ import { UmbWebhookEventRepository } from '../repository/webhook-event.repository.js'; -import type { UmbWebhookEventModel } from '../../types.js'; +import type { UmbWebhookEventModel } from '../types.js'; import type { UmbWebhookPickerModalData, UmbWebhookPickerModalValue } from './webhook-events-modal.token.js'; import { customElement, html, state, repeat } from '@umbraco-cms/backoffice/external/lit'; import { UmbModalBaseElement } from '@umbraco-cms/backoffice/modal'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/modal/webhook-events-modal.token.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/modal/webhook-events-modal.token.ts index a433351d06a7..83e1b1e0c9d6 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/modal/webhook-events-modal.token.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/modal/webhook-events-modal.token.ts @@ -1,4 +1,4 @@ -import type { UmbWebhookEventModel } from '../../types.js'; +import type { UmbWebhookEventModel } from '../types.js'; import { UmbModalToken } from '@umbraco-cms/backoffice/modal'; export interface UmbWebhookPickerModalData { diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/repository/webhook-event.store.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/repository/webhook-event.store.ts index 39e03e2ce995..27678f10859b 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/repository/webhook-event.store.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/repository/webhook-event.store.ts @@ -1,4 +1,4 @@ -import type { UmbWebhookEventModel } from '../../types.js'; +import type { UmbWebhookEventModel } from '../types.js'; import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; import { UmbStoreBase } from '@umbraco-cms/backoffice/store'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/types.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/types.ts new file mode 100644 index 000000000000..4c411f602f37 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-event/types.ts @@ -0,0 +1,5 @@ +export interface UmbWebhookEventModel { + eventName: string; + eventType: string; + alias: string; +} diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/repository/types.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/repository/types.ts index b531afa5cd69..28989e140eb7 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/repository/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/repository/types.ts @@ -1,4 +1,4 @@ -import type { UmbWebhookDetailModel } from '../../../types.js'; +import type { UmbWebhookDetailModel } from '../../types.js'; import type { UmbWebhookCollectionFilterModel } from '../types.js'; import type { UmbCollectionDataSource } from '@umbraco-cms/backoffice/collection'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/repository/webhook-collection.server.data-source.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/repository/webhook-collection.server.data-source.ts index 037293ca62e9..59583f7778b9 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/repository/webhook-collection.server.data-source.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/repository/webhook-collection.server.data-source.ts @@ -1,6 +1,6 @@ import type { UmbWebhookCollectionFilterModel } from '../types.js'; -import type { UmbWebhookDetailModel } from '../../../types.js'; import { UMB_WEBHOOK_ENTITY_TYPE } from '../../../entity.js'; +import type { UmbWebhookDetailModel } from '../../types.js'; import { WebhookService } from '@umbraco-cms/backoffice/external/backend-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/views/table/webhook-table-collection-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/views/table/webhook-table-collection-view.element.ts index 9c48f9dd3174..318acd492e90 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/views/table/webhook-table-collection-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/collection/views/table/webhook-table-collection-view.element.ts @@ -1,4 +1,4 @@ -import type { UmbWebhookDetailModel } from '../../../../types.js'; +import type { UmbWebhookDetailModel } from '../../../types.js'; import type { UmbDefaultCollectionContext } from '@umbraco-cms/backoffice/collection'; import { css, customElement, html, state } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/types.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/types.ts index 26e5cdffc57d..e0ca6fec9f8d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/types.ts @@ -1 +1,14 @@ +import type { UmbWebhookEntityType } from '../entity.js'; +import type { UmbWebhookEventModel } from '../webhook-event/types.js'; + export type * from './collection/types.js'; + +export interface UmbWebhookDetailModel { + entityType: UmbWebhookEntityType; + headers: Record; + unique: string; + enabled: boolean; + url: string; + events: Array; + contentTypes: Array; +} diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/workspace/webhook-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/workspace/webhook-workspace.context.ts index 20604e767d16..fbd96f253d11 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/workspace/webhook-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/workspace/webhook-workspace.context.ts @@ -1,7 +1,8 @@ -import type { UmbWebhookDetailModel, UmbWebhookEventModel } from '../../types.js'; import type { UmbWebhookDetailRepository } from '../repository/index.js'; import { UMB_WEBHOOK_DETAIL_REPOSITORY_ALIAS } from '../repository/index.js'; import { UMB_WEBHOOK_ENTITY_TYPE, UMB_WEBHOOK_ROOT_ENTITY_TYPE, UMB_WEBHOOK_WORKSPACE_ALIAS } from '../../entity.js'; +import type { UmbWebhookDetailModel } from '../types.js'; +import type { UmbWebhookEventModel } from '../../webhook-event/types.js'; import { UmbWebhookWorkspaceEditorElement } from './webhook-workspace-editor.element.js'; import { type UmbSubmittableWorkspaceContext, diff --git a/src/Umbraco.Web.UI.Client/utils/all-umb-consts/index.ts b/src/Umbraco.Web.UI.Client/utils/all-umb-consts/index.ts index 58df29edbb79..66fb3000df72 100644 --- a/src/Umbraco.Web.UI.Client/utils/all-umb-consts/index.ts +++ b/src/Umbraco.Web.UI.Client/utils/all-umb-consts/index.ts @@ -420,7 +420,7 @@ export const foundConsts = [{ }, { path: '@umbraco-cms/backoffice/webhook', - consts: ["UMB_WEBHOOK_WORKSPACE_ALIAS","UMB_WEBHOOK_WORKSPACE","UMB_WEBHOOK_ENTITY_TYPE","UMB_WEBHOOK_ROOT_ENTITY_TYPE","UMB_WEBHOOK_DELIVERY_ENTITY_TYPE","UMB_WEBHOOK_DETAIL_REPOSITORY_ALIAS","UMB_WEBHOOK_DETAIL_STORE_ALIAS","UMB_WEBHOOK_DETAIL_STORE_CONTEXT","UMB_WEBHOOK_ITEM_REPOSITORY_ALIAS","UMB_WEBHOOK_STORE_ALIAS","UMB_WEBHOOK_ITEM_STORE_CONTEXT","UMB_WEBHOOK_COLLECTION_ALIAS","UMB_WEBHOOK_COLLECTION_REPOSITORY_ALIAS","UMB_WEBHOOK_TABLE_COLLECTION_VIEW_ALIAS","UMB_WEBHOOK_WORKSPACE_CONTEXT","UMB_WEBHOOK_DELIVERY_COLLECTION_ALIAS","UMB_WEBHOOK_DELIVERY_COLLECTION_REPOSITORY_ALIAS","UMB_WEBHOOK_EVENTS_MODAL","UMB_WEBHOOK_EVENT_REPOSITORY_ALIAS","UMB_WEBHOOK_EVENT_STORE_ALIAS","UMB_WEBHOOK_EVENT_STORE_CONTEXT","UMB_WEBHOOK_ROOT_WORKSPACE_ALIAS"] + consts: ["UMB_WEBHOOK_WORKSPACE_ALIAS","UMB_WEBHOOK_WORKSPACE","UMB_WEBHOOK_ENTITY_TYPE","UMB_WEBHOOK_ROOT_ENTITY_TYPE","UMB_WEBHOOK_DELIVERY_ENTITY_TYPE","UMB_WEBHOOK_COLLECTION_ALIAS","UMB_WEBHOOK_COLLECTION_REPOSITORY_ALIAS","UMB_WEBHOOK_TABLE_COLLECTION_VIEW_ALIAS","UMB_WEBHOOK_DETAIL_REPOSITORY_ALIAS","UMB_WEBHOOK_DETAIL_STORE_ALIAS","UMB_WEBHOOK_DETAIL_STORE_CONTEXT","UMB_WEBHOOK_ITEM_REPOSITORY_ALIAS","UMB_WEBHOOK_STORE_ALIAS","UMB_WEBHOOK_ITEM_STORE_CONTEXT","UMB_WEBHOOK_WORKSPACE_CONTEXT","UMB_WEBHOOK_DELIVERY_COLLECTION_ALIAS","UMB_WEBHOOK_DELIVERY_COLLECTION_REPOSITORY_ALIAS","UMB_WEBHOOK_EVENTS_MODAL","UMB_WEBHOOK_EVENT_REPOSITORY_ALIAS","UMB_WEBHOOK_EVENT_STORE_ALIAS","UMB_WEBHOOK_EVENT_STORE_CONTEXT","UMB_WEBHOOK_ROOT_WORKSPACE_ALIAS"] }, { path: '@umbraco-cms/backoffice/workspace', From 27f170c59dd209c53ada50790d318a9da88cdb1d Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Mon, 3 Feb 2025 15:17:32 +0100 Subject: [PATCH 38/39] add deprecation warning for a temp method --- .../repository/detail/webhook-detail.repository.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/detail/webhook-detail.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/detail/webhook-detail.repository.ts index 73d75cf3e772..eb11fed0ddbc 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/detail/webhook-detail.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/detail/webhook-detail.repository.ts @@ -1,6 +1,7 @@ import type { UmbWebhookDetailModel } from '../../../types.js'; import { UmbWebhookDetailServerDataSource } from './webhook-detail.server.data-source.js'; import { UMB_WEBHOOK_DETAIL_STORE_CONTEXT } from './webhook-detail.store.js'; +import { UmbDeprecation } from '@umbraco-cms/backoffice/utils'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { UmbDetailRepositoryBase } from '@umbraco-cms/backoffice/repository'; @@ -13,8 +14,17 @@ export class UmbWebhookDetailRepository extends UmbDetailRepositoryBase} - Hardcoded events + */ async requestEvents(): Promise<{ data: { items: string[]; total: number }; error: any }> { - //TODO Use service when available + new UmbDeprecation({ + deprecated: 'The requestEvents method on the UmbWebhookDetailRepository is deprecated.', + removeInVersion: '17', + solution: 'Use the requestEvents method on UmbWebhookEventRepository instead.', + }).warn(); const items = ['Content Deleted', 'Content Published', 'Content Unpublished', 'Media Deleted', 'Media Saved']; From 5efa888fa388e9186a871448f1a11580f6c783d8 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Mon, 3 Feb 2025 21:46:02 +0100 Subject: [PATCH 39/39] bring back url to deliveries table --- .../webhook-delivery-table-collection-view.element.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/views/table/webhook-delivery-table-collection-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/views/table/webhook-delivery-table-collection-view.element.ts index 7991bafe7df4..404ed17c38a2 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/views/table/webhook-delivery-table-collection-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook-delivery/collection/views/table/webhook-delivery-table-collection-view.element.ts @@ -20,6 +20,10 @@ export class UmbWebhookDeliveryTableCollectionViewElement extends UmbLitElement name: this.localize.term('general_date'), alias: 'date', }, + { + name: this.localize.term('webhooks_url'), + alias: 'eventUrl', + }, { name: this.localize.term('webhooks_event'), alias: 'eventAlias', @@ -64,6 +68,10 @@ export class UmbWebhookDeliveryTableCollectionViewElement extends UmbLitElement columnAlias: 'date', value: html``, }, + { + columnAlias: 'eventUrl', + value: delivery.url, + }, { columnAlias: 'eventAlias', value: delivery.eventAlias,