@webiny/api-headless-cms-bulk-actions-standalone 0.0.0-unstable.5387e5f7c8 → 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,8 @@
1
+ interface IBulkActionsInternalToken {
2
+ value: string;
3
+ }
4
+ export declare const BulkActionsInternalToken: import("@webiny/di").Abstraction<IBulkActionsInternalToken>;
5
+ export declare namespace BulkActionsInternalToken {
6
+ type Interface = IBulkActionsInternalToken;
7
+ }
8
+ export {};
@@ -0,0 +1,5 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const BulkActionsInternalToken = createAbstraction("BulkActionsInternalToken");
3
+ export { BulkActionsInternalToken };
4
+
5
+ //# sourceMappingURL=BulkActionsInternalToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BulkActionsInternalToken.js","sources":["../src/BulkActionsInternalToken.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\n\ninterface IBulkActionsInternalToken {\n value: string;\n}\n\nexport const BulkActionsInternalToken = createAbstraction<IBulkActionsInternalToken>(\n \"BulkActionsInternalToken\"\n);\n\nexport namespace BulkActionsInternalToken {\n export type Interface = IBulkActionsInternalToken;\n}\n"],"names":["BulkActionsInternalToken","createAbstraction"],"mappings":";AAMO,MAAMA,2BAA2BC,kBACpC"}
@@ -0,0 +1,27 @@
1
+ import { HttpRouteDefinition, HttpRouteHandler } from "@webiny/event-handler-core";
2
+ import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/index.js";
3
+ import { TaskService } from "@webiny/api-core/features/task/TaskService/abstractions.js";
4
+ import { BulkActionsInternalToken } from "./BulkActionsInternalToken.js";
5
+ declare class EmptyTrashBinRouteImpl implements HttpRouteHandler.Interface {
6
+ private readonly tenantContext;
7
+ private readonly taskService;
8
+ private readonly internalToken;
9
+ constructor(tenantContext: TenantContext.Interface, taskService: TaskService.Interface, internalToken: BulkActionsInternalToken.Interface);
10
+ handle(request: HttpRouteHandler.Request, response: HttpRouteHandler.Response): Promise<import("@webiny/event-handler-core").IHttpResponseBuilder>;
11
+ }
12
+ export declare const EmptyTrashBinRoute: typeof EmptyTrashBinRouteImpl & {
13
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/event-handler-core").IHttpRoute>;
14
+ };
15
+ declare class EmptyTrashBinRouteDefinitionImpl implements HttpRouteDefinition.Interface {
16
+ readonly name = "empty-trash-bin";
17
+ readonly method = "POST";
18
+ readonly path = "/empty-trash-bins";
19
+ readonly handler: typeof EmptyTrashBinRouteImpl & {
20
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/event-handler-core").IHttpRoute>;
21
+ };
22
+ }
23
+ /** What the router matches on. Zero dependencies, so building it costs nothing. */
24
+ export declare const EmptyTrashBinRouteDefinition: typeof EmptyTrashBinRouteDefinitionImpl & {
25
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/event-handler-core").IHttpRouteDefinition>;
26
+ };
27
+ export {};
@@ -0,0 +1,59 @@
1
+ import { HttpRouteDefinition, HttpRouteHandler } from "@webiny/event-handler-core";
2
+ import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/index.js";
3
+ import { TaskService } from "@webiny/api-core/features/task/TaskService/abstractions.js";
4
+ import { BulkActionsInternalToken } from "./BulkActionsInternalToken.js";
5
+ const INTERNAL_HEADER = "x-webiny-bulk-actions-token";
6
+ class EmptyTrashBinRouteImpl {
7
+ constructor(tenantContext, taskService, internalToken){
8
+ this.tenantContext = tenantContext;
9
+ this.taskService = taskService;
10
+ this.internalToken = internalToken;
11
+ }
12
+ async handle(request, response) {
13
+ if (request.headers[INTERNAL_HEADER] !== this.internalToken.value) return response.status(403).json({
14
+ error: "Forbidden."
15
+ });
16
+ try {
17
+ await this.tenantContext.withRootTenant(async ()=>{
18
+ await this.taskService.trigger({
19
+ definition: "hcmsEntriesEmptyTrashBins"
20
+ });
21
+ });
22
+ return response.json({
23
+ status: "ok"
24
+ });
25
+ } catch (err) {
26
+ const message = err instanceof Error ? err.message : String(err);
27
+ console.error(`Empty trash bin route error: ${message}`);
28
+ return response.status(500).json({
29
+ status: "error",
30
+ error: {
31
+ message
32
+ }
33
+ });
34
+ }
35
+ }
36
+ }
37
+ const EmptyTrashBinRoute = HttpRouteHandler.createImplementation({
38
+ implementation: EmptyTrashBinRouteImpl,
39
+ dependencies: [
40
+ TenantContext,
41
+ TaskService,
42
+ BulkActionsInternalToken
43
+ ]
44
+ });
45
+ class EmptyTrashBinRouteDefinitionImpl {
46
+ constructor(){
47
+ this.name = "empty-trash-bin";
48
+ this.method = "POST";
49
+ this.path = "/empty-trash-bins";
50
+ this.handler = EmptyTrashBinRoute;
51
+ }
52
+ }
53
+ const EmptyTrashBinRouteDefinition = HttpRouteDefinition.createImplementation({
54
+ implementation: EmptyTrashBinRouteDefinitionImpl,
55
+ dependencies: []
56
+ });
57
+ export { EmptyTrashBinRoute, EmptyTrashBinRouteDefinition };
58
+
59
+ //# sourceMappingURL=EmptyTrashBinRoute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmptyTrashBinRoute.js","sources":["../src/EmptyTrashBinRoute.ts"],"sourcesContent":["import { HttpRouteDefinition, HttpRouteHandler } from \"@webiny/event-handler-core\";\nimport { TenantContext } from \"@webiny/api-core/features/tenancy/TenantContext/index.js\";\nimport { TaskService } from \"@webiny/api-core/features/task/TaskService/abstractions.js\";\nimport { BulkActionsInternalToken } from \"./BulkActionsInternalToken.js\";\n\nconst INTERNAL_HEADER = \"x-webiny-bulk-actions-token\";\n\nclass EmptyTrashBinRouteImpl implements HttpRouteHandler.Interface {\n public constructor(\n private readonly tenantContext: TenantContext.Interface,\n private readonly taskService: TaskService.Interface,\n private readonly internalToken: BulkActionsInternalToken.Interface\n ) {}\n\n public async handle(request: HttpRouteHandler.Request, response: HttpRouteHandler.Response) {\n if (request.headers[INTERNAL_HEADER] !== this.internalToken.value) {\n return response.status(403).json({ error: \"Forbidden.\" });\n }\n\n try {\n await this.tenantContext.withRootTenant(async () => {\n await this.taskService.trigger({ definition: \"hcmsEntriesEmptyTrashBins\" });\n });\n\n return response.json({ status: \"ok\" });\n } catch (err) {\n const message = err instanceof Error ? err.message : String(err);\n console.error(`Empty trash bin route error: ${message}`);\n return response.status(500).json({ status: \"error\", error: { message } });\n }\n }\n}\n\nexport const EmptyTrashBinRoute = HttpRouteHandler.createImplementation({\n implementation: EmptyTrashBinRouteImpl,\n dependencies: [TenantContext, TaskService, BulkActionsInternalToken]\n});\n\nclass EmptyTrashBinRouteDefinitionImpl implements HttpRouteDefinition.Interface {\n readonly name = \"empty-trash-bin\";\n readonly method = \"POST\";\n readonly path = \"/empty-trash-bins\";\n readonly handler = EmptyTrashBinRoute;\n}\n\n/** What the router matches on. Zero dependencies, so building it costs nothing. */\nexport const EmptyTrashBinRouteDefinition = HttpRouteDefinition.createImplementation({\n implementation: EmptyTrashBinRouteDefinitionImpl,\n dependencies: []\n});\n"],"names":["INTERNAL_HEADER","EmptyTrashBinRouteImpl","tenantContext","taskService","internalToken","request","response","err","message","Error","String","console","EmptyTrashBinRoute","HttpRouteHandler","TenantContext","TaskService","BulkActionsInternalToken","EmptyTrashBinRouteDefinitionImpl","EmptyTrashBinRouteDefinition","HttpRouteDefinition"],"mappings":";;;;AAKA,MAAMA,kBAAkB;AAExB,MAAMC;IACF,YACqBC,aAAsC,EACtCC,WAAkC,EAClCC,aAAiD,CACpE;aAHmBF,aAAa,GAAbA;aACAC,WAAW,GAAXA;aACAC,aAAa,GAAbA;IAClB;IAEH,MAAa,OAAOC,OAAiC,EAAEC,QAAmC,EAAE;QACxF,IAAID,QAAQ,OAAO,CAACL,gBAAgB,KAAK,IAAI,CAAC,aAAa,CAAC,KAAK,EAC7D,OAAOM,SAAS,MAAM,CAAC,KAAK,IAAI,CAAC;YAAE,OAAO;QAAa;QAG3D,IAAI;YACA,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;gBACpC,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;oBAAE,YAAY;gBAA4B;YAC7E;YAEA,OAAOA,SAAS,IAAI,CAAC;gBAAE,QAAQ;YAAK;QACxC,EAAE,OAAOC,KAAK;YACV,MAAMC,UAAUD,eAAeE,QAAQF,IAAI,OAAO,GAAGG,OAAOH;YAC5DI,QAAQ,KAAK,CAAC,CAAC,6BAA6B,EAAEH,SAAS;YACvD,OAAOF,SAAS,MAAM,CAAC,KAAK,IAAI,CAAC;gBAAE,QAAQ;gBAAS,OAAO;oBAAEE;gBAAQ;YAAE;QAC3E;IACJ;AACJ;AAEO,MAAMI,qBAAqBC,iBAAiB,oBAAoB,CAAC;IACpE,gBAAgBZ;IAChB,cAAc;QAACa;QAAeC;QAAaC;KAAyB;AACxE;AAEA,MAAMC;;aACO,IAAI,GAAG;aACP,MAAM,GAAG;aACT,IAAI,GAAG;aACP,OAAO,GAAGL;;AACvB;AAGO,MAAMM,+BAA+BC,oBAAoB,oBAAoB,CAAC;IACjF,gBAAgBF;IAChB,cAAc,EAAE;AACpB"}
package/index.d.ts CHANGED
@@ -1,3 +1,6 @@
1
- export { EmptyTrashBinsFeature } from "./EmptyTrashBinsFeature.js";
2
- export { EMPTY_TRASH_BINS_EVENT_IDENTIFIER } from "./EmptyTrashBinsEventType.js";
3
- export type { IEmptyTrashBinsEvent } from "./EmptyTrashBinsEventType.js";
1
+ import { BulkActionsInternalToken } from "./BulkActionsInternalToken.js";
2
+ export { BulkActionsInternalToken };
3
+ export declare const EmptyTrashBinRouteFeature: {
4
+ name: string;
5
+ register(container: import("@webiny/di").Container): void;
6
+ };
package/index.js CHANGED
@@ -1,2 +1,17 @@
1
- export { EmptyTrashBinsFeature } from "./EmptyTrashBinsFeature.js";
2
- export { EMPTY_TRASH_BINS_EVENT_IDENTIFIER } from "./EmptyTrashBinsEventType.js";
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { EmptyTrashBinRouteDefinition } from "./EmptyTrashBinRoute.js";
3
+ import { uuid } from "@webiny/stdlib";
4
+ import { BulkActionsInternalToken } from "./BulkActionsInternalToken.js";
5
+ const EmptyTrashBinRouteFeature = createFeature({
6
+ name: "BulkActions/EmptyTrashBinRoute",
7
+ register: (container)=>{
8
+ const token = uuid();
9
+ container.registerInstance(BulkActionsInternalToken, {
10
+ value: token
11
+ });
12
+ container.register(EmptyTrashBinRouteDefinition);
13
+ }
14
+ });
15
+ export { BulkActionsInternalToken, EmptyTrashBinRouteFeature };
16
+
17
+ //# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { EmptyTrashBinRouteDefinition } from \"./EmptyTrashBinRoute.js\";\nimport { uuid } from \"@webiny/stdlib\";\nimport { BulkActionsInternalToken } from \"./BulkActionsInternalToken.js\";\n\nexport { BulkActionsInternalToken };\n\nexport const EmptyTrashBinRouteFeature = createFeature({\n name: \"BulkActions/EmptyTrashBinRoute\",\n register: container => {\n const token = uuid();\n container.registerInstance(BulkActionsInternalToken, { value: token });\n container.register(EmptyTrashBinRouteDefinition);\n }\n});\n"],"names":["EmptyTrashBinRouteFeature","createFeature","container","token","uuid","BulkActionsInternalToken","EmptyTrashBinRouteDefinition"],"mappings":";;;;AAOO,MAAMA,4BAA4BC,cAAc;IACnD,MAAM;IACN,UAAUC,CAAAA;QACN,MAAMC,QAAQC;QACdF,UAAU,gBAAgB,CAACG,0BAA0B;YAAE,OAAOF;QAAM;QACpED,UAAU,QAAQ,CAACI;IACvB;AACJ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/api-headless-cms-bulk-actions-standalone",
3
- "version": "0.0.0-unstable.5387e5f7c8",
3
+ "version": "0.0.0-unstable.eb81deee7e",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./index.js",
@@ -17,16 +17,14 @@
17
17
  },
18
18
  "license": "MIT",
19
19
  "dependencies": {
20
- "@webiny/api-core": "0.0.0-unstable.5387e5f7c8",
21
- "@webiny/event-handler-core": "0.0.0-unstable.5387e5f7c8",
22
- "@webiny/feature": "0.0.0-unstable.5387e5f7c8"
23
- },
24
- "peerDependencies": {
25
- "@webiny/di": "^2.0.0"
20
+ "@webiny/event-handler-core": "0.0.0-unstable.eb81deee7e",
21
+ "@webiny/feature": "0.0.0-unstable.eb81deee7e",
22
+ "@webiny/stdlib": "0.0.17"
26
23
  },
27
24
  "devDependencies": {
28
- "@webiny/build-tools": "0.0.0-unstable.5387e5f7c8",
29
- "@webiny/di": "2.0.0",
25
+ "@webiny/api-core": "0.0.0-unstable.eb81deee7e",
26
+ "@webiny/build-tools": "0.0.0-unstable.eb81deee7e",
27
+ "@webiny/di": "1.1.0",
30
28
  "typescript": "7.0.2",
31
29
  "vitest": "4.1.11"
32
30
  },
@@ -1,9 +0,0 @@
1
- import { Abstraction } from "@webiny/di";
2
- import type { IEventHandler } from "@webiny/event-handler-core";
3
- import type { IEmptyTrashBinsEvent } from "./EmptyTrashBinsEventType.js";
4
- export interface IEmptyTrashBinsEventHandler extends IEventHandler<IEmptyTrashBinsEvent, void> {
5
- }
6
- export declare const EmptyTrashBinsEventHandler: Abstraction<IEmptyTrashBinsEventHandler>;
7
- export declare namespace EmptyTrashBinsEventHandler {
8
- type Interface = IEmptyTrashBinsEventHandler;
9
- }
@@ -1,5 +0,0 @@
1
- import { Abstraction } from "@webiny/di";
2
- const EmptyTrashBinsEventHandler = new Abstraction("EmptyTrashBinsEventHandler");
3
- export { EmptyTrashBinsEventHandler };
4
-
5
- //# sourceMappingURL=EmptyTrashBinsEventHandler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmptyTrashBinsEventHandler.js","sources":["../src/EmptyTrashBinsEventHandler.ts"],"sourcesContent":["import { Abstraction } from \"@webiny/di\";\nimport type { IEventHandler } from \"@webiny/event-handler-core\";\nimport type { IEmptyTrashBinsEvent } from \"./EmptyTrashBinsEventType.js\";\n\nexport interface IEmptyTrashBinsEventHandler extends IEventHandler<IEmptyTrashBinsEvent, void> {}\n\nexport const EmptyTrashBinsEventHandler = new Abstraction<IEmptyTrashBinsEventHandler>(\n \"EmptyTrashBinsEventHandler\"\n);\n\nexport namespace EmptyTrashBinsEventHandler {\n export type Interface = IEmptyTrashBinsEventHandler;\n}\n"],"names":["EmptyTrashBinsEventHandler","Abstraction"],"mappings":";AAMO,MAAMA,6BAA6B,IAAIC,YAC1C"}
@@ -1,17 +0,0 @@
1
- import type { IEventType } from "@webiny/event-handler-core";
2
- export declare const EMPTY_TRASH_BINS_EVENT_IDENTIFIER = "WebinyEmptyTrashBins";
3
- /**
4
- * Asks for the trash bins to be emptied. The standalone server dispatches it on a timer; AWS gets
5
- * the same from an EventBridge rule (`WebinyEmptyTrashBin`).
6
- */
7
- export interface IEmptyTrashBinsEvent {
8
- [EMPTY_TRASH_BINS_EVENT_IDENTIFIER]: true;
9
- }
10
- declare class EmptyTrashBinsEventTypeImpl implements IEventType<IEmptyTrashBinsEvent> {
11
- canHandle(event: any): event is IEmptyTrashBinsEvent;
12
- getHandlerAbstraction(): import("@webiny/di").Abstraction<import("./EmptyTrashBinsEventHandler.js").IEmptyTrashBinsEventHandler>;
13
- }
14
- export declare const EmptyTrashBinsEventType: typeof EmptyTrashBinsEventTypeImpl & {
15
- __abstraction: import("@webiny/di").Abstraction<IEventType<any>>;
16
- };
17
- export {};
@@ -1,18 +0,0 @@
1
- import { EventType } from "@webiny/event-handler-core";
2
- import { EmptyTrashBinsEventHandler } from "./EmptyTrashBinsEventHandler.js";
3
- const EMPTY_TRASH_BINS_EVENT_IDENTIFIER = "WebinyEmptyTrashBins";
4
- class EmptyTrashBinsEventTypeImpl {
5
- canHandle(event) {
6
- return event?.[EMPTY_TRASH_BINS_EVENT_IDENTIFIER] === true;
7
- }
8
- getHandlerAbstraction() {
9
- return EmptyTrashBinsEventHandler;
10
- }
11
- }
12
- const EmptyTrashBinsEventType = EventType.createImplementation({
13
- implementation: EmptyTrashBinsEventTypeImpl,
14
- dependencies: []
15
- });
16
- export { EMPTY_TRASH_BINS_EVENT_IDENTIFIER, EmptyTrashBinsEventType };
17
-
18
- //# sourceMappingURL=EmptyTrashBinsEventType.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmptyTrashBinsEventType.js","sources":["../src/EmptyTrashBinsEventType.ts"],"sourcesContent":["import { EventType } from \"@webiny/event-handler-core\";\nimport type { IEventType } from \"@webiny/event-handler-core\";\nimport { EmptyTrashBinsEventHandler } from \"./EmptyTrashBinsEventHandler.js\";\n\nexport const EMPTY_TRASH_BINS_EVENT_IDENTIFIER = \"WebinyEmptyTrashBins\";\n\n/**\n * Asks for the trash bins to be emptied. The standalone server dispatches it on a timer; AWS gets\n * the same from an EventBridge rule (`WebinyEmptyTrashBin`).\n */\nexport interface IEmptyTrashBinsEvent {\n [EMPTY_TRASH_BINS_EVENT_IDENTIFIER]: true;\n}\n\nclass EmptyTrashBinsEventTypeImpl implements IEventType<IEmptyTrashBinsEvent> {\n canHandle(event: any): event is IEmptyTrashBinsEvent {\n return event?.[EMPTY_TRASH_BINS_EVENT_IDENTIFIER] === true;\n }\n\n getHandlerAbstraction() {\n return EmptyTrashBinsEventHandler;\n }\n}\n\nexport const EmptyTrashBinsEventType = EventType.createImplementation({\n implementation: EmptyTrashBinsEventTypeImpl,\n dependencies: []\n});\n"],"names":["EMPTY_TRASH_BINS_EVENT_IDENTIFIER","EmptyTrashBinsEventTypeImpl","event","EmptyTrashBinsEventHandler","EmptyTrashBinsEventType","EventType"],"mappings":";;AAIO,MAAMA,oCAAoC;AAUjD,MAAMC;IACF,UAAUC,KAAU,EAAiC;QACjD,OAAOA,OAAO,CAACF,kCAAkC,KAAK;IAC1D;IAEA,wBAAwB;QACpB,OAAOG;IACX;AACJ;AAEO,MAAMC,0BAA0BC,UAAU,oBAAoB,CAAC;IAClE,gBAAgBJ;IAChB,cAAc,EAAE;AACpB"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Lets the standalone server empty the trash bins by dispatching an `EmptyTrashBinsEvent`. Register
3
- * at the root container.
4
- */
5
- export declare const EmptyTrashBinsFeature: {
6
- name: string;
7
- register(container: import("@webiny/di").Container): void;
8
- };
@@ -1,13 +0,0 @@
1
- import { createFeature } from "@webiny/feature/api";
2
- import { EmptyTrashBinsEventType } from "./EmptyTrashBinsEventType.js";
3
- import { TriggerEmptyTrashBinsHandler } from "./TriggerEmptyTrashBinsHandler.js";
4
- const EmptyTrashBinsFeature = createFeature({
5
- name: "BulkActions/EmptyTrashBins",
6
- register: (container)=>{
7
- container.register(EmptyTrashBinsEventType);
8
- container.register(TriggerEmptyTrashBinsHandler);
9
- }
10
- });
11
- export { EmptyTrashBinsFeature };
12
-
13
- //# sourceMappingURL=EmptyTrashBinsFeature.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmptyTrashBinsFeature.js","sources":["../src/EmptyTrashBinsFeature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { EmptyTrashBinsEventType } from \"./EmptyTrashBinsEventType.js\";\nimport { TriggerEmptyTrashBinsHandler } from \"./TriggerEmptyTrashBinsHandler.js\";\n\n/**\n * Lets the standalone server empty the trash bins by dispatching an `EmptyTrashBinsEvent`. Register\n * at the root container.\n */\nexport const EmptyTrashBinsFeature = createFeature({\n name: \"BulkActions/EmptyTrashBins\",\n register: container => {\n container.register(EmptyTrashBinsEventType);\n container.register(TriggerEmptyTrashBinsHandler);\n }\n});\n"],"names":["EmptyTrashBinsFeature","createFeature","container","EmptyTrashBinsEventType","TriggerEmptyTrashBinsHandler"],"mappings":";;;AAQO,MAAMA,wBAAwBC,cAAc;IAC/C,MAAM;IACN,UAAUC,CAAAA;QACNA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE;IACvB;AACJ"}
@@ -1,17 +0,0 @@
1
- import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/index.js";
2
- import { TaskService } from "@webiny/api-core/features/task/TaskService/abstractions.js";
3
- import { EmptyTrashBinsEventHandler } from "./EmptyTrashBinsEventHandler.js";
4
- /**
5
- * Starts the task that empties the trash bins, as the root tenant. The task does the work; this
6
- * only triggers it. Mirrors `BulkActionsEventBridgeLambdaHandler` on AWS.
7
- */
8
- declare class TriggerEmptyTrashBinsHandlerImpl implements EmptyTrashBinsEventHandler.Interface {
9
- private readonly tenantContext;
10
- private readonly taskService;
11
- constructor(tenantContext: TenantContext.Interface, taskService: TaskService.Interface);
12
- execute(): Promise<void>;
13
- }
14
- export declare const TriggerEmptyTrashBinsHandler: typeof TriggerEmptyTrashBinsHandlerImpl & {
15
- __abstraction: import("@webiny/di").Abstraction<import("./EmptyTrashBinsEventHandler.js").IEmptyTrashBinsEventHandler>;
16
- };
17
- export {};
@@ -1,26 +0,0 @@
1
- import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/index.js";
2
- import { TaskService } from "@webiny/api-core/features/task/TaskService/abstractions.js";
3
- import { EmptyTrashBinsEventHandler } from "./EmptyTrashBinsEventHandler.js";
4
- class TriggerEmptyTrashBinsHandlerImpl {
5
- constructor(tenantContext, taskService){
6
- this.tenantContext = tenantContext;
7
- this.taskService = taskService;
8
- }
9
- async execute() {
10
- await this.tenantContext.withRootTenant(async ()=>{
11
- await this.taskService.trigger({
12
- definition: "hcmsEntriesEmptyTrashBins"
13
- });
14
- });
15
- }
16
- }
17
- const TriggerEmptyTrashBinsHandler = EmptyTrashBinsEventHandler.createImplementation({
18
- implementation: TriggerEmptyTrashBinsHandlerImpl,
19
- dependencies: [
20
- TenantContext,
21
- TaskService
22
- ]
23
- });
24
- export { TriggerEmptyTrashBinsHandler };
25
-
26
- //# sourceMappingURL=TriggerEmptyTrashBinsHandler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TriggerEmptyTrashBinsHandler.js","sources":["../src/TriggerEmptyTrashBinsHandler.ts"],"sourcesContent":["import { TenantContext } from \"@webiny/api-core/features/tenancy/TenantContext/index.js\";\nimport { TaskService } from \"@webiny/api-core/features/task/TaskService/abstractions.js\";\nimport { EmptyTrashBinsEventHandler } from \"./EmptyTrashBinsEventHandler.js\";\n\n/**\n * Starts the task that empties the trash bins, as the root tenant. The task does the work; this\n * only triggers it. Mirrors `BulkActionsEventBridgeLambdaHandler` on AWS.\n */\nclass TriggerEmptyTrashBinsHandlerImpl implements EmptyTrashBinsEventHandler.Interface {\n public constructor(\n private readonly tenantContext: TenantContext.Interface,\n private readonly taskService: TaskService.Interface\n ) {}\n\n public async execute(): Promise<void> {\n await this.tenantContext.withRootTenant(async () => {\n await this.taskService.trigger({ definition: \"hcmsEntriesEmptyTrashBins\" });\n });\n }\n}\n\nexport const TriggerEmptyTrashBinsHandler = EmptyTrashBinsEventHandler.createImplementation({\n implementation: TriggerEmptyTrashBinsHandlerImpl,\n dependencies: [TenantContext, TaskService]\n});\n"],"names":["TriggerEmptyTrashBinsHandlerImpl","tenantContext","taskService","TriggerEmptyTrashBinsHandler","EmptyTrashBinsEventHandler","TenantContext","TaskService"],"mappings":";;;AAQA,MAAMA;IACF,YACqBC,aAAsC,EACtCC,WAAkC,CACrD;aAFmBD,aAAa,GAAbA;aACAC,WAAW,GAAXA;IAClB;IAEH,MAAa,UAAyB;QAClC,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YACpC,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;gBAAE,YAAY;YAA4B;QAC7E;IACJ;AACJ;AAEO,MAAMC,+BAA+BC,2BAA2B,oBAAoB,CAAC;IACxF,gBAAgBJ;IAChB,cAAc;QAACK;QAAeC;KAAY;AAC9C"}