diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/collection-action.model.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/collection-action.model.ts new file mode 100644 index 0000000000..02b7c5ba79 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/collection-action.model.ts @@ -0,0 +1,16 @@ +import type { ManifestElementAndApi, ManifestWithDynamicConditions } from '@umbraco-cms/backoffice/extension-api'; + +/** + * An action to perform on an entity + * For example for content you may wish to create a new document etc + */ +// TODO: create interface for API +export interface ManifestCollectionAction extends ManifestElementAndApi, ManifestWithDynamicConditions { + type: 'collectionAction'; + meta: MetaCollectionAction; +} + +export interface MetaCollectionAction { + label: string; + repositoryAlias: string; +} diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/index.ts index 8caeed3923..f4fcd99848 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/index.ts @@ -32,6 +32,7 @@ import type { ManifestWorkspaceEditorView } from './workspace-editor-view.model. import type { ManifestWorkspaceViewCollection } from './workspace-view-collection.model.js'; import type { ManifestUserPermission } from './user-permission.model.js'; import type { ManifestUserGranularPermission } from './user-granular-permission.model.js'; +import { ManifestCollectionAction } from './collection-action.model.js'; import type { ManifestBase, ManifestBundle, @@ -78,6 +79,7 @@ export type ManifestTypes = | ManifestCondition | ManifestCollection | ManifestCollectionView + | ManifestCollectionAction | ManifestDashboard | ManifestDashboardCollection | ManifestEntityAction