@webiny/api-website-builder-scheduler 0.0.0-unstable.0d717d18dd → 0.0.0-unstable.5387e5f7c8

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.
@@ -1,5 +1,6 @@
1
1
  import { createFeature } from "@webiny/feature/api";
2
2
  import { CancelScheduledActionOnChangeFeature } from "./features/CancelScheduledActionOnChange/feature.js";
3
+ import { WbSchedulerPermissions } from "./features/permissions/WbSchedulerPermissions.js";
3
4
  import { PageNamespaceHandler } from "./features/NamespaceHandler/PageNamespaceHandler.js";
4
5
  import { RedirectNamespaceHandler } from "./features/NamespaceHandler/RedirectNamespaceHandler.js";
5
6
  import { PublishPageActionHandler } from "./features/PublishActionHandler/PublishPageActionHandler.js";
@@ -24,6 +25,7 @@ const WebsiteBuilderSchedulerFeature = createFeature({
24
25
  container.register(SchedulePublishRedirectUseCase);
25
26
  container.register(ScheduleUnpublishRedirectUseCase);
26
27
  CancelScheduledActionOnChangeFeature.register(container);
28
+ container.register(WbSchedulerPermissions);
27
29
  }
28
30
  });
29
31
  export { WebsiteBuilderSchedulerFeature };
@@ -1 +1 @@
1
- {"version":3,"file":"WebsiteBuilderSchedulerFeature.js","sources":["../src/WebsiteBuilderSchedulerFeature.ts"],"sourcesContent":["import { type Container, createFeature } from \"@webiny/feature/api\";\nimport { CancelScheduledActionOnChangeFeature } from \"~/features/CancelScheduledActionOnChange/feature.js\";\nimport { PageNamespaceHandler } from \"~/features/NamespaceHandler/PageNamespaceHandler.js\";\nimport { RedirectNamespaceHandler } from \"~/features/NamespaceHandler/RedirectNamespaceHandler.js\";\nimport { PublishPageActionHandler } from \"~/features/PublishActionHandler/PublishPageActionHandler.js\";\nimport { PublishRedirectActionHandler } from \"~/features/PublishActionHandler/PublishRedirectActionHandler.js\";\nimport { UnpublishPageActionHandler } from \"~/features/UnpublishActionHandler/UnpublishPageActionHandler.js\";\nimport { UnpublishRedirectActionHandler } from \"~/features/UnpublishActionHandler/UnpublishRedirectActionHandler.js\";\nimport { SchedulePublishPageUseCase } from \"~/features/SchedulePublishPageUseCase/SchedulePublishPageUseCase.js\";\nimport { ScheduleUnpublishPageUseCase } from \"~/features/ScheduleUnpublishPageUseCase/ScheduleUnpublishPageUseCase.js\";\nimport { SchedulePublishRedirectUseCase } from \"~/features/SchedulePublishRedirectUseCase/SchedulePublishRedirectUseCase.js\";\nimport { ScheduleUnpublishRedirectUseCase } from \"~/features/ScheduleUnpublishRedirectUseCase/ScheduleUnpublishRedirectUseCase.js\";\n\nexport const WebsiteBuilderSchedulerFeature = createFeature({\n name: \"WebsiteBuilderScheduler\",\n register(container: Container) {\n // Pure DI registration (was a request-time ContextPlugin — none of it needs ctx/post-auth).\n container.register(PageNamespaceHandler);\n container.register(RedirectNamespaceHandler);\n container.register(PublishPageActionHandler);\n container.register(PublishRedirectActionHandler);\n container.register(UnpublishPageActionHandler);\n container.register(UnpublishRedirectActionHandler);\n container.register(SchedulePublishPageUseCase);\n container.register(ScheduleUnpublishPageUseCase);\n container.register(SchedulePublishRedirectUseCase);\n container.register(ScheduleUnpublishRedirectUseCase);\n\n CancelScheduledActionOnChangeFeature.register(container);\n }\n});\n"],"names":["WebsiteBuilderSchedulerFeature","createFeature","container","PageNamespaceHandler","RedirectNamespaceHandler","PublishPageActionHandler","PublishRedirectActionHandler","UnpublishPageActionHandler","UnpublishRedirectActionHandler","SchedulePublishPageUseCase","ScheduleUnpublishPageUseCase","SchedulePublishRedirectUseCase","ScheduleUnpublishRedirectUseCase","CancelScheduledActionOnChangeFeature"],"mappings":";;;;;;;;;;;;AAaO,MAAMA,iCAAiCC,cAAc;IACxD,MAAM;IACN,UAASC,SAAoB;QAEzBA,UAAU,QAAQ,CAACC;QACnBD,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;QACnBR,UAAU,QAAQ,CAACS;QACnBT,UAAU,QAAQ,CAACU;QAEnBC,qCAAqC,QAAQ,CAACX;IAClD;AACJ"}
1
+ {"version":3,"file":"WebsiteBuilderSchedulerFeature.js","sources":["../src/WebsiteBuilderSchedulerFeature.ts"],"sourcesContent":["import { type Container, createFeature } from \"@webiny/feature/api\";\nimport { CancelScheduledActionOnChangeFeature } from \"~/features/CancelScheduledActionOnChange/feature.js\";\nimport { WbSchedulerPermissions } from \"~/features/permissions/WbSchedulerPermissions.js\";\nimport { PageNamespaceHandler } from \"~/features/NamespaceHandler/PageNamespaceHandler.js\";\nimport { RedirectNamespaceHandler } from \"~/features/NamespaceHandler/RedirectNamespaceHandler.js\";\nimport { PublishPageActionHandler } from \"~/features/PublishActionHandler/PublishPageActionHandler.js\";\nimport { PublishRedirectActionHandler } from \"~/features/PublishActionHandler/PublishRedirectActionHandler.js\";\nimport { UnpublishPageActionHandler } from \"~/features/UnpublishActionHandler/UnpublishPageActionHandler.js\";\nimport { UnpublishRedirectActionHandler } from \"~/features/UnpublishActionHandler/UnpublishRedirectActionHandler.js\";\nimport { SchedulePublishPageUseCase } from \"~/features/SchedulePublishPageUseCase/SchedulePublishPageUseCase.js\";\nimport { ScheduleUnpublishPageUseCase } from \"~/features/ScheduleUnpublishPageUseCase/ScheduleUnpublishPageUseCase.js\";\nimport { SchedulePublishRedirectUseCase } from \"~/features/SchedulePublishRedirectUseCase/SchedulePublishRedirectUseCase.js\";\nimport { ScheduleUnpublishRedirectUseCase } from \"~/features/ScheduleUnpublishRedirectUseCase/ScheduleUnpublishRedirectUseCase.js\";\n\nexport const WebsiteBuilderSchedulerFeature = createFeature({\n name: \"WebsiteBuilderScheduler\",\n register(container: Container) {\n // Pure DI registration (was a request-time ContextPlugin — none of it needs ctx/post-auth).\n container.register(PageNamespaceHandler);\n container.register(RedirectNamespaceHandler);\n container.register(PublishPageActionHandler);\n container.register(PublishRedirectActionHandler);\n container.register(UnpublishPageActionHandler);\n container.register(UnpublishRedirectActionHandler);\n container.register(SchedulePublishPageUseCase);\n container.register(ScheduleUnpublishPageUseCase);\n container.register(SchedulePublishRedirectUseCase);\n container.register(ScheduleUnpublishRedirectUseCase);\n\n CancelScheduledActionOnChangeFeature.register(container);\n container.register(WbSchedulerPermissions);\n }\n});\n"],"names":["WebsiteBuilderSchedulerFeature","createFeature","container","PageNamespaceHandler","RedirectNamespaceHandler","PublishPageActionHandler","PublishRedirectActionHandler","UnpublishPageActionHandler","UnpublishRedirectActionHandler","SchedulePublishPageUseCase","ScheduleUnpublishPageUseCase","SchedulePublishRedirectUseCase","ScheduleUnpublishRedirectUseCase","CancelScheduledActionOnChangeFeature","WbSchedulerPermissions"],"mappings":";;;;;;;;;;;;;AAcO,MAAMA,iCAAiCC,cAAc;IACxD,MAAM;IACN,UAASC,SAAoB;QAEzBA,UAAU,QAAQ,CAACC;QACnBD,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;QACnBR,UAAU,QAAQ,CAACS;QACnBT,UAAU,QAAQ,CAACU;QAEnBC,qCAAqC,QAAQ,CAACX;QAC9CA,UAAU,QAAQ,CAACY;IACvB;AACJ"}
@@ -0,0 +1,13 @@
1
+ import { SchedulerPermissions } from "@webiny/api-scheduler/features/permissions/abstractions.js";
2
+ import { WbPermissions } from "@webiny/api-website-builder/features/permissions/abstractions.js";
3
+ declare class WbSchedulerPermissionsImpl implements SchedulerPermissions.Interface {
4
+ private permissions;
5
+ constructor(permissions: WbPermissions.Interface);
6
+ canHandle(namespace: string): boolean;
7
+ canRead(): Promise<boolean>;
8
+ onlyOwnRecords(): Promise<boolean>;
9
+ }
10
+ export declare const WbSchedulerPermissions: typeof WbSchedulerPermissionsImpl & {
11
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-scheduler/features/permissions/abstractions.js").ISchedulerPermissions>;
12
+ };
13
+ export {};
@@ -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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/api-website-builder-scheduler",
3
- "version": "0.0.0-unstable.0d717d18dd",
3
+ "version": "0.0.0-unstable.5387e5f7c8",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./index.js",
@@ -17,23 +17,22 @@
17
17
  },
18
18
  "license": "MIT",
19
19
  "dependencies": {
20
- "@webiny/api": "0.0.0-unstable.0d717d18dd",
21
- "@webiny/api-scheduler": "0.0.0-unstable.0d717d18dd",
22
- "@webiny/api-website-builder": "0.0.0-unstable.0d717d18dd",
23
- "@webiny/feature": "0.0.0-unstable.0d717d18dd"
20
+ "@webiny/api": "0.0.0-unstable.5387e5f7c8",
21
+ "@webiny/api-scheduler": "0.0.0-unstable.5387e5f7c8",
22
+ "@webiny/api-website-builder": "0.0.0-unstable.5387e5f7c8",
23
+ "@webiny/feature": "0.0.0-unstable.5387e5f7c8"
24
24
  },
25
25
  "devDependencies": {
26
- "@webiny/api-core": "0.0.0-unstable.0d717d18dd",
27
- "@webiny/api-headless-cms": "0.0.0-unstable.0d717d18dd",
28
- "@webiny/api-headless-cms-testing": "0.0.0-unstable.0d717d18dd",
29
- "@webiny/api-opensearch": "0.0.0-unstable.0d717d18dd",
30
- "@webiny/background-tasks": "0.0.0-unstable.0d717d18dd",
31
- "@webiny/build-tools": "0.0.0-unstable.0d717d18dd",
32
- "@webiny/di": "1.0.2",
33
- "@webiny/project-utils": "0.0.0-unstable.0d717d18dd",
34
- "@webiny/wcp": "0.0.0-unstable.0d717d18dd",
26
+ "@webiny/api-core": "0.0.0-unstable.5387e5f7c8",
27
+ "@webiny/api-headless-cms": "0.0.0-unstable.5387e5f7c8",
28
+ "@webiny/api-headless-cms-testing": "0.0.0-unstable.5387e5f7c8",
29
+ "@webiny/api-opensearch": "0.0.0-unstable.5387e5f7c8",
30
+ "@webiny/background-tasks": "0.0.0-unstable.5387e5f7c8",
31
+ "@webiny/build-tools": "0.0.0-unstable.5387e5f7c8",
32
+ "@webiny/di": "2.0.0",
33
+ "@webiny/wcp": "0.0.0-unstable.5387e5f7c8",
35
34
  "typescript": "7.0.2",
36
- "vitest": "4.1.10"
35
+ "vitest": "4.1.11"
37
36
  },
38
37
  "publishConfig": {
39
38
  "access": "public"