@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.
Files changed (78) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +11 -0
  3. package/WebsiteBuilderSchedulerFeature.d.ts +5 -0
  4. package/WebsiteBuilderSchedulerFeature.js +33 -0
  5. package/WebsiteBuilderSchedulerFeature.js.map +1 -0
  6. package/constants.d.ts +4 -0
  7. package/constants.js +10 -0
  8. package/constants.js.map +1 -0
  9. package/exports/api/website-builder/scheduler.d.ts +4 -0
  10. package/exports/api/website-builder/scheduler.js +4 -0
  11. package/features/CancelScheduledActionOnChange/CancelScheduledActionOnPageDeleteEventHandler.d.ts +20 -0
  12. package/features/CancelScheduledActionOnChange/CancelScheduledActionOnPageDeleteEventHandler.js +41 -0
  13. package/features/CancelScheduledActionOnChange/CancelScheduledActionOnPageDeleteEventHandler.js.map +1 -0
  14. package/features/CancelScheduledActionOnChange/CancelScheduledActionOnPagePublishEventHandler.d.ts +21 -0
  15. package/features/CancelScheduledActionOnChange/CancelScheduledActionOnPagePublishEventHandler.js +41 -0
  16. package/features/CancelScheduledActionOnChange/CancelScheduledActionOnPagePublishEventHandler.js.map +1 -0
  17. package/features/CancelScheduledActionOnChange/CancelScheduledActionOnPageUnpublishEventHandler.d.ts +21 -0
  18. package/features/CancelScheduledActionOnChange/CancelScheduledActionOnPageUnpublishEventHandler.js +41 -0
  19. package/features/CancelScheduledActionOnChange/CancelScheduledActionOnPageUnpublishEventHandler.js.map +1 -0
  20. package/features/CancelScheduledActionOnChange/CancelScheduledActionOnRedirectDeleteEventHandler.d.ts +21 -0
  21. package/features/CancelScheduledActionOnChange/CancelScheduledActionOnRedirectDeleteEventHandler.js +40 -0
  22. package/features/CancelScheduledActionOnChange/CancelScheduledActionOnRedirectDeleteEventHandler.js.map +1 -0
  23. package/features/CancelScheduledActionOnChange/feature.d.ts +11 -0
  24. package/features/CancelScheduledActionOnChange/feature.js +17 -0
  25. package/features/CancelScheduledActionOnChange/feature.js.map +1 -0
  26. package/features/NamespaceHandler/PageNamespaceHandler.d.ts +14 -0
  27. package/features/NamespaceHandler/PageNamespaceHandler.js +39 -0
  28. package/features/NamespaceHandler/PageNamespaceHandler.js.map +1 -0
  29. package/features/NamespaceHandler/RedirectNamespaceHandler.d.ts +14 -0
  30. package/features/NamespaceHandler/RedirectNamespaceHandler.js +39 -0
  31. package/features/NamespaceHandler/RedirectNamespaceHandler.js.map +1 -0
  32. package/features/PublishActionHandler/PublishPageActionHandler.d.ts +16 -0
  33. package/features/PublishActionHandler/PublishPageActionHandler.js +30 -0
  34. package/features/PublishActionHandler/PublishPageActionHandler.js.map +1 -0
  35. package/features/PublishActionHandler/PublishRedirectActionHandler.d.ts +17 -0
  36. package/features/PublishActionHandler/PublishRedirectActionHandler.js +30 -0
  37. package/features/PublishActionHandler/PublishRedirectActionHandler.js.map +1 -0
  38. package/features/SchedulePublishPageUseCase/SchedulePublishPageUseCase.d.ts +11 -0
  39. package/features/SchedulePublishPageUseCase/SchedulePublishPageUseCase.js +32 -0
  40. package/features/SchedulePublishPageUseCase/SchedulePublishPageUseCase.js.map +1 -0
  41. package/features/SchedulePublishPageUseCase/abstractions.d.ts +22 -0
  42. package/features/SchedulePublishPageUseCase/abstractions.js +5 -0
  43. package/features/SchedulePublishPageUseCase/abstractions.js.map +1 -0
  44. package/features/SchedulePublishRedirectUseCase/SchedulePublishRedirectUseCase.d.ts +11 -0
  45. package/features/SchedulePublishRedirectUseCase/SchedulePublishRedirectUseCase.js +32 -0
  46. package/features/SchedulePublishRedirectUseCase/SchedulePublishRedirectUseCase.js.map +1 -0
  47. package/features/SchedulePublishRedirectUseCase/abstractions.d.ts +22 -0
  48. package/features/SchedulePublishRedirectUseCase/abstractions.js +5 -0
  49. package/features/SchedulePublishRedirectUseCase/abstractions.js.map +1 -0
  50. package/features/ScheduleUnpublishPageUseCase/ScheduleUnpublishPageUseCase.d.ts +11 -0
  51. package/features/ScheduleUnpublishPageUseCase/ScheduleUnpublishPageUseCase.js +32 -0
  52. package/features/ScheduleUnpublishPageUseCase/ScheduleUnpublishPageUseCase.js.map +1 -0
  53. package/features/ScheduleUnpublishPageUseCase/abstractions.d.ts +22 -0
  54. package/features/ScheduleUnpublishPageUseCase/abstractions.js +5 -0
  55. package/features/ScheduleUnpublishPageUseCase/abstractions.js.map +1 -0
  56. package/features/ScheduleUnpublishRedirectUseCase/ScheduleUnpublishRedirectUseCase.d.ts +11 -0
  57. package/features/ScheduleUnpublishRedirectUseCase/ScheduleUnpublishRedirectUseCase.js +32 -0
  58. package/features/ScheduleUnpublishRedirectUseCase/ScheduleUnpublishRedirectUseCase.js.map +1 -0
  59. package/features/ScheduleUnpublishRedirectUseCase/abstractions.d.ts +22 -0
  60. package/features/ScheduleUnpublishRedirectUseCase/abstractions.js +5 -0
  61. package/features/ScheduleUnpublishRedirectUseCase/abstractions.js.map +1 -0
  62. package/features/UnpublishActionHandler/UnpublishPageActionHandler.d.ts +17 -0
  63. package/features/UnpublishActionHandler/UnpublishPageActionHandler.js +30 -0
  64. package/features/UnpublishActionHandler/UnpublishPageActionHandler.js.map +1 -0
  65. package/features/UnpublishActionHandler/UnpublishRedirectActionHandler.d.ts +18 -0
  66. package/features/UnpublishActionHandler/UnpublishRedirectActionHandler.js +30 -0
  67. package/features/UnpublishActionHandler/UnpublishRedirectActionHandler.js.map +1 -0
  68. package/features/permissions/WbSchedulerPermissions.d.ts +13 -0
  69. package/features/permissions/WbSchedulerPermissions.js +26 -0
  70. package/features/permissions/WbSchedulerPermissions.js.map +1 -0
  71. package/index.d.ts +1 -0
  72. package/index.js +1 -0
  73. package/package.json +43 -0
  74. package/types.d.ts +6 -0
  75. package/types.js +0 -0
  76. package/utils/namespace.d.ts +3 -0
  77. package/utils/namespace.js +11 -0
  78. 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,3 @@
1
+ import type { IScheduledActionPayloadType } from "../types.js";
2
+ export declare const createNamespace: (type: IScheduledActionPayloadType) => string;
3
+ export declare const extractModelIdFromNamespace: (namespace: string) => IScheduledActionPayloadType | null;
@@ -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"}