rename 'webhooks' to 'webhook' (singular)

This commit is contained in:
Jacob Overgaard
2024-02-29 13:37:19 +01:00
parent 1958880aac
commit 9a148d1b62
36 changed files with 48 additions and 88 deletions

View File

@@ -36,7 +36,7 @@ const CORE_PACKAGES = [
import('../../packages/tiny-mce/umbraco-package.js'),
import('../../packages/umbraco-news/umbraco-package.js'),
import('../../packages/user/umbraco-package.js'),
import('../../packages/webhooks/umbraco-package.js'),
import('../../packages/webhook/umbraco-package.js'),
];
@customElement('umb-backoffice')

View File

@@ -14,7 +14,7 @@ export const createManifest: ManifestCollectionAction = {
conditions: [
{
alias: UMB_COLLECTION_ALIAS_CONDITION,
match: 'Umb.Collection.Webhooks',
match: 'Umb.Collection.Webhook',
},
],
};

View File

@@ -6,7 +6,7 @@ import { manifests as collectionViewManifests } from './views/manifests.js';
import { manifests as collectionActionManifests } from './action/manifests.js';
import type { ManifestCollection } from '@umbraco-cms/backoffice/extension-registry';
export const UMB_WEBHOOK_COLLECTION_ALIAS = 'Umb.Collection.Webhooks';
export const UMB_WEBHOOK_COLLECTION_ALIAS = 'Umb.Collection.Webhook';
const collectionManifest: ManifestCollection = {
type: 'collection',

View File

@@ -16,7 +16,7 @@ const tableCollectionView: ManifestCollectionView = {
conditions: [
{
alias: UMB_COLLECTION_ALIAS_CONDITION,
match: 'Umb.Collection.Webhooks',
match: 'Umb.Collection.Webhook',
},
],
};

View File

@@ -0,0 +1,4 @@
export const UMB_WEBHOOK_ENTITY_TYPE = 'webhook';
export const UMB_WEBHOOK_WORKSPACE = 'Umb.Workspace.Webhook';
export type UmbWebhookEntityType = typeof UMB_WEBHOOK_ENTITY_TYPE;

View File

@@ -1,6 +1,5 @@
import './components/index.js';
export * from './repository/index.js';
export * from './collection/index.js';
export * from './workspace/index.js';

View File

@@ -0,0 +1,5 @@
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';
export const manifests = [...treeManifests, ...workspaceManifests, ...collectionManifests];

View File

@@ -1,14 +1,15 @@
import type { ManifestMenuItem } from '@umbraco-cms/backoffice/extension-registry';
import { UMB_WEBHOOK_ENTITY_TYPE } from '../entity';
const menuItem: ManifestMenuItem = {
type: 'menuItem',
alias: 'Umb.MenuItem.Webhooks',
name: 'Webhooks Menu Item',
alias: 'Umb.MenuItem.Webhook',
name: 'Webhook Menu Item',
weight: 100,
meta: {
label: 'Webhooks',
icon: 'icon-webhook',
entityType: 'webhooks',
entityType: UMB_WEBHOOK_ENTITY_TYPE,
menus: ['Umb.Menu.Settings'],
},
};

View File

@@ -0,0 +1,9 @@
export const name = 'Umbraco.Core.Webhook';
export const extensions = [
{
name: 'Webhook Bundle',
alias: 'Umb.Bundle.Webhook',
type: 'bundle',
js: () => import('./manifests.js'),
},
];

View File

@@ -0,0 +1 @@
export * from './webhook.context.js';

View File

@@ -0,0 +1,3 @@
import { manifests as webhookManifests } from './webhook/manifests.js';
export const manifests = [...webhookManifests];

View File

@@ -1,14 +1,12 @@
import { UMB_WEBHOOK_ENTITY_TYPE } from '../entity.js';
import { UmbWebhookRepository } from '../repository/webhooks.repository.js';
import { UMB_WEBHOOK_ENTITY_TYPE, UMB_WEBHOOK_WORKSPACE } from '../entity.js';
import type { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api';
import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api';
import { UmbContextToken } from '@umbraco-cms/backoffice/context-api';
import type { UmbWorkspaceContextInterface } from '@umbraco-cms/backoffice/workspace';
import { UMB_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/workspace';
export class UmbWebhooksWorkspaceContext extends UmbControllerBase implements UmbWorkspaceContextInterface {
public readonly workspaceAlias = 'Umb.Workspace.Webhooks';
#repository;
export class UmbWebhookWorkspaceContext extends UmbControllerBase implements UmbWorkspaceContextInterface {
public readonly workspaceAlias = UMB_WEBHOOK_WORKSPACE;
getEntityType() {
return UMB_WEBHOOK_ENTITY_TYPE;
@@ -22,11 +20,8 @@ export class UmbWebhooksWorkspaceContext extends UmbControllerBase implements Um
super(host);
this.provideContext(UMB_WORKSPACE_CONTEXT, this);
// TODO: Revisit usage of workspace for this case... currently no other workspace context provides them self with their own token.
this.provideContext(UMB_APP_WEBHOOKS_CONTEXT, this);
this.#repository = new UmbWebhookRepository(host);
this.provideContext(UMB_APP_WEBHOOK_CONTEXT, this);
}
}
export const UMB_APP_WEBHOOKS_CONTEXT = new UmbContextToken<UmbWebhooksWorkspaceContext>(
UmbWebhooksWorkspaceContext.name,
);
export const UMB_APP_WEBHOOK_CONTEXT = new UmbContextToken<UmbWebhookWorkspaceContext>(UmbWebhookWorkspaceContext.name);

View File

@@ -1,22 +1,21 @@
import { UMB_WEBHOOK_ENTITY_TYPE, UMB_WEBHOOK_WORKSPACE } from '../../entity.js';
import type { ManifestWorkspace, ManifestWorkspaceView } from '@umbraco-cms/backoffice/extension-registry';
const workspaceAlias = 'Umb.Workspace.Webhooks';
const workspace: ManifestWorkspace = {
type: 'workspace',
alias: workspaceAlias,
alias: UMB_WEBHOOK_WORKSPACE,
name: 'Webhook Root Workspace',
js: () => import('./webhook-workspace.element.js'),
meta: {
entityType: 'webhooks',
entityType: UMB_WEBHOOK_ENTITY_TYPE,
},
};
const workspaceViews: Array<ManifestWorkspaceView> = [
{
type: 'workspaceView',
alias: 'Umb.WorkspaceView.Webhooks.Overview',
name: 'Webhooks Root Workspace Overview View',
alias: 'Umb.WorkspaceView.Webhook.Overview',
name: 'Webhook Root Workspace Overview View',
js: () => import('../views/overview/webhook-overview-view.element.js'),
weight: 300,
meta: {
@@ -33,8 +32,8 @@ const workspaceViews: Array<ManifestWorkspaceView> = [
},
{
type: 'workspaceView',
alias: 'Umb.WorkspaceView.Webhooks.Search',
name: 'Webhooks Root Workspace Logs View',
alias: 'Umb.WorkspaceView.Webhook.Search',
name: 'Webhook Root Workspace Logs View',
js: () => import('../views/overview/webhook-overview-view.element.js'),
weight: 200,
meta: {

View File

@@ -1,10 +1,14 @@
import { UmbWebhooksWorkspaceContext } from '../webhooks.context.js';
import { UmbWebhookWorkspaceContext } from '../webhook.context.js';
import { html, customElement } from '@umbraco-cms/backoffice/external/lit';
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
@customElement('umb-webhook-workspace')
export class UmbWebhookWorkspaceElement extends UmbLitElement {
#webhooksWorkspaceContext = new UmbWebhooksWorkspaceContext(this);
/**
* The context for the webhook workspace.
* This is used to provide the workspace with the necessary data and services even though it does not have any references.
*/
#webhookWorkspaceContext = new UmbWebhookWorkspaceContext(this);
render() {
return html` <umb-workspace-editor

View File

@@ -1,3 +0,0 @@
export const UMB_WEBHOOK_ENTITY_TYPE = 'webhooks';
export type UmbWebhookEntityType = typeof UMB_WEBHOOK_ENTITY_TYPE;

View File

@@ -1,13 +0,0 @@
import { manifests as repositoryManifests } from './repository/manifests.js';
import { manifests as treeManifests } from './menu-item/manifests.js';
//import { manifests as entityActions } from './entity-actions/manifests.js';
import { manifests as workspaceManifests } from './workspace/manifests.js';
import { manifests as collectionManifests } from './collection/manifests.js';
export const manifests = [
...repositoryManifests,
//...entityActions,
...treeManifests,
...workspaceManifests,
...collectionManifests,
];

View File

@@ -1 +0,0 @@
export * from './webhooks.repository.js';

View File

@@ -1,4 +0,0 @@
//import { manifests as detailManifests } from './detail/manifests.js';
//import { manifests as itemManifests } from './item/manifests.js';
export const manifests = []; //[...detailManifests, ...itemManifests];

View File

@@ -1,26 +0,0 @@
import { UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api';
import type { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api';
import type { UmbNotificationContext } from '@umbraco-cms/backoffice/notification';
import { UMB_NOTIFICATION_CONTEXT } from '@umbraco-cms/backoffice/notification';
// Move to documentation / JSdoc
/* We need to create a new instance of the repository from within the element context. We want the notifications to be displayed in the right context. */
// element -> context -> repository -> (store) -> data source
// All methods should be async and return a promise. Some methods might return an observable as part of the promise response.
export class UmbWebhookRepository {
#host: UmbControllerHostElement;
#notificationService?: UmbNotificationContext;
#init;
constructor(host: UmbControllerHostElement) {
this.#host = host;
this.#init = new UmbContextConsumerController(this.#host, UMB_NOTIFICATION_CONTEXT, (instance) => {
this.#notificationService = instance;
}).asPromise();
}
async requestWebhooks({ skip, take } = { skip: 0, take: 1000 }) {
await this.#init;
}
}

View File

@@ -1,9 +0,0 @@
export const name = 'Umbraco.Core.Webhooks';
export const extensions = [
{
name: 'Webhooks Bundle',
alias: 'Umb.Bundle.Webhooks',
type: 'bundle',
js: () => import('./manifests.js'),
},
];

View File

@@ -1 +0,0 @@
export * from './webhooks.context.js';

View File

@@ -1,3 +0,0 @@
import { manifests as webhookManifests } from './webhooks/manifests.js';
export const manifests = [...webhookManifests];