rename 'webhooks' to 'webhook' (singular)
This commit is contained in:
@@ -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')
|
||||
|
||||
@@ -14,7 +14,7 @@ export const createManifest: ManifestCollectionAction = {
|
||||
conditions: [
|
||||
{
|
||||
alias: UMB_COLLECTION_ALIAS_CONDITION,
|
||||
match: 'Umb.Collection.Webhooks',
|
||||
match: 'Umb.Collection.Webhook',
|
||||
},
|
||||
],
|
||||
};
|
||||
@@ -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',
|
||||
@@ -16,7 +16,7 @@ const tableCollectionView: ManifestCollectionView = {
|
||||
conditions: [
|
||||
{
|
||||
alias: UMB_COLLECTION_ALIAS_CONDITION,
|
||||
match: 'Umb.Collection.Webhooks',
|
||||
match: 'Umb.Collection.Webhook',
|
||||
},
|
||||
],
|
||||
};
|
||||
4
src/Umbraco.Web.UI.Client/src/packages/webhook/entity.ts
Normal file
4
src/Umbraco.Web.UI.Client/src/packages/webhook/entity.ts
Normal 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;
|
||||
@@ -1,6 +1,5 @@
|
||||
import './components/index.js';
|
||||
|
||||
export * from './repository/index.js';
|
||||
export * from './collection/index.js';
|
||||
export * from './workspace/index.js';
|
||||
|
||||
@@ -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];
|
||||
@@ -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'],
|
||||
},
|
||||
};
|
||||
@@ -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'),
|
||||
},
|
||||
];
|
||||
@@ -0,0 +1 @@
|
||||
export * from './webhook.context.js';
|
||||
@@ -0,0 +1,3 @@
|
||||
import { manifests as webhookManifests } from './webhook/manifests.js';
|
||||
|
||||
export const manifests = [...webhookManifests];
|
||||
@@ -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);
|
||||
@@ -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: {
|
||||
@@ -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
|
||||
@@ -1,3 +0,0 @@
|
||||
export const UMB_WEBHOOK_ENTITY_TYPE = 'webhooks';
|
||||
|
||||
export type UmbWebhookEntityType = typeof UMB_WEBHOOK_ENTITY_TYPE;
|
||||
@@ -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,
|
||||
];
|
||||
@@ -1 +0,0 @@
|
||||
export * from './webhooks.repository.js';
|
||||
@@ -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];
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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'),
|
||||
},
|
||||
];
|
||||
@@ -1 +0,0 @@
|
||||
export * from './webhooks.context.js';
|
||||
@@ -1,3 +0,0 @@
|
||||
import { manifests as webhookManifests } from './webhooks/manifests.js';
|
||||
|
||||
export const manifests = [...webhookManifests];
|
||||
Reference in New Issue
Block a user