@webiny/api-headless-cms 6.4.0-beta.2 → 6.4.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/context.js +2 -0
- package/context.js.map +1 -1
- package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.js +5 -1
- package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.js.map +1 -1
- package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.js +2 -1
- package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.js.map +1 -1
- package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.js +5 -1
- package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.js.map +1 -1
- package/features/contentEntry/entryDataFactories/expiresAt.d.ts +5 -0
- package/features/contentEntry/entryDataFactories/expiresAt.js +9 -0
- package/features/contentEntry/entryDataFactories/expiresAt.js.map +1 -0
- package/features/modelBuilder/fields/TextFieldType.d.ts +11 -1
- package/features/modelBuilder/fields/TextFieldType.js +20 -2
- package/features/modelBuilder/fields/TextFieldType.js.map +1 -1
- package/features/modelBuilder/index.d.ts +1 -0
- package/features/modelBuilder/index.js +2 -2
- package/features/storage/feature.js +2 -0
- package/features/storage/feature.js.map +1 -1
- package/features/storage/fields/CompressedTextStorageTransform.d.ts +2 -1
- package/features/storage/fields/CompressedTextStorageTransform.js +2 -1
- package/features/storage/fields/CompressedTextStorageTransform.js.map +1 -1
- package/features/storage/fields/EncryptedTextStorageTransform.d.ts +14 -0
- package/features/storage/fields/EncryptedTextStorageTransform.js +36 -0
- package/features/storage/fields/EncryptedTextStorageTransform.js.map +1 -0
- package/features/webhooks/CmsWebhookFactory.d.ts +11 -0
- package/features/webhooks/CmsWebhookFactory.js +44 -0
- package/features/webhooks/CmsWebhookFactory.js.map +1 -0
- package/features/webhooks/feature.d.ts +4 -0
- package/features/webhooks/feature.js +25 -0
- package/features/webhooks/feature.js.map +1 -0
- package/features/webhooks/handlers/OnEntryCreatedHandler.d.ts +11 -0
- package/features/webhooks/handlers/OnEntryCreatedHandler.js +22 -0
- package/features/webhooks/handlers/OnEntryCreatedHandler.js.map +1 -0
- package/features/webhooks/handlers/OnEntryDeletedHandler.d.ts +11 -0
- package/features/webhooks/handlers/OnEntryDeletedHandler.js +23 -0
- package/features/webhooks/handlers/OnEntryDeletedHandler.js.map +1 -0
- package/features/webhooks/handlers/OnEntryPublishedHandler.d.ts +11 -0
- package/features/webhooks/handlers/OnEntryPublishedHandler.js +22 -0
- package/features/webhooks/handlers/OnEntryPublishedHandler.js.map +1 -0
- package/features/webhooks/handlers/OnEntryRestoredHandler.d.ts +11 -0
- package/features/webhooks/handlers/OnEntryRestoredHandler.js +22 -0
- package/features/webhooks/handlers/OnEntryRestoredHandler.js.map +1 -0
- package/features/webhooks/handlers/OnEntryTrashedHandler.d.ts +11 -0
- package/features/webhooks/handlers/OnEntryTrashedHandler.js +23 -0
- package/features/webhooks/handlers/OnEntryTrashedHandler.js.map +1 -0
- package/features/webhooks/handlers/OnEntryUnpublishedHandler.d.ts +11 -0
- package/features/webhooks/handlers/OnEntryUnpublishedHandler.js +22 -0
- package/features/webhooks/handlers/OnEntryUnpublishedHandler.js.map +1 -0
- package/features/webhooks/handlers/OnEntryUpdatedHandler.d.ts +11 -0
- package/features/webhooks/handlers/OnEntryUpdatedHandler.js +23 -0
- package/features/webhooks/handlers/OnEntryUpdatedHandler.js.map +1 -0
- package/graphql/schema/createSingularSDL.js +2 -0
- package/graphql/schema/createSingularSDL.js.map +1 -1
- package/package.json +27 -25
- package/types/types.d.ts +6 -0
- package/types/types.js.map +1 -1
- package/utils/entryStorage.js +6 -6
- package/utils/entryStorage.js.map +1 -1
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { StorageTransform } from "../abstractions/StorageTransform.js";
|
|
2
|
+
import { Encryption } from "@webiny/api-core/features/encryption/index.js";
|
|
3
|
+
import { TextFieldTypes } from "../../modelBuilder/index.js";
|
|
4
|
+
class EncryptedTextStorageTransformImpl {
|
|
5
|
+
constructor(encryption){
|
|
6
|
+
this.encryption = encryption;
|
|
7
|
+
this.fieldType = TextFieldTypes.ENCRYPTED;
|
|
8
|
+
}
|
|
9
|
+
async fromStorage(params) {
|
|
10
|
+
const { value } = params;
|
|
11
|
+
if (!value || "string" != typeof value || 0 === value.length) return value;
|
|
12
|
+
try {
|
|
13
|
+
return await this.encryption.decrypt(value);
|
|
14
|
+
} catch {
|
|
15
|
+
return value;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
async toStorage(params) {
|
|
19
|
+
const { value } = params;
|
|
20
|
+
if (!value || "string" != typeof value || 0 === value.length) return value;
|
|
21
|
+
try {
|
|
22
|
+
return await this.encryption.encrypt(value);
|
|
23
|
+
} catch {
|
|
24
|
+
return value;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
const EncryptedTextStorageTransform = StorageTransform.createImplementation({
|
|
29
|
+
implementation: EncryptedTextStorageTransformImpl,
|
|
30
|
+
dependencies: [
|
|
31
|
+
Encryption
|
|
32
|
+
]
|
|
33
|
+
});
|
|
34
|
+
export { EncryptedTextStorageTransform };
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=EncryptedTextStorageTransform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/storage/fields/EncryptedTextStorageTransform.js","sources":["../../../../src/features/storage/fields/EncryptedTextStorageTransform.ts"],"sourcesContent":["import { StorageTransform } from \"../abstractions/StorageTransform.js\";\nimport { Encryption } from \"@webiny/api-core/features/encryption/index.js\";\nimport { TextFieldTypes } from \"~/features/modelBuilder/index.js\";\n\nclass EncryptedTextStorageTransformImpl implements StorageTransform.Interface<string, string> {\n public readonly fieldType = TextFieldTypes.ENCRYPTED;\n\n public constructor(private readonly encryption: Encryption.Interface) {}\n\n public async fromStorage(\n params: StorageTransform.FromStorageParams<unknown, string>\n ): StorageTransform.FromStorageResponse<string> {\n const { value } = params;\n if (!value || typeof value !== \"string\" || value.length === 0) {\n return value as string;\n }\n try {\n return await this.encryption.decrypt(value);\n } catch {\n return value;\n }\n }\n\n public async toStorage(\n params: StorageTransform.ToStorageParams<unknown, string>\n ): StorageTransform.ToStorageResponse<string> {\n const { value } = params;\n if (!value || typeof value !== \"string\" || value.length === 0) {\n return value as string;\n }\n\n try {\n return await this.encryption.encrypt(value);\n } catch {\n return value;\n }\n }\n}\n\nexport const EncryptedTextStorageTransform = StorageTransform.createImplementation({\n implementation: EncryptedTextStorageTransformImpl,\n dependencies: [Encryption]\n});\n"],"names":["EncryptedTextStorageTransformImpl","encryption","TextFieldTypes","params","value","EncryptedTextStorageTransform","StorageTransform","Encryption"],"mappings":";;;AAIA,MAAMA;IAGF,YAAoCC,UAAgC,CAAE;aAAlCA,UAAU,GAAVA;aAFpB,SAAS,GAAGC,eAAe,SAAS;IAEmB;IAEvE,MAAa,YACTC,MAA2D,EACf;QAC5C,MAAM,EAAEC,KAAK,EAAE,GAAGD;QAClB,IAAI,CAACC,SAAS,AAAiB,YAAjB,OAAOA,SAAsBA,AAAiB,MAAjBA,MAAM,MAAM,EACnD,OAAOA;QAEX,IAAI;YACA,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACA;QACzC,EAAE,OAAM;YACJ,OAAOA;QACX;IACJ;IAEA,MAAa,UACTD,MAAyD,EACf;QAC1C,MAAM,EAAEC,KAAK,EAAE,GAAGD;QAClB,IAAI,CAACC,SAAS,AAAiB,YAAjB,OAAOA,SAAsBA,AAAiB,MAAjBA,MAAM,MAAM,EACnD,OAAOA;QAGX,IAAI;YACA,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACA;QACzC,EAAE,OAAM;YACJ,OAAOA;QACX;IACJ;AACJ;AAEO,MAAMC,gCAAgCC,iBAAiB,oBAAoB,CAAC;IAC/E,gBAAgBN;IAChB,cAAc;QAACO;KAAW;AAC9B"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { WebhookFactory as WebhookFactoryAbstraction } from "@webiny/api-core/features/webhooks/index.js";
|
|
2
|
+
import { ListModelsUseCase } from "../../features/contentModel/ListModels/abstractions.js";
|
|
3
|
+
declare class CmsWebhookFactoryImpl implements WebhookFactoryAbstraction.Interface {
|
|
4
|
+
private listModels;
|
|
5
|
+
constructor(listModels: ListModelsUseCase.Interface);
|
|
6
|
+
execute(): Promise<WebhookFactoryAbstraction.Definition[]>;
|
|
7
|
+
}
|
|
8
|
+
export declare const CmsWebhookFactory: typeof CmsWebhookFactoryImpl & {
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/webhooks/Webhook/abstractions/WebhookFactory").IWebhookFactory>;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { WebhookFactory } from "@webiny/api-core/features/webhooks/index.js";
|
|
2
|
+
import { ListModelsUseCase } from "../contentModel/ListModels/abstractions.js";
|
|
3
|
+
const ACTIONS = [
|
|
4
|
+
"created",
|
|
5
|
+
"updated",
|
|
6
|
+
"deleted",
|
|
7
|
+
"published",
|
|
8
|
+
"unpublished",
|
|
9
|
+
"trashed",
|
|
10
|
+
"restored"
|
|
11
|
+
];
|
|
12
|
+
class CmsWebhookFactoryImpl {
|
|
13
|
+
constructor(listModels){
|
|
14
|
+
this.listModels = listModels;
|
|
15
|
+
}
|
|
16
|
+
async execute() {
|
|
17
|
+
const result = await this.listModels.execute({
|
|
18
|
+
includePrivate: false,
|
|
19
|
+
includePlugins: true
|
|
20
|
+
});
|
|
21
|
+
if (result.isFail()) return [];
|
|
22
|
+
return result.value.reduce((events, model)=>{
|
|
23
|
+
if (model.tags?.includes("$hidden:true")) return events;
|
|
24
|
+
for (const action of ACTIONS)events.push({
|
|
25
|
+
app: "cms",
|
|
26
|
+
appLabel: "Headless CMS",
|
|
27
|
+
entity: model.modelId,
|
|
28
|
+
entityLabel: model.name,
|
|
29
|
+
eventName: `cms.entry.${model.modelId}.${action}`,
|
|
30
|
+
label: `Entry ${action.charAt(0).toUpperCase() + action.slice(1)}`
|
|
31
|
+
});
|
|
32
|
+
return events;
|
|
33
|
+
}, []);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
const CmsWebhookFactory = WebhookFactory.createImplementation({
|
|
37
|
+
implementation: CmsWebhookFactoryImpl,
|
|
38
|
+
dependencies: [
|
|
39
|
+
ListModelsUseCase
|
|
40
|
+
]
|
|
41
|
+
});
|
|
42
|
+
export { CmsWebhookFactory };
|
|
43
|
+
|
|
44
|
+
//# sourceMappingURL=CmsWebhookFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/webhooks/CmsWebhookFactory.js","sources":["../../../src/features/webhooks/CmsWebhookFactory.ts"],"sourcesContent":["import { WebhookFactory as WebhookFactoryAbstraction } from \"@webiny/api-core/features/webhooks/index.js\";\nimport { ListModelsUseCase } from \"~/features/contentModel/ListModels/abstractions.js\";\n\nconst ACTIONS = [\n \"created\",\n \"updated\",\n \"deleted\",\n \"published\",\n \"unpublished\",\n \"trashed\",\n \"restored\"\n] as const;\n\nclass CmsWebhookFactoryImpl implements WebhookFactoryAbstraction.Interface {\n constructor(private listModels: ListModelsUseCase.Interface) {}\n\n public async execute(): Promise<WebhookFactoryAbstraction.Definition[]> {\n const result = await this.listModels.execute({\n includePrivate: false,\n includePlugins: true\n });\n if (result.isFail()) {\n return [];\n }\n\n return result.value.reduce<WebhookFactoryAbstraction.Definition[]>((events, model) => {\n if (model.tags?.includes(\"$hidden:true\")) {\n return events;\n }\n\n for (const action of ACTIONS) {\n events.push({\n app: \"cms\",\n appLabel: \"Headless CMS\",\n entity: model.modelId,\n entityLabel: model.name,\n eventName: `cms.entry.${model.modelId}.${action}`,\n label: `Entry ${action.charAt(0).toUpperCase() + action.slice(1)}`\n });\n }\n return events;\n }, []);\n }\n}\n\nexport const CmsWebhookFactory = WebhookFactoryAbstraction.createImplementation({\n implementation: CmsWebhookFactoryImpl,\n dependencies: [ListModelsUseCase]\n});\n"],"names":["ACTIONS","CmsWebhookFactoryImpl","listModels","result","events","model","action","CmsWebhookFactory","WebhookFactoryAbstraction","ListModelsUseCase"],"mappings":";;AAGA,MAAMA,UAAU;IACZ;IACA;IACA;IACA;IACA;IACA;IACA;CACH;AAED,MAAMC;IACF,YAAoBC,UAAuC,CAAE;aAAzCA,UAAU,GAAVA;IAA0C;IAE9D,MAAa,UAA2D;QACpE,MAAMC,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YACzC,gBAAgB;YAChB,gBAAgB;QACpB;QACA,IAAIA,OAAO,MAAM,IACb,OAAO,EAAE;QAGb,OAAOA,OAAO,KAAK,CAAC,MAAM,CAAyC,CAACC,QAAQC;YACxE,IAAIA,MAAM,IAAI,EAAE,SAAS,iBACrB,OAAOD;YAGX,KAAK,MAAME,UAAUN,QACjBI,OAAO,IAAI,CAAC;gBACR,KAAK;gBACL,UAAU;gBACV,QAAQC,MAAM,OAAO;gBACrB,aAAaA,MAAM,IAAI;gBACvB,WAAW,CAAC,UAAU,EAAEA,MAAM,OAAO,CAAC,CAAC,EAAEC,QAAQ;gBACjD,OAAO,CAAC,MAAM,EAAEA,OAAO,MAAM,CAAC,GAAG,WAAW,KAAKA,OAAO,KAAK,CAAC,IAAI;YACtE;YAEJ,OAAOF;QACX,GAAG,EAAE;IACT;AACJ;AAEO,MAAMG,oBAAoBC,eAAAA,oBAA8C,CAAC;IAC5E,gBAAgBP;IAChB,cAAc;QAACQ;KAAkB;AACrC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { CmsWebhookFactory } from "./CmsWebhookFactory.js";
|
|
3
|
+
import { OnEntryCreatedHandler } from "./handlers/OnEntryCreatedHandler.js";
|
|
4
|
+
import { OnEntryUpdatedHandler } from "./handlers/OnEntryUpdatedHandler.js";
|
|
5
|
+
import { OnEntryDeletedHandler } from "./handlers/OnEntryDeletedHandler.js";
|
|
6
|
+
import { OnEntryPublishedHandler } from "./handlers/OnEntryPublishedHandler.js";
|
|
7
|
+
import { OnEntryUnpublishedHandler } from "./handlers/OnEntryUnpublishedHandler.js";
|
|
8
|
+
import { OnEntryTrashedHandler } from "./handlers/OnEntryTrashedHandler.js";
|
|
9
|
+
import { OnEntryRestoredHandler } from "./handlers/OnEntryRestoredHandler.js";
|
|
10
|
+
const CmsWebhooksFeature = createFeature({
|
|
11
|
+
name: "CmsWebhooks",
|
|
12
|
+
register (container) {
|
|
13
|
+
container.register(CmsWebhookFactory).inSingletonScope();
|
|
14
|
+
container.register(OnEntryCreatedHandler);
|
|
15
|
+
container.register(OnEntryUpdatedHandler);
|
|
16
|
+
container.register(OnEntryDeletedHandler);
|
|
17
|
+
container.register(OnEntryPublishedHandler);
|
|
18
|
+
container.register(OnEntryUnpublishedHandler);
|
|
19
|
+
container.register(OnEntryTrashedHandler);
|
|
20
|
+
container.register(OnEntryRestoredHandler);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
export { CmsWebhooksFeature };
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/webhooks/feature.js","sources":["../../../src/features/webhooks/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CmsWebhookFactory } from \"./CmsWebhookFactory.js\";\nimport { OnEntryCreatedHandler } from \"./handlers/OnEntryCreatedHandler.js\";\nimport { OnEntryUpdatedHandler } from \"./handlers/OnEntryUpdatedHandler.js\";\nimport { OnEntryDeletedHandler } from \"./handlers/OnEntryDeletedHandler.js\";\nimport { OnEntryPublishedHandler } from \"./handlers/OnEntryPublishedHandler.js\";\nimport { OnEntryUnpublishedHandler } from \"./handlers/OnEntryUnpublishedHandler.js\";\nimport { OnEntryTrashedHandler } from \"./handlers/OnEntryTrashedHandler.js\";\nimport { OnEntryRestoredHandler } from \"./handlers/OnEntryRestoredHandler.js\";\n\nexport const CmsWebhooksFeature = createFeature({\n name: \"CmsWebhooks\",\n register(container) {\n container.register(CmsWebhookFactory).inSingletonScope();\n container.register(OnEntryCreatedHandler);\n container.register(OnEntryUpdatedHandler);\n container.register(OnEntryDeletedHandler);\n container.register(OnEntryPublishedHandler);\n container.register(OnEntryUnpublishedHandler);\n container.register(OnEntryTrashedHandler);\n container.register(OnEntryRestoredHandler);\n }\n});\n"],"names":["CmsWebhooksFeature","createFeature","container","CmsWebhookFactory","OnEntryCreatedHandler","OnEntryUpdatedHandler","OnEntryDeletedHandler","OnEntryPublishedHandler","OnEntryUnpublishedHandler","OnEntryTrashedHandler","OnEntryRestoredHandler"],"mappings":";;;;;;;;;AAUO,MAAMA,qBAAqBC,cAAc;IAC5C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC,mBAAmB,gBAAgB;QACtDD,UAAU,QAAQ,CAACE;QACnBF,UAAU,QAAQ,CAACG;QACnBH,UAAU,QAAQ,CAACI;QACnBJ,UAAU,QAAQ,CAACK;QACnBL,UAAU,QAAQ,CAACM;QACnBN,UAAU,QAAQ,CAACO;QACnBP,UAAU,QAAQ,CAACQ;IACvB;AACJ"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EntryAfterCreateEventHandler } from "../../../features/contentEntry/CreateEntry/events.js";
|
|
2
|
+
import { WebhookDispatcher } from "@webiny/api-core/features/webhooks/index.js";
|
|
3
|
+
declare class OnEntryCreatedHandlerImpl implements EntryAfterCreateEventHandler.Interface {
|
|
4
|
+
private dispatcher;
|
|
5
|
+
constructor(dispatcher: WebhookDispatcher.Interface);
|
|
6
|
+
handle(event: EntryAfterCreateEventHandler.Event): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
export declare const OnEntryCreatedHandler: typeof OnEntryCreatedHandlerImpl & {
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher").IEventHandler<import("~/features/contentEntry/CreateEntry/events.js").EntryAfterCreateEvent>>;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { EntryAfterCreateEventHandler } from "../../contentEntry/CreateEntry/events.js";
|
|
2
|
+
import { WebhookDispatcher } from "@webiny/api-core/features/webhooks/index.js";
|
|
3
|
+
class OnEntryCreatedHandlerImpl {
|
|
4
|
+
constructor(dispatcher){
|
|
5
|
+
this.dispatcher = dispatcher;
|
|
6
|
+
}
|
|
7
|
+
async handle(event) {
|
|
8
|
+
const { entry, model } = event.payload;
|
|
9
|
+
await this.dispatcher.dispatch(`cms.entry.${model.modelId}.created`, {
|
|
10
|
+
entry
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
const OnEntryCreatedHandler = EntryAfterCreateEventHandler.createImplementation({
|
|
15
|
+
implementation: OnEntryCreatedHandlerImpl,
|
|
16
|
+
dependencies: [
|
|
17
|
+
WebhookDispatcher
|
|
18
|
+
]
|
|
19
|
+
});
|
|
20
|
+
export { OnEntryCreatedHandler };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=OnEntryCreatedHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/webhooks/handlers/OnEntryCreatedHandler.js","sources":["../../../../src/features/webhooks/handlers/OnEntryCreatedHandler.ts"],"sourcesContent":["import { EntryAfterCreateEventHandler } from \"~/features/contentEntry/CreateEntry/events.js\";\nimport { WebhookDispatcher } from \"@webiny/api-core/features/webhooks/index.js\";\n\nclass OnEntryCreatedHandlerImpl implements EntryAfterCreateEventHandler.Interface {\n constructor(private dispatcher: WebhookDispatcher.Interface) {}\n\n async handle(event: EntryAfterCreateEventHandler.Event): Promise<void> {\n const { entry, model } = event.payload;\n await this.dispatcher.dispatch(`cms.entry.${model.modelId}.created`, { entry });\n }\n}\n\nexport const OnEntryCreatedHandler = EntryAfterCreateEventHandler.createImplementation({\n implementation: OnEntryCreatedHandlerImpl,\n dependencies: [WebhookDispatcher]\n});\n"],"names":["OnEntryCreatedHandlerImpl","dispatcher","event","entry","model","OnEntryCreatedHandler","EntryAfterCreateEventHandler","WebhookDispatcher"],"mappings":";;AAGA,MAAMA;IACF,YAAoBC,UAAuC,CAAE;aAAzCA,UAAU,GAAVA;IAA0C;IAE9D,MAAM,OAAOC,KAAyC,EAAiB;QACnE,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGF,MAAM,OAAO;QACtC,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAEE,MAAM,OAAO,CAAC,QAAQ,CAAC,EAAE;YAAED;QAAM;IACjF;AACJ;AAEO,MAAME,wBAAwBC,6BAA6B,oBAAoB,CAAC;IACnF,gBAAgBN;IAChB,cAAc;QAACO;KAAkB;AACrC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EntryAfterDeleteEventHandler } from "../../../features/contentEntry/DeleteEntry/events.js";
|
|
2
|
+
import { WebhookDispatcher } from "@webiny/api-core/features/webhooks/index.js";
|
|
3
|
+
declare class OnEntryDeletedHandlerImpl implements EntryAfterDeleteEventHandler.Interface {
|
|
4
|
+
private readonly dispatcher;
|
|
5
|
+
constructor(dispatcher: WebhookDispatcher.Interface);
|
|
6
|
+
handle(event: EntryAfterDeleteEventHandler.Event): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
export declare const OnEntryDeletedHandler: typeof OnEntryDeletedHandlerImpl & {
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher").IEventHandler<import("~/features/contentEntry/DeleteEntry/events.js").EntryAfterDeleteEvent>>;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { EntryAfterDeleteEventHandler } from "../../contentEntry/DeleteEntry/events.js";
|
|
2
|
+
import { WebhookDispatcher } from "@webiny/api-core/features/webhooks/index.js";
|
|
3
|
+
class OnEntryDeletedHandlerImpl {
|
|
4
|
+
constructor(dispatcher){
|
|
5
|
+
this.dispatcher = dispatcher;
|
|
6
|
+
}
|
|
7
|
+
async handle(event) {
|
|
8
|
+
const { entry, model, permanent } = event.payload;
|
|
9
|
+
if (!permanent) return;
|
|
10
|
+
await this.dispatcher.dispatch(`cms.entry.${model.modelId}.deleted`, {
|
|
11
|
+
entry
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
const OnEntryDeletedHandler = EntryAfterDeleteEventHandler.createImplementation({
|
|
16
|
+
implementation: OnEntryDeletedHandlerImpl,
|
|
17
|
+
dependencies: [
|
|
18
|
+
WebhookDispatcher
|
|
19
|
+
]
|
|
20
|
+
});
|
|
21
|
+
export { OnEntryDeletedHandler };
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=OnEntryDeletedHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/webhooks/handlers/OnEntryDeletedHandler.js","sources":["../../../../src/features/webhooks/handlers/OnEntryDeletedHandler.ts"],"sourcesContent":["import { EntryAfterDeleteEventHandler } from \"~/features/contentEntry/DeleteEntry/events.js\";\nimport { WebhookDispatcher } from \"@webiny/api-core/features/webhooks/index.js\";\n\nclass OnEntryDeletedHandlerImpl implements EntryAfterDeleteEventHandler.Interface {\n constructor(private readonly dispatcher: WebhookDispatcher.Interface) {}\n\n async handle(event: EntryAfterDeleteEventHandler.Event): Promise<void> {\n const { entry, model, permanent } = event.payload;\n if (!permanent) {\n return;\n }\n await this.dispatcher.dispatch(`cms.entry.${model.modelId}.deleted`, { entry });\n }\n}\n\nexport const OnEntryDeletedHandler = EntryAfterDeleteEventHandler.createImplementation({\n implementation: OnEntryDeletedHandlerImpl,\n dependencies: [WebhookDispatcher]\n});\n"],"names":["OnEntryDeletedHandlerImpl","dispatcher","event","entry","model","permanent","OnEntryDeletedHandler","EntryAfterDeleteEventHandler","WebhookDispatcher"],"mappings":";;AAGA,MAAMA;IACF,YAA6BC,UAAuC,CAAE;aAAzCA,UAAU,GAAVA;IAA0C;IAEvE,MAAM,OAAOC,KAAyC,EAAiB;QACnE,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAEC,SAAS,EAAE,GAAGH,MAAM,OAAO;QACjD,IAAI,CAACG,WACD;QAEJ,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAED,MAAM,OAAO,CAAC,QAAQ,CAAC,EAAE;YAAED;QAAM;IACjF;AACJ;AAEO,MAAMG,wBAAwBC,6BAA6B,oBAAoB,CAAC;IACnF,gBAAgBP;IAChB,cAAc;QAACQ;KAAkB;AACrC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EntryAfterPublishEventHandler } from "../../../features/contentEntry/PublishEntry/events.js";
|
|
2
|
+
import { WebhookDispatcher } from "@webiny/api-core/features/webhooks/index.js";
|
|
3
|
+
declare class OnEntryPublishedHandlerImpl implements EntryAfterPublishEventHandler.Interface {
|
|
4
|
+
private dispatcher;
|
|
5
|
+
constructor(dispatcher: WebhookDispatcher.Interface);
|
|
6
|
+
handle(event: EntryAfterPublishEventHandler.Event): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
export declare const OnEntryPublishedHandler: typeof OnEntryPublishedHandlerImpl & {
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher").IEventHandler<import("~/features/contentEntry/PublishEntry/events.js").EntryAfterPublishEvent>>;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { EntryAfterPublishEventHandler } from "../../contentEntry/PublishEntry/events.js";
|
|
2
|
+
import { WebhookDispatcher } from "@webiny/api-core/features/webhooks/index.js";
|
|
3
|
+
class OnEntryPublishedHandlerImpl {
|
|
4
|
+
constructor(dispatcher){
|
|
5
|
+
this.dispatcher = dispatcher;
|
|
6
|
+
}
|
|
7
|
+
async handle(event) {
|
|
8
|
+
const { entry, model } = event.payload;
|
|
9
|
+
await this.dispatcher.dispatch(`cms.entry.${model.modelId}.published`, {
|
|
10
|
+
entry
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
const OnEntryPublishedHandler = EntryAfterPublishEventHandler.createImplementation({
|
|
15
|
+
implementation: OnEntryPublishedHandlerImpl,
|
|
16
|
+
dependencies: [
|
|
17
|
+
WebhookDispatcher
|
|
18
|
+
]
|
|
19
|
+
});
|
|
20
|
+
export { OnEntryPublishedHandler };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=OnEntryPublishedHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/webhooks/handlers/OnEntryPublishedHandler.js","sources":["../../../../src/features/webhooks/handlers/OnEntryPublishedHandler.ts"],"sourcesContent":["import { EntryAfterPublishEventHandler } from \"~/features/contentEntry/PublishEntry/events.js\";\nimport { WebhookDispatcher } from \"@webiny/api-core/features/webhooks/index.js\";\n\nclass OnEntryPublishedHandlerImpl implements EntryAfterPublishEventHandler.Interface {\n constructor(private dispatcher: WebhookDispatcher.Interface) {}\n\n async handle(event: EntryAfterPublishEventHandler.Event): Promise<void> {\n const { entry, model } = event.payload;\n await this.dispatcher.dispatch(`cms.entry.${model.modelId}.published`, { entry });\n }\n}\n\nexport const OnEntryPublishedHandler = EntryAfterPublishEventHandler.createImplementation({\n implementation: OnEntryPublishedHandlerImpl,\n dependencies: [WebhookDispatcher]\n});\n"],"names":["OnEntryPublishedHandlerImpl","dispatcher","event","entry","model","OnEntryPublishedHandler","EntryAfterPublishEventHandler","WebhookDispatcher"],"mappings":";;AAGA,MAAMA;IACF,YAAoBC,UAAuC,CAAE;aAAzCA,UAAU,GAAVA;IAA0C;IAE9D,MAAM,OAAOC,KAA0C,EAAiB;QACpE,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGF,MAAM,OAAO;QACtC,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAEE,MAAM,OAAO,CAAC,UAAU,CAAC,EAAE;YAAED;QAAM;IACnF;AACJ;AAEO,MAAME,0BAA0BC,8BAA8B,oBAAoB,CAAC;IACtF,gBAAgBN;IAChB,cAAc;QAACO;KAAkB;AACrC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EntryAfterRestoreFromBinEventHandler } from "../../../features/contentEntry/RestoreEntryFromBin/events.js";
|
|
2
|
+
import { WebhookDispatcher } from "@webiny/api-core/features/webhooks/index.js";
|
|
3
|
+
declare class OnEntryRestoredHandlerImpl implements EntryAfterRestoreFromBinEventHandler.Interface {
|
|
4
|
+
private readonly dispatcher;
|
|
5
|
+
constructor(dispatcher: WebhookDispatcher.Interface);
|
|
6
|
+
handle(event: EntryAfterRestoreFromBinEventHandler.Event): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
export declare const OnEntryRestoredHandler: typeof OnEntryRestoredHandlerImpl & {
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher").IEventHandler<import("~/features/contentEntry/RestoreEntryFromBin/events.js").EntryAfterRestoreFromBinEvent>>;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { EntryAfterRestoreFromBinEventHandler } from "../../contentEntry/RestoreEntryFromBin/events.js";
|
|
2
|
+
import { WebhookDispatcher } from "@webiny/api-core/features/webhooks/index.js";
|
|
3
|
+
class OnEntryRestoredHandlerImpl {
|
|
4
|
+
constructor(dispatcher){
|
|
5
|
+
this.dispatcher = dispatcher;
|
|
6
|
+
}
|
|
7
|
+
async handle(event) {
|
|
8
|
+
const { entry, model } = event.payload;
|
|
9
|
+
await this.dispatcher.dispatch(`cms.entry.${model.modelId}.restored`, {
|
|
10
|
+
entry
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
const OnEntryRestoredHandler = EntryAfterRestoreFromBinEventHandler.createImplementation({
|
|
15
|
+
implementation: OnEntryRestoredHandlerImpl,
|
|
16
|
+
dependencies: [
|
|
17
|
+
WebhookDispatcher
|
|
18
|
+
]
|
|
19
|
+
});
|
|
20
|
+
export { OnEntryRestoredHandler };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=OnEntryRestoredHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/webhooks/handlers/OnEntryRestoredHandler.js","sources":["../../../../src/features/webhooks/handlers/OnEntryRestoredHandler.ts"],"sourcesContent":["import { EntryAfterRestoreFromBinEventHandler } from \"~/features/contentEntry/RestoreEntryFromBin/events.js\";\nimport { WebhookDispatcher } from \"@webiny/api-core/features/webhooks/index.js\";\n\nclass OnEntryRestoredHandlerImpl implements EntryAfterRestoreFromBinEventHandler.Interface {\n constructor(private readonly dispatcher: WebhookDispatcher.Interface) {}\n\n async handle(event: EntryAfterRestoreFromBinEventHandler.Event): Promise<void> {\n const { entry, model } = event.payload;\n await this.dispatcher.dispatch(`cms.entry.${model.modelId}.restored`, { entry });\n }\n}\n\nexport const OnEntryRestoredHandler = EntryAfterRestoreFromBinEventHandler.createImplementation({\n implementation: OnEntryRestoredHandlerImpl,\n dependencies: [WebhookDispatcher]\n});\n"],"names":["OnEntryRestoredHandlerImpl","dispatcher","event","entry","model","OnEntryRestoredHandler","EntryAfterRestoreFromBinEventHandler","WebhookDispatcher"],"mappings":";;AAGA,MAAMA;IACF,YAA6BC,UAAuC,CAAE;aAAzCA,UAAU,GAAVA;IAA0C;IAEvE,MAAM,OAAOC,KAAiD,EAAiB;QAC3E,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGF,MAAM,OAAO;QACtC,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAEE,MAAM,OAAO,CAAC,SAAS,CAAC,EAAE;YAAED;QAAM;IAClF;AACJ;AAEO,MAAME,yBAAyBC,qCAAqC,oBAAoB,CAAC;IAC5F,gBAAgBN;IAChB,cAAc;QAACO;KAAkB;AACrC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EntryAfterDeleteEventHandler } from "../../../features/contentEntry/DeleteEntry/events.js";
|
|
2
|
+
import { WebhookDispatcher } from "@webiny/api-core/features/webhooks/index.js";
|
|
3
|
+
declare class OnEntryTrashedHandlerImpl implements EntryAfterDeleteEventHandler.Interface {
|
|
4
|
+
private readonly dispatcher;
|
|
5
|
+
constructor(dispatcher: WebhookDispatcher.Interface);
|
|
6
|
+
handle(event: EntryAfterDeleteEventHandler.Event): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
export declare const OnEntryTrashedHandler: typeof OnEntryTrashedHandlerImpl & {
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher").IEventHandler<import("~/features/contentEntry/DeleteEntry/events.js").EntryAfterDeleteEvent>>;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { EntryAfterDeleteEventHandler } from "../../contentEntry/DeleteEntry/events.js";
|
|
2
|
+
import { WebhookDispatcher } from "@webiny/api-core/features/webhooks/index.js";
|
|
3
|
+
class OnEntryTrashedHandlerImpl {
|
|
4
|
+
constructor(dispatcher){
|
|
5
|
+
this.dispatcher = dispatcher;
|
|
6
|
+
}
|
|
7
|
+
async handle(event) {
|
|
8
|
+
const { entry, model, permanent } = event.payload;
|
|
9
|
+
if (permanent) return;
|
|
10
|
+
await this.dispatcher.dispatch(`cms.entry.${model.modelId}.trashed`, {
|
|
11
|
+
entry
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
const OnEntryTrashedHandler = EntryAfterDeleteEventHandler.createImplementation({
|
|
16
|
+
implementation: OnEntryTrashedHandlerImpl,
|
|
17
|
+
dependencies: [
|
|
18
|
+
WebhookDispatcher
|
|
19
|
+
]
|
|
20
|
+
});
|
|
21
|
+
export { OnEntryTrashedHandler };
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=OnEntryTrashedHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/webhooks/handlers/OnEntryTrashedHandler.js","sources":["../../../../src/features/webhooks/handlers/OnEntryTrashedHandler.ts"],"sourcesContent":["import { EntryAfterDeleteEventHandler } from \"~/features/contentEntry/DeleteEntry/events.js\";\nimport { WebhookDispatcher } from \"@webiny/api-core/features/webhooks/index.js\";\n\nclass OnEntryTrashedHandlerImpl implements EntryAfterDeleteEventHandler.Interface {\n constructor(private readonly dispatcher: WebhookDispatcher.Interface) {}\n\n async handle(event: EntryAfterDeleteEventHandler.Event): Promise<void> {\n const { entry, model, permanent } = event.payload;\n if (permanent) {\n return;\n }\n await this.dispatcher.dispatch(`cms.entry.${model.modelId}.trashed`, { entry });\n }\n}\n\nexport const OnEntryTrashedHandler = EntryAfterDeleteEventHandler.createImplementation({\n implementation: OnEntryTrashedHandlerImpl,\n dependencies: [WebhookDispatcher]\n});\n"],"names":["OnEntryTrashedHandlerImpl","dispatcher","event","entry","model","permanent","OnEntryTrashedHandler","EntryAfterDeleteEventHandler","WebhookDispatcher"],"mappings":";;AAGA,MAAMA;IACF,YAA6BC,UAAuC,CAAE;aAAzCA,UAAU,GAAVA;IAA0C;IAEvE,MAAM,OAAOC,KAAyC,EAAiB;QACnE,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAEC,SAAS,EAAE,GAAGH,MAAM,OAAO;QACjD,IAAIG,WACA;QAEJ,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAED,MAAM,OAAO,CAAC,QAAQ,CAAC,EAAE;YAAED;QAAM;IACjF;AACJ;AAEO,MAAMG,wBAAwBC,6BAA6B,oBAAoB,CAAC;IACnF,gBAAgBP;IAChB,cAAc;QAACQ;KAAkB;AACrC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EntryAfterUnpublishEventHandler } from "../../../features/contentEntry/UnpublishEntry/events.js";
|
|
2
|
+
import { WebhookDispatcher } from "@webiny/api-core/features/webhooks/index.js";
|
|
3
|
+
declare class OnEntryUnpublishedHandlerImpl implements EntryAfterUnpublishEventHandler.Interface {
|
|
4
|
+
private dispatcher;
|
|
5
|
+
constructor(dispatcher: WebhookDispatcher.Interface);
|
|
6
|
+
handle(event: EntryAfterUnpublishEventHandler.Event): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
export declare const OnEntryUnpublishedHandler: typeof OnEntryUnpublishedHandlerImpl & {
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher").IEventHandler<import("~/features/contentEntry/UnpublishEntry/events.js").EntryAfterUnpublishEvent>>;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { EntryAfterUnpublishEventHandler } from "../../contentEntry/UnpublishEntry/events.js";
|
|
2
|
+
import { WebhookDispatcher } from "@webiny/api-core/features/webhooks/index.js";
|
|
3
|
+
class OnEntryUnpublishedHandlerImpl {
|
|
4
|
+
constructor(dispatcher){
|
|
5
|
+
this.dispatcher = dispatcher;
|
|
6
|
+
}
|
|
7
|
+
async handle(event) {
|
|
8
|
+
const { entry, model } = event.payload;
|
|
9
|
+
await this.dispatcher.dispatch(`cms.entry.${model.modelId}.unpublished`, {
|
|
10
|
+
entry
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
const OnEntryUnpublishedHandler = EntryAfterUnpublishEventHandler.createImplementation({
|
|
15
|
+
implementation: OnEntryUnpublishedHandlerImpl,
|
|
16
|
+
dependencies: [
|
|
17
|
+
WebhookDispatcher
|
|
18
|
+
]
|
|
19
|
+
});
|
|
20
|
+
export { OnEntryUnpublishedHandler };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=OnEntryUnpublishedHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/webhooks/handlers/OnEntryUnpublishedHandler.js","sources":["../../../../src/features/webhooks/handlers/OnEntryUnpublishedHandler.ts"],"sourcesContent":["import { EntryAfterUnpublishEventHandler } from \"~/features/contentEntry/UnpublishEntry/events.js\";\nimport { WebhookDispatcher } from \"@webiny/api-core/features/webhooks/index.js\";\n\nclass OnEntryUnpublishedHandlerImpl implements EntryAfterUnpublishEventHandler.Interface {\n constructor(private dispatcher: WebhookDispatcher.Interface) {}\n\n async handle(event: EntryAfterUnpublishEventHandler.Event): Promise<void> {\n const { entry, model } = event.payload;\n await this.dispatcher.dispatch(`cms.entry.${model.modelId}.unpublished`, { entry });\n }\n}\n\nexport const OnEntryUnpublishedHandler = EntryAfterUnpublishEventHandler.createImplementation({\n implementation: OnEntryUnpublishedHandlerImpl,\n dependencies: [WebhookDispatcher]\n});\n"],"names":["OnEntryUnpublishedHandlerImpl","dispatcher","event","entry","model","OnEntryUnpublishedHandler","EntryAfterUnpublishEventHandler","WebhookDispatcher"],"mappings":";;AAGA,MAAMA;IACF,YAAoBC,UAAuC,CAAE;aAAzCA,UAAU,GAAVA;IAA0C;IAE9D,MAAM,OAAOC,KAA4C,EAAiB;QACtE,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGF,MAAM,OAAO;QACtC,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAEE,MAAM,OAAO,CAAC,YAAY,CAAC,EAAE;YAAED;QAAM;IACrF;AACJ;AAEO,MAAME,4BAA4BC,gCAAgC,oBAAoB,CAAC;IAC1F,gBAAgBN;IAChB,cAAc;QAACO;KAAkB;AACrC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EntryAfterUpdateEventHandler } from "../../../features/contentEntry/UpdateEntry/events.js";
|
|
2
|
+
import { WebhookDispatcher } from "@webiny/api-core/features/webhooks/index.js";
|
|
3
|
+
declare class OnEntryUpdatedHandlerImpl implements EntryAfterUpdateEventHandler.Interface {
|
|
4
|
+
private dispatcher;
|
|
5
|
+
constructor(dispatcher: WebhookDispatcher.Interface);
|
|
6
|
+
handle(event: EntryAfterUpdateEventHandler.Event): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
export declare const OnEntryUpdatedHandler: typeof OnEntryUpdatedHandlerImpl & {
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher").IEventHandler<import("~/features/contentEntry/UpdateEntry/events.js").EntryAfterUpdateEvent>>;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { EntryAfterUpdateEventHandler } from "../../contentEntry/UpdateEntry/events.js";
|
|
2
|
+
import { WebhookDispatcher } from "@webiny/api-core/features/webhooks/index.js";
|
|
3
|
+
class OnEntryUpdatedHandlerImpl {
|
|
4
|
+
constructor(dispatcher){
|
|
5
|
+
this.dispatcher = dispatcher;
|
|
6
|
+
}
|
|
7
|
+
async handle(event) {
|
|
8
|
+
const { entry, model, original } = event.payload;
|
|
9
|
+
await this.dispatcher.dispatch(`cms.entry.${model.modelId}.updated`, {
|
|
10
|
+
entry,
|
|
11
|
+
original
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
const OnEntryUpdatedHandler = EntryAfterUpdateEventHandler.createImplementation({
|
|
16
|
+
implementation: OnEntryUpdatedHandlerImpl,
|
|
17
|
+
dependencies: [
|
|
18
|
+
WebhookDispatcher
|
|
19
|
+
]
|
|
20
|
+
});
|
|
21
|
+
export { OnEntryUpdatedHandler };
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=OnEntryUpdatedHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/webhooks/handlers/OnEntryUpdatedHandler.js","sources":["../../../../src/features/webhooks/handlers/OnEntryUpdatedHandler.ts"],"sourcesContent":["import { EntryAfterUpdateEventHandler } from \"~/features/contentEntry/UpdateEntry/events.js\";\nimport { WebhookDispatcher } from \"@webiny/api-core/features/webhooks/index.js\";\n\nclass OnEntryUpdatedHandlerImpl implements EntryAfterUpdateEventHandler.Interface {\n constructor(private dispatcher: WebhookDispatcher.Interface) {}\n\n async handle(event: EntryAfterUpdateEventHandler.Event): Promise<void> {\n const { entry, model, original } = event.payload;\n await this.dispatcher.dispatch(`cms.entry.${model.modelId}.updated`, { entry, original });\n }\n}\n\nexport const OnEntryUpdatedHandler = EntryAfterUpdateEventHandler.createImplementation({\n implementation: OnEntryUpdatedHandlerImpl,\n dependencies: [WebhookDispatcher]\n});\n"],"names":["OnEntryUpdatedHandlerImpl","dispatcher","event","entry","model","original","OnEntryUpdatedHandler","EntryAfterUpdateEventHandler","WebhookDispatcher"],"mappings":";;AAGA,MAAMA;IACF,YAAoBC,UAAuC,CAAE;aAAzCA,UAAU,GAAVA;IAA0C;IAE9D,MAAM,OAAOC,KAAyC,EAAiB;QACnE,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAEC,QAAQ,EAAE,GAAGH,MAAM,OAAO;QAChD,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAEE,MAAM,OAAO,CAAC,QAAQ,CAAC,EAAE;YAAED;YAAOE;QAAS;IAC3F;AACJ;AAEO,MAAMC,wBAAwBC,6BAA6B,oBAAoB,CAAC;IACnF,gBAAgBP;IAChB,cAAc;QAACQ;KAAkB;AACrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql/schema/createSingularSDL.js","sources":["../../../src/graphql/schema/createSingularSDL.ts"],"sourcesContent":["import type { ApiEndpoint, CmsModel } from \"~/types/index.js\";\nimport { renderInputFields } from \"~/utils/renderInputFields.js\";\nimport { renderFields } from \"~/utils/renderFields.js\";\nimport { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from \"~/constants.js\";\nimport type { CmsModelFieldToGraphQLRegistry } from \"~/features/graphql/index.js\";\n\ninterface CreateSingularSDLParams {\n models: CmsModel[];\n model: CmsModel;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n type: ApiEndpoint;\n}\n\ninterface CreateSingularSDL {\n (params: CreateSingularSDLParams): string;\n}\n\nexport const createSingularSDL: CreateSingularSDL = ({\n models,\n model,\n fieldRegistry,\n type\n}): string => {\n const inputFields = renderInputFields({\n models,\n model,\n fields: model.fields,\n fieldRegistry\n });\n if (inputFields.length === 0) {\n return \"\";\n }\n\n const fields = renderFields({\n models,\n model,\n fields: model.fields,\n type,\n fieldRegistry\n });\n\n const { singularApiName: singularName } = model;\n\n const inputGqlFields = inputFields.map(f => f.fields).join(\"\\n\");\n\n const onByMetaInputGqlFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentityInput\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n const onByMetaGqlFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentity\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n // Had to remove /* GraphQL */ because it causes issues with oxfmt formatting.\n const read = `\n \"\"\"${model.description || singularName}\"\"\"\n \n type ${singularName}Values {\n ${fields.map(f => f.fields).join(\"\\n\") || \"_empty: String\"}\n }\n \n type ${singularName} {\n id: ID!\n entryId: String!\n \n ${onByMetaGqlFields}\n values: ${singularName}Values\n live: CmsEntryLive\n }\n\n ${fields.map(f => f.typeDefs).join(\"\\n\")}\n \n input ${singularName}ListWhereInput {\n id: String\n }\n\n type ${singularName}Response {\n data: ${singularName}\n error: CmsError\n }\n \n extend type Query {\n get${singularName}: ${singularName}Response\n }\n\n `;\n if (type !== \"manage\") {\n return read;\n }\n return `\n ${read}\n \n ${inputFields.map(f => f.typeDefs).join(\"\\n\")}\n \n input ${singularName}InputValues {\n ${inputGqlFields || \"_empty: String\"}\n }\n \n input ${singularName}Input {\n ${onByMetaInputGqlFields}\n values: ${singularName}InputValues!\n }\n \n extend type Mutation {\n update${singularName}(data: ${singularName}Input!, options: UpdateCmsEntryOptionsInput): ${singularName}Response\n }\n `;\n};\n"],"names":["createSingularSDL","models","model","fieldRegistry","type","inputFields","renderInputFields","fields","renderFields","singularName","inputGqlFields","f","onByMetaInputGqlFields","ENTRY_META_FIELDS","field","fieldType","isDateTimeEntryMetaField","onByMetaGqlFields","read"],"mappings":";;;AAiBO,MAAMA,oBAAuC,CAAC,EACjDC,MAAM,EACNC,KAAK,EACLC,aAAa,EACbC,IAAI,EACP;IACG,MAAMC,cAAcC,kBAAkB;QAClCL;QACAC;QACA,QAAQA,MAAM,MAAM;QACpBC;IACJ;IACA,IAAIE,AAAuB,MAAvBA,YAAY,MAAM,EAClB,OAAO;IAGX,MAAME,SAASC,aAAa;QACxBP;QACAC;QACA,QAAQA,MAAM,MAAM;QACpBE;QACAD;IACJ;IAEA,MAAM,EAAE,iBAAiBM,YAAY,EAAE,GAAGP;IAE1C,MAAMQ,iBAAiBL,YAAY,GAAG,CAACM,CAAAA,IAAKA,EAAE,MAAM,EAAE,IAAI,CAAC;IAE3D,MAAMC,yBAAyBC,kBAAkB,GAAG,CAACC,CAAAA;QACjD,MAAMC,YAAYC,yBAAyBF,SAAS,aAAa;QAEjE,OAAO,GAAGA,MAAM,EAAE,EAAEC,WAAW;IACnC,GAAG,IAAI,CAAC;IAER,MAAME,oBAAoBJ,kBAAkB,GAAG,CAACC,CAAAA;QAC5C,MAAMC,YAAYC,yBAAyBF,SAAS,aAAa;QAEjE,OAAO,GAAGA,MAAM,EAAE,EAAEC,WAAW;IACnC,GAAG,IAAI,CAAC;IAGR,MAAMG,OAAO,CAAC;WACP,EAAEhB,MAAM,WAAW,IAAIO,aAAa;;aAElC,EAAEA,aAAa;YAChB,EAAEF,OAAO,GAAG,CAACI,CAAAA,IAAKA,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,iBAAiB;;;aAG1D,EAAEF,aAAa;;;;YAIhB,EAAEQ,kBAAkB;oBACZ,EAAER,aAAa
|
|
1
|
+
{"version":3,"file":"graphql/schema/createSingularSDL.js","sources":["../../../src/graphql/schema/createSingularSDL.ts"],"sourcesContent":["import type { ApiEndpoint, CmsModel } from \"~/types/index.js\";\nimport { renderInputFields } from \"~/utils/renderInputFields.js\";\nimport { renderFields } from \"~/utils/renderFields.js\";\nimport { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from \"~/constants.js\";\nimport type { CmsModelFieldToGraphQLRegistry } from \"~/features/graphql/index.js\";\n\ninterface CreateSingularSDLParams {\n models: CmsModel[];\n model: CmsModel;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n type: ApiEndpoint;\n}\n\ninterface CreateSingularSDL {\n (params: CreateSingularSDLParams): string;\n}\n\nexport const createSingularSDL: CreateSingularSDL = ({\n models,\n model,\n fieldRegistry,\n type\n}): string => {\n const inputFields = renderInputFields({\n models,\n model,\n fields: model.fields,\n fieldRegistry\n });\n if (inputFields.length === 0) {\n return \"\";\n }\n\n const fields = renderFields({\n models,\n model,\n fields: model.fields,\n type,\n fieldRegistry\n });\n\n const { singularApiName: singularName } = model;\n\n const inputGqlFields = inputFields.map(f => f.fields).join(\"\\n\");\n\n const onByMetaInputGqlFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentityInput\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n const onByMetaGqlFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentity\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n // Had to remove /* GraphQL */ because it causes issues with oxfmt formatting.\n const read = `\n \"\"\"${model.description || singularName}\"\"\"\n \n type ${singularName}Values {\n ${fields.map(f => f.fields).join(\"\\n\") || \"_empty: String\"}\n }\n \n type ${singularName} {\n id: ID!\n entryId: String!\n \n ${onByMetaGqlFields}\n values: ${singularName}Values\n live: CmsEntryLive\n \n revisionDescription: String\n }\n\n ${fields.map(f => f.typeDefs).join(\"\\n\")}\n \n input ${singularName}ListWhereInput {\n id: String\n }\n\n type ${singularName}Response {\n data: ${singularName}\n error: CmsError\n }\n \n extend type Query {\n get${singularName}: ${singularName}Response\n }\n\n `;\n if (type !== \"manage\") {\n return read;\n }\n return `\n ${read}\n \n ${inputFields.map(f => f.typeDefs).join(\"\\n\")}\n \n input ${singularName}InputValues {\n ${inputGqlFields || \"_empty: String\"}\n }\n \n input ${singularName}Input {\n ${onByMetaInputGqlFields}\n values: ${singularName}InputValues!\n }\n \n extend type Mutation {\n update${singularName}(data: ${singularName}Input!, options: UpdateCmsEntryOptionsInput): ${singularName}Response\n }\n `;\n};\n"],"names":["createSingularSDL","models","model","fieldRegistry","type","inputFields","renderInputFields","fields","renderFields","singularName","inputGqlFields","f","onByMetaInputGqlFields","ENTRY_META_FIELDS","field","fieldType","isDateTimeEntryMetaField","onByMetaGqlFields","read"],"mappings":";;;AAiBO,MAAMA,oBAAuC,CAAC,EACjDC,MAAM,EACNC,KAAK,EACLC,aAAa,EACbC,IAAI,EACP;IACG,MAAMC,cAAcC,kBAAkB;QAClCL;QACAC;QACA,QAAQA,MAAM,MAAM;QACpBC;IACJ;IACA,IAAIE,AAAuB,MAAvBA,YAAY,MAAM,EAClB,OAAO;IAGX,MAAME,SAASC,aAAa;QACxBP;QACAC;QACA,QAAQA,MAAM,MAAM;QACpBE;QACAD;IACJ;IAEA,MAAM,EAAE,iBAAiBM,YAAY,EAAE,GAAGP;IAE1C,MAAMQ,iBAAiBL,YAAY,GAAG,CAACM,CAAAA,IAAKA,EAAE,MAAM,EAAE,IAAI,CAAC;IAE3D,MAAMC,yBAAyBC,kBAAkB,GAAG,CAACC,CAAAA;QACjD,MAAMC,YAAYC,yBAAyBF,SAAS,aAAa;QAEjE,OAAO,GAAGA,MAAM,EAAE,EAAEC,WAAW;IACnC,GAAG,IAAI,CAAC;IAER,MAAME,oBAAoBJ,kBAAkB,GAAG,CAACC,CAAAA;QAC5C,MAAMC,YAAYC,yBAAyBF,SAAS,aAAa;QAEjE,OAAO,GAAGA,MAAM,EAAE,EAAEC,WAAW;IACnC,GAAG,IAAI,CAAC;IAGR,MAAMG,OAAO,CAAC;WACP,EAAEhB,MAAM,WAAW,IAAIO,aAAa;;aAElC,EAAEA,aAAa;YAChB,EAAEF,OAAO,GAAG,CAACI,CAAAA,IAAKA,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,iBAAiB;;;aAG1D,EAAEF,aAAa;;;;YAIhB,EAAEQ,kBAAkB;oBACZ,EAAER,aAAa;;;;;;QAM3B,EAAEF,OAAO,GAAG,CAACI,CAAAA,IAAKA,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM;;cAEnC,EAAEF,aAAa;;;;aAIhB,EAAEA,aAAa;kBACV,EAAEA,aAAa;;;;;eAKlB,EAAEA,aAAa,EAAE,EAAEA,aAAa;;;IAG3C,CAAC;IACD,IAAIL,AAAS,aAATA,MACA,OAAOc;IAEX,OAAO,CAAC;QACJ,EAAEA,KAAK;;QAEP,EAAEb,YAAY,GAAG,CAACM,CAAAA,IAAKA,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM;;cAExC,EAAEF,aAAa;YACjB,EAAEC,kBAAkB,iBAAiB;;;cAGnC,EAAED,aAAa;YACjB,EAAEG,uBAAuB;oBACjB,EAAEH,aAAa;;;;kBAIjB,EAAEA,aAAa,OAAO,EAAEA,aAAa,8CAA8C,EAAEA,aAAa;;IAEhH,CAAC;AACL"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/api-headless-cms",
|
|
3
|
-
"version": "6.4.0-beta.
|
|
3
|
+
"version": "6.4.0-beta.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./index.js",
|
|
@@ -25,19 +25,19 @@
|
|
|
25
25
|
"@babel/code-frame": "7.29.0",
|
|
26
26
|
"@graphql-tools/merge": "9.1.9",
|
|
27
27
|
"@graphql-tools/schema": "10.0.33",
|
|
28
|
-
"@webiny/api": "6.4.0-beta.
|
|
29
|
-
"@webiny/api-core": "6.4.0-beta.
|
|
28
|
+
"@webiny/api": "6.4.0-beta.4",
|
|
29
|
+
"@webiny/api-core": "6.4.0-beta.4",
|
|
30
30
|
"@webiny/di": "1.0.1",
|
|
31
|
-
"@webiny/error": "6.4.0-beta.
|
|
32
|
-
"@webiny/feature": "6.4.0-beta.
|
|
33
|
-
"@webiny/handler": "6.4.0-beta.
|
|
34
|
-
"@webiny/handler-aws": "6.4.0-beta.
|
|
35
|
-
"@webiny/handler-db": "6.4.0-beta.
|
|
36
|
-
"@webiny/handler-graphql": "6.4.0-beta.
|
|
37
|
-
"@webiny/plugins": "6.4.0-beta.
|
|
38
|
-
"@webiny/project": "6.4.0-beta.
|
|
39
|
-
"@webiny/utils": "6.4.0-beta.
|
|
40
|
-
"@webiny/validation": "6.4.0-beta.
|
|
31
|
+
"@webiny/error": "6.4.0-beta.4",
|
|
32
|
+
"@webiny/feature": "6.4.0-beta.4",
|
|
33
|
+
"@webiny/handler": "6.4.0-beta.4",
|
|
34
|
+
"@webiny/handler-aws": "6.4.0-beta.4",
|
|
35
|
+
"@webiny/handler-db": "6.4.0-beta.4",
|
|
36
|
+
"@webiny/handler-graphql": "6.4.0-beta.4",
|
|
37
|
+
"@webiny/plugins": "6.4.0-beta.4",
|
|
38
|
+
"@webiny/project": "6.4.0-beta.4",
|
|
39
|
+
"@webiny/utils": "6.4.0-beta.4",
|
|
40
|
+
"@webiny/validation": "6.4.0-beta.4",
|
|
41
41
|
"dot-prop-immutable": "2.1.1",
|
|
42
42
|
"graphql": "16.14.0",
|
|
43
43
|
"graphql-tag": "2.12.6",
|
|
@@ -51,24 +51,26 @@
|
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"@types/babel__code-frame": "7.27.0",
|
|
53
53
|
"@types/pluralize": "0.0.33",
|
|
54
|
-
"@webiny/aws-sdk": "6.4.0-beta.
|
|
55
|
-
"@webiny/build-tools": "6.4.0-beta.
|
|
56
|
-
"@webiny/db-dynamodb": "6.4.0-beta.
|
|
57
|
-
"@webiny/handler-db": "
|
|
58
|
-
"@webiny/project-utils": "6.4.0-beta.
|
|
59
|
-
"@webiny/sdk": "6.4.0-beta.
|
|
60
|
-
"@webiny/wcp": "6.4.0-beta.
|
|
54
|
+
"@webiny/aws-sdk": "6.4.0-beta.4",
|
|
55
|
+
"@webiny/build-tools": "6.4.0-beta.4",
|
|
56
|
+
"@webiny/db-dynamodb": "6.4.0-beta.4",
|
|
57
|
+
"@webiny/handler-db": "6.4.0-beta.4",
|
|
58
|
+
"@webiny/project-utils": "6.4.0-beta.4",
|
|
59
|
+
"@webiny/sdk": "6.4.0-beta.4",
|
|
60
|
+
"@webiny/wcp": "6.4.0-beta.4",
|
|
61
61
|
"apollo-graphql": "0.9.7",
|
|
62
62
|
"graphql": "16.14.0",
|
|
63
|
-
"oxfmt": "0.
|
|
63
|
+
"oxfmt": "0.51.0",
|
|
64
64
|
"rimraf": "6.1.3",
|
|
65
65
|
"typescript": "6.0.3",
|
|
66
|
-
"vitest": "4.1.
|
|
66
|
+
"vitest": "4.1.7",
|
|
67
67
|
"write-json-file": "7.0.0"
|
|
68
68
|
},
|
|
69
69
|
"publishConfig": {
|
|
70
|
-
"access": "public"
|
|
71
|
-
"directory": "dist"
|
|
70
|
+
"access": "public"
|
|
72
71
|
},
|
|
73
|
-
"gitHead": "
|
|
72
|
+
"gitHead": "b8aec8a1be3f25c3b428b357fe1e352c7cbff9ae",
|
|
73
|
+
"webiny": {
|
|
74
|
+
"publishFrom": "dist"
|
|
75
|
+
}
|
|
74
76
|
}
|
package/types/types.d.ts
CHANGED
|
@@ -402,6 +402,10 @@ export interface CmsEntry<TValues extends CmsEntryValues = CmsEntryValues> {
|
|
|
402
402
|
* A revision description.
|
|
403
403
|
*/
|
|
404
404
|
revisionDescription: string | undefined;
|
|
405
|
+
/**
|
|
406
|
+
* A timestamp of when the entry should be automatically deleted from the database.
|
|
407
|
+
*/
|
|
408
|
+
expiresAt: number | null;
|
|
405
409
|
}
|
|
406
410
|
export interface CmsStorageEntry<T extends CmsEntryValues = CmsEntryValues> extends CmsEntry<T> {
|
|
407
411
|
[key: string]: any;
|
|
@@ -640,6 +644,7 @@ export interface CreateCmsEntryInput<TValues extends CmsEntryValues = CmsEntryVa
|
|
|
640
644
|
};
|
|
641
645
|
system?: Partial<ICmsEntrySystem>;
|
|
642
646
|
values: TValues | undefined;
|
|
647
|
+
expiresAt?: Date | undefined;
|
|
643
648
|
}
|
|
644
649
|
export interface CreateCmsEntryOptionsInput {
|
|
645
650
|
skipValidators?: string[];
|
|
@@ -728,6 +733,7 @@ export interface UpdateCmsEntryInput<TValues extends CmsEntryValues = CmsEntryVa
|
|
|
728
733
|
};
|
|
729
734
|
system?: Partial<ICmsEntrySystem>;
|
|
730
735
|
values?: Partial<TValues>;
|
|
736
|
+
expiresAt?: Date | number | null | undefined;
|
|
731
737
|
}
|
|
732
738
|
export interface UpdateCmsEntryOptionsInput {
|
|
733
739
|
skipValidators?: string[];
|