@webiny/api-website-builder-scheduler 6.3.0 → 6.4.0-beta.1
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/constants.js +8 -4
- package/constants.js.map +1 -1
- package/context.js +14 -15
- package/context.js.map +1 -1
- package/exports/api/website-builder/scheduler.js +0 -2
- package/features/CancelScheduledActionOnChange/CancelScheduledActionOnPageDeleteEventHandler.js +25 -33
- package/features/CancelScheduledActionOnChange/CancelScheduledActionOnPageDeleteEventHandler.js.map +1 -1
- package/features/CancelScheduledActionOnChange/CancelScheduledActionOnPagePublishEventHandler.js +25 -34
- package/features/CancelScheduledActionOnChange/CancelScheduledActionOnPagePublishEventHandler.js.map +1 -1
- package/features/CancelScheduledActionOnChange/CancelScheduledActionOnPageUnpublishEventHandler.js +25 -34
- package/features/CancelScheduledActionOnChange/CancelScheduledActionOnPageUnpublishEventHandler.js.map +1 -1
- package/features/CancelScheduledActionOnChange/CancelScheduledActionOnRedirectDeleteEventHandler.js +24 -33
- package/features/CancelScheduledActionOnChange/CancelScheduledActionOnRedirectDeleteEventHandler.js.map +1 -1
- package/features/CancelScheduledActionOnChange/feature.js +9 -16
- package/features/CancelScheduledActionOnChange/feature.js.map +1 -1
- package/features/NamespaceHandler/PageNamespaceHandler.js +29 -28
- package/features/NamespaceHandler/PageNamespaceHandler.js.map +1 -1
- package/features/NamespaceHandler/RedirectNamespaceHandler.js +29 -28
- package/features/NamespaceHandler/RedirectNamespaceHandler.js.map +1 -1
- package/features/PublishActionHandler/PublishPageActionHandler.js +20 -21
- package/features/PublishActionHandler/PublishPageActionHandler.js.map +1 -1
- package/features/PublishActionHandler/PublishRedirectActionHandler.js +20 -22
- package/features/PublishActionHandler/PublishRedirectActionHandler.js.map +1 -1
- package/features/SchedulePublishPageUseCase/SchedulePublishPageUseCase.js +21 -20
- package/features/SchedulePublishPageUseCase/SchedulePublishPageUseCase.js.map +1 -1
- package/features/SchedulePublishPageUseCase/abstractions.js +3 -3
- package/features/SchedulePublishPageUseCase/abstractions.js.map +1 -1
- package/features/SchedulePublishRedirectUseCase/SchedulePublishRedirectUseCase.js +21 -20
- package/features/SchedulePublishRedirectUseCase/SchedulePublishRedirectUseCase.js.map +1 -1
- package/features/SchedulePublishRedirectUseCase/abstractions.js +3 -3
- package/features/SchedulePublishRedirectUseCase/abstractions.js.map +1 -1
- package/features/ScheduleUnpublishPageUseCase/ScheduleUnpublishPageUseCase.js +21 -20
- package/features/ScheduleUnpublishPageUseCase/ScheduleUnpublishPageUseCase.js.map +1 -1
- package/features/ScheduleUnpublishPageUseCase/abstractions.js +3 -3
- package/features/ScheduleUnpublishPageUseCase/abstractions.js.map +1 -1
- package/features/ScheduleUnpublishRedirectUseCase/ScheduleUnpublishRedirectUseCase.js +21 -20
- package/features/ScheduleUnpublishRedirectUseCase/ScheduleUnpublishRedirectUseCase.js.map +1 -1
- package/features/ScheduleUnpublishRedirectUseCase/abstractions.js +3 -3
- package/features/ScheduleUnpublishRedirectUseCase/abstractions.js.map +1 -1
- package/features/UnpublishActionHandler/UnpublishPageActionHandler.js +20 -20
- package/features/UnpublishActionHandler/UnpublishPageActionHandler.js.map +1 -1
- package/features/UnpublishActionHandler/UnpublishRedirectActionHandler.js +20 -21
- package/features/UnpublishActionHandler/UnpublishRedirectActionHandler.js.map +1 -1
- package/index.js +4 -3
- package/index.js.map +1 -1
- package/package.json +18 -18
- package/types.js +0 -3
- package/utils/namespace.js +7 -12
- package/utils/namespace.js.map +1 -1
- package/exports/api/website-builder/scheduler.js.map +0 -1
- package/types.js.map +0 -1
|
@@ -1,38 +1,39 @@
|
|
|
1
|
-
import { NamespaceHandler
|
|
1
|
+
import { NamespaceHandler } from "@webiny/api-scheduler/exports/api/scheduler.js";
|
|
2
2
|
import { extractModelIdFromNamespace } from "../../utils/namespace.js";
|
|
3
3
|
import { Result } from "@webiny/feature/exports/api.js";
|
|
4
4
|
import { SCHEDULED_ACTION_TYPE_REDIRECT } from "../../constants.js";
|
|
5
5
|
import { GetRedirectByIdUseCase } from "@webiny/api-website-builder/exports/api/website-builder/redirect.js";
|
|
6
6
|
class RedirectNamespaceHandlerImpl {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
7
|
+
constructor(getRedirectByIdUseCase){
|
|
8
|
+
this.getRedirectByIdUseCase = getRedirectByIdUseCase;
|
|
9
|
+
}
|
|
10
|
+
canHandle(namespace) {
|
|
11
|
+
const type = extractModelIdFromNamespace(namespace);
|
|
12
|
+
return type === SCHEDULED_ACTION_TYPE_REDIRECT;
|
|
13
|
+
}
|
|
14
|
+
async execute(params) {
|
|
15
|
+
const type = extractModelIdFromNamespace(params.namespace);
|
|
16
|
+
const redirectResult = await this.getRedirectByIdUseCase.execute(params.targetId);
|
|
17
|
+
if (redirectResult.isFail()) return Result.fail(redirectResult.error);
|
|
18
|
+
const redirect = redirectResult.value;
|
|
19
|
+
const title = redirect.redirectFrom || "Unknown redirect title";
|
|
20
|
+
return Result.ok({
|
|
21
|
+
namespace: params.namespace,
|
|
22
|
+
title,
|
|
23
|
+
type,
|
|
24
|
+
actionType: params.actionType,
|
|
25
|
+
targetId: params.targetId,
|
|
26
|
+
scheduleId: params.scheduleId,
|
|
27
|
+
immediately: params.immediately || false
|
|
28
|
+
});
|
|
19
29
|
}
|
|
20
|
-
const redirect = redirectResult.value;
|
|
21
|
-
const title = redirect.redirectFrom || "Unknown redirect title";
|
|
22
|
-
return Result.ok({
|
|
23
|
-
namespace: params.namespace,
|
|
24
|
-
title,
|
|
25
|
-
type,
|
|
26
|
-
actionType: params.actionType,
|
|
27
|
-
targetId: params.targetId,
|
|
28
|
-
scheduleId: params.scheduleId,
|
|
29
|
-
immediately: params.immediately || false
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
30
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
31
|
+
const RedirectNamespaceHandler = NamespaceHandler.createImplementation({
|
|
32
|
+
implementation: RedirectNamespaceHandlerImpl,
|
|
33
|
+
dependencies: [
|
|
34
|
+
GetRedirectByIdUseCase
|
|
35
|
+
]
|
|
36
36
|
});
|
|
37
|
+
export { RedirectNamespaceHandler };
|
|
37
38
|
|
|
38
39
|
//# sourceMappingURL=RedirectNamespaceHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/NamespaceHandler/RedirectNamespaceHandler.js","sources":["../../../src/features/NamespaceHandler/RedirectNamespaceHandler.ts"],"sourcesContent":["import { NamespaceHandler as NamespaceHandlerAbstraction } from \"@webiny/api-scheduler/exports/api/scheduler.js\";\nimport { extractModelIdFromNamespace } from \"~/utils/namespace.js\";\nimport { Result } from \"@webiny/feature/exports/api.js\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\nimport { SCHEDULED_ACTION_TYPE_REDIRECT } from \"~/constants.js\";\nimport type { IScheduledActionPayload } from \"~/types.js\";\nimport { GetRedirectByIdUseCase } from \"@webiny/api-website-builder/exports/api/website-builder/redirect.js\";\n\nclass RedirectNamespaceHandlerImpl implements NamespaceHandlerAbstraction.Interface<GenericRecord> {\n public constructor(private getRedirectByIdUseCase: GetRedirectByIdUseCase.Interface) {}\n\n public canHandle(namespace: string): boolean {\n const type = extractModelIdFromNamespace(namespace);\n\n return type === SCHEDULED_ACTION_TYPE_REDIRECT;\n }\n\n public async execute(\n params: NamespaceHandlerAbstraction.Params\n ): NamespaceHandlerAbstraction.Response<IScheduledActionPayload> {\n const type = extractModelIdFromNamespace(params.namespace)!;\n\n const redirectResult = await this.getRedirectByIdUseCase.execute(params.targetId);\n if (redirectResult.isFail()) {\n return Result.fail(redirectResult.error as any);\n }\n const redirect = redirectResult.value;\n\n const title = redirect.redirectFrom || \"Unknown redirect title\";\n\n return Result.ok({\n namespace: params.namespace,\n title,\n type,\n actionType: params.actionType,\n targetId: params.targetId,\n scheduleId: params.scheduleId,\n immediately: params.immediately || false\n });\n }\n}\n\nexport const RedirectNamespaceHandler = NamespaceHandlerAbstraction.createImplementation({\n implementation: RedirectNamespaceHandlerImpl,\n dependencies: [GetRedirectByIdUseCase]\n});\n"],"names":["RedirectNamespaceHandlerImpl","getRedirectByIdUseCase","namespace","type","extractModelIdFromNamespace","SCHEDULED_ACTION_TYPE_REDIRECT","params","redirectResult","Result","redirect","title","RedirectNamespaceHandler","NamespaceHandlerAbstraction","GetRedirectByIdUseCase"],"mappings":";;;;;AAQA,MAAMA;IACF,YAA2BC,sBAAwD,CAAE;aAA1DA,sBAAsB,GAAtBA;IAA2D;IAE/E,UAAUC,SAAiB,EAAW;QACzC,MAAMC,OAAOC,4BAA4BF;QAEzC,OAAOC,SAASE;IACpB;IAEA,MAAa,QACTC,MAA0C,EACmB;QAC7D,MAAMH,OAAOC,4BAA4BE,OAAO,SAAS;QAEzD,MAAMC,iBAAiB,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAACD,OAAO,QAAQ;QAChF,IAAIC,eAAe,MAAM,IACrB,OAAOC,OAAO,IAAI,CAACD,eAAe,KAAK;QAE3C,MAAME,WAAWF,eAAe,KAAK;QAErC,MAAMG,QAAQD,SAAS,YAAY,IAAI;QAEvC,OAAOD,OAAO,EAAE,CAAC;YACb,WAAWF,OAAO,SAAS;YAC3BI;YACAP;YACA,YAAYG,OAAO,UAAU;YAC7B,UAAUA,OAAO,QAAQ;YACzB,YAAYA,OAAO,UAAU;YAC7B,aAAaA,OAAO,WAAW,IAAI;QACvC;IACJ;AACJ;AAEO,MAAMK,2BAA2BC,iBAAAA,oBAAgD,CAAC;IACrF,gBAAgBZ;IAChB,cAAc;QAACa;KAAuB;AAC1C"}
|
|
@@ -2,30 +2,29 @@ import { ScheduledActionHandler, ScheduledActionTypePublish } from "@webiny/api-
|
|
|
2
2
|
import { PublishPageUseCase } from "@webiny/api-website-builder/exports/api/website-builder/page.js";
|
|
3
3
|
import { extractModelIdFromNamespace } from "../../utils/namespace.js";
|
|
4
4
|
import { SCHEDULED_ACTION_TYPE_PAGE } from "../../constants.js";
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Handles the scheduled "publish" action for Website Builder pages.
|
|
8
|
-
*/
|
|
9
5
|
class PublishPageActionHandlerImpl {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
6
|
+
constructor(publishPageUseCase){
|
|
7
|
+
this.publishPageUseCase = publishPageUseCase;
|
|
8
|
+
}
|
|
9
|
+
canHandle(namespace, actionType) {
|
|
10
|
+
return extractModelIdFromNamespace(namespace) === SCHEDULED_ACTION_TYPE_PAGE && actionType === ScheduledActionTypePublish;
|
|
11
|
+
}
|
|
12
|
+
async handle(action) {
|
|
13
|
+
const result = await this.publishPageUseCase.execute({
|
|
14
|
+
id: action.targetId
|
|
15
|
+
});
|
|
16
|
+
if (result.isFail()) {
|
|
17
|
+
console.error(`Failed to publish page "${action.targetId}":`, result.error);
|
|
18
|
+
throw new Error(`Failed to publish page: ${action.targetId}`);
|
|
19
|
+
}
|
|
23
20
|
}
|
|
24
|
-
}
|
|
25
21
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
22
|
+
const PublishPageActionHandler = ScheduledActionHandler.createImplementation({
|
|
23
|
+
implementation: PublishPageActionHandlerImpl,
|
|
24
|
+
dependencies: [
|
|
25
|
+
PublishPageUseCase
|
|
26
|
+
]
|
|
29
27
|
});
|
|
28
|
+
export { PublishPageActionHandler };
|
|
30
29
|
|
|
31
30
|
//# sourceMappingURL=PublishPageActionHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/PublishActionHandler/PublishPageActionHandler.js","sources":["../../../src/features/PublishActionHandler/PublishPageActionHandler.ts"],"sourcesContent":["import {\n ScheduledActionHandler,\n ScheduledActionType,\n type IScheduledAction,\n ScheduledActionTypePublish\n} from \"@webiny/api-scheduler/exports/api/scheduler.js\";\nimport { PublishPageUseCase } from \"@webiny/api-website-builder/exports/api/website-builder/page.js\";\nimport type { IScheduledActionPayload } from \"~/types.js\";\nimport { extractModelIdFromNamespace } from \"~/utils/namespace.js\";\nimport { SCHEDULED_ACTION_TYPE_PAGE } from \"~/constants.js\";\n\n/**\n * Handles the scheduled \"publish\" action for Website Builder pages.\n */\nclass PublishPageActionHandlerImpl implements ScheduledActionHandler.Interface {\n constructor(private publishPageUseCase: PublishPageUseCase.Interface) {}\n\n public canHandle(namespace: string, actionType: ScheduledActionType): boolean {\n return (\n extractModelIdFromNamespace(namespace) === SCHEDULED_ACTION_TYPE_PAGE &&\n actionType === ScheduledActionTypePublish\n );\n }\n\n public async handle(action: IScheduledAction<IScheduledActionPayload>): Promise<void> {\n const result = await this.publishPageUseCase.execute({ id: action.targetId });\n if (result.isFail()) {\n console.error(`Failed to publish page \"${action.targetId}\":`, result.error);\n throw new Error(`Failed to publish page: ${action.targetId}`);\n }\n }\n}\n\nexport const PublishPageActionHandler = ScheduledActionHandler.createImplementation({\n implementation: PublishPageActionHandlerImpl,\n dependencies: [PublishPageUseCase]\n});\n"],"names":["PublishPageActionHandlerImpl","publishPageUseCase","namespace","actionType","extractModelIdFromNamespace","SCHEDULED_ACTION_TYPE_PAGE","ScheduledActionTypePublish","action","result","console","Error","PublishPageActionHandler","ScheduledActionHandler","PublishPageUseCase"],"mappings":";;;;AAcA,MAAMA;IACF,YAAoBC,kBAAgD,CAAE;aAAlDA,kBAAkB,GAAlBA;IAAmD;IAEhE,UAAUC,SAAiB,EAAEC,UAA+B,EAAW;QAC1E,OACIC,4BAA4BF,eAAeG,8BAC3CF,eAAeG;IAEvB;IAEA,MAAa,OAAOC,MAAiD,EAAiB;QAClF,MAAMC,SAAS,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;YAAE,IAAID,OAAO,QAAQ;QAAC;QAC3E,IAAIC,OAAO,MAAM,IAAI;YACjBC,QAAQ,KAAK,CAAC,CAAC,wBAAwB,EAAEF,OAAO,QAAQ,CAAC,EAAE,CAAC,EAAEC,OAAO,KAAK;YAC1E,MAAM,IAAIE,MAAM,CAAC,wBAAwB,EAAEH,OAAO,QAAQ,EAAE;QAChE;IACJ;AACJ;AAEO,MAAMI,2BAA2BC,uBAAuB,oBAAoB,CAAC;IAChF,gBAAgBZ;IAChB,cAAc;QAACa;KAAmB;AACtC"}
|
|
@@ -2,31 +2,29 @@ import { ScheduledActionHandler, ScheduledActionTypePublish } from "@webiny/api-
|
|
|
2
2
|
import { UpdateRedirectUseCase } from "@webiny/api-website-builder/exports/api/website-builder/redirect.js";
|
|
3
3
|
import { extractModelIdFromNamespace } from "../../utils/namespace.js";
|
|
4
4
|
import { SCHEDULED_ACTION_TYPE_REDIRECT } from "../../constants.js";
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Handles the scheduled "publish" action for Website Builder redirects.
|
|
8
|
-
* Publishing a redirect means enabling it (isEnabled: true).
|
|
9
|
-
*/
|
|
10
5
|
class PublishRedirectActionHandlerImpl {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
6
|
+
constructor(updateRedirectUseCase){
|
|
7
|
+
this.updateRedirectUseCase = updateRedirectUseCase;
|
|
8
|
+
}
|
|
9
|
+
canHandle(namespace, actionType) {
|
|
10
|
+
return extractModelIdFromNamespace(namespace) === SCHEDULED_ACTION_TYPE_REDIRECT && actionType === ScheduledActionTypePublish;
|
|
11
|
+
}
|
|
12
|
+
async handle(action) {
|
|
13
|
+
const result = await this.updateRedirectUseCase.execute(action.targetId, {
|
|
14
|
+
isEnabled: true
|
|
15
|
+
});
|
|
16
|
+
if (result.isFail()) {
|
|
17
|
+
console.error(`Failed to enable redirect "${action.targetId}":`, result.error);
|
|
18
|
+
throw new Error(`Failed to enable redirect: ${action.targetId}`);
|
|
19
|
+
}
|
|
24
20
|
}
|
|
25
|
-
}
|
|
26
21
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
22
|
+
const PublishRedirectActionHandler = ScheduledActionHandler.createImplementation({
|
|
23
|
+
implementation: PublishRedirectActionHandlerImpl,
|
|
24
|
+
dependencies: [
|
|
25
|
+
UpdateRedirectUseCase
|
|
26
|
+
]
|
|
30
27
|
});
|
|
28
|
+
export { PublishRedirectActionHandler };
|
|
31
29
|
|
|
32
30
|
//# sourceMappingURL=PublishRedirectActionHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/PublishActionHandler/PublishRedirectActionHandler.js","sources":["../../../src/features/PublishActionHandler/PublishRedirectActionHandler.ts"],"sourcesContent":["import {\n ScheduledActionHandler,\n ScheduledActionType,\n type IScheduledAction,\n ScheduledActionTypePublish\n} from \"@webiny/api-scheduler/exports/api/scheduler.js\";\nimport { UpdateRedirectUseCase } from \"@webiny/api-website-builder/exports/api/website-builder/redirect.js\";\nimport type { IScheduledActionPayload } from \"~/types.js\";\nimport { extractModelIdFromNamespace } from \"~/utils/namespace.js\";\nimport { SCHEDULED_ACTION_TYPE_REDIRECT } from \"~/constants.js\";\n\n/**\n * Handles the scheduled \"publish\" action for Website Builder redirects.\n * Publishing a redirect means enabling it (isEnabled: true).\n */\nclass PublishRedirectActionHandlerImpl implements ScheduledActionHandler.Interface {\n constructor(private updateRedirectUseCase: UpdateRedirectUseCase.Interface) {}\n\n public canHandle(namespace: string, actionType: ScheduledActionType): boolean {\n return (\n extractModelIdFromNamespace(namespace) === SCHEDULED_ACTION_TYPE_REDIRECT &&\n actionType === ScheduledActionTypePublish\n );\n }\n\n public async handle(action: IScheduledAction<IScheduledActionPayload>): Promise<void> {\n const result = await this.updateRedirectUseCase.execute(action.targetId, {\n isEnabled: true\n });\n if (result.isFail()) {\n console.error(`Failed to enable redirect \"${action.targetId}\":`, result.error);\n throw new Error(`Failed to enable redirect: ${action.targetId}`);\n }\n }\n}\n\nexport const PublishRedirectActionHandler = ScheduledActionHandler.createImplementation({\n implementation: PublishRedirectActionHandlerImpl,\n dependencies: [UpdateRedirectUseCase]\n});\n"],"names":["PublishRedirectActionHandlerImpl","updateRedirectUseCase","namespace","actionType","extractModelIdFromNamespace","SCHEDULED_ACTION_TYPE_REDIRECT","ScheduledActionTypePublish","action","result","console","Error","PublishRedirectActionHandler","ScheduledActionHandler","UpdateRedirectUseCase"],"mappings":";;;;AAeA,MAAMA;IACF,YAAoBC,qBAAsD,CAAE;aAAxDA,qBAAqB,GAArBA;IAAyD;IAEtE,UAAUC,SAAiB,EAAEC,UAA+B,EAAW;QAC1E,OACIC,4BAA4BF,eAAeG,kCAC3CF,eAAeG;IAEvB;IAEA,MAAa,OAAOC,MAAiD,EAAiB;QAClF,MAAMC,SAAS,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAACD,OAAO,QAAQ,EAAE;YACrE,WAAW;QACf;QACA,IAAIC,OAAO,MAAM,IAAI;YACjBC,QAAQ,KAAK,CAAC,CAAC,2BAA2B,EAAEF,OAAO,QAAQ,CAAC,EAAE,CAAC,EAAEC,OAAO,KAAK;YAC7E,MAAM,IAAIE,MAAM,CAAC,2BAA2B,EAAEH,OAAO,QAAQ,EAAE;QACnE;IACJ;AACJ;AAEO,MAAMI,+BAA+BC,uBAAuB,oBAAoB,CAAC;IACpF,gBAAgBZ;IAChB,cAAc;QAACa;KAAsB;AACzC"}
|
|
@@ -1,30 +1,31 @@
|
|
|
1
|
-
import { SchedulePublishPageUseCase
|
|
1
|
+
import { SchedulePublishPageUseCase } from "./abstractions.js";
|
|
2
2
|
import { ScheduleActionUseCase, ScheduledActionTypePublish } from "@webiny/api-scheduler/exports/api/scheduler.js";
|
|
3
3
|
import { createNamespace } from "../../utils/namespace.js";
|
|
4
4
|
import { Result } from "@webiny/feature/exports/api.js";
|
|
5
5
|
import { SCHEDULED_ACTION_TYPE_PAGE } from "../../constants.js";
|
|
6
6
|
class SchedulePublishPageUseCaseImpl {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
7
|
+
constructor(scheduleAction){
|
|
8
|
+
this.scheduleAction = scheduleAction;
|
|
9
|
+
}
|
|
10
|
+
async execute(params) {
|
|
11
|
+
const scheduleResult = await this.scheduleAction.execute({
|
|
12
|
+
namespace: createNamespace(SCHEDULED_ACTION_TYPE_PAGE),
|
|
13
|
+
actionType: ScheduledActionTypePublish,
|
|
14
|
+
scheduleFor: params.scheduleFor,
|
|
15
|
+
targetId: params.id
|
|
16
|
+
});
|
|
17
|
+
if (scheduleResult.isFail()) return Result.fail(scheduleResult.error);
|
|
18
|
+
return Result.ok({
|
|
19
|
+
scheduledAction: scheduleResult.value
|
|
20
|
+
});
|
|
19
21
|
}
|
|
20
|
-
return Result.ok({
|
|
21
|
-
scheduledAction: scheduleResult.value
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
22
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
const SchedulePublishPageUseCase_SchedulePublishPageUseCase = SchedulePublishPageUseCase.createImplementation({
|
|
24
|
+
implementation: SchedulePublishPageUseCaseImpl,
|
|
25
|
+
dependencies: [
|
|
26
|
+
ScheduleActionUseCase
|
|
27
|
+
]
|
|
28
28
|
});
|
|
29
|
+
export { SchedulePublishPageUseCase_SchedulePublishPageUseCase as SchedulePublishPageUseCase };
|
|
29
30
|
|
|
30
31
|
//# sourceMappingURL=SchedulePublishPageUseCase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/SchedulePublishPageUseCase/SchedulePublishPageUseCase.js","sources":["../../../src/features/SchedulePublishPageUseCase/SchedulePublishPageUseCase.ts"],"sourcesContent":["import { SchedulePublishPageUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport {\n ScheduleActionUseCase,\n ScheduledActionTypePublish\n} from \"@webiny/api-scheduler/exports/api/scheduler.js\";\nimport { createNamespace } from \"~/utils/namespace.js\";\nimport { Result } from \"@webiny/feature/exports/api.js\";\nimport { SCHEDULED_ACTION_TYPE_PAGE } from \"~/constants.js\";\n\nclass SchedulePublishPageUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(private scheduleAction: ScheduleActionUseCase.Interface) {}\n\n public async execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Result {\n const scheduleResult = await this.scheduleAction.execute({\n namespace: createNamespace(SCHEDULED_ACTION_TYPE_PAGE),\n actionType: ScheduledActionTypePublish,\n scheduleFor: params.scheduleFor,\n targetId: params.id\n });\n if (scheduleResult.isFail()) {\n return Result.fail(scheduleResult.error);\n }\n return Result.ok({ scheduledAction: scheduleResult.value });\n }\n}\n\nexport const SchedulePublishPageUseCase = UseCaseAbstraction.createImplementation({\n implementation: SchedulePublishPageUseCaseImpl,\n dependencies: [ScheduleActionUseCase]\n});\n"],"names":["SchedulePublishPageUseCaseImpl","scheduleAction","params","scheduleResult","createNamespace","SCHEDULED_ACTION_TYPE_PAGE","ScheduledActionTypePublish","Result","SchedulePublishPageUseCase","UseCaseAbstraction","ScheduleActionUseCase"],"mappings":";;;;;AASA,MAAMA;IACF,YAA2BC,cAA+C,CAAE;aAAjDA,cAAc,GAAdA;IAAkD;IAE7E,MAAa,QAAQC,MAAiC,EAA6B;QAC/E,MAAMC,iBAAiB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;YACrD,WAAWC,gBAAgBC;YAC3B,YAAYC;YACZ,aAAaJ,OAAO,WAAW;YAC/B,UAAUA,OAAO,EAAE;QACvB;QACA,IAAIC,eAAe,MAAM,IACrB,OAAOI,OAAO,IAAI,CAACJ,eAAe,KAAK;QAE3C,OAAOI,OAAO,EAAE,CAAC;YAAE,iBAAiBJ,eAAe,KAAK;QAAC;IAC7D;AACJ;AAEO,MAAMK,wDAA6BC,2BAAAA,oBAAuC,CAAC;IAC9E,gBAAgBT;IAChB,cAAc;QAACU;KAAsB;AACzC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { createAbstraction
|
|
2
|
-
|
|
3
|
-
export
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
const SchedulePublishPageUseCase = createAbstraction("WbScheduler/SchedulePublishPageUseCase");
|
|
3
|
+
export { SchedulePublishPageUseCase };
|
|
4
4
|
|
|
5
5
|
//# sourceMappingURL=abstractions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/SchedulePublishPageUseCase/abstractions.js","sources":["../../../src/features/SchedulePublishPageUseCase/abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type {\n IScheduledAction,\n ScheduleActionError\n} from \"@webiny/api-scheduler/exports/api/scheduler.js\";\n\nexport interface ISchedulePublishPageUseCaseParams {\n id: string;\n scheduleFor: Date;\n}\n\nexport interface ISchedulePublishPageUseCaseResult {\n scheduledAction: IScheduledAction;\n}\n\nexport type ISchedulePublishPageUseCaseResponse = Promise<\n Result<ISchedulePublishPageUseCaseResult, ScheduleActionError>\n>;\n\nexport interface ISchedulePublishPageUseCase {\n execute(params: ISchedulePublishPageUseCaseParams): ISchedulePublishPageUseCaseResponse;\n}\n\n/** Schedule a page for future publishing. */\nexport const SchedulePublishPageUseCase = createAbstraction<ISchedulePublishPageUseCase>(\n \"WbScheduler/SchedulePublishPageUseCase\"\n);\n\nexport namespace SchedulePublishPageUseCase {\n export type Interface = ISchedulePublishPageUseCase;\n export type Error = ScheduleActionError;\n export type Params = ISchedulePublishPageUseCaseParams;\n export type Result = ISchedulePublishPageUseCaseResponse;\n}\n"],"names":["SchedulePublishPageUseCase","createAbstraction"],"mappings":";AAwBO,MAAMA,6BAA6BC,kBACtC"}
|
|
@@ -1,30 +1,31 @@
|
|
|
1
|
-
import { SchedulePublishRedirectUseCase
|
|
1
|
+
import { SchedulePublishRedirectUseCase } from "./abstractions.js";
|
|
2
2
|
import { ScheduleActionUseCase, ScheduledActionTypePublish } from "@webiny/api-scheduler/exports/api/scheduler.js";
|
|
3
3
|
import { createNamespace } from "../../utils/namespace.js";
|
|
4
4
|
import { Result } from "@webiny/feature/exports/api.js";
|
|
5
5
|
import { SCHEDULED_ACTION_TYPE_REDIRECT } from "../../constants.js";
|
|
6
6
|
class SchedulePublishRedirectUseCaseImpl {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
7
|
+
constructor(scheduleAction){
|
|
8
|
+
this.scheduleAction = scheduleAction;
|
|
9
|
+
}
|
|
10
|
+
async execute(params) {
|
|
11
|
+
const scheduleResult = await this.scheduleAction.execute({
|
|
12
|
+
namespace: createNamespace(SCHEDULED_ACTION_TYPE_REDIRECT),
|
|
13
|
+
actionType: ScheduledActionTypePublish,
|
|
14
|
+
scheduleFor: params.scheduleFor,
|
|
15
|
+
targetId: params.id
|
|
16
|
+
});
|
|
17
|
+
if (scheduleResult.isFail()) return Result.fail(scheduleResult.error);
|
|
18
|
+
return Result.ok({
|
|
19
|
+
scheduledAction: scheduleResult.value
|
|
20
|
+
});
|
|
19
21
|
}
|
|
20
|
-
return Result.ok({
|
|
21
|
-
scheduledAction: scheduleResult.value
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
22
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
const SchedulePublishRedirectUseCase_SchedulePublishRedirectUseCase = SchedulePublishRedirectUseCase.createImplementation({
|
|
24
|
+
implementation: SchedulePublishRedirectUseCaseImpl,
|
|
25
|
+
dependencies: [
|
|
26
|
+
ScheduleActionUseCase
|
|
27
|
+
]
|
|
28
28
|
});
|
|
29
|
+
export { SchedulePublishRedirectUseCase_SchedulePublishRedirectUseCase as SchedulePublishRedirectUseCase };
|
|
29
30
|
|
|
30
31
|
//# sourceMappingURL=SchedulePublishRedirectUseCase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/SchedulePublishRedirectUseCase/SchedulePublishRedirectUseCase.js","sources":["../../../src/features/SchedulePublishRedirectUseCase/SchedulePublishRedirectUseCase.ts"],"sourcesContent":["import { SchedulePublishRedirectUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport {\n ScheduleActionUseCase,\n ScheduledActionTypePublish\n} from \"@webiny/api-scheduler/exports/api/scheduler.js\";\nimport { createNamespace } from \"~/utils/namespace.js\";\nimport { Result } from \"@webiny/feature/exports/api.js\";\nimport { SCHEDULED_ACTION_TYPE_REDIRECT } from \"~/constants.js\";\n\nclass SchedulePublishRedirectUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(private scheduleAction: ScheduleActionUseCase.Interface) {}\n\n public async execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Result {\n const scheduleResult = await this.scheduleAction.execute({\n namespace: createNamespace(SCHEDULED_ACTION_TYPE_REDIRECT),\n actionType: ScheduledActionTypePublish,\n scheduleFor: params.scheduleFor,\n targetId: params.id\n });\n if (scheduleResult.isFail()) {\n return Result.fail(scheduleResult.error);\n }\n return Result.ok({ scheduledAction: scheduleResult.value });\n }\n}\n\nexport const SchedulePublishRedirectUseCase = UseCaseAbstraction.createImplementation({\n implementation: SchedulePublishRedirectUseCaseImpl,\n dependencies: [ScheduleActionUseCase]\n});\n"],"names":["SchedulePublishRedirectUseCaseImpl","scheduleAction","params","scheduleResult","createNamespace","SCHEDULED_ACTION_TYPE_REDIRECT","ScheduledActionTypePublish","Result","SchedulePublishRedirectUseCase","UseCaseAbstraction","ScheduleActionUseCase"],"mappings":";;;;;AASA,MAAMA;IACF,YAA2BC,cAA+C,CAAE;aAAjDA,cAAc,GAAdA;IAAkD;IAE7E,MAAa,QAAQC,MAAiC,EAA6B;QAC/E,MAAMC,iBAAiB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;YACrD,WAAWC,gBAAgBC;YAC3B,YAAYC;YACZ,aAAaJ,OAAO,WAAW;YAC/B,UAAUA,OAAO,EAAE;QACvB;QACA,IAAIC,eAAe,MAAM,IACrB,OAAOI,OAAO,IAAI,CAACJ,eAAe,KAAK;QAE3C,OAAOI,OAAO,EAAE,CAAC;YAAE,iBAAiBJ,eAAe,KAAK;QAAC;IAC7D;AACJ;AAEO,MAAMK,gEAAiCC,+BAAAA,oBAAuC,CAAC;IAClF,gBAAgBT;IAChB,cAAc;QAACU;KAAsB;AACzC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { createAbstraction
|
|
2
|
-
|
|
3
|
-
export
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
const SchedulePublishRedirectUseCase = createAbstraction("WbScheduler/SchedulePublishRedirectUseCase");
|
|
3
|
+
export { SchedulePublishRedirectUseCase };
|
|
4
4
|
|
|
5
5
|
//# sourceMappingURL=abstractions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/SchedulePublishRedirectUseCase/abstractions.js","sources":["../../../src/features/SchedulePublishRedirectUseCase/abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type {\n IScheduledAction,\n ScheduleActionError\n} from \"@webiny/api-scheduler/exports/api/scheduler.js\";\n\nexport interface ISchedulePublishRedirectUseCaseParams {\n id: string;\n scheduleFor: Date;\n}\n\nexport interface ISchedulePublishRedirectUseCaseResult {\n scheduledAction: IScheduledAction;\n}\n\nexport type ISchedulePublishRedirectUseCaseResponse = Promise<\n Result<ISchedulePublishRedirectUseCaseResult, ScheduleActionError>\n>;\n\nexport interface ISchedulePublishRedirectUseCase {\n execute(params: ISchedulePublishRedirectUseCaseParams): ISchedulePublishRedirectUseCaseResponse;\n}\n\n/** Schedule a redirect for future publishing. */\nexport const SchedulePublishRedirectUseCase = createAbstraction<ISchedulePublishRedirectUseCase>(\n \"WbScheduler/SchedulePublishRedirectUseCase\"\n);\n\nexport namespace SchedulePublishRedirectUseCase {\n export type Interface = ISchedulePublishRedirectUseCase;\n export type Error = ScheduleActionError;\n export type Params = ISchedulePublishRedirectUseCaseParams;\n export type Result = ISchedulePublishRedirectUseCaseResponse;\n}\n"],"names":["SchedulePublishRedirectUseCase","createAbstraction"],"mappings":";AAwBO,MAAMA,iCAAiCC,kBAC1C"}
|
|
@@ -1,30 +1,31 @@
|
|
|
1
|
-
import { ScheduleUnpublishPageUseCase
|
|
1
|
+
import { ScheduleUnpublishPageUseCase } from "./abstractions.js";
|
|
2
2
|
import { ScheduleActionUseCase, ScheduledActionTypeUnpublish } from "@webiny/api-scheduler/exports/api/scheduler.js";
|
|
3
3
|
import { createNamespace } from "../../utils/namespace.js";
|
|
4
4
|
import { Result } from "@webiny/feature/exports/api.js";
|
|
5
5
|
import { SCHEDULED_ACTION_TYPE_PAGE } from "../../constants.js";
|
|
6
6
|
class ScheduleUnpublishPageUseCaseImpl {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
7
|
+
constructor(scheduleAction){
|
|
8
|
+
this.scheduleAction = scheduleAction;
|
|
9
|
+
}
|
|
10
|
+
async execute(params) {
|
|
11
|
+
const scheduleResult = await this.scheduleAction.execute({
|
|
12
|
+
namespace: createNamespace(SCHEDULED_ACTION_TYPE_PAGE),
|
|
13
|
+
actionType: ScheduledActionTypeUnpublish,
|
|
14
|
+
scheduleFor: params.scheduleFor,
|
|
15
|
+
targetId: params.id
|
|
16
|
+
});
|
|
17
|
+
if (scheduleResult.isFail()) return Result.fail(scheduleResult.error);
|
|
18
|
+
return Result.ok({
|
|
19
|
+
scheduledAction: scheduleResult.value
|
|
20
|
+
});
|
|
19
21
|
}
|
|
20
|
-
return Result.ok({
|
|
21
|
-
scheduledAction: scheduleResult.value
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
22
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
const ScheduleUnpublishPageUseCase_ScheduleUnpublishPageUseCase = ScheduleUnpublishPageUseCase.createImplementation({
|
|
24
|
+
implementation: ScheduleUnpublishPageUseCaseImpl,
|
|
25
|
+
dependencies: [
|
|
26
|
+
ScheduleActionUseCase
|
|
27
|
+
]
|
|
28
28
|
});
|
|
29
|
+
export { ScheduleUnpublishPageUseCase_ScheduleUnpublishPageUseCase as ScheduleUnpublishPageUseCase };
|
|
29
30
|
|
|
30
31
|
//# sourceMappingURL=ScheduleUnpublishPageUseCase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/ScheduleUnpublishPageUseCase/ScheduleUnpublishPageUseCase.js","sources":["../../../src/features/ScheduleUnpublishPageUseCase/ScheduleUnpublishPageUseCase.ts"],"sourcesContent":["import { ScheduleUnpublishPageUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport {\n ScheduleActionUseCase,\n ScheduledActionTypeUnpublish\n} from \"@webiny/api-scheduler/exports/api/scheduler.js\";\nimport { createNamespace } from \"~/utils/namespace.js\";\nimport { Result } from \"@webiny/feature/exports/api.js\";\nimport { SCHEDULED_ACTION_TYPE_PAGE } from \"~/constants.js\";\n\nclass ScheduleUnpublishPageUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(private scheduleAction: ScheduleActionUseCase.Interface) {}\n\n public async execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Result {\n const scheduleResult = await this.scheduleAction.execute({\n namespace: createNamespace(SCHEDULED_ACTION_TYPE_PAGE),\n actionType: ScheduledActionTypeUnpublish,\n scheduleFor: params.scheduleFor,\n targetId: params.id\n });\n if (scheduleResult.isFail()) {\n return Result.fail(scheduleResult.error);\n }\n return Result.ok({ scheduledAction: scheduleResult.value });\n }\n}\n\nexport const ScheduleUnpublishPageUseCase = UseCaseAbstraction.createImplementation({\n implementation: ScheduleUnpublishPageUseCaseImpl,\n dependencies: [ScheduleActionUseCase]\n});\n"],"names":["ScheduleUnpublishPageUseCaseImpl","scheduleAction","params","scheduleResult","createNamespace","SCHEDULED_ACTION_TYPE_PAGE","ScheduledActionTypeUnpublish","Result","ScheduleUnpublishPageUseCase","UseCaseAbstraction","ScheduleActionUseCase"],"mappings":";;;;;AASA,MAAMA;IACF,YAA2BC,cAA+C,CAAE;aAAjDA,cAAc,GAAdA;IAAkD;IAE7E,MAAa,QAAQC,MAAiC,EAA6B;QAC/E,MAAMC,iBAAiB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;YACrD,WAAWC,gBAAgBC;YAC3B,YAAYC;YACZ,aAAaJ,OAAO,WAAW;YAC/B,UAAUA,OAAO,EAAE;QACvB;QACA,IAAIC,eAAe,MAAM,IACrB,OAAOI,OAAO,IAAI,CAACJ,eAAe,KAAK;QAE3C,OAAOI,OAAO,EAAE,CAAC;YAAE,iBAAiBJ,eAAe,KAAK;QAAC;IAC7D;AACJ;AAEO,MAAMK,4DAA+BC,6BAAAA,oBAAuC,CAAC;IAChF,gBAAgBT;IAChB,cAAc;QAACU;KAAsB;AACzC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { createAbstraction
|
|
2
|
-
|
|
3
|
-
export
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
const ScheduleUnpublishPageUseCase = createAbstraction("WbScheduler/ScheduleUnpublishPageUseCase");
|
|
3
|
+
export { ScheduleUnpublishPageUseCase };
|
|
4
4
|
|
|
5
5
|
//# sourceMappingURL=abstractions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/ScheduleUnpublishPageUseCase/abstractions.js","sources":["../../../src/features/ScheduleUnpublishPageUseCase/abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type {\n IScheduledAction,\n ScheduleActionError\n} from \"@webiny/api-scheduler/exports/api/scheduler.js\";\n\nexport interface IScheduleUnpublishPageUseCaseParams {\n id: string;\n scheduleFor: Date;\n}\n\nexport interface IScheduleUnpublishPageUseCaseResult {\n scheduledAction: IScheduledAction;\n}\n\nexport type IScheduleUnpublishPageUseCaseResponse = Promise<\n Result<IScheduleUnpublishPageUseCaseResult, ScheduleActionError>\n>;\n\nexport interface IScheduleUnpublishPageUseCase {\n execute(params: IScheduleUnpublishPageUseCaseParams): IScheduleUnpublishPageUseCaseResponse;\n}\n\n/** Schedule a page for future unpublishing. */\nexport const ScheduleUnpublishPageUseCase = createAbstraction<IScheduleUnpublishPageUseCase>(\n \"WbScheduler/ScheduleUnpublishPageUseCase\"\n);\n\nexport namespace ScheduleUnpublishPageUseCase {\n export type Interface = IScheduleUnpublishPageUseCase;\n export type Error = ScheduleActionError;\n export type Params = IScheduleUnpublishPageUseCaseParams;\n export type Result = IScheduleUnpublishPageUseCaseResponse;\n}\n"],"names":["ScheduleUnpublishPageUseCase","createAbstraction"],"mappings":";AAwBO,MAAMA,+BAA+BC,kBACxC"}
|
|
@@ -1,30 +1,31 @@
|
|
|
1
|
-
import { ScheduleUnpublishRedirectUseCase
|
|
1
|
+
import { ScheduleUnpublishRedirectUseCase } from "./abstractions.js";
|
|
2
2
|
import { ScheduleActionUseCase, ScheduledActionTypeUnpublish } from "@webiny/api-scheduler/exports/api/scheduler.js";
|
|
3
3
|
import { createNamespace } from "../../utils/namespace.js";
|
|
4
4
|
import { Result } from "@webiny/feature/exports/api.js";
|
|
5
5
|
import { SCHEDULED_ACTION_TYPE_REDIRECT } from "../../constants.js";
|
|
6
6
|
class ScheduleUnpublishRedirectUseCaseImpl {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
7
|
+
constructor(scheduleAction){
|
|
8
|
+
this.scheduleAction = scheduleAction;
|
|
9
|
+
}
|
|
10
|
+
async execute(params) {
|
|
11
|
+
const scheduleResult = await this.scheduleAction.execute({
|
|
12
|
+
namespace: createNamespace(SCHEDULED_ACTION_TYPE_REDIRECT),
|
|
13
|
+
actionType: ScheduledActionTypeUnpublish,
|
|
14
|
+
scheduleFor: params.scheduleFor,
|
|
15
|
+
targetId: params.id
|
|
16
|
+
});
|
|
17
|
+
if (scheduleResult.isFail()) return Result.fail(scheduleResult.error);
|
|
18
|
+
return Result.ok({
|
|
19
|
+
scheduledAction: scheduleResult.value
|
|
20
|
+
});
|
|
19
21
|
}
|
|
20
|
-
return Result.ok({
|
|
21
|
-
scheduledAction: scheduleResult.value
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
22
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
const ScheduleUnpublishRedirectUseCase_ScheduleUnpublishRedirectUseCase = ScheduleUnpublishRedirectUseCase.createImplementation({
|
|
24
|
+
implementation: ScheduleUnpublishRedirectUseCaseImpl,
|
|
25
|
+
dependencies: [
|
|
26
|
+
ScheduleActionUseCase
|
|
27
|
+
]
|
|
28
28
|
});
|
|
29
|
+
export { ScheduleUnpublishRedirectUseCase_ScheduleUnpublishRedirectUseCase as ScheduleUnpublishRedirectUseCase };
|
|
29
30
|
|
|
30
31
|
//# sourceMappingURL=ScheduleUnpublishRedirectUseCase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/ScheduleUnpublishRedirectUseCase/ScheduleUnpublishRedirectUseCase.js","sources":["../../../src/features/ScheduleUnpublishRedirectUseCase/ScheduleUnpublishRedirectUseCase.ts"],"sourcesContent":["import { ScheduleUnpublishRedirectUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport {\n ScheduleActionUseCase,\n ScheduledActionTypeUnpublish\n} from \"@webiny/api-scheduler/exports/api/scheduler.js\";\nimport { createNamespace } from \"~/utils/namespace.js\";\nimport { Result } from \"@webiny/feature/exports/api.js\";\nimport { SCHEDULED_ACTION_TYPE_REDIRECT } from \"~/constants.js\";\n\nclass ScheduleUnpublishRedirectUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(private scheduleAction: ScheduleActionUseCase.Interface) {}\n\n public async execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Result {\n const scheduleResult = await this.scheduleAction.execute({\n namespace: createNamespace(SCHEDULED_ACTION_TYPE_REDIRECT),\n actionType: ScheduledActionTypeUnpublish,\n scheduleFor: params.scheduleFor,\n targetId: params.id\n });\n if (scheduleResult.isFail()) {\n return Result.fail(scheduleResult.error);\n }\n return Result.ok({ scheduledAction: scheduleResult.value });\n }\n}\n\nexport const ScheduleUnpublishRedirectUseCase = UseCaseAbstraction.createImplementation({\n implementation: ScheduleUnpublishRedirectUseCaseImpl,\n dependencies: [ScheduleActionUseCase]\n});\n"],"names":["ScheduleUnpublishRedirectUseCaseImpl","scheduleAction","params","scheduleResult","createNamespace","SCHEDULED_ACTION_TYPE_REDIRECT","ScheduledActionTypeUnpublish","Result","ScheduleUnpublishRedirectUseCase","UseCaseAbstraction","ScheduleActionUseCase"],"mappings":";;;;;AASA,MAAMA;IACF,YAA2BC,cAA+C,CAAE;aAAjDA,cAAc,GAAdA;IAAkD;IAE7E,MAAa,QAAQC,MAAiC,EAA6B;QAC/E,MAAMC,iBAAiB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;YACrD,WAAWC,gBAAgBC;YAC3B,YAAYC;YACZ,aAAaJ,OAAO,WAAW;YAC/B,UAAUA,OAAO,EAAE;QACvB;QACA,IAAIC,eAAe,MAAM,IACrB,OAAOI,OAAO,IAAI,CAACJ,eAAe,KAAK;QAE3C,OAAOI,OAAO,EAAE,CAAC;YAAE,iBAAiBJ,eAAe,KAAK;QAAC;IAC7D;AACJ;AAEO,MAAMK,oEAAmCC,iCAAAA,oBAAuC,CAAC;IACpF,gBAAgBT;IAChB,cAAc;QAACU;KAAsB;AACzC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { createAbstraction
|
|
2
|
-
|
|
3
|
-
export
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
const ScheduleUnpublishRedirectUseCase = createAbstraction("WbScheduler/ScheduleUnpublishRedirectUseCase");
|
|
3
|
+
export { ScheduleUnpublishRedirectUseCase };
|
|
4
4
|
|
|
5
5
|
//# sourceMappingURL=abstractions.js.map
|