= {
+ value: []
+ };
header: React.ReactNode = null;
footer: React.ReactNode = null;
rows: React.ReactNode = null;
empty: React.ReactNode = null;
- actions =;
- removeData = (index: number) =>;
- addData = (index = -1) =>;
- renderHeader = (cb: () => React.ReactNode): React.ReactNode =>;
- renderFooter = (cb: () => React.ReactNode): React.ReactNode =>;
- renderRow = (cb: ChildrenRenderPropRowCallable): React.ReactNode =>;
- renderEmpty = (cb: () => React.ReactNode): React.ReactNode =>;
+ actions = {
+ add:
+ (index = -1) =>
+ () =>
+ this.addData(index),
+ remove:
+ (index = -1) =>
+ () =>
+ this.removeData(index)
+ };
+ removeData = (index: number) => {
+ const { value, onChange } = this.props;
+ if (!value) {
+ return;
+ }
+ onChange([...value.slice(0, index), ...value.slice(index + 1)]);
+ };
+ addData = (index = -1) => {
+ const { onChange, onAdd } = this.props;
+ let value = this.props.value;
+ if (!value) {
+ value = [];
+ }
+
+ const newValue = typeof onAdd === "function" ? onAdd() : {};
+
+ if (index < 0) {
+ onChange([...value, newValue]);
+ } else {
+ onChange([...value.slice(0, index + 1), newValue, ...value.slice(index + 1)]);
+ }
+ };
+ renderHeader = (cb: () => React.ReactNode): React.ReactNode => {
+ this.header = cb();
+ return null;
+ };
+ renderFooter = (cb: () => React.ReactNode): React.ReactNode => {
+ this.footer = cb();
+ return null;
+ };
+ renderRow = (cb: ChildrenRenderPropRowCallable): React.ReactNode => {
+ const { value } = this.props;
+ if (!value) {
+ return null;
+ }
+ this.rows = value.map((record, index) => {
+ return {cb({ data: record, index })}
;
+ });
+ return null;
+ };
+ renderEmpty = (cb: () => React.ReactNode): React.ReactNode => {
+ this.empty = cb();
+ return null;
+ };
public renderComponent(): React.ReactNode;
public override render();
}
@@ -1261,13 +1310,16 @@ import { TimeAgo } from "webiny/admin/ui";
```typescript
export default class TimeAgo extends React.PureComponent {
- static defaultProps:;
- dom: HTMLTimeElement;
- componentDidMount(): void;
- componentDidUpdate(): void;
- renderTimeAgo(): void;
- componentWillUnmount(): void;
- render(): JSX.Element;
+ static defaultProps: {
+ live: boolean;
+ className: string;
+ };
+ dom: HTMLTimeElement;
+ componentDidMount(): void;
+ componentDidUpdate(): void;
+ renderTimeAgo(): void;
+ componentWillUnmount(): void;
+ render(): JSX.Element;
}
```
diff --git a/docs/developer-docs/6.x/reference/api/build-params.mdx b/docs/developer-docs/6.x/reference/api/build-params.mdx
index 3c1dad99e..610d8b272 100644
--- a/docs/developer-docs/6.x/reference/api/build-params.mdx
+++ b/docs/developer-docs/6.x/reference/api/build-params.mdx
@@ -50,25 +50,6 @@ namespace BuildParam {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { BuildParam } from "webiny/api/build-params";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private buildParam: BuildParam.Interface) {}
-
- public async execute(/* ... */): Promise {
- this.buildParam.key: string(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [BuildParam]
-});
-```
-
## `BuildParams`
**Abstraction** — imported from `webiny/api/build-params`
@@ -92,22 +73,3 @@ namespace BuildParams {
type Interface = IBuildParams;
}
```
-
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { BuildParams } from "webiny/api/build-params";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private buildParams: BuildParams.Interface) {}
-
- public async execute(/* ... */): Promise {
- this.buildParams.get(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [BuildParams]
-});
-```
diff --git a/docs/developer-docs/6.x/reference/api/cms/entry.mdx b/docs/developer-docs/6.x/reference/api/cms/entry.mdx
index 3ba4b93bc..609cc2677 100644
--- a/docs/developer-docs/6.x/reference/api/cms/entry.mdx
+++ b/docs/developer-docs/6.x/reference/api/cms/entry.mdx
@@ -164,6 +164,8 @@ import { CreateEntryRevisionFromUseCase } from "webiny/api/cms/entry";
**Interface `CreateEntryRevisionFromUseCase.Interface`:**
+CreateEntryRevisionFrom Use Case - Creates a new revision from an existing entry.
+
```typescript
interface CreateEntryRevisionFromUseCase.Interface {
execute(
@@ -187,27 +189,6 @@ namespace CreateEntryRevisionFromUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { CreateEntryRevisionFromUseCase } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(
- private createEntryRevisionFromUseCase: CreateEntryRevisionFromUseCase.Interface
- ) {}
-
- public async execute(/* ... */): Promise {
- await this.createEntryRevisionFromUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [CreateEntryRevisionFromUseCase]
-});
-```
-
### `CreateEntryUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/entry`
@@ -218,6 +199,8 @@ import { CreateEntryUseCase } from "webiny/api/cms/entry";
**Interface `CreateEntryUseCase.Interface`:**
+CreateEntry Use Case
+
```typescript
interface CreateEntryUseCase.Interface {
execute(
@@ -240,25 +223,6 @@ namespace CreateEntryUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { CreateEntryUseCase } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private createEntryUseCase: CreateEntryUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.createEntryUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [CreateEntryUseCase]
-});
-```
-
### `DeleteEntryRevisionUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/entry`
@@ -269,6 +233,9 @@ import { DeleteEntryRevisionUseCase } from "webiny/api/cms/entry";
**Interface `DeleteEntryRevisionUseCase.Interface`:**
+DeleteEntryRevision Use Case - Deletes a specific revision of an entry.
+Handles special cases like deleting the latest revision.
+
```typescript
interface DeleteEntryRevisionUseCase.Interface {
execute(model: CmsModel, revisionId: string): Promise>;
@@ -285,25 +252,6 @@ namespace DeleteEntryRevisionUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { DeleteEntryRevisionUseCase } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private deleteEntryRevisionUseCase: DeleteEntryRevisionUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.deleteEntryRevisionUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [DeleteEntryRevisionUseCase]
-});
-```
-
### `DeleteEntryUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/entry`
@@ -314,6 +262,9 @@ import { DeleteEntryUseCase } from "webiny/api/cms/entry";
**Interface `DeleteEntryUseCase.Interface`:**
+DeleteEntry Use Case - Permanently deletes an entry from the database.
+This is a hard delete that removes all traces of the entry.
+
```typescript
interface DeleteEntryUseCase.Interface {
execute(
@@ -335,25 +286,6 @@ namespace DeleteEntryUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { DeleteEntryUseCase } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private deleteEntryUseCase: DeleteEntryUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.deleteEntryUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [DeleteEntryUseCase]
-});
-```
-
### `DeleteMultipleEntriesUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/entry`
@@ -384,27 +316,6 @@ namespace DeleteMultipleEntriesUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { DeleteMultipleEntriesUseCase } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(
- private deleteMultipleEntriesUseCase: DeleteMultipleEntriesUseCase.Interface
- ) {}
-
- public async execute(/* ... */): Promise {
- await this.deleteMultipleEntriesUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [DeleteMultipleEntriesUseCase]
-});
-```
-
### `GetEntriesByIdsUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/entry`
@@ -415,6 +326,9 @@ import { GetEntriesByIdsUseCase } from "webiny/api/cms/entry";
**Interface `GetEntriesByIdsUseCase.Interface`:**
+GetEntriesByIds Use Case - Fetches multiple entries by their exact revision IDs.
+Returns array of entries (excludes deleted entries via decorator).
+
```typescript
interface GetEntriesByIdsUseCase.Interface {
execute(
@@ -434,25 +348,6 @@ namespace GetEntriesByIdsUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { GetEntriesByIdsUseCase } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private getEntriesByIdsUseCase: GetEntriesByIdsUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.getEntriesByIdsUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [GetEntriesByIdsUseCase]
-});
-```
-
### `GetEntryByIdUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/entry`
@@ -463,6 +358,9 @@ import { GetEntryByIdUseCase } from "webiny/api/cms/entry";
**Interface `GetEntryByIdUseCase.Interface`:**
+GetEntryById Use Case - Fetches a single entry by its exact revision ID.
+Returns entry or fails with EntryNotFoundError if not found or deleted.
+
```typescript
interface GetEntryByIdUseCase.Interface {
execute(
@@ -482,25 +380,6 @@ namespace GetEntryByIdUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { GetEntryByIdUseCase } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private getEntryByIdUseCase: GetEntryByIdUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.getEntryByIdUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [GetEntryByIdUseCase]
-});
-```
-
### `GetEntryUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/entry`
@@ -511,6 +390,9 @@ import { GetEntryUseCase } from "webiny/api/cms/entry";
**Interface `GetEntryUseCase.Interface`:**
+GetEntry Use Case - Gets a single entry by query parameters (where + sort).
+Uses list operation with limit 1 and returns first result or NotFoundError.
+
```typescript
interface GetEntryUseCase.Interface {
execute(
@@ -531,25 +413,6 @@ namespace GetEntryUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { GetEntryUseCase } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private getEntryUseCase: GetEntryUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.getEntryUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [GetEntryUseCase]
-});
-```
-
### `GetLatestDeletedRevisionByEntryIdUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/entry`
@@ -560,6 +423,9 @@ import { GetLatestDeletedRevisionByEntryIdUseCase } from "webiny/api/cms/entry";
**Interface `GetLatestDeletedRevisionByEntryIdUseCase.Interface`:**
+Base internal use case - returns entry regardless of deleted state.
+This is used internally by the three public variations.
+
```typescript
interface GetLatestDeletedRevisionByEntryIdUseCase.Interface {
execute(
@@ -580,27 +446,6 @@ namespace GetLatestDeletedRevisionByEntryIdUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { GetLatestDeletedRevisionByEntryIdUseCase } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(
- private getLatestDeletedRevisionByEntryIdUseCase: GetLatestDeletedRevisionByEntryIdUseCase.Interface
- ) {}
-
- public async execute(/* ... */): Promise {
- await this.getLatestDeletedRevisionByEntryIdUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [GetLatestDeletedRevisionByEntryIdUseCase]
-});
-```
-
### `GetLatestEntriesByIdsUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/entry`
@@ -611,6 +456,9 @@ import { GetLatestEntriesByIdsUseCase } from "webiny/api/cms/entry";
**Interface `GetLatestEntriesByIdsUseCase.Interface`:**
+GetLatestEntriesByIds Use Case - Fetches latest revisions by entry IDs.
+Returns array of latest entries (excludes deleted entries via decorator).
+
```typescript
interface GetLatestEntriesByIdsUseCase.Interface {
execute(
@@ -630,27 +478,6 @@ namespace GetLatestEntriesByIdsUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { GetLatestEntriesByIdsUseCase } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(
- private getLatestEntriesByIdsUseCase: GetLatestEntriesByIdsUseCase.Interface
- ) {}
-
- public async execute(/* ... */): Promise {
- await this.getLatestEntriesByIdsUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [GetLatestEntriesByIdsUseCase]
-});
-```
-
### `GetLatestRevisionByEntryIdBaseUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/entry`
@@ -661,6 +488,9 @@ import { GetLatestRevisionByEntryIdBaseUseCase } from "webiny/api/cms/entry";
**Interface `GetLatestRevisionByEntryIdBaseUseCase.Interface`:**
+Base internal use case - returns entry regardless of deleted state.
+This is used internally by the three public variations.
+
```typescript
interface GetLatestRevisionByEntryIdBaseUseCase.Interface {
execute(
@@ -681,27 +511,6 @@ namespace GetLatestRevisionByEntryIdBaseUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { GetLatestRevisionByEntryIdBaseUseCase } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(
- private getLatestRevisionByEntryIdBaseUseCase: GetLatestRevisionByEntryIdBaseUseCase.Interface
- ) {}
-
- public async execute(/* ... */): Promise {
- await this.getLatestRevisionByEntryIdBaseUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [GetLatestRevisionByEntryIdBaseUseCase]
-});
-```
-
### `GetLatestRevisionByEntryIdIncludingDeletedUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/entry`
@@ -712,6 +521,9 @@ import { GetLatestRevisionByEntryIdIncludingDeletedUseCase } from "webiny/api/cm
**Interface `GetLatestRevisionByEntryIdIncludingDeletedUseCase.Interface`:**
+Base internal use case - returns entry regardless of deleted state.
+This is used internally by the three public variations.
+
```typescript
interface GetLatestRevisionByEntryIdIncludingDeletedUseCase.Interface {
execute(
@@ -732,27 +544,6 @@ namespace GetLatestRevisionByEntryIdIncludingDeletedUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { GetLatestRevisionByEntryIdIncludingDeletedUseCase } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(
- private getLatestRevisionByEntryIdIncludingDeletedUseCase: GetLatestRevisionByEntryIdIncludingDeletedUseCase.Interface
- ) {}
-
- public async execute(/* ... */): Promise {
- await this.getLatestRevisionByEntryIdIncludingDeletedUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [GetLatestRevisionByEntryIdIncludingDeletedUseCase]
-});
-```
-
### `GetLatestRevisionByEntryIdUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/entry`
@@ -763,6 +554,9 @@ import { GetLatestRevisionByEntryIdUseCase } from "webiny/api/cms/entry";
**Interface `GetLatestRevisionByEntryIdUseCase.Interface`:**
+Base internal use case - returns entry regardless of deleted state.
+This is used internally by the three public variations.
+
```typescript
interface GetLatestRevisionByEntryIdUseCase.Interface {
execute(
@@ -783,27 +577,6 @@ namespace GetLatestRevisionByEntryIdUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { GetLatestRevisionByEntryIdUseCase } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(
- private getLatestRevisionByEntryIdUseCase: GetLatestRevisionByEntryIdUseCase.Interface
- ) {}
-
- public async execute(/* ... */): Promise {
- await this.getLatestRevisionByEntryIdUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [GetLatestRevisionByEntryIdUseCase]
-});
-```
-
### `GetPreviousRevisionByEntryIdBaseUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/entry`
@@ -814,6 +587,9 @@ import { GetPreviousRevisionByEntryIdBaseUseCase } from "webiny/api/cms/entry";
**Interface `GetPreviousRevisionByEntryIdBaseUseCase.Interface`:**
+Base internal use case - returns entry regardless of deleted state.
+This is used internally by the public variation.
+
```typescript
interface GetPreviousRevisionByEntryIdBaseUseCase.Interface {
execute(
@@ -834,27 +610,6 @@ namespace GetPreviousRevisionByEntryIdBaseUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { GetPreviousRevisionByEntryIdBaseUseCase } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(
- private getPreviousRevisionByEntryIdBaseUseCase: GetPreviousRevisionByEntryIdBaseUseCase.Interface
- ) {}
-
- public async execute(/* ... */): Promise {
- await this.getPreviousRevisionByEntryIdBaseUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [GetPreviousRevisionByEntryIdBaseUseCase]
-});
-```
-
### `GetPreviousRevisionByEntryIdUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/entry`
@@ -865,6 +620,9 @@ import { GetPreviousRevisionByEntryIdUseCase } from "webiny/api/cms/entry";
**Interface `GetPreviousRevisionByEntryIdUseCase.Interface`:**
+Base internal use case - returns entry regardless of deleted state.
+This is used internally by the public variation.
+
```typescript
interface GetPreviousRevisionByEntryIdUseCase.Interface {
execute(
@@ -885,27 +643,6 @@ namespace GetPreviousRevisionByEntryIdUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { GetPreviousRevisionByEntryIdUseCase } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(
- private getPreviousRevisionByEntryIdUseCase: GetPreviousRevisionByEntryIdUseCase.Interface
- ) {}
-
- public async execute(/* ... */): Promise {
- await this.getPreviousRevisionByEntryIdUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [GetPreviousRevisionByEntryIdUseCase]
-});
-```
-
### `GetPublishedEntriesByIdsUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/entry`
@@ -916,6 +653,9 @@ import { GetPublishedEntriesByIdsUseCase } from "webiny/api/cms/entry";
**Interface `GetPublishedEntriesByIdsUseCase.Interface`:**
+GetPublishedEntriesByIds Use Case - Fetches published revisions by entry IDs.
+Returns array of published entries (excludes deleted entries via decorator).
+
```typescript
interface GetPublishedEntriesByIdsUseCase.Interface {
execute(
@@ -935,27 +675,6 @@ namespace GetPublishedEntriesByIdsUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { GetPublishedEntriesByIdsUseCase } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(
- private getPublishedEntriesByIdsUseCase: GetPublishedEntriesByIdsUseCase.Interface
- ) {}
-
- public async execute(/* ... */): Promise {
- await this.getPublishedEntriesByIdsUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [GetPublishedEntriesByIdsUseCase]
-});
-```
-
### `GetPublishedRevisionByEntryIdUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/entry`
@@ -966,6 +685,8 @@ import { GetPublishedRevisionByEntryIdUseCase } from "webiny/api/cms/entry";
**Interface `GetPublishedRevisionByEntryIdUseCase.Interface`:**
+GetPublishedRevisionByEntryId Use Case
+
```typescript
interface GetPublishedRevisionByEntryIdUseCase.Interface {
execute(
@@ -985,27 +706,6 @@ namespace GetPublishedRevisionByEntryIdUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { GetPublishedRevisionByEntryIdUseCase } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(
- private getPublishedRevisionByEntryIdUseCase: GetPublishedRevisionByEntryIdUseCase.Interface
- ) {}
-
- public async execute(/* ... */): Promise {
- await this.getPublishedRevisionByEntryIdUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [GetPublishedRevisionByEntryIdUseCase]
-});
-```
-
### `GetRevisionByIdUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/entry`
@@ -1016,6 +716,9 @@ import { GetRevisionByIdUseCase } from "webiny/api/cms/entry";
**Interface `GetRevisionByIdUseCase.Interface`:**
+GetRevisionById Use Case - Fetches a specific entry revision by ID.
+Returns the entry or fails with EntryNotFoundError if not found or deleted.
+
```typescript
interface GetRevisionByIdUseCase.Interface {
execute(
@@ -1035,25 +738,6 @@ namespace GetRevisionByIdUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { GetRevisionByIdUseCase } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private getRevisionByIdUseCase: GetRevisionByIdUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.getRevisionByIdUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [GetRevisionByIdUseCase]
-});
-```
-
### `GetRevisionsByEntryIdUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/entry`
@@ -1064,6 +748,9 @@ import { GetRevisionsByEntryIdUseCase } from "webiny/api/cms/entry";
**Interface `GetRevisionsByEntryIdUseCase.Interface`:**
+GetRevisionsByEntryId Use Case - Fetches all revisions for a given entry ID.
+Returns array of entry revisions.
+
```typescript
interface GetRevisionsByEntryIdUseCase.Interface {
execute(
@@ -1083,27 +770,6 @@ namespace GetRevisionsByEntryIdUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { GetRevisionsByEntryIdUseCase } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(
- private getRevisionsByEntryIdUseCase: GetRevisionsByEntryIdUseCase.Interface
- ) {}
-
- public async execute(/* ... */): Promise {
- await this.getRevisionsByEntryIdUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [GetRevisionsByEntryIdUseCase]
-});
-```
-
### `GetSingletonEntryUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/entry`
@@ -1114,6 +780,10 @@ import { GetSingletonEntryUseCase } from "webiny/api/cms/entry";
**Interface `GetSingletonEntryUseCase.Interface`:**
+GetSingletonEntry Use Case
+
+Gets the singleton entry for a model, creating it if it doesn't exist.
+
```typescript
interface GetSingletonEntryUseCase.Interface {
execute(
@@ -1132,25 +802,6 @@ namespace GetSingletonEntryUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { GetSingletonEntryUseCase } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private getSingletonEntryUseCase: GetSingletonEntryUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.getSingletonEntryUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [GetSingletonEntryUseCase]
-});
-```
-
### `ListDeletedEntriesUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/entry`
@@ -1161,6 +812,8 @@ import { ListDeletedEntriesUseCase } from "webiny/api/cms/entry";
**Interface `ListDeletedEntriesUseCase.Interface`:**
+ListDeletedEntries Use Case - Lists deleted entries (manage API).
+
```typescript
interface ListDeletedEntriesUseCase.Interface {
execute(
@@ -1181,25 +834,6 @@ namespace ListDeletedEntriesUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { ListDeletedEntriesUseCase } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private listDeletedEntriesUseCase: ListDeletedEntriesUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.listDeletedEntriesUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [ListDeletedEntriesUseCase]
-});
-```
-
### `ListEntriesUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/entry`
@@ -1210,6 +844,9 @@ import { ListEntriesUseCase } from "webiny/api/cms/entry";
**Interface `ListEntriesUseCase.Interface`:**
+Base ListEntries Use Case - Internal base use case for listing entries.
+Used by specific variants (Latest, Published, Deleted).
+
```typescript
interface ListEntriesUseCase.Interface {
execute(
@@ -1230,25 +867,6 @@ namespace ListEntriesUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { ListEntriesUseCase } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private listEntriesUseCase: ListEntriesUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.listEntriesUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [ListEntriesUseCase]
-});
-```
-
### `ListLatestEntriesUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/entry`
@@ -1259,6 +877,8 @@ import { ListLatestEntriesUseCase } from "webiny/api/cms/entry";
**Interface `ListLatestEntriesUseCase.Interface`:**
+ListLatestEntries Use Case - Lists latest entries (manage API).
+
```typescript
interface ListLatestEntriesUseCase.Interface {
execute(
@@ -1279,25 +899,6 @@ namespace ListLatestEntriesUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { ListLatestEntriesUseCase } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private listLatestEntriesUseCase: ListLatestEntriesUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.listLatestEntriesUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [ListLatestEntriesUseCase]
-});
-```
-
### `ListPublishedEntriesUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/entry`
@@ -1308,6 +909,8 @@ import { ListPublishedEntriesUseCase } from "webiny/api/cms/entry";
**Interface `ListPublishedEntriesUseCase.Interface`:**
+ListPublishedEntries Use Case - Lists published entries (read API).
+
```typescript
interface ListPublishedEntriesUseCase.Interface {
execute(
@@ -1328,25 +931,6 @@ namespace ListPublishedEntriesUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { ListPublishedEntriesUseCase } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private listPublishedEntriesUseCase: ListPublishedEntriesUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.listPublishedEntriesUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [ListPublishedEntriesUseCase]
-});
-```
-
### `MoveEntryToBinUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/entry`
@@ -1357,6 +941,9 @@ import { MoveEntryToBinUseCase } from "webiny/api/cms/entry";
**Interface `MoveEntryToBinUseCase.Interface`:**
+MoveEntryToBin Use Case - Soft deletes an entry by marking it as deleted.
+This moves the entry to the bin (trash) instead of permanently deleting it.
+
```typescript
interface MoveEntryToBinUseCase.Interface {
execute(model: CmsModel, id: string): Promise>;
@@ -1372,25 +959,6 @@ namespace MoveEntryToBinUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { MoveEntryToBinUseCase } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private moveEntryToBinUseCase: MoveEntryToBinUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.moveEntryToBinUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [MoveEntryToBinUseCase]
-});
-```
-
### `MoveEntryUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/entry`
@@ -1401,6 +969,8 @@ import { MoveEntryUseCase } from "webiny/api/cms/entry";
**Interface `MoveEntryUseCase.Interface`:**
+MoveEntry Use Case - Moves an entry to a different folder.
+
```typescript
interface MoveEntryUseCase.Interface {
execute(
@@ -1421,25 +991,6 @@ namespace MoveEntryUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { MoveEntryUseCase } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private moveEntryUseCase: MoveEntryUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.moveEntryUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [MoveEntryUseCase]
-});
-```
-
### `PublishEntryUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/entry`
@@ -1450,6 +1001,8 @@ import { PublishEntryUseCase } from "webiny/api/cms/entry";
**Interface `PublishEntryUseCase.Interface`:**
+PublishEntry Use Case - Publishes an entry revision.
+
```typescript
interface PublishEntryUseCase.Interface {
execute(
@@ -1469,25 +1022,6 @@ namespace PublishEntryUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { PublishEntryUseCase } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private publishEntryUseCase: PublishEntryUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.publishEntryUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [PublishEntryUseCase]
-});
-```
-
### `RepublishEntryUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/entry`
@@ -1498,6 +1032,9 @@ import { RepublishEntryUseCase } from "webiny/api/cms/entry";
**Interface `RepublishEntryUseCase.Interface`:**
+RepublishEntry Use Case - Republishes an already published entry.
+This updates the entry and publishes it again.
+
```typescript
interface RepublishEntryUseCase.Interface {
execute(
@@ -1517,25 +1054,6 @@ namespace RepublishEntryUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { RepublishEntryUseCase } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private republishEntryUseCase: RepublishEntryUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.republishEntryUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [RepublishEntryUseCase]
-});
-```
-
### `RestoreEntryFromBinUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/entry`
@@ -1546,6 +1064,9 @@ import { RestoreEntryFromBinUseCase } from "webiny/api/cms/entry";
**Interface `RestoreEntryFromBinUseCase.Interface`:**
+RestoreEntryFromBin Use Case - Restores a soft-deleted entry from the bin.
+This clears the wbyDeleted flag and restores the entry to its original folder.
+
```typescript
interface RestoreEntryFromBinUseCase.Interface {
execute(
@@ -1565,25 +1086,6 @@ namespace RestoreEntryFromBinUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { RestoreEntryFromBinUseCase } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private restoreEntryFromBinUseCase: RestoreEntryFromBinUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.restoreEntryFromBinUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [RestoreEntryFromBinUseCase]
-});
-```
-
### `UnpublishEntryUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/entry`
@@ -1594,6 +1096,8 @@ import { UnpublishEntryUseCase } from "webiny/api/cms/entry";
**Interface `UnpublishEntryUseCase.Interface`:**
+UnpublishEntry Use Case
+
```typescript
interface UnpublishEntryUseCase.Interface {
execute(
@@ -1613,25 +1117,6 @@ namespace UnpublishEntryUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { UnpublishEntryUseCase } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private unpublishEntryUseCase: UnpublishEntryUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.unpublishEntryUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [UnpublishEntryUseCase]
-});
-```
-
### `UpdateEntryUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/entry`
@@ -1642,6 +1127,8 @@ import { UpdateEntryUseCase } from "webiny/api/cms/entry";
**Interface `UpdateEntryUseCase.Interface`:**
+UpdateEntry Use Case
+
```typescript
interface UpdateEntryUseCase.Interface {
execute(
@@ -1667,25 +1154,6 @@ namespace UpdateEntryUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { UpdateEntryUseCase } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private updateEntryUseCase: UpdateEntryUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.updateEntryUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [UpdateEntryUseCase]
-});
-```
-
### `UpdateSingletonEntryUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/entry`
@@ -1696,6 +1164,10 @@ import { UpdateSingletonEntryUseCase } from "webiny/api/cms/entry";
**Interface `UpdateSingletonEntryUseCase.Interface`:**
+UpdateSingletonEntry Use Case
+
+Updates the singleton entry for a model.
+
```typescript
interface UpdateSingletonEntryUseCase.Interface {
execute(
@@ -1718,25 +1190,6 @@ namespace UpdateSingletonEntryUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { UpdateSingletonEntryUseCase } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private updateSingletonEntryUseCase: UpdateSingletonEntryUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.updateSingletonEntryUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [UpdateSingletonEntryUseCase]
-});
-```
-
### `ValidateEntryUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/entry`
@@ -1768,25 +1221,6 @@ namespace ValidateEntryUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { ValidateEntryUseCase } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private validateEntryUseCase: ValidateEntryUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- this.validateEntryUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [ValidateEntryUseCase]
-});
-```
-
## Event Handlers
### `EntryAfterCreateEventHandler`
@@ -1824,25 +1258,6 @@ namespace EntryAfterCreateEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { EntryAfterCreateEventHandler } from "webiny/api/cms/entry";
-
-class MyHandler implements EntryAfterCreateEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: EntryAfterCreateEventHandler.Event): Promise {
- const { entry, input, model } = event.payload;
- }
-}
-
-export default EntryAfterCreateEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `EntryAfterDeleteEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/cms/entry`
@@ -1868,25 +1283,6 @@ namespace EntryAfterDeleteEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { EntryAfterDeleteEventHandler } from "webiny/api/cms/entry";
-
-class MyHandler implements EntryAfterDeleteEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: EntryAfterDeleteEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default EntryAfterDeleteEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `EntryAfterDeleteMultipleEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/cms/entry`
@@ -1912,25 +1308,6 @@ namespace EntryAfterDeleteMultipleEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { EntryAfterDeleteMultipleEventHandler } from "webiny/api/cms/entry";
-
-class MyHandler implements EntryAfterDeleteMultipleEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: EntryAfterDeleteMultipleEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default EntryAfterDeleteMultipleEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `EntryAfterMoveEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/cms/entry`
@@ -1956,25 +1333,6 @@ namespace EntryAfterMoveEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { EntryAfterMoveEventHandler } from "webiny/api/cms/entry";
-
-class MyHandler implements EntryAfterMoveEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: EntryAfterMoveEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default EntryAfterMoveEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `EntryAfterPublishEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/cms/entry`
@@ -2000,25 +1358,6 @@ namespace EntryAfterPublishEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { EntryAfterPublishEventHandler } from "webiny/api/cms/entry";
-
-class MyHandler implements EntryAfterPublishEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: EntryAfterPublishEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default EntryAfterPublishEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `EntryAfterRepublishEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/cms/entry`
@@ -2044,25 +1383,6 @@ namespace EntryAfterRepublishEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { EntryAfterRepublishEventHandler } from "webiny/api/cms/entry";
-
-class MyHandler implements EntryAfterRepublishEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: EntryAfterRepublishEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default EntryAfterRepublishEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `EntryAfterRestoreFromBinEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/cms/entry`
@@ -2088,25 +1408,6 @@ namespace EntryAfterRestoreFromBinEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { EntryAfterRestoreFromBinEventHandler } from "webiny/api/cms/entry";
-
-class MyHandler implements EntryAfterRestoreFromBinEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: EntryAfterRestoreFromBinEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default EntryAfterRestoreFromBinEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `EntryAfterUnpublishEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/cms/entry`
@@ -2142,25 +1443,6 @@ namespace EntryAfterUnpublishEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { EntryAfterUnpublishEventHandler } from "webiny/api/cms/entry";
-
-class MyHandler implements EntryAfterUnpublishEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: EntryAfterUnpublishEventHandler.Event): Promise {
- const { entry, storageEntry, model } = event.payload;
- }
-}
-
-export default EntryAfterUnpublishEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `EntryAfterUpdateEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/cms/entry`
@@ -2197,25 +1479,6 @@ namespace EntryAfterUpdateEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { EntryAfterUpdateEventHandler } from "webiny/api/cms/entry";
-
-class MyHandler implements EntryAfterUpdateEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: EntryAfterUpdateEventHandler.Event): Promise {
- const { entry, original, input, model } = event.payload;
- }
-}
-
-export default EntryAfterUpdateEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `EntryBeforeCreateEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/cms/entry`
@@ -2251,25 +1514,6 @@ namespace EntryBeforeCreateEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { EntryBeforeCreateEventHandler } from "webiny/api/cms/entry";
-
-class MyHandler implements EntryBeforeCreateEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: EntryBeforeCreateEventHandler.Event): Promise {
- const { entry, input, model } = event.payload;
- }
-}
-
-export default EntryBeforeCreateEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `EntryBeforeDeleteEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/cms/entry`
@@ -2295,25 +1539,6 @@ namespace EntryBeforeDeleteEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { EntryBeforeDeleteEventHandler } from "webiny/api/cms/entry";
-
-class MyHandler implements EntryBeforeDeleteEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: EntryBeforeDeleteEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default EntryBeforeDeleteEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `EntryBeforeDeleteMultipleEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/cms/entry`
@@ -2339,25 +1564,6 @@ namespace EntryBeforeDeleteMultipleEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { EntryBeforeDeleteMultipleEventHandler } from "webiny/api/cms/entry";
-
-class MyHandler implements EntryBeforeDeleteMultipleEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: EntryBeforeDeleteMultipleEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default EntryBeforeDeleteMultipleEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `EntryBeforeMoveEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/cms/entry`
@@ -2383,25 +1589,6 @@ namespace EntryBeforeMoveEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { EntryBeforeMoveEventHandler } from "webiny/api/cms/entry";
-
-class MyHandler implements EntryBeforeMoveEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: EntryBeforeMoveEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default EntryBeforeMoveEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `EntryBeforePublishEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/cms/entry`
@@ -2427,25 +1614,6 @@ namespace EntryBeforePublishEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { EntryBeforePublishEventHandler } from "webiny/api/cms/entry";
-
-class MyHandler implements EntryBeforePublishEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: EntryBeforePublishEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default EntryBeforePublishEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `EntryBeforeRepublishEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/cms/entry`
@@ -2471,25 +1639,6 @@ namespace EntryBeforeRepublishEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { EntryBeforeRepublishEventHandler } from "webiny/api/cms/entry";
-
-class MyHandler implements EntryBeforeRepublishEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: EntryBeforeRepublishEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default EntryBeforeRepublishEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `EntryBeforeRestoreFromBinEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/cms/entry`
@@ -2515,25 +1664,6 @@ namespace EntryBeforeRestoreFromBinEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { EntryBeforeRestoreFromBinEventHandler } from "webiny/api/cms/entry";
-
-class MyHandler implements EntryBeforeRestoreFromBinEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: EntryBeforeRestoreFromBinEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default EntryBeforeRestoreFromBinEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `EntryBeforeUnpublishEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/cms/entry`
@@ -2568,25 +1698,6 @@ namespace EntryBeforeUnpublishEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { EntryBeforeUnpublishEventHandler } from "webiny/api/cms/entry";
-
-class MyHandler implements EntryBeforeUnpublishEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: EntryBeforeUnpublishEventHandler.Event): Promise {
- const { entry, model } = event.payload;
- }
-}
-
-export default EntryBeforeUnpublishEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `EntryBeforeUpdateEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/cms/entry`
@@ -2623,25 +1734,6 @@ namespace EntryBeforeUpdateEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { EntryBeforeUpdateEventHandler } from "webiny/api/cms/entry";
-
-class MyHandler implements EntryBeforeUpdateEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: EntryBeforeUpdateEventHandler.Event): Promise {
- const { entry, original, input, model } = event.payload;
- }
-}
-
-export default EntryBeforeUpdateEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `EntryRevisionAfterCreateEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/cms/entry`
@@ -2667,25 +1759,6 @@ namespace EntryRevisionAfterCreateEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { EntryRevisionAfterCreateEventHandler } from "webiny/api/cms/entry";
-
-class MyHandler implements EntryRevisionAfterCreateEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: EntryRevisionAfterCreateEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default EntryRevisionAfterCreateEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `EntryRevisionAfterDeleteEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/cms/entry`
@@ -2711,25 +1784,6 @@ namespace EntryRevisionAfterDeleteEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { EntryRevisionAfterDeleteEventHandler } from "webiny/api/cms/entry";
-
-class MyHandler implements EntryRevisionAfterDeleteEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: EntryRevisionAfterDeleteEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default EntryRevisionAfterDeleteEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `EntryRevisionBeforeCreateEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/cms/entry`
@@ -2755,25 +1809,6 @@ namespace EntryRevisionBeforeCreateEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { EntryRevisionBeforeCreateEventHandler } from "webiny/api/cms/entry";
-
-class MyHandler implements EntryRevisionBeforeCreateEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: EntryRevisionBeforeCreateEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default EntryRevisionBeforeCreateEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `EntryRevisionBeforeDeleteEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/cms/entry`
@@ -2799,25 +1834,6 @@ namespace EntryRevisionBeforeDeleteEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { EntryRevisionBeforeDeleteEventHandler } from "webiny/api/cms/entry";
-
-class MyHandler implements EntryRevisionBeforeDeleteEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: EntryRevisionBeforeDeleteEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default EntryRevisionBeforeDeleteEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
## Services
### `CmsSortMapper`
@@ -2845,25 +1861,6 @@ namespace CmsSortMapper {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { CmsSortMapper } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private cmsSortMapper: CmsSortMapper.Interface) {}
-
- public async execute(/* ... */): Promise {
- this.cmsSortMapper.map(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [CmsSortMapper]
-});
-```
-
### `CmsWhereMapper`
**Abstraction** — imported from `webiny/api/cms/entry`
@@ -2889,25 +1886,6 @@ namespace CmsWhereMapper {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { CmsWhereMapper } from "webiny/api/cms/entry";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private cmsWhereMapper: CmsWhereMapper.Interface) {}
-
- public async execute(/* ... */): Promise {
- this.cmsWhereMapper.map(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [CmsWhereMapper]
-});
-```
-
## Types & Classes
### `CmsEntry`
@@ -2963,8 +1941,12 @@ export class EntryId {
static create();
static from(value: string);
toString();
- get id();
- get version();
+ get id() {
+ return this._id;
+ };
+ get version() {
+ return this._version;
+ };
incrementVersion();
decrementVersion();
setVersion(version: number);
diff --git a/docs/developer-docs/6.x/reference/api/cms/group.mdx b/docs/developer-docs/6.x/reference/api/cms/group.mdx
index 2f74c063e..6dfdaec1f 100644
--- a/docs/developer-docs/6.x/reference/api/cms/group.mdx
+++ b/docs/developer-docs/6.x/reference/api/cms/group.mdx
@@ -70,6 +70,8 @@ import { CreateGroupUseCase } from "webiny/api/cms/group";
**Interface `CreateGroupUseCase.Interface`:**
+CreateGroup Use Case
+
```typescript
interface CreateGroupUseCase.Interface {
execute(input: CmsGroupCreateInput): Promise>;
@@ -87,25 +89,6 @@ namespace CreateGroupUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { CreateGroupUseCase } from "webiny/api/cms/group";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private createGroupUseCase: CreateGroupUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.createGroupUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [CreateGroupUseCase]
-});
-```
-
### `DeleteGroupUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/group`
@@ -116,6 +99,8 @@ import { DeleteGroupUseCase } from "webiny/api/cms/group";
**Interface `DeleteGroupUseCase.Interface`:**
+DeleteGroup Use Case
+
```typescript
interface DeleteGroupUseCase.Interface {
execute(groupId: string): Promise>;
@@ -132,25 +117,6 @@ namespace DeleteGroupUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { DeleteGroupUseCase } from "webiny/api/cms/group";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private deleteGroupUseCase: DeleteGroupUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.deleteGroupUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [DeleteGroupUseCase]
-});
-```
-
### `GetGroupUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/group`
@@ -161,6 +127,8 @@ import { GetGroupUseCase } from "webiny/api/cms/group";
**Interface `GetGroupUseCase.Interface`:**
+GetGroup Use Case
+
```typescript
interface GetGroupUseCase.Interface {
execute(groupId: string): Promise>;
@@ -177,25 +145,6 @@ namespace GetGroupUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { GetGroupUseCase } from "webiny/api/cms/group";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private getGroupUseCase: GetGroupUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.getGroupUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [GetGroupUseCase]
-});
-```
-
### `ListGroupsUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/group`
@@ -206,6 +155,8 @@ import { ListGroupsUseCase } from "webiny/api/cms/group";
**Interface `ListGroupsUseCase.Interface`:**
+ListGroups Use Case
+
```typescript
interface ListGroupsUseCase.Interface {
execute(): Promise>;
@@ -222,25 +173,6 @@ namespace ListGroupsUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { ListGroupsUseCase } from "webiny/api/cms/group";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private listGroupsUseCase: ListGroupsUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.listGroupsUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [ListGroupsUseCase]
-});
-```
-
### `UpdateGroupUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/group`
@@ -251,6 +183,8 @@ import { UpdateGroupUseCase } from "webiny/api/cms/group";
**Interface `UpdateGroupUseCase.Interface`:**
+UpdateGroup Use Case
+
```typescript
interface UpdateGroupUseCase.Interface {
execute(groupId: string, input: CmsGroupUpdateInput): Promise>;
@@ -268,25 +202,6 @@ namespace UpdateGroupUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { UpdateGroupUseCase } from "webiny/api/cms/group";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private updateGroupUseCase: UpdateGroupUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.updateGroupUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [UpdateGroupUseCase]
-});
-```
-
## Event Handlers
### `GroupAfterCreateEventHandler`
@@ -322,25 +237,6 @@ namespace GroupAfterCreateEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { GroupAfterCreateEventHandler } from "webiny/api/cms/group";
-
-class MyHandler implements GroupAfterCreateEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: GroupAfterCreateEventHandler.Event): Promise {
- const { group } = event.payload;
- }
-}
-
-export default GroupAfterCreateEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `GroupAfterDeleteEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/cms/group`
@@ -374,25 +270,6 @@ namespace GroupAfterDeleteEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { GroupAfterDeleteEventHandler } from "webiny/api/cms/group";
-
-class MyHandler implements GroupAfterDeleteEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: GroupAfterDeleteEventHandler.Event): Promise {
- const { group } = event.payload;
- }
-}
-
-export default GroupAfterDeleteEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `GroupAfterUpdateEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/cms/group`
@@ -427,25 +304,6 @@ namespace GroupAfterUpdateEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { GroupAfterUpdateEventHandler } from "webiny/api/cms/group";
-
-class MyHandler implements GroupAfterUpdateEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: GroupAfterUpdateEventHandler.Event): Promise {
- const { original, group } = event.payload;
- }
-}
-
-export default GroupAfterUpdateEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `GroupBeforeCreateEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/cms/group`
@@ -479,25 +337,6 @@ namespace GroupBeforeCreateEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { GroupBeforeCreateEventHandler } from "webiny/api/cms/group";
-
-class MyHandler implements GroupBeforeCreateEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: GroupBeforeCreateEventHandler.Event): Promise {
- const { group } = event.payload;
- }
-}
-
-export default GroupBeforeCreateEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `GroupBeforeDeleteEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/cms/group`
@@ -531,25 +370,6 @@ namespace GroupBeforeDeleteEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { GroupBeforeDeleteEventHandler } from "webiny/api/cms/group";
-
-class MyHandler implements GroupBeforeDeleteEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: GroupBeforeDeleteEventHandler.Event): Promise {
- const { group } = event.payload;
- }
-}
-
-export default GroupBeforeDeleteEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `GroupBeforeUpdateEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/cms/group`
@@ -584,25 +404,6 @@ namespace GroupBeforeUpdateEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { GroupBeforeUpdateEventHandler } from "webiny/api/cms/group";
-
-class MyHandler implements GroupBeforeUpdateEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: GroupBeforeUpdateEventHandler.Event): Promise {
- const { original, group } = event.payload;
- }
-}
-
-export default GroupBeforeUpdateEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
## Services
### `ModelGroupFactory`
@@ -631,25 +432,6 @@ namespace ModelGroupFactory {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { ModelGroupFactory } from "webiny/api/cms/group";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private modelGroupFactory: ModelGroupFactory.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.modelGroupFactory.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [ModelGroupFactory]
-});
-```
-
## Types & Classes
### `CmsGroup`
diff --git a/docs/developer-docs/6.x/reference/api/cms/model.mdx b/docs/developer-docs/6.x/reference/api/cms/model.mdx
index 643087f04..c2c078a20 100644
--- a/docs/developer-docs/6.x/reference/api/cms/model.mdx
+++ b/docs/developer-docs/6.x/reference/api/cms/model.mdx
@@ -82,6 +82,8 @@ import { CreateModelFromUseCase } from "webiny/api/cms/model";
**Interface `CreateModelFromUseCase.Interface`:**
+CreateModelFrom Use Case (Clone/Copy Model)
+
```typescript
interface CreateModelFromUseCase.Interface {
execute(
@@ -102,25 +104,6 @@ namespace CreateModelFromUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { CreateModelFromUseCase } from "webiny/api/cms/model";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private createModelFromUseCase: CreateModelFromUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.createModelFromUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [CreateModelFromUseCase]
-});
-```
-
### `CreateModelUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/model`
@@ -131,6 +114,8 @@ import { CreateModelUseCase } from "webiny/api/cms/model";
**Interface `CreateModelUseCase.Interface`:**
+CreateModel Use Case
+
```typescript
interface CreateModelUseCase.Interface {
execute(input: CmsModelCreateInput): Promise>;
@@ -148,25 +133,6 @@ namespace CreateModelUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { CreateModelUseCase } from "webiny/api/cms/model";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private createModelUseCase: CreateModelUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.createModelUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [CreateModelUseCase]
-});
-```
-
### `DeleteModelUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/model`
@@ -177,6 +143,8 @@ import { DeleteModelUseCase } from "webiny/api/cms/model";
**Interface `DeleteModelUseCase.Interface`:**
+DeleteModel Use Case
+
```typescript
interface DeleteModelUseCase.Interface {
execute(modelId: string): Promise>;
@@ -193,25 +161,6 @@ namespace DeleteModelUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { DeleteModelUseCase } from "webiny/api/cms/model";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private deleteModelUseCase: DeleteModelUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.deleteModelUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [DeleteModelUseCase]
-});
-```
-
### `GetModelUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/model`
@@ -222,6 +171,8 @@ import { GetModelUseCase } from "webiny/api/cms/model";
**Interface `GetModelUseCase.Interface`:**
+GetModel Use Case
+
```typescript
interface GetModelUseCase.Interface {
execute(modelId: string): Promise>;
@@ -238,25 +189,6 @@ namespace GetModelUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { GetModelUseCase } from "webiny/api/cms/model";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private getModelUseCase: GetModelUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.getModelUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [GetModelUseCase]
-});
-```
-
### `ListModelsUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/model`
@@ -267,6 +199,8 @@ import { ListModelsUseCase } from "webiny/api/cms/model";
**Interface `ListModelsUseCase.Interface`:**
+ListModels Use Case
+
```typescript
interface ListModelsUseCase.Interface {
execute(params?: ICmsModelListParams): Promise>;
@@ -284,25 +218,6 @@ namespace ListModelsUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { ListModelsUseCase } from "webiny/api/cms/model";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private listModelsUseCase: ListModelsUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.listModelsUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [ListModelsUseCase]
-});
-```
-
### `UpdateModelUseCase`
**Use Case Abstraction** — imported from `webiny/api/cms/model`
@@ -313,6 +228,8 @@ import { UpdateModelUseCase } from "webiny/api/cms/model";
**Interface `UpdateModelUseCase.Interface`:**
+UpdateModel Use Case
+
```typescript
interface UpdateModelUseCase.Interface {
execute(modelId: string, input: CmsModelUpdateInput): Promise>;
@@ -330,25 +247,6 @@ namespace UpdateModelUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { UpdateModelUseCase } from "webiny/api/cms/model";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private updateModelUseCase: UpdateModelUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.updateModelUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [UpdateModelUseCase]
-});
-```
-
## Event Handlers
### `ModelAfterCreateEventHandler`
@@ -384,25 +282,6 @@ namespace ModelAfterCreateEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { ModelAfterCreateEventHandler } from "webiny/api/cms/model";
-
-class MyHandler implements ModelAfterCreateEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: ModelAfterCreateEventHandler.Event): Promise {
- const { model } = event.payload;
- }
-}
-
-export default ModelAfterCreateEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `ModelAfterCreateFromEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/cms/model`
@@ -437,25 +316,6 @@ namespace ModelAfterCreateFromEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { ModelAfterCreateFromEventHandler } from "webiny/api/cms/model";
-
-class MyHandler implements ModelAfterCreateFromEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: ModelAfterCreateFromEventHandler.Event): Promise {
- const { model, original } = event.payload;
- }
-}
-
-export default ModelAfterCreateFromEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `ModelAfterDeleteEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/cms/model`
@@ -489,25 +349,6 @@ namespace ModelAfterDeleteEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { ModelAfterDeleteEventHandler } from "webiny/api/cms/model";
-
-class MyHandler implements ModelAfterDeleteEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: ModelAfterDeleteEventHandler.Event): Promise {
- const { model } = event.payload;
- }
-}
-
-export default ModelAfterDeleteEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `ModelAfterUpdateEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/cms/model`
@@ -542,25 +383,6 @@ namespace ModelAfterUpdateEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { ModelAfterUpdateEventHandler } from "webiny/api/cms/model";
-
-class MyHandler implements ModelAfterUpdateEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: ModelAfterUpdateEventHandler.Event): Promise {
- const { model, original } = event.payload;
- }
-}
-
-export default ModelAfterUpdateEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `ModelBeforeCreateEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/cms/model`
@@ -595,25 +417,6 @@ namespace ModelBeforeCreateEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { ModelBeforeCreateEventHandler } from "webiny/api/cms/model";
-
-class MyHandler implements ModelBeforeCreateEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: ModelBeforeCreateEventHandler.Event): Promise {
- const { model, input } = event.payload;
- }
-}
-
-export default ModelBeforeCreateEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `ModelBeforeCreateFromEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/cms/model`
@@ -649,25 +452,6 @@ namespace ModelBeforeCreateFromEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { ModelBeforeCreateFromEventHandler } from "webiny/api/cms/model";
-
-class MyHandler implements ModelBeforeCreateFromEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: ModelBeforeCreateFromEventHandler.Event): Promise {
- const { model, original, input } = event.payload;
- }
-}
-
-export default ModelBeforeCreateFromEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `ModelBeforeDeleteEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/cms/model`
@@ -701,25 +485,6 @@ namespace ModelBeforeDeleteEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { ModelBeforeDeleteEventHandler } from "webiny/api/cms/model";
-
-class MyHandler implements ModelBeforeDeleteEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: ModelBeforeDeleteEventHandler.Event): Promise {
- const { model } = event.payload;
- }
-}
-
-export default ModelBeforeDeleteEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `ModelBeforeUpdateEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/cms/model`
@@ -755,25 +520,6 @@ namespace ModelBeforeUpdateEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { ModelBeforeUpdateEventHandler } from "webiny/api/cms/model";
-
-class MyHandler implements ModelBeforeUpdateEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: ModelBeforeUpdateEventHandler.Event): Promise {
- const { model, original, input } = event.payload;
- }
-}
-
-export default ModelBeforeUpdateEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
## Services
### `FieldType`
@@ -786,33 +532,19 @@ import { FieldType } from "webiny/api/cms/model";
**Interface `FieldType.Interface`:**
+Field Type Factory - creates a field builder instance
+
```typescript
interface FieldType.Interface {
- // Unique identifier for this field type
readonly type: string;
- // Create a new field builder instance
create(registry: IFieldBuilderRegistry): BaseFieldBuilder;
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { FieldType } from "webiny/api/cms/model";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private fieldType: FieldType.Interface) {}
-
- public async execute(/* ... */): Promise {
- this.fieldType.create(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [FieldType]
-});
-```
+| Method | Description |
+| ------------------------- | ------------------------------------- |
+| `readonly type: string()` | Unique identifier for this field type |
+| `create()` | Create a new field builder instance |
### `ModelFactory`
@@ -841,25 +573,6 @@ namespace ModelFactory {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { ModelFactory } from "webiny/api/cms/model";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private modelFactory: ModelFactory.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.modelFactory.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [ModelFactory]
-});
-```
-
## Types & Classes
### `CmsModel`
@@ -970,17 +683,17 @@ import { LayoutBuilder } from "webiny/api/cms/model";
```typescript
export class LayoutBuilder {
- private layout: string[][];
- private modifiers: LayoutModifier[] = [];
- constructor(existingLayout: string[][] = []);
- setLayout(layout: string[][]): this;
- addModifier(modifier: LayoutModifier): this;
- addField(field: string, position:;
- addRow(fields: string[]): this;
- insertRow(fields: string[], position:;
- getSnapshot():;
- build(): string[][];
- private findFieldPosition(field: string):;
+ private layout: string[][];
+ private modifiers: LayoutModifier[] = [];
+ constructor(existingLayout: string[][] = []);
+ setLayout(layout: string[][]): this;
+ addModifier(modifier: LayoutModifier): this;
+ addField(field: string, position: { after: string } | { before: string }): this;
+ addRow(fields: string[]): this;
+ insertRow(fields: string[], position: { after: string } | { before: string }): this;
+ getSnapshot(): { layout: string[][]; modifiers: LayoutModifier[] };
+ build(): string[][];
+ private findFieldPosition(field: string): { rowIndex: number; colIndex: number } | null;
}
```
diff --git a/docs/developer-docs/6.x/reference/api/graphql.mdx b/docs/developer-docs/6.x/reference/api/graphql.mdx
index 9387d9691..483dfaf07 100644
--- a/docs/developer-docs/6.x/reference/api/graphql.mdx
+++ b/docs/developer-docs/6.x/reference/api/graphql.mdx
@@ -47,6 +47,8 @@ import { GraphQLSchemaFactory } from "webiny/api/graphql";
**Interface `GraphQLSchemaFactory.Interface`:**
+GraphQLSchemaFactory
+
```typescript
interface GraphQLSchemaFactory.Interface {
execute(builder: GraphQLSchemaBuilder.Interface): Promise;
@@ -63,25 +65,24 @@ namespace GraphQLSchemaFactory {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { GraphQLSchemaFactory } from "webiny/api/graphql";
+**`SchemaBuilder` — `GraphQLSchemaBuilder.Interface`:**
-class MyImpl implements MyUseCase.Interface {
- public constructor(private graphQLSchemaFactory: GraphQLSchemaFactory.Interface) {}
+Interface for building GraphQL schemas by adding type definitions and resolvers.
- public async execute(/* ... */): Promise {
- await this.graphQLSchemaFactory.execute(/* ... */);
- }
+```typescript
+interface GraphQLSchemaBuilder.Interface {
+ addTypeDefs(typeDefs: TypeDefs): this;
+ addResolver(config: ResolverConfig): this;
+ build(): IGraphQLSchema;
}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [GraphQLSchemaFactory]
-});
```
+| Method | Description |
+| ------------------------------------------- | -------------------------------------------------- |
+| `addTypeDefs()` | Add GraphQL type definitions to the schema. |
+| `addResolver()` | Add a GraphQL resolver with optional dependencies. |
+| `build()` | Build and return the GraphQL schema. |
+
## Types & Classes
### `ErrorResponse`
@@ -94,9 +95,14 @@ import { ErrorResponse } from "webiny/api/graphql";
```typescript
export class ErrorResponse {
- public readonly data: null;
- public readonly error:;
- constructor(params: ErrorResponseParams);
+ public readonly data: null;
+ public readonly error: {
+ code: string;
+ message: string;
+ data: any;
+ stack: string | null;
+ };
+ constructor(params: ErrorResponseParams);
}
```
@@ -110,10 +116,15 @@ import { ListErrorResponse } from "webiny/api/graphql";
```typescript
export class ListErrorResponse {
- public readonly data: null;
- public readonly meta: null;
- public readonly error:;
- constructor(params: ErrorResponseParams);
+ public readonly data: null;
+ public readonly meta: null;
+ public readonly error: {
+ code: string;
+ message: string;
+ data: any;
+ stack: string | null;
+ };
+ constructor(params: ErrorResponseParams);
}
```
@@ -144,7 +155,7 @@ import { NotAuthorizedResponse } from "webiny/api/graphql";
```typescript
export class NotAuthorizedResponse extends ErrorResponse {
- constructor(;
+ constructor({ message, code, data }: Partial = {});
}
```
diff --git a/docs/developer-docs/6.x/reference/api/key-value-store.mdx b/docs/developer-docs/6.x/reference/api/key-value-store.mdx
index ed1e87c39..177f40768 100644
--- a/docs/developer-docs/6.x/reference/api/key-value-store.mdx
+++ b/docs/developer-docs/6.x/reference/api/key-value-store.mdx
@@ -63,25 +63,6 @@ namespace GlobalKeyValueStore {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { GlobalKeyValueStore } from "webiny/api/key-value-store";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private globalKeyValueStore: GlobalKeyValueStore.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.globalKeyValueStore.get(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [GlobalKeyValueStore]
-});
-```
-
## `KeyValueStore`
**Abstraction** — imported from `webiny/api/key-value-store`
@@ -109,22 +90,3 @@ namespace KeyValueStore {
type Error = KeyValueStoreRepository.Error;
}
```
-
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { KeyValueStore } from "webiny/api/key-value-store";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private keyValueStore: KeyValueStore.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.keyValueStore.get(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [KeyValueStore]
-});
-```
diff --git a/docs/developer-docs/6.x/reference/api/logger.mdx b/docs/developer-docs/6.x/reference/api/logger.mdx
index ab14dd4ff..7dc8a0e09 100644
--- a/docs/developer-docs/6.x/reference/api/logger.mdx
+++ b/docs/developer-docs/6.x/reference/api/logger.mdx
@@ -42,6 +42,16 @@ interface Logger.Interface {
}
```
+| Method | Description |
+| --------- | ---------------------------------------------------------------------------------- |
+| `trace()` | Log a trace-level message with optional additional arguments. |
+| `debug()` | Log a debug-level message with optional additional arguments. |
+| `info()` | Log an info-level message with optional additional arguments. |
+| `warn()` | Log a warning-level message with optional additional arguments. |
+| `error()` | Log an error-level message with optional additional arguments. |
+| `fatal()` | Log a fatal-level message with optional additional arguments. |
+| `log()` | Log a generic message (defaults to info level) with optional additional arguments. |
+
**Types:**
```typescript
@@ -50,21 +60,62 @@ namespace Logger {
}
```
-**Usage:**
+## Examples
+
+### Basic Usage
+
+Simple logger injection and usage:
-```typescript extensions/MyImpl.ts
+```typescript
+import { ApiKeyAfterUpdateEventHandler } from "webiny/api/security/api-key";
import { Logger } from "webiny/api/logger";
-class MyImpl implements MyUseCase.Interface {
- public constructor(private logger: Logger.Interface) {}
+class MyApiKeyAfterUpdateImpl implements ApiKeyAfterUpdateEventHandler.Interface {
+ constructor(private logger: Logger.Interface) {}
- public async execute(/* ... */): Promise {
- this.logger.info(/* ... */);
+ async handle() {
+ this.logger.debug("An API key was updated!");
+ this.logger.info("Processing update...");
}
}
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
+const MyApiKeyAfterUpdate = ApiKeyAfterUpdateEventHandler.createImplementation({
+ implementation: MyApiKeyAfterUpdateImpl,
dependencies: [Logger]
});
+
+export default MyApiKeyAfterUpdate;
+```
+
+### Logging Errors
+
+Logging error messages when something goes wrong:
+
+```typescript
+import { ApiKeyAfterUpdateEventHandler } from "webiny/api/security/api-key";
+import { Logger } from "webiny/api/logger";
+
+class MyApiKeyAfterUpdateImpl implements ApiKeyAfterUpdateEventHandler.Interface {
+ constructor(private logger: Logger.Interface) {}
+
+ async handle() {
+ try {
+ // Some operation that might fail
+ await this.processApiKey();
+ } catch (error) {
+ this.logger.error("An error occurred while processing API key:", error);
+ }
+ }
+
+ private async processApiKey() {
+ // Implementation
+ }
+}
+
+const MyApiKeyAfterUpdate = ApiKeyAfterUpdateEventHandler.createImplementation({
+ implementation: MyApiKeyAfterUpdateImpl,
+ dependencies: [Logger]
+});
+
+export default MyApiKeyAfterUpdate;
```
diff --git a/docs/developer-docs/6.x/reference/api/security.mdx b/docs/developer-docs/6.x/reference/api/security.mdx
index 8d4a7e8cf..aae1e9912 100644
--- a/docs/developer-docs/6.x/reference/api/security.mdx
+++ b/docs/developer-docs/6.x/reference/api/security.mdx
@@ -64,25 +64,6 @@ namespace ApiKeyFactory {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { ApiKeyFactory } from "webiny/api/security";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private apiKeyFactory: ApiKeyFactory.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.apiKeyFactory.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [ApiKeyFactory]
-});
-```
-
### `Authenticator`
**Abstraction** — imported from `webiny/api/security`
@@ -107,25 +88,6 @@ namespace Authenticator {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { Authenticator } from "webiny/api/security";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private authenticator: Authenticator.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.authenticator.authenticate(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [Authenticator]
-});
-```
-
### `Authorizer`
**Abstraction** — imported from `webiny/api/security`
@@ -150,25 +112,6 @@ namespace Authorizer {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { Authorizer } from "webiny/api/security";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private authorizer: Authorizer.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.authorizer.authorize(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [Authorizer]
-});
-```
-
### `IdentityContext`
**Abstraction** — imported from `webiny/api/security`
@@ -205,25 +148,6 @@ namespace IdentityContext {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { IdentityContext } from "webiny/api/security";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private identityContext: IdentityContext.Interface) {}
-
- public async execute(/* ... */): Promise {
- this.identityContext.getIdentity(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [IdentityContext]
-});
-```
-
### `IdentityProvider`
**Abstraction** — imported from `webiny/api/security`
@@ -251,25 +175,6 @@ namespace IdentityProvider {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { IdentityProvider } from "webiny/api/security";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private identityProvider: IdentityProvider.Interface) {}
-
- public async execute(/* ... */): Promise {
- this.identityProvider.isApplicable(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [IdentityProvider]
-});
-```
-
### `JwtIdentityProvider`
**Abstraction** — imported from `webiny/api/security`
@@ -299,25 +204,6 @@ namespace JwtIdentityProvider {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { JwtIdentityProvider } from "webiny/api/security";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private jwtIdentityProvider: JwtIdentityProvider.Interface) {}
-
- public async execute(/* ... */): Promise {
- this.jwtIdentityProvider.isApplicable(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [JwtIdentityProvider]
-});
-```
-
### `OidcIdentityProvider`
**Abstraction** — imported from `webiny/api/security`
@@ -349,25 +235,6 @@ namespace OidcIdentityProvider {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { OidcIdentityProvider } from "webiny/api/security";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private oidcIdentityProvider: OidcIdentityProvider.Interface) {}
-
- public async execute(/* ... */): Promise {
- this.oidcIdentityProvider.issuer: string(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [OidcIdentityProvider]
-});
-```
-
## Types & Classes
### `ApiToken`
@@ -380,6 +247,6 @@ import { ApiToken } from "webiny/api/security";
```typescript
export class ApiToken {
- static validate(token: string): `wat_$;
+ static validate(token: string): `wat_${string}`;
}
```
diff --git a/docs/developer-docs/6.x/reference/api/security/api-key.mdx b/docs/developer-docs/6.x/reference/api/security/api-key.mdx
index 000b2ed95..53c171d92 100644
--- a/docs/developer-docs/6.x/reference/api/security/api-key.mdx
+++ b/docs/developer-docs/6.x/reference/api/security/api-key.mdx
@@ -77,25 +77,6 @@ namespace CreateApiKeyUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { CreateApiKeyUseCase } from "webiny/api/security/api-key";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private createApiKeyUseCase: CreateApiKeyUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.createApiKeyUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [CreateApiKeyUseCase]
-});
-```
-
### `DeleteApiKeyUseCase`
**Use Case Abstraction** — imported from `webiny/api/security/api-key`
@@ -121,25 +102,6 @@ namespace DeleteApiKeyUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { DeleteApiKeyUseCase } from "webiny/api/security/api-key";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private deleteApiKeyUseCase: DeleteApiKeyUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.deleteApiKeyUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [DeleteApiKeyUseCase]
-});
-```
-
### `GetApiKeyByTokenUseCase`
**Use Case Abstraction** — imported from `webiny/api/security/api-key`
@@ -165,25 +127,6 @@ namespace GetApiKeyByTokenUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { GetApiKeyByTokenUseCase } from "webiny/api/security/api-key";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private getApiKeyByTokenUseCase: GetApiKeyByTokenUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.getApiKeyByTokenUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [GetApiKeyByTokenUseCase]
-});
-```
-
### `GetApiKeyUseCase`
**Use Case Abstraction** — imported from `webiny/api/security/api-key`
@@ -209,25 +152,6 @@ namespace GetApiKeyUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { GetApiKeyUseCase } from "webiny/api/security/api-key";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private getApiKeyUseCase: GetApiKeyUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.getApiKeyUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [GetApiKeyUseCase]
-});
-```
-
### `ListApiKeysUseCase`
**Use Case Abstraction** — imported from `webiny/api/security/api-key`
@@ -253,25 +177,6 @@ namespace ListApiKeysUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { ListApiKeysUseCase } from "webiny/api/security/api-key";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private listApiKeysUseCase: ListApiKeysUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.listApiKeysUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [ListApiKeysUseCase]
-});
-```
-
### `UpdateApiKeyUseCase`
**Use Case Abstraction** — imported from `webiny/api/security/api-key`
@@ -297,25 +202,6 @@ namespace UpdateApiKeyUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { UpdateApiKeyUseCase } from "webiny/api/security/api-key";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private updateApiKeyUseCase: UpdateApiKeyUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.updateApiKeyUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [UpdateApiKeyUseCase]
-});
-```
-
## Event Handlers
### `ApiKeyAfterCreateEventHandler`
@@ -343,25 +229,6 @@ namespace ApiKeyAfterCreateEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { ApiKeyAfterCreateEventHandler } from "webiny/api/security/api-key";
-
-class MyHandler implements ApiKeyAfterCreateEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: ApiKeyAfterCreateEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default ApiKeyAfterCreateEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `ApiKeyAfterDeleteEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/security/api-key`
@@ -387,25 +254,6 @@ namespace ApiKeyAfterDeleteEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { ApiKeyAfterDeleteEventHandler } from "webiny/api/security/api-key";
-
-class MyHandler implements ApiKeyAfterDeleteEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: ApiKeyAfterDeleteEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default ApiKeyAfterDeleteEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `ApiKeyAfterUpdateEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/security/api-key`
@@ -431,25 +279,6 @@ namespace ApiKeyAfterUpdateEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { ApiKeyAfterUpdateEventHandler } from "webiny/api/security/api-key";
-
-class MyHandler implements ApiKeyAfterUpdateEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: ApiKeyAfterUpdateEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default ApiKeyAfterUpdateEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `ApiKeyBeforeCreateEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/security/api-key`
@@ -475,25 +304,6 @@ namespace ApiKeyBeforeCreateEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { ApiKeyBeforeCreateEventHandler } from "webiny/api/security/api-key";
-
-class MyHandler implements ApiKeyBeforeCreateEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: ApiKeyBeforeCreateEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default ApiKeyBeforeCreateEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `ApiKeyBeforeDeleteEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/security/api-key`
@@ -519,25 +329,6 @@ namespace ApiKeyBeforeDeleteEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { ApiKeyBeforeDeleteEventHandler } from "webiny/api/security/api-key";
-
-class MyHandler implements ApiKeyBeforeDeleteEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: ApiKeyBeforeDeleteEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default ApiKeyBeforeDeleteEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `ApiKeyBeforeUpdateEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/security/api-key`
@@ -563,25 +354,6 @@ namespace ApiKeyBeforeUpdateEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { ApiKeyBeforeUpdateEventHandler } from "webiny/api/security/api-key";
-
-class MyHandler implements ApiKeyBeforeUpdateEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: ApiKeyBeforeUpdateEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default ApiKeyBeforeUpdateEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
## Services
### `ApiKeyFactory`
@@ -609,22 +381,3 @@ namespace ApiKeyFactory {
type ApiKey = CodeApiKey;
}
```
-
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { ApiKeyFactory } from "webiny/api/security/api-key";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private apiKeyFactory: ApiKeyFactory.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.apiKeyFactory.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [ApiKeyFactory]
-});
-```
diff --git a/docs/developer-docs/6.x/reference/api/security/authentication.mdx b/docs/developer-docs/6.x/reference/api/security/authentication.mdx
index c1b0708d0..e44c716ce 100644
--- a/docs/developer-docs/6.x/reference/api/security/authentication.mdx
+++ b/docs/developer-docs/6.x/reference/api/security/authentication.mdx
@@ -50,25 +50,6 @@ namespace AfterAuthenticationEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { AfterAuthenticationEventHandler } from "webiny/api/security/authentication";
-
-class MyHandler implements AfterAuthenticationEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: AfterAuthenticationEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default AfterAuthenticationEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
## `BeforeAuthenticationEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/security/authentication`
@@ -93,22 +74,3 @@ namespace BeforeAuthenticationEventHandler {
type Event = BeforeAuthenticationEvent;
}
```
-
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { BeforeAuthenticationEventHandler } from "webiny/api/security/authentication";
-
-class MyHandler implements BeforeAuthenticationEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: BeforeAuthenticationEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default BeforeAuthenticationEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
diff --git a/docs/developer-docs/6.x/reference/api/security/role.mdx b/docs/developer-docs/6.x/reference/api/security/role.mdx
index bf40f8438..1f41d9d73 100644
--- a/docs/developer-docs/6.x/reference/api/security/role.mdx
+++ b/docs/developer-docs/6.x/reference/api/security/role.mdx
@@ -71,25 +71,6 @@ namespace CreateRoleUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { CreateRoleUseCase } from "webiny/api/security/role";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private createRoleUseCase: CreateRoleUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.createRoleUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [CreateRoleUseCase]
-});
-```
-
### `DeleteRoleUseCase`
**Use Case Abstraction** — imported from `webiny/api/security/role`
@@ -115,25 +96,6 @@ namespace DeleteRoleUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { DeleteRoleUseCase } from "webiny/api/security/role";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private deleteRoleUseCase: DeleteRoleUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.deleteRoleUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [DeleteRoleUseCase]
-});
-```
-
### `GetRoleUseCase`
**Use Case Abstraction** — imported from `webiny/api/security/role`
@@ -159,25 +121,6 @@ namespace GetRoleUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { GetRoleUseCase } from "webiny/api/security/role";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private getRoleUseCase: GetRoleUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.getRoleUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [GetRoleUseCase]
-});
-```
-
### `ListRolesUseCase`
**Use Case Abstraction** — imported from `webiny/api/security/role`
@@ -203,25 +146,6 @@ namespace ListRolesUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { ListRolesUseCase } from "webiny/api/security/role";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private listRolesUseCase: ListRolesUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.listRolesUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [ListRolesUseCase]
-});
-```
-
### `UpdateRoleUseCase`
**Use Case Abstraction** — imported from `webiny/api/security/role`
@@ -250,25 +174,6 @@ namespace UpdateRoleUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { UpdateRoleUseCase } from "webiny/api/security/role";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private updateRoleUseCase: UpdateRoleUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.updateRoleUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [UpdateRoleUseCase]
-});
-```
-
## Event Handlers
### `RoleAfterCreateEventHandler`
@@ -296,25 +201,6 @@ namespace RoleAfterCreateEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { RoleAfterCreateEventHandler } from "webiny/api/security/role";
-
-class MyHandler implements RoleAfterCreateEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: RoleAfterCreateEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default RoleAfterCreateEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `RoleAfterDeleteEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/security/role`
@@ -340,25 +226,6 @@ namespace RoleAfterDeleteEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { RoleAfterDeleteEventHandler } from "webiny/api/security/role";
-
-class MyHandler implements RoleAfterDeleteEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: RoleAfterDeleteEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default RoleAfterDeleteEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `RoleAfterUpdateEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/security/role`
@@ -384,25 +251,6 @@ namespace RoleAfterUpdateEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { RoleAfterUpdateEventHandler } from "webiny/api/security/role";
-
-class MyHandler implements RoleAfterUpdateEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: RoleAfterUpdateEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default RoleAfterUpdateEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `RoleBeforeCreateEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/security/role`
@@ -428,25 +276,6 @@ namespace RoleBeforeCreateEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { RoleBeforeCreateEventHandler } from "webiny/api/security/role";
-
-class MyHandler implements RoleBeforeCreateEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: RoleBeforeCreateEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default RoleBeforeCreateEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `RoleBeforeDeleteEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/security/role`
@@ -472,25 +301,6 @@ namespace RoleBeforeDeleteEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { RoleBeforeDeleteEventHandler } from "webiny/api/security/role";
-
-class MyHandler implements RoleBeforeDeleteEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: RoleBeforeDeleteEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default RoleBeforeDeleteEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `RoleBeforeUpdateEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/security/role`
@@ -515,22 +325,3 @@ namespace RoleBeforeUpdateEventHandler {
type Event = RoleBeforeUpdateEvent;
}
```
-
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { RoleBeforeUpdateEventHandler } from "webiny/api/security/role";
-
-class MyHandler implements RoleBeforeUpdateEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: RoleBeforeUpdateEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default RoleBeforeUpdateEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
diff --git a/docs/developer-docs/6.x/reference/api/security/user.mdx b/docs/developer-docs/6.x/reference/api/security/user.mdx
index 4cbeb68db..b1f82f182 100644
--- a/docs/developer-docs/6.x/reference/api/security/user.mdx
+++ b/docs/developer-docs/6.x/reference/api/security/user.mdx
@@ -73,25 +73,6 @@ namespace CreateUserUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { CreateUserUseCase } from "webiny/api/security/user";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private createUserUseCase: CreateUserUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.createUserUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [CreateUserUseCase]
-});
-```
-
### `DeleteUserUseCase`
**Use Case Abstraction** — imported from `webiny/api/security/user`
@@ -117,25 +98,6 @@ namespace DeleteUserUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { DeleteUserUseCase } from "webiny/api/security/user";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private deleteUserUseCase: DeleteUserUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.deleteUserUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [DeleteUserUseCase]
-});
-```
-
### `GetUserUseCase`
**Use Case Abstraction** — imported from `webiny/api/security/user`
@@ -161,25 +123,6 @@ namespace GetUserUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { GetUserUseCase } from "webiny/api/security/user";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private getUserUseCase: GetUserUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.getUserUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [GetUserUseCase]
-});
-```
-
### `ListUsersUseCase`
**Use Case Abstraction** — imported from `webiny/api/security/user`
@@ -205,25 +148,6 @@ namespace ListUsersUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { ListUsersUseCase } from "webiny/api/security/user";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private listUsersUseCase: ListUsersUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.listUsersUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [ListUsersUseCase]
-});
-```
-
### `ListUserTeamsUseCase`
**Use Case Abstraction** — imported from `webiny/api/security/user`
@@ -249,25 +173,6 @@ namespace ListUserTeamsUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { ListUserTeamsUseCase } from "webiny/api/security/user";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private listUserTeamsUseCase: ListUserTeamsUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.listUserTeamsUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [ListUserTeamsUseCase]
-});
-```
-
### `UpdateUserUseCase`
**Use Case Abstraction** — imported from `webiny/api/security/user`
@@ -293,25 +198,6 @@ namespace UpdateUserUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { UpdateUserUseCase } from "webiny/api/security/user";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private updateUserUseCase: UpdateUserUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.updateUserUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [UpdateUserUseCase]
-});
-```
-
## Event Handlers
### `UserAfterCreateEventHandler`
@@ -339,25 +225,6 @@ namespace UserAfterCreateEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { UserAfterCreateEventHandler } from "webiny/api/security/user";
-
-class MyHandler implements UserAfterCreateEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: UserAfterCreateEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default UserAfterCreateEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `UserAfterDeleteEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/security/user`
@@ -383,25 +250,6 @@ namespace UserAfterDeleteEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { UserAfterDeleteEventHandler } from "webiny/api/security/user";
-
-class MyHandler implements UserAfterDeleteEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: UserAfterDeleteEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default UserAfterDeleteEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `UserAfterUpdateEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/security/user`
@@ -427,25 +275,6 @@ namespace UserAfterUpdateEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { UserAfterUpdateEventHandler } from "webiny/api/security/user";
-
-class MyHandler implements UserAfterUpdateEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: UserAfterUpdateEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default UserAfterUpdateEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `UserBeforeCreateEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/security/user`
@@ -471,25 +300,6 @@ namespace UserBeforeCreateEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { UserBeforeCreateEventHandler } from "webiny/api/security/user";
-
-class MyHandler implements UserBeforeCreateEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: UserBeforeCreateEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default UserBeforeCreateEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `UserBeforeDeleteEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/security/user`
@@ -515,25 +325,6 @@ namespace UserBeforeDeleteEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { UserBeforeDeleteEventHandler } from "webiny/api/security/user";
-
-class MyHandler implements UserBeforeDeleteEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: UserBeforeDeleteEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default UserBeforeDeleteEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `UserBeforeUpdateEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/security/user`
@@ -558,22 +349,3 @@ namespace UserBeforeUpdateEventHandler {
type Event = UserBeforeUpdateEvent;
}
```
-
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { UserBeforeUpdateEventHandler } from "webiny/api/security/user";
-
-class MyHandler implements UserBeforeUpdateEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: UserBeforeUpdateEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default UserBeforeUpdateEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
diff --git a/docs/developer-docs/6.x/reference/api/system.mdx b/docs/developer-docs/6.x/reference/api/system.mdx
index 33e85b322..00d6dbb44 100644
--- a/docs/developer-docs/6.x/reference/api/system.mdx
+++ b/docs/developer-docs/6.x/reference/api/system.mdx
@@ -41,6 +41,8 @@ import { InstallSystemUseCase } from "webiny/api/system";
**Interface `InstallSystemUseCase.Interface`:**
+Use Case Abstraction
+
```typescript
interface InstallSystemUseCase.Interface {
execute(
@@ -58,24 +60,14 @@ namespace InstallSystemUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { InstallSystemUseCase } from "webiny/api/system";
+**`Input` — `AppInstallationData[]`:**
-class MyImpl implements MyUseCase.Interface {
- public constructor(private installSystemUseCase: InstallSystemUseCase.Interface) {}
+Types
- public async execute(/* ... */): Promise {
- await this.installSystemUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [InstallSystemUseCase]
-});
-```
+| Field | Type | Required | Description |
+| ------ | --------------------- | -------- | ----------- |
+| `app` | `string` | yes | — |
+| `data` | `Record` | yes | — |
## Event Handlers
@@ -103,22 +95,3 @@ namespace SystemInstalledEventHandler {
type Event = DomainEvent;
}
```
-
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { SystemInstalledEventHandler } from "webiny/api/system";
-
-class MyHandler implements SystemInstalledEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: SystemInstalledEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default SystemInstalledEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
diff --git a/docs/developer-docs/6.x/reference/api/tasks.mdx b/docs/developer-docs/6.x/reference/api/tasks.mdx
index f117da051..74f1f27c4 100644
--- a/docs/developer-docs/6.x/reference/api/tasks.mdx
+++ b/docs/developer-docs/6.x/reference/api/tasks.mdx
@@ -35,6 +35,8 @@ import { TaskDefinition } from "webiny/api/tasks";
**Interface `TaskDefinition.Interface`:**
+Core TaskDefinition - minimal interface
+
```typescript
interface TaskDefinition.Interface {
id: string;
@@ -43,23 +45,36 @@ interface TaskDefinition.Interface {
maxIterations?: number;
databaseLogs?: boolean;
isPrivate?: boolean;
- // Core run method - receives ONLY input params
- // All runtime dependencies (logging, state management, etc.) come from TaskController
run(params: ITaskRunParams): Promise>;
- // Optional lifecycle hooks - receive task data, no context
onBeforeTrigger?(params: ITaskBeforeTriggerParams): Promise;
onDone?(params: ITaskLifecycleHook): Promise;
onError?(params: ITaskLifecycleHook): Promise;
onAbort?(params: ITaskLifecycleHook): Promise;
onMaxIterations?(params: ITaskLifecycleHook): Promise;
- // Create a validation schema for the task input.
- // This will be used to validate the input before the task is triggered.
createInputValidation?(
params: ITaskCreateInputValidationParams
): GenericRecord | zod.Schema;
}
```
+| Method | Description |
+| ----------------------------------------------------------------------------------- | -------------------------------------------------------- |
+| `id: string()` | — |
+| `title: string()` | — |
+| `description?: string()` | — |
+| `maxIterations?: number()` | — |
+| `databaseLogs?: boolean()` | — |
+| `isPrivate?: boolean()` | — |
+| `run()` | Core run method - receives ONLY input params |
+| All runtime dependencies (logging, state management, etc.) come from TaskController |
+| `onBeforeTrigger?()` | Optional lifecycle hooks - receive task data, no context |
+| `onDone?()` | — |
+| `onError?()` | — |
+| `onAbort?()` | — |
+| `onMaxIterations?()` | — |
+| `createInputValidation?()` | Create a validation schema for the task input. |
+| This will be used to validate the input before the task is triggered. |
+
**Types:**
```typescript
@@ -82,25 +97,6 @@ namespace TaskDefinition {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { TaskDefinition } from "webiny/api/tasks";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private taskDefinition: TaskDefinition.Interface) {}
-
- public async execute(/* ... */): Promise {
- this.taskDefinition.id: string(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [TaskDefinition]
-});
-```
-
## `TaskService`
**Abstraction** — imported from `webiny/api/tasks`
@@ -139,22 +135,3 @@ namespace TaskService {
type Task = ITask;
}
```
-
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { TaskService } from "webiny/api/tasks";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private taskService: TaskService.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.taskService.trigger:(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [TaskService]
-});
-```
diff --git a/docs/developer-docs/6.x/reference/api/tenancy.mdx b/docs/developer-docs/6.x/reference/api/tenancy.mdx
index 3057751d7..e1bbda4c3 100644
--- a/docs/developer-docs/6.x/reference/api/tenancy.mdx
+++ b/docs/developer-docs/6.x/reference/api/tenancy.mdx
@@ -69,6 +69,8 @@ import { CreateTenantRepository } from "webiny/api/tenancy";
**Interface `CreateTenantRepository.Interface`:**
+Repository
+
```typescript
interface CreateTenantRepository.Interface {
create(tenant: Tenant): Promise;
@@ -83,25 +85,6 @@ namespace CreateTenantRepository {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { CreateTenantRepository } from "webiny/api/tenancy";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private createTenantRepository: CreateTenantRepository.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.createTenantRepository.create(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [CreateTenantRepository]
-});
-```
-
### `CreateTenantUseCase`
**Use Case Abstraction** — imported from `webiny/api/tenancy`
@@ -112,6 +95,8 @@ import { CreateTenantUseCase } from "webiny/api/tenancy";
**Interface `CreateTenantUseCase.Interface`:**
+Use Case
+
```typescript
interface CreateTenantUseCase.Interface {
execute(
@@ -129,25 +114,6 @@ namespace CreateTenantUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { CreateTenantUseCase } from "webiny/api/tenancy";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private createTenantUseCase: CreateTenantUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.createTenantUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [CreateTenantUseCase]
-});
-```
-
### `DeleteTenantRepository`
**Use Case Abstraction** — imported from `webiny/api/tenancy`
@@ -172,25 +138,6 @@ namespace DeleteTenantRepository {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { DeleteTenantRepository } from "webiny/api/tenancy";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private deleteTenantRepository: DeleteTenantRepository.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.deleteTenantRepository.delete(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [DeleteTenantRepository]
-});
-```
-
### `DeleteTenantUseCase`
**Use Case Abstraction** — imported from `webiny/api/tenancy`
@@ -215,25 +162,6 @@ namespace DeleteTenantUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { DeleteTenantUseCase } from "webiny/api/tenancy";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private deleteTenantUseCase: DeleteTenantUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.deleteTenantUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [DeleteTenantUseCase]
-});
-```
-
### `GetTenantByIdUseCase`
**Use Case Abstraction** — imported from `webiny/api/tenancy`
@@ -260,25 +188,6 @@ namespace GetTenantByIdUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { GetTenantByIdUseCase } from "webiny/api/tenancy";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private getTenantByIdUseCase: GetTenantByIdUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.getTenantByIdUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [GetTenantByIdUseCase]
-});
-```
-
### `InstallTenantUseCase`
**Use Case Abstraction** — imported from `webiny/api/tenancy`
@@ -289,6 +198,8 @@ import { InstallTenantUseCase } from "webiny/api/tenancy";
**Interface `InstallTenantUseCase.Interface`:**
+Use Case Abstraction
+
```typescript
interface InstallTenantUseCase.Interface {
execute(
@@ -307,25 +218,6 @@ namespace InstallTenantUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { InstallTenantUseCase } from "webiny/api/tenancy";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private installTenantUseCase: InstallTenantUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.installTenantUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [InstallTenantUseCase]
-});
-```
-
### `UpdateTenantRepository`
**Use Case Abstraction** — imported from `webiny/api/tenancy`
@@ -350,25 +242,6 @@ namespace UpdateTenantRepository {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { UpdateTenantRepository } from "webiny/api/tenancy";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private updateTenantRepository: UpdateTenantRepository.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.updateTenantRepository.update(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [UpdateTenantRepository]
-});
-```
-
### `UpdateTenantUseCase`
**Use Case Abstraction** — imported from `webiny/api/tenancy`
@@ -393,25 +266,6 @@ namespace UpdateTenantUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { UpdateTenantUseCase } from "webiny/api/tenancy";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private updateTenantUseCase: UpdateTenantUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.updateTenantUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [UpdateTenantUseCase]
-});
-```
-
## Event Handlers
### `TenantAfterCreateEventHandler`
@@ -439,25 +293,6 @@ namespace TenantAfterCreateEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { TenantAfterCreateEventHandler } from "webiny/api/tenancy";
-
-class MyHandler implements TenantAfterCreateEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: TenantAfterCreateEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default TenantAfterCreateEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `TenantAfterDeleteEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/tenancy`
@@ -483,25 +318,6 @@ namespace TenantAfterDeleteEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { TenantAfterDeleteEventHandler } from "webiny/api/tenancy";
-
-class MyHandler implements TenantAfterDeleteEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: TenantAfterDeleteEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default TenantAfterDeleteEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `TenantAfterUpdateEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/tenancy`
@@ -527,25 +343,6 @@ namespace TenantAfterUpdateEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { TenantAfterUpdateEventHandler } from "webiny/api/tenancy";
-
-class MyHandler implements TenantAfterUpdateEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: TenantAfterUpdateEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default TenantAfterUpdateEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `TenantBeforeCreateEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/tenancy`
@@ -571,25 +368,6 @@ namespace TenantBeforeCreateEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { TenantBeforeCreateEventHandler } from "webiny/api/tenancy";
-
-class MyHandler implements TenantBeforeCreateEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: TenantBeforeCreateEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default TenantBeforeCreateEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `TenantBeforeDeleteEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/tenancy`
@@ -615,25 +393,6 @@ namespace TenantBeforeDeleteEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { TenantBeforeDeleteEventHandler } from "webiny/api/tenancy";
-
-class MyHandler implements TenantBeforeDeleteEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: TenantBeforeDeleteEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default TenantBeforeDeleteEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `TenantBeforeUpdateEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/tenancy`
@@ -659,25 +418,6 @@ namespace TenantBeforeUpdateEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { TenantBeforeUpdateEventHandler } from "webiny/api/tenancy";
-
-class MyHandler implements TenantBeforeUpdateEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: TenantBeforeUpdateEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default TenantBeforeUpdateEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
### `TenantInstalledEventHandler`
**Event Handler Abstraction** — imported from `webiny/api/tenancy`
@@ -703,25 +443,6 @@ namespace TenantInstalledEventHandler {
}
```
-**Usage:**
-
-```typescript extensions/MyHandler.ts
-import { TenantInstalledEventHandler } from "webiny/api/tenancy";
-
-class MyHandler implements TenantInstalledEventHandler.Interface {
- public constructor(/* inject dependencies here */) {}
-
- public async handle(event: TenantInstalledEventHandler.Event): Promise {
- // implementation
- }
-}
-
-export default TenantInstalledEventHandler.createImplementation({
- implementation: MyHandler,
- dependencies: []
-});
-```
-
## Services
### `AppInstaller`
@@ -734,20 +455,28 @@ import { AppInstaller } from "webiny/api/tenancy";
**Interface `AppInstaller.Interface`:**
+App Installer Abstraction
+
```typescript
interface AppInstaller.Interface {
readonly alwaysRun?: boolean;
readonly appName: string;
readonly dependsOn: string[];
- // Perform the installation
- // If this succeeds, uninstall() MUST be able to revert it
install(tenant: Tenant, data: TData): Promise;
- // Revert the installation
- // Called if any subsequent installer fails
uninstall(tenant: Tenant): Promise;
}
```
+| Method | Description |
+| ------------------------------------------------------- | ------------------------ |
+| `readonly alwaysRun?: boolean()` | — |
+| `readonly appName: string()` | — |
+| `readonly dependsOn: string[]()` | — |
+| `install()` | Perform the installation |
+| If this succeeds, uninstall() MUST be able to revert it |
+| `uninstall()` | Revert the installation |
+| Called if any subsequent installer fails |
+
**Types:**
```typescript
@@ -756,25 +485,6 @@ namespace AppInstaller {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { AppInstaller } from "webiny/api/tenancy";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private appInstaller: AppInstaller.Interface) {}
-
- public async execute(/* ... */): Promise {
- this.appInstaller.readonly alwaysRun?: boolean(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [AppInstaller]
-});
-```
-
### `TenantContext`
**Abstraction** — imported from `webiny/api/tenancy`
@@ -805,22 +515,3 @@ namespace TenantContext {
type Interface = ITenantContext;
}
```
-
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { TenantContext } from "webiny/api/tenancy";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private tenantContext: TenantContext.Interface) {}
-
- public async execute(/* ... */): Promise {
- this.tenantContext.setTenant(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [TenantContext]
-});
-```
diff --git a/docs/developer-docs/6.x/reference/api/tenant-manager.mdx b/docs/developer-docs/6.x/reference/api/tenant-manager.mdx
index a0a619a12..dbb1acfb5 100644
--- a/docs/developer-docs/6.x/reference/api/tenant-manager.mdx
+++ b/docs/developer-docs/6.x/reference/api/tenant-manager.mdx
@@ -53,25 +53,6 @@ namespace TenantModelExtension {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { TenantModelExtension } from "webiny/api/tenant-manager";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private tenantModelExtension: TenantModelExtension.Interface) {}
-
- public async execute(/* ... */): Promise {
- this.tenantModelExtension.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [TenantModelExtension]
-});
-```
-
## Types & Classes
### `TenantExtensions`
diff --git a/docs/developer-docs/6.x/reference/api/website-builder/nextjs.mdx b/docs/developer-docs/6.x/reference/api/website-builder/nextjs.mdx
index 4286cd219..5a01f6d6b 100644
--- a/docs/developer-docs/6.x/reference/api/website-builder/nextjs.mdx
+++ b/docs/developer-docs/6.x/reference/api/website-builder/nextjs.mdx
@@ -44,22 +44,3 @@ namespace NextjsConfig {
type Return = Promise;
}
```
-
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { NextjsConfig } from "webiny/api/website-builder/nextjs";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private nextjsConfig: NextjsConfig.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.nextjsConfig.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [NextjsConfig]
-});
-```
diff --git a/docs/developer-docs/6.x/reference/api/website-builder/page.mdx b/docs/developer-docs/6.x/reference/api/website-builder/page.mdx
index f78c7cc0b..dfbdd4207 100644
--- a/docs/developer-docs/6.x/reference/api/website-builder/page.mdx
+++ b/docs/developer-docs/6.x/reference/api/website-builder/page.mdx
@@ -97,27 +97,6 @@ namespace CreatePageRevisionFromUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { CreatePageRevisionFromUseCase } from "webiny/api/website-builder/page";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(
- private createPageRevisionFromUseCase: CreatePageRevisionFromUseCase.Interface
- ) {}
-
- public async execute(/* ... */): Promise {
- await this.createPageRevisionFromUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [CreatePageRevisionFromUseCase]
-});
-```
-
### `CreatePageUseCase`
**Use Case Abstraction** — imported from `webiny/api/website-builder/page`
@@ -146,25 +125,6 @@ namespace CreatePageUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { CreatePageUseCase } from "webiny/api/website-builder/page";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private createPageUseCase: CreatePageUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.createPageUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [CreatePageUseCase]
-});
-```
-
### `DeletePageUseCase`
**Use Case Abstraction** — imported from `webiny/api/website-builder/page`
@@ -192,25 +152,6 @@ namespace DeletePageUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { DeletePageUseCase } from "webiny/api/website-builder/page";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private deletePageUseCase: DeletePageUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.deletePageUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [DeletePageUseCase]
-});
-```
-
### `DuplicatePageUseCase`
**Use Case Abstraction** — imported from `webiny/api/website-builder/page`
@@ -239,25 +180,6 @@ namespace DuplicatePageUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { DuplicatePageUseCase } from "webiny/api/website-builder/page";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private duplicatePageUseCase: DuplicatePageUseCase.Interface) {}
-
- public async execute(/* ... */): Promise {
- await this.duplicatePageUseCase.execute(/* ... */);
- }
-}
-
-export default MyUseCase.createImplementation({
- implementation: MyImpl,
- dependencies: [DuplicatePageUseCase]
-});
-```
-
### `GetPageByIdUseCase`
**Use Case Abstraction** — imported from `webiny/api/website-builder/page`
@@ -268,6 +190,8 @@ import { GetPageByIdUseCase } from "webiny/api/website-builder/page";
**Interface `GetPageByIdUseCase.Interface`:**
+GetPageById use case interface
+
```typescript
interface GetPageByIdUseCase.Interface {
execute(id: string): Promise>;
@@ -285,25 +209,6 @@ namespace GetPageByIdUseCase {
}
```
-**Usage:**
-
-```typescript extensions/MyImpl.ts
-import { GetPageByIdUseCase } from "webiny/api/website-builder/page";
-
-class MyImpl implements MyUseCase.Interface {
- public constructor(private getPageByIdUseCase: GetPageByIdUseCase.Interface) {}
-
- public async execute(/* ... */): Promise