@webiny/api-website-builder-scheduler 0.0.0-unstable.0156a4c312
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/LICENSE +21 -0
- package/README.md +11 -0
- package/WebsiteBuilderSchedulerFeature.d.ts +5 -0
- package/WebsiteBuilderSchedulerFeature.js +33 -0
- package/WebsiteBuilderSchedulerFeature.js.map +1 -0
- package/constants.d.ts +4 -0
- package/constants.js +10 -0
- package/constants.js.map +1 -0
- package/exports/api/website-builder/scheduler.d.ts +4 -0
- package/exports/api/website-builder/scheduler.js +4 -0
- package/features/CancelScheduledActionOnChange/CancelScheduledActionOnPageDeleteEventHandler.d.ts +20 -0
- package/features/CancelScheduledActionOnChange/CancelScheduledActionOnPageDeleteEventHandler.js +41 -0
- package/features/CancelScheduledActionOnChange/CancelScheduledActionOnPageDeleteEventHandler.js.map +1 -0
- package/features/CancelScheduledActionOnChange/CancelScheduledActionOnPagePublishEventHandler.d.ts +21 -0
- package/features/CancelScheduledActionOnChange/CancelScheduledActionOnPagePublishEventHandler.js +41 -0
- package/features/CancelScheduledActionOnChange/CancelScheduledActionOnPagePublishEventHandler.js.map +1 -0
- package/features/CancelScheduledActionOnChange/CancelScheduledActionOnPageUnpublishEventHandler.d.ts +21 -0
- package/features/CancelScheduledActionOnChange/CancelScheduledActionOnPageUnpublishEventHandler.js +41 -0
- package/features/CancelScheduledActionOnChange/CancelScheduledActionOnPageUnpublishEventHandler.js.map +1 -0
- package/features/CancelScheduledActionOnChange/CancelScheduledActionOnRedirectDeleteEventHandler.d.ts +21 -0
- package/features/CancelScheduledActionOnChange/CancelScheduledActionOnRedirectDeleteEventHandler.js +40 -0
- package/features/CancelScheduledActionOnChange/CancelScheduledActionOnRedirectDeleteEventHandler.js.map +1 -0
- package/features/CancelScheduledActionOnChange/feature.d.ts +11 -0
- package/features/CancelScheduledActionOnChange/feature.js +17 -0
- package/features/CancelScheduledActionOnChange/feature.js.map +1 -0
- package/features/NamespaceHandler/PageNamespaceHandler.d.ts +14 -0
- package/features/NamespaceHandler/PageNamespaceHandler.js +39 -0
- package/features/NamespaceHandler/PageNamespaceHandler.js.map +1 -0
- package/features/NamespaceHandler/RedirectNamespaceHandler.d.ts +14 -0
- package/features/NamespaceHandler/RedirectNamespaceHandler.js +39 -0
- package/features/NamespaceHandler/RedirectNamespaceHandler.js.map +1 -0
- package/features/PublishActionHandler/PublishPageActionHandler.d.ts +16 -0
- package/features/PublishActionHandler/PublishPageActionHandler.js +30 -0
- package/features/PublishActionHandler/PublishPageActionHandler.js.map +1 -0
- package/features/PublishActionHandler/PublishRedirectActionHandler.d.ts +17 -0
- package/features/PublishActionHandler/PublishRedirectActionHandler.js +30 -0
- package/features/PublishActionHandler/PublishRedirectActionHandler.js.map +1 -0
- package/features/SchedulePublishPageUseCase/SchedulePublishPageUseCase.d.ts +11 -0
- package/features/SchedulePublishPageUseCase/SchedulePublishPageUseCase.js +32 -0
- package/features/SchedulePublishPageUseCase/SchedulePublishPageUseCase.js.map +1 -0
- package/features/SchedulePublishPageUseCase/abstractions.d.ts +22 -0
- package/features/SchedulePublishPageUseCase/abstractions.js +5 -0
- package/features/SchedulePublishPageUseCase/abstractions.js.map +1 -0
- package/features/SchedulePublishRedirectUseCase/SchedulePublishRedirectUseCase.d.ts +11 -0
- package/features/SchedulePublishRedirectUseCase/SchedulePublishRedirectUseCase.js +32 -0
- package/features/SchedulePublishRedirectUseCase/SchedulePublishRedirectUseCase.js.map +1 -0
- package/features/SchedulePublishRedirectUseCase/abstractions.d.ts +22 -0
- package/features/SchedulePublishRedirectUseCase/abstractions.js +5 -0
- package/features/SchedulePublishRedirectUseCase/abstractions.js.map +1 -0
- package/features/ScheduleUnpublishPageUseCase/ScheduleUnpublishPageUseCase.d.ts +11 -0
- package/features/ScheduleUnpublishPageUseCase/ScheduleUnpublishPageUseCase.js +32 -0
- package/features/ScheduleUnpublishPageUseCase/ScheduleUnpublishPageUseCase.js.map +1 -0
- package/features/ScheduleUnpublishPageUseCase/abstractions.d.ts +22 -0
- package/features/ScheduleUnpublishPageUseCase/abstractions.js +5 -0
- package/features/ScheduleUnpublishPageUseCase/abstractions.js.map +1 -0
- package/features/ScheduleUnpublishRedirectUseCase/ScheduleUnpublishRedirectUseCase.d.ts +11 -0
- package/features/ScheduleUnpublishRedirectUseCase/ScheduleUnpublishRedirectUseCase.js +32 -0
- package/features/ScheduleUnpublishRedirectUseCase/ScheduleUnpublishRedirectUseCase.js.map +1 -0
- package/features/ScheduleUnpublishRedirectUseCase/abstractions.d.ts +22 -0
- package/features/ScheduleUnpublishRedirectUseCase/abstractions.js +5 -0
- package/features/ScheduleUnpublishRedirectUseCase/abstractions.js.map +1 -0
- package/features/UnpublishActionHandler/UnpublishPageActionHandler.d.ts +17 -0
- package/features/UnpublishActionHandler/UnpublishPageActionHandler.js +30 -0
- package/features/UnpublishActionHandler/UnpublishPageActionHandler.js.map +1 -0
- package/features/UnpublishActionHandler/UnpublishRedirectActionHandler.d.ts +18 -0
- package/features/UnpublishActionHandler/UnpublishRedirectActionHandler.js +30 -0
- package/features/UnpublishActionHandler/UnpublishRedirectActionHandler.js.map +1 -0
- package/features/permissions/WbSchedulerPermissions.d.ts +13 -0
- package/features/permissions/WbSchedulerPermissions.js +26 -0
- package/features/permissions/WbSchedulerPermissions.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/package.json +43 -0
- package/types.d.ts +6 -0
- package/types.js +0 -0
- package/utils/namespace.d.ts +3 -0
- package/utils/namespace.js +11 -0
- package/utils/namespace.js.map +1 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { SchedulerPermissions } from "@webiny/api-scheduler/features/permissions/abstractions.js";
|
|
2
|
+
import { WbPermissions } from "@webiny/api-website-builder/features/permissions/abstractions.js";
|
|
3
|
+
import { WEBSITE_BUILDER_NAMESPACE } from "../../constants.js";
|
|
4
|
+
class WbSchedulerPermissionsImpl {
|
|
5
|
+
constructor(permissions){
|
|
6
|
+
this.permissions = permissions;
|
|
7
|
+
}
|
|
8
|
+
canHandle(namespace) {
|
|
9
|
+
return namespace.startsWith(WEBSITE_BUILDER_NAMESPACE);
|
|
10
|
+
}
|
|
11
|
+
async canRead() {
|
|
12
|
+
return this.permissions.canPublish("page");
|
|
13
|
+
}
|
|
14
|
+
async onlyOwnRecords() {
|
|
15
|
+
return this.permissions.onlyOwnRecords("page");
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
const WbSchedulerPermissions = SchedulerPermissions.createImplementation({
|
|
19
|
+
implementation: WbSchedulerPermissionsImpl,
|
|
20
|
+
dependencies: [
|
|
21
|
+
WbPermissions
|
|
22
|
+
]
|
|
23
|
+
});
|
|
24
|
+
export { WbSchedulerPermissions };
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=WbSchedulerPermissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/permissions/WbSchedulerPermissions.js","sources":["../../../src/features/permissions/WbSchedulerPermissions.ts"],"sourcesContent":["import { SchedulerPermissions } from \"@webiny/api-scheduler/features/permissions/abstractions.js\";\nimport { WbPermissions } from \"@webiny/api-website-builder/features/permissions/abstractions.js\";\nimport { WEBSITE_BUILDER_NAMESPACE } from \"~/constants.js\";\n\nclass WbSchedulerPermissionsImpl implements SchedulerPermissions.Interface {\n constructor(private permissions: WbPermissions.Interface) {}\n\n canHandle(namespace: string): boolean {\n return namespace.startsWith(WEBSITE_BUILDER_NAMESPACE);\n }\n\n async canRead(): Promise<boolean> {\n return this.permissions.canPublish(\"page\");\n }\n\n async onlyOwnRecords(): Promise<boolean> {\n return this.permissions.onlyOwnRecords(\"page\");\n }\n}\n\nexport const WbSchedulerPermissions = SchedulerPermissions.createImplementation({\n implementation: WbSchedulerPermissionsImpl,\n dependencies: [WbPermissions]\n});\n"],"names":["WbSchedulerPermissionsImpl","permissions","namespace","WEBSITE_BUILDER_NAMESPACE","WbSchedulerPermissions","SchedulerPermissions","WbPermissions"],"mappings":";;;AAIA,MAAMA;IACF,YAAoBC,WAAoC,CAAE;aAAtCA,WAAW,GAAXA;IAAuC;IAE3D,UAAUC,SAAiB,EAAW;QAClC,OAAOA,UAAU,UAAU,CAACC;IAChC;IAEA,MAAM,UAA4B;QAC9B,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;IACvC;IAEA,MAAM,iBAAmC;QACrC,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;IAC3C;AACJ;AAEO,MAAMC,yBAAyBC,qBAAqB,oBAAoB,CAAC;IAC5E,gBAAgBL;IAChB,cAAc;QAACM;KAAc;AACjC"}
|
package/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { WebsiteBuilderSchedulerFeature } from "./WebsiteBuilderSchedulerFeature.js";
|
package/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { WebsiteBuilderSchedulerFeature } from "./WebsiteBuilderSchedulerFeature.js";
|
package/package.json
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@webiny/api-website-builder-scheduler",
|
|
3
|
+
"version": "0.0.0-unstable.0156a4c312",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"exports": {
|
|
6
|
+
".": "./index.js",
|
|
7
|
+
"./*": "./*"
|
|
8
|
+
},
|
|
9
|
+
"description": "Schedule for Webiny Website Builder",
|
|
10
|
+
"keywords": [
|
|
11
|
+
"api-website-builder-scheduler:base"
|
|
12
|
+
],
|
|
13
|
+
"repository": {
|
|
14
|
+
"type": "git",
|
|
15
|
+
"url": "https://github.com/webiny/webiny-js.git",
|
|
16
|
+
"directory": "packages/api-website-builder-scheduler"
|
|
17
|
+
},
|
|
18
|
+
"license": "MIT",
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"@webiny/api": "0.0.0-unstable.0156a4c312",
|
|
21
|
+
"@webiny/api-scheduler": "0.0.0-unstable.0156a4c312",
|
|
22
|
+
"@webiny/api-website-builder": "0.0.0-unstable.0156a4c312",
|
|
23
|
+
"@webiny/feature": "0.0.0-unstable.0156a4c312"
|
|
24
|
+
},
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"@webiny/api-core": "0.0.0-unstable.0156a4c312",
|
|
27
|
+
"@webiny/api-headless-cms": "0.0.0-unstable.0156a4c312",
|
|
28
|
+
"@webiny/api-headless-cms-testing": "0.0.0-unstable.0156a4c312",
|
|
29
|
+
"@webiny/api-opensearch": "0.0.0-unstable.0156a4c312",
|
|
30
|
+
"@webiny/background-tasks": "0.0.0-unstable.0156a4c312",
|
|
31
|
+
"@webiny/build-tools": "0.0.0-unstable.0156a4c312",
|
|
32
|
+
"@webiny/di": "2.0.0",
|
|
33
|
+
"@webiny/wcp": "0.0.0-unstable.0156a4c312",
|
|
34
|
+
"typescript": "7.0.2",
|
|
35
|
+
"vitest": "5.0.5"
|
|
36
|
+
},
|
|
37
|
+
"publishConfig": {
|
|
38
|
+
"access": "public"
|
|
39
|
+
},
|
|
40
|
+
"webiny": {
|
|
41
|
+
"publishFrom": "dist"
|
|
42
|
+
}
|
|
43
|
+
}
|
package/types.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { INamespaceHandlerResult } from "@webiny/api-scheduler/features/NamespaceHandler/abstractions.js";
|
|
2
|
+
import { SCHEDULED_ACTION_TYPE_PAGE, SCHEDULED_ACTION_TYPE_REDIRECT } from "./constants.js";
|
|
3
|
+
export type IScheduledActionPayloadType = typeof SCHEDULED_ACTION_TYPE_PAGE | typeof SCHEDULED_ACTION_TYPE_REDIRECT;
|
|
4
|
+
export interface IScheduledActionPayload extends INamespaceHandlerResult {
|
|
5
|
+
type: IScheduledActionPayloadType;
|
|
6
|
+
}
|
package/types.js
ADDED
|
File without changes
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SCHEDULED_ACTION_TYPES, WEBSITE_BUILDER_NAMESPACE } from "../constants.js";
|
|
2
|
+
const createNamespace = (type)=>`${WEBSITE_BUILDER_NAMESPACE}${type}`;
|
|
3
|
+
const extractModelIdFromNamespace = (namespace)=>{
|
|
4
|
+
if (!namespace.startsWith(WEBSITE_BUILDER_NAMESPACE)) return null;
|
|
5
|
+
const value = namespace.substring(WEBSITE_BUILDER_NAMESPACE.length) || null;
|
|
6
|
+
if (!value) return null;
|
|
7
|
+
return SCHEDULED_ACTION_TYPES.includes(value) ? value : null;
|
|
8
|
+
};
|
|
9
|
+
export { createNamespace, extractModelIdFromNamespace };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=namespace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils/namespace.js","sources":["../../src/utils/namespace.ts"],"sourcesContent":["import type { IScheduledActionPayloadType } from \"~/types.js\";\nimport { SCHEDULED_ACTION_TYPES, WEBSITE_BUILDER_NAMESPACE } from \"~/constants.js\";\n\nexport const createNamespace = (type: IScheduledActionPayloadType) => {\n return `${WEBSITE_BUILDER_NAMESPACE}${type}`;\n};\n\nexport const extractModelIdFromNamespace = (\n namespace: string\n): IScheduledActionPayloadType | null => {\n if (!namespace.startsWith(WEBSITE_BUILDER_NAMESPACE)) {\n return null;\n }\n const value = namespace.substring(WEBSITE_BUILDER_NAMESPACE.length) || null;\n if (!value) {\n return null;\n }\n return SCHEDULED_ACTION_TYPES.includes(value as IScheduledActionPayloadType)\n ? (value as IScheduledActionPayloadType)\n : null;\n};\n"],"names":["createNamespace","type","WEBSITE_BUILDER_NAMESPACE","extractModelIdFromNamespace","namespace","value","SCHEDULED_ACTION_TYPES"],"mappings":";AAGO,MAAMA,kBAAkB,CAACC,OACrB,GAAGC,4BAA4BD,MAAM;AAGzC,MAAME,8BAA8B,CACvCC;IAEA,IAAI,CAACA,UAAU,UAAU,CAACF,4BACtB,OAAO;IAEX,MAAMG,QAAQD,UAAU,SAAS,CAACF,0BAA0B,MAAM,KAAK;IACvE,IAAI,CAACG,OACD,OAAO;IAEX,OAAOC,uBAAuB,QAAQ,CAACD,SAChCA,QACD;AACV"}
|