@webiny/api-website-builder-scheduler 0.0.0-unstable.b6d7105cee → 0.0.0-unstable.eb81deee7e

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.
@@ -0,0 +1,5 @@
1
+ import { type Container } from "@webiny/feature/api";
2
+ export declare const WebsiteBuilderSchedulerFeature: {
3
+ name: string;
4
+ register(container: Container): void;
5
+ };
@@ -1,5 +1,6 @@
1
- import { ContextPlugin } from "@webiny/api";
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";
@@ -10,19 +11,23 @@ import { SchedulePublishPageUseCase } from "./features/SchedulePublishPageUseCas
10
11
  import { ScheduleUnpublishPageUseCase } from "./features/ScheduleUnpublishPageUseCase/ScheduleUnpublishPageUseCase.js";
11
12
  import { SchedulePublishRedirectUseCase } from "./features/SchedulePublishRedirectUseCase/SchedulePublishRedirectUseCase.js";
12
13
  import { ScheduleUnpublishRedirectUseCase } from "./features/ScheduleUnpublishRedirectUseCase/ScheduleUnpublishRedirectUseCase.js";
13
- const createWebsiteBuilderScheduleContext = ()=>new ContextPlugin(async (context)=>{
14
- context.container.register(PageNamespaceHandler);
15
- context.container.register(RedirectNamespaceHandler);
16
- context.container.register(PublishPageActionHandler);
17
- context.container.register(PublishRedirectActionHandler);
18
- context.container.register(UnpublishPageActionHandler);
19
- context.container.register(UnpublishRedirectActionHandler);
20
- context.container.register(SchedulePublishPageUseCase);
21
- context.container.register(ScheduleUnpublishPageUseCase);
22
- context.container.register(SchedulePublishRedirectUseCase);
23
- context.container.register(ScheduleUnpublishRedirectUseCase);
24
- CancelScheduledActionOnChangeFeature.register(context.container);
25
- });
26
- export { createWebsiteBuilderScheduleContext };
14
+ const WebsiteBuilderSchedulerFeature = createFeature({
15
+ name: "WebsiteBuilderScheduler",
16
+ register (container) {
17
+ container.register(PageNamespaceHandler);
18
+ container.register(RedirectNamespaceHandler);
19
+ container.register(PublishPageActionHandler);
20
+ container.register(PublishRedirectActionHandler);
21
+ container.register(UnpublishPageActionHandler);
22
+ container.register(UnpublishRedirectActionHandler);
23
+ container.register(SchedulePublishPageUseCase);
24
+ container.register(ScheduleUnpublishPageUseCase);
25
+ container.register(SchedulePublishRedirectUseCase);
26
+ container.register(ScheduleUnpublishRedirectUseCase);
27
+ CancelScheduledActionOnChangeFeature.register(container);
28
+ container.register(WbSchedulerPermissions);
29
+ }
30
+ });
31
+ export { WebsiteBuilderSchedulerFeature };
27
32
 
28
- //# sourceMappingURL=context.js.map
33
+ //# sourceMappingURL=WebsiteBuilderSchedulerFeature.js.map
@@ -0,0 +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 { 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/index.d.ts CHANGED
@@ -1,2 +1 @@
1
- import { ContextPlugin } from "@webiny/api";
2
- export declare const createWebsiteBuilderScheduler: () => ContextPlugin[];
1
+ export { WebsiteBuilderSchedulerFeature } from "./WebsiteBuilderSchedulerFeature.js";
package/index.js CHANGED
@@ -1,7 +1 @@
1
- import { createWebsiteBuilderScheduleContext } from "./context.js";
2
- const createWebsiteBuilderScheduler = ()=>[
3
- createWebsiteBuilderScheduleContext()
4
- ];
5
- export { createWebsiteBuilderScheduler };
6
-
7
- //# sourceMappingURL=index.js.map
1
+ export { WebsiteBuilderSchedulerFeature } from "./WebsiteBuilderSchedulerFeature.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/api-website-builder-scheduler",
3
- "version": "0.0.0-unstable.b6d7105cee",
3
+ "version": "0.0.0-unstable.eb81deee7e",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./index.js",
@@ -17,25 +17,22 @@
17
17
  },
18
18
  "license": "MIT",
19
19
  "dependencies": {
20
- "@webiny/api": "0.0.0-unstable.b6d7105cee",
21
- "@webiny/api-scheduler": "0.0.0-unstable.b6d7105cee",
22
- "@webiny/api-website-builder": "0.0.0-unstable.b6d7105cee",
23
- "@webiny/feature": "0.0.0-unstable.b6d7105cee",
24
- "@webiny/handler-graphql": "0.0.0-unstable.b6d7105cee"
20
+ "@webiny/api": "0.0.0-unstable.eb81deee7e",
21
+ "@webiny/api-scheduler": "0.0.0-unstable.eb81deee7e",
22
+ "@webiny/api-website-builder": "0.0.0-unstable.eb81deee7e",
23
+ "@webiny/feature": "0.0.0-unstable.eb81deee7e"
25
24
  },
26
25
  "devDependencies": {
27
- "@webiny/api-core": "0.0.0-unstable.b6d7105cee",
28
- "@webiny/api-headless-cms": "0.0.0-unstable.b6d7105cee",
29
- "@webiny/api-opensearch": "0.0.0-unstable.b6d7105cee",
30
- "@webiny/background-tasks": "0.0.0-unstable.b6d7105cee",
31
- "@webiny/build-tools": "0.0.0-unstable.b6d7105cee",
32
- "@webiny/handler": "0.0.0-unstable.b6d7105cee",
33
- "@webiny/handler-aws": "0.0.0-unstable.b6d7105cee",
34
- "@webiny/plugins": "0.0.0-unstable.b6d7105cee",
35
- "@webiny/project-utils": "0.0.0-unstable.b6d7105cee",
36
- "@webiny/wcp": "0.0.0-unstable.b6d7105cee",
26
+ "@webiny/api-core": "0.0.0-unstable.eb81deee7e",
27
+ "@webiny/api-headless-cms": "0.0.0-unstable.eb81deee7e",
28
+ "@webiny/api-headless-cms-testing": "0.0.0-unstable.eb81deee7e",
29
+ "@webiny/api-opensearch": "0.0.0-unstable.eb81deee7e",
30
+ "@webiny/background-tasks": "0.0.0-unstable.eb81deee7e",
31
+ "@webiny/build-tools": "0.0.0-unstable.eb81deee7e",
32
+ "@webiny/di": "1.1.0",
33
+ "@webiny/wcp": "0.0.0-unstable.eb81deee7e",
37
34
  "typescript": "7.0.2",
38
- "vitest": "4.1.10"
35
+ "vitest": "4.1.11"
39
36
  },
40
37
  "publishConfig": {
41
38
  "access": "public"
package/context.d.ts DELETED
@@ -1,2 +0,0 @@
1
- import { ContextPlugin } from "@webiny/api";
2
- export declare const createWebsiteBuilderScheduleContext: () => ContextPlugin<import("@webiny/api/types").Context>;
package/context.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.js","sources":["../src/context.ts"],"sourcesContent":["import { ContextPlugin } from \"@webiny/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 createWebsiteBuilderScheduleContext = () => {\n return new ContextPlugin(async context => {\n context.container.register(PageNamespaceHandler);\n context.container.register(RedirectNamespaceHandler);\n context.container.register(PublishPageActionHandler);\n context.container.register(PublishRedirectActionHandler);\n context.container.register(UnpublishPageActionHandler);\n context.container.register(UnpublishRedirectActionHandler);\n context.container.register(SchedulePublishPageUseCase);\n context.container.register(ScheduleUnpublishPageUseCase);\n context.container.register(SchedulePublishRedirectUseCase);\n context.container.register(ScheduleUnpublishRedirectUseCase);\n\n CancelScheduledActionOnChangeFeature.register(context.container);\n });\n};\n"],"names":["createWebsiteBuilderScheduleContext","ContextPlugin","context","PageNamespaceHandler","RedirectNamespaceHandler","PublishPageActionHandler","PublishRedirectActionHandler","UnpublishPageActionHandler","UnpublishRedirectActionHandler","SchedulePublishPageUseCase","ScheduleUnpublishPageUseCase","SchedulePublishRedirectUseCase","ScheduleUnpublishRedirectUseCase","CancelScheduledActionOnChangeFeature"],"mappings":";;;;;;;;;;;;AAaO,MAAMA,sCAAsC,IACxC,IAAIC,cAAc,OAAMC;QAC3BA,QAAQ,SAAS,CAAC,QAAQ,CAACC;QAC3BD,QAAQ,SAAS,CAAC,QAAQ,CAACE;QAC3BF,QAAQ,SAAS,CAAC,QAAQ,CAACG;QAC3BH,QAAQ,SAAS,CAAC,QAAQ,CAACI;QAC3BJ,QAAQ,SAAS,CAAC,QAAQ,CAACK;QAC3BL,QAAQ,SAAS,CAAC,QAAQ,CAACM;QAC3BN,QAAQ,SAAS,CAAC,QAAQ,CAACO;QAC3BP,QAAQ,SAAS,CAAC,QAAQ,CAACQ;QAC3BR,QAAQ,SAAS,CAAC,QAAQ,CAACS;QAC3BT,QAAQ,SAAS,CAAC,QAAQ,CAACU;QAE3BC,qCAAqC,QAAQ,CAACX,QAAQ,SAAS;IACnE"}
package/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import { createWebsiteBuilderScheduleContext } from \"~/context.js\";\nimport { ContextPlugin } from \"@webiny/api\";\n\nexport const createWebsiteBuilderScheduler = (): ContextPlugin[] => {\n return [createWebsiteBuilderScheduleContext()];\n};\n"],"names":["createWebsiteBuilderScheduler","createWebsiteBuilderScheduleContext"],"mappings":";AAGO,MAAMA,gCAAgC,IAClC;QAACC;KAAsC"}