@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.
- package/WebsiteBuilderSchedulerFeature.js +2 -0
- package/WebsiteBuilderSchedulerFeature.js.map +1 -1
- package/features/permissions/WbSchedulerPermissions.d.ts +13 -0
- package/features/permissions/WbSchedulerPermissions.js +26 -0
- package/features/permissions/WbSchedulerPermissions.js.map +1 -0
- package/package.json +14 -15
|
@@ -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":"
|
|
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.
|
|
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.
|
|
21
|
-
"@webiny/api-scheduler": "0.0.0-unstable.
|
|
22
|
-
"@webiny/api-website-builder": "0.0.0-unstable.
|
|
23
|
-
"@webiny/feature": "0.0.0-unstable.
|
|
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.
|
|
27
|
-
"@webiny/api-headless-cms": "0.0.0-unstable.
|
|
28
|
-
"@webiny/api-headless-cms-testing": "0.0.0-unstable.
|
|
29
|
-
"@webiny/api-opensearch": "0.0.0-unstable.
|
|
30
|
-
"@webiny/background-tasks": "0.0.0-unstable.
|
|
31
|
-
"@webiny/build-tools": "0.0.0-unstable.
|
|
32
|
-
"@webiny/di": "
|
|
33
|
-
"@webiny/
|
|
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.
|
|
35
|
+
"vitest": "4.1.11"
|
|
37
36
|
},
|
|
38
37
|
"publishConfig": {
|
|
39
38
|
"access": "public"
|