@webiny/api-headless-cms-scheduler 6.0.0-alpha.5 → 6.0.0-rc.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/README.md +11 -15
- package/context.d.ts +2 -7
- package/context.js +9 -64
- package/context.js.map +1 -1
- package/features/CancelScheduledActionOnEntryChange/CancelScheduledActionOnEntryDeleteEventHandler.d.ts +20 -0
- package/features/CancelScheduledActionOnEntryChange/CancelScheduledActionOnEntryDeleteEventHandler.js +51 -0
- package/features/CancelScheduledActionOnEntryChange/CancelScheduledActionOnEntryDeleteEventHandler.js.map +1 -0
- package/features/CancelScheduledActionOnEntryChange/CancelScheduledActionOnPublishEventHandler.d.ts +19 -0
- package/features/CancelScheduledActionOnEntryChange/CancelScheduledActionOnPublishEventHandler.js +48 -0
- package/features/CancelScheduledActionOnEntryChange/CancelScheduledActionOnPublishEventHandler.js.map +1 -0
- package/features/CancelScheduledActionOnEntryChange/CancelScheduledActionOnRevisionDeleteEventHandler.d.ts +19 -0
- package/features/CancelScheduledActionOnEntryChange/CancelScheduledActionOnRevisionDeleteEventHandler.js +47 -0
- package/features/CancelScheduledActionOnEntryChange/CancelScheduledActionOnRevisionDeleteEventHandler.js.map +1 -0
- package/features/CancelScheduledActionOnEntryChange/CancelScheduledActionOnUnpublishEventHandler.d.ts +19 -0
- package/features/CancelScheduledActionOnEntryChange/CancelScheduledActionOnUnpublishEventHandler.js +48 -0
- package/features/CancelScheduledActionOnEntryChange/CancelScheduledActionOnUnpublishEventHandler.js.map +1 -0
- package/features/CancelScheduledActionOnEntryChange/feature.d.ts +8 -0
- package/features/CancelScheduledActionOnEntryChange/feature.js +24 -0
- package/features/CancelScheduledActionOnEntryChange/feature.js.map +1 -0
- package/features/CancelScheduledEntryAction/CancelScheduledEntryActionUseCase.d.ts +15 -0
- package/features/CancelScheduledEntryAction/CancelScheduledEntryActionUseCase.js +25 -0
- package/features/CancelScheduledEntryAction/CancelScheduledEntryActionUseCase.js.map +1 -0
- package/features/CancelScheduledEntryAction/abstractions.d.ts +22 -0
- package/features/CancelScheduledEntryAction/abstractions.js +11 -0
- package/features/CancelScheduledEntryAction/abstractions.js.map +1 -0
- package/features/CancelScheduledEntryAction/feature.d.ts +6 -0
- package/features/CancelScheduledEntryAction/feature.js +16 -0
- package/features/CancelScheduledEntryAction/feature.js.map +1 -0
- package/features/CancelScheduledEntryAction/index.d.ts +1 -0
- package/features/CancelScheduledEntryAction/index.js +3 -0
- package/features/CancelScheduledEntryAction/index.js.map +1 -0
- package/features/ScheduleEntryAction/ScheduleEntryActionUseCase.d.ts +27 -0
- package/features/ScheduleEntryAction/ScheduleEntryActionUseCase.js +83 -0
- package/features/ScheduleEntryAction/ScheduleEntryActionUseCase.js.map +1 -0
- package/features/ScheduleEntryAction/abstractions.d.ts +45 -0
- package/features/ScheduleEntryAction/abstractions.js +15 -0
- package/features/ScheduleEntryAction/abstractions.js.map +1 -0
- package/features/ScheduleEntryAction/actionHandlers/PublishEntryActionHandler.d.ts +35 -0
- package/features/ScheduleEntryAction/actionHandlers/PublishEntryActionHandler.js +109 -0
- package/features/ScheduleEntryAction/actionHandlers/PublishEntryActionHandler.js.map +1 -0
- package/features/ScheduleEntryAction/actionHandlers/UnpublishEntryActionHandler.d.ts +29 -0
- package/features/ScheduleEntryAction/actionHandlers/UnpublishEntryActionHandler.js +92 -0
- package/features/ScheduleEntryAction/actionHandlers/UnpublishEntryActionHandler.js.map +1 -0
- package/features/ScheduleEntryAction/feature.d.ts +7 -0
- package/features/ScheduleEntryAction/feature.js +21 -0
- package/features/ScheduleEntryAction/feature.js.map +1 -0
- package/features/ScheduleEntryAction/index.d.ts +1 -0
- package/features/ScheduleEntryAction/index.js +3 -0
- package/features/ScheduleEntryAction/index.js.map +1 -0
- package/graphql/ActionMapper.d.ts +15 -0
- package/graphql/ActionMapper.js +18 -0
- package/graphql/ActionMapper.js.map +1 -0
- package/{scheduler → graphql}/dates.d.ts +1 -2
- package/graphql/dates.js +9 -0
- package/graphql/dates.js.map +1 -0
- package/graphql/index.d.ts +2 -2
- package/graphql/index.js +113 -71
- package/graphql/index.js.map +1 -1
- package/graphql/schema.d.ts +93 -148
- package/graphql/schema.js +51 -55
- package/graphql/schema.js.map +1 -1
- package/index.d.ts +3 -7
- package/index.js +5 -22
- package/index.js.map +1 -1
- package/package.json +20 -22
- package/constants.d.ts +0 -11
- package/constants.js +0 -19
- package/constants.js.map +0 -1
- package/handler/Handler.d.ts +0 -23
- package/handler/Handler.js +0 -74
- package/handler/Handler.js.map +0 -1
- package/handler/actions/PublishHandlerAction.d.ts +0 -13
- package/handler/actions/PublishHandlerAction.js +0 -64
- package/handler/actions/PublishHandlerAction.js.map +0 -1
- package/handler/actions/UnpublishHandlerAction.d.ts +0 -13
- package/handler/actions/UnpublishHandlerAction.js +0 -53
- package/handler/actions/UnpublishHandlerAction.js.map +0 -1
- package/handler/index.d.ts +0 -7
- package/handler/index.js +0 -64
- package/handler/index.js.map +0 -1
- package/handler/types.d.ts +0 -5
- package/handler/types.js +0 -7
- package/handler/types.js.map +0 -1
- package/hooks/index.d.ts +0 -7
- package/hooks/index.js +0 -58
- package/hooks/index.js.map +0 -1
- package/manifest.d.ts +0 -17
- package/manifest.js +0 -47
- package/manifest.js.map +0 -1
- package/scheduler/ScheduleExecutor.d.ts +0 -16
- package/scheduler/ScheduleExecutor.js +0 -55
- package/scheduler/ScheduleExecutor.js.map +0 -1
- package/scheduler/ScheduleFetcher.d.ts +0 -16
- package/scheduler/ScheduleFetcher.js +0 -51
- package/scheduler/ScheduleFetcher.js.map +0 -1
- package/scheduler/ScheduleRecord.d.ts +0 -31
- package/scheduler/ScheduleRecord.js +0 -57
- package/scheduler/ScheduleRecord.js.map +0 -1
- package/scheduler/Scheduler.d.ts +0 -14
- package/scheduler/Scheduler.js +0 -27
- package/scheduler/Scheduler.js.map +0 -1
- package/scheduler/actions/PublishScheduleAction.d.ts +0 -26
- package/scheduler/actions/PublishScheduleAction.js +0 -196
- package/scheduler/actions/PublishScheduleAction.js.map +0 -1
- package/scheduler/actions/UnpublishScheduleAction.d.ts +0 -26
- package/scheduler/actions/UnpublishScheduleAction.js +0 -194
- package/scheduler/actions/UnpublishScheduleAction.js.map +0 -1
- package/scheduler/createScheduleRecordId.d.ts +0 -2
- package/scheduler/createScheduleRecordId.js +0 -33
- package/scheduler/createScheduleRecordId.js.map +0 -1
- package/scheduler/createScheduler.d.ts +0 -12
- package/scheduler/createScheduler.js +0 -65
- package/scheduler/createScheduler.js.map +0 -1
- package/scheduler/dates.js +0 -27
- package/scheduler/dates.js.map +0 -1
- package/scheduler/model.d.ts +0 -1
- package/scheduler/model.js +0 -88
- package/scheduler/model.js.map +0 -1
- package/scheduler/types.d.ts +0 -88
- package/scheduler/types.js +0 -19
- package/scheduler/types.js.map +0 -1
- package/service/SchedulerService.d.ts +0 -23
- package/service/SchedulerService.js +0 -151
- package/service/SchedulerService.js.map +0 -1
- package/service/types.d.ts +0 -19
- package/service/types.js +0 -7
- package/service/types.js.map +0 -1
- package/types.d.ts +0 -11
- package/types.js +0 -7
- package/types.js.map +0 -1
- package/utils/dateInTheFuture.d.ts +0 -6
- package/utils/dateInTheFuture.js +0 -19
- package/utils/dateInTheFuture.js.map +0 -1
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
export type DateISOString = `${number}-${number}-${number}T${number}:${number}:${number}.${number}Z`;
|
|
2
2
|
/**
|
|
3
3
|
* We can safely cast the result of `toISOString()` to `DateISOString` type,
|
|
4
4
|
* We need this to ensure that no malformed date strings are used in the scheduler.
|
|
5
5
|
*/
|
|
6
6
|
export declare const dateToISOString: (value: Date) => DateISOString;
|
|
7
|
-
export declare const isoStringToDate: (value: DateISOString | undefined) => Date | undefined;
|
package/graphql/dates.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* We can safely cast the result of `toISOString()` to `DateISOString` type,
|
|
3
|
+
* We need this to ensure that no malformed date strings are used in the scheduler.
|
|
4
|
+
*/
|
|
5
|
+
export const dateToISOString = value => {
|
|
6
|
+
return value.toISOString();
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=dates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["dateToISOString","value","toISOString"],"sources":["dates.ts"],"sourcesContent":["export type DateISOString =\n `${number}-${number}-${number}T${number}:${number}:${number}.${number}Z`;\n\n/**\n * We can safely cast the result of `toISOString()` to `DateISOString` type,\n * We need this to ensure that no malformed date strings are used in the scheduler.\n */\nexport const dateToISOString = (value: Date): DateISOString => {\n return value.toISOString() as DateISOString;\n};\n"],"mappings":"AAGA;AACA;AACA;AACA;AACA,OAAO,MAAMA,eAAe,GAAIC,KAAW,IAAoB;EAC3D,OAAOA,KAAK,CAACC,WAAW,CAAC,CAAC;AAC9B,CAAC","ignoreList":[]}
|
package/graphql/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { CmsGraphQLSchemaPlugin } from "@webiny/api-headless-cms/plugins/index.js";
|
|
2
|
-
import type {
|
|
3
|
-
export declare const createSchedulerGraphQL: () => CmsGraphQLSchemaPlugin<
|
|
2
|
+
import type { CmsContext } from "@webiny/api-headless-cms/types/index.js";
|
|
3
|
+
export declare const createSchedulerGraphQL: () => CmsGraphQLSchemaPlugin<CmsContext>;
|
package/graphql/index.js
CHANGED
|
@@ -1,37 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
import { CmsGraphQLSchemaPlugin } from "@webiny/api-headless-cms/plugins/index.js";
|
|
2
|
+
import { ErrorResponse, ListErrorResponse, ListResponse, Response } from "@webiny/handler-graphql";
|
|
3
|
+
import { cancelScheduleSchema, createScheduleSchema, getScheduleSchema, listScheduleSchema, updateScheduleSchema } from "./schema.js";
|
|
4
|
+
import { createZodError } from "@webiny/utils";
|
|
5
|
+
import { ListScheduledActionsUseCase } from "@webiny/api-scheduler/features/ListScheduledActions";
|
|
6
|
+
import { ScheduleEntryActionUseCase } from "../features/ScheduleEntryAction/index.js";
|
|
7
|
+
import { CancelScheduledEntryActionUseCase } from "../features/CancelScheduledEntryAction/index.js";
|
|
8
|
+
import { ActionMapper } from "./ActionMapper.js";
|
|
9
|
+
const typeMap = {
|
|
10
|
+
publish: "Publish",
|
|
11
|
+
unpublish: "Unpublish"
|
|
12
|
+
};
|
|
11
13
|
const resolve = async cb => {
|
|
12
14
|
try {
|
|
13
15
|
const result = await cb();
|
|
14
|
-
return new
|
|
16
|
+
return new Response(result);
|
|
15
17
|
} catch (ex) {
|
|
16
|
-
return new
|
|
18
|
+
return new ErrorResponse(ex);
|
|
17
19
|
}
|
|
18
20
|
};
|
|
19
21
|
const resolveList = async cb => {
|
|
20
22
|
try {
|
|
21
23
|
const result = await cb();
|
|
22
|
-
return new
|
|
24
|
+
return new ListResponse(result.data, result.meta);
|
|
23
25
|
} catch (ex) {
|
|
24
|
-
return new
|
|
26
|
+
return new ListErrorResponse(ex);
|
|
25
27
|
}
|
|
26
28
|
};
|
|
27
|
-
const createSchedulerGraphQL = () => {
|
|
28
|
-
return new
|
|
29
|
-
/**
|
|
30
|
-
* Make sure scheduler is available. No point in adding GraphQL if scheduler is unavailable for any reason.
|
|
31
|
-
*/
|
|
32
|
-
isApplicable: context => {
|
|
33
|
-
return !!context.cms?.scheduler;
|
|
34
|
-
},
|
|
29
|
+
export const createSchedulerGraphQL = () => {
|
|
30
|
+
return new CmsGraphQLSchemaPlugin({
|
|
35
31
|
typeDefs: /* GraphQL */`
|
|
36
32
|
enum CmsScheduleRecordType {
|
|
37
33
|
publish
|
|
@@ -59,23 +55,11 @@ const createSchedulerGraphQL = () => {
|
|
|
59
55
|
meta: CmsListMeta
|
|
60
56
|
}
|
|
61
57
|
|
|
62
|
-
input CmsCreateScheduleInput {
|
|
63
|
-
immediately: Boolean
|
|
64
|
-
scheduleOn: DateTime
|
|
65
|
-
type: CmsScheduleRecordType!
|
|
66
|
-
}
|
|
67
|
-
|
|
68
58
|
type CmsCreateScheduleResponse {
|
|
69
59
|
data: CmsScheduleRecord
|
|
70
60
|
error: CmsError
|
|
71
61
|
}
|
|
72
62
|
|
|
73
|
-
input CmsUpdateScheduleInput {
|
|
74
|
-
immediately: Boolean
|
|
75
|
-
scheduleOn: DateTime
|
|
76
|
-
type: CmsScheduleRecordType!
|
|
77
|
-
}
|
|
78
|
-
|
|
79
63
|
type CmsUpdateScheduleResponse {
|
|
80
64
|
data: CmsScheduleRecord
|
|
81
65
|
error: CmsError
|
|
@@ -90,19 +74,18 @@ const createSchedulerGraphQL = () => {
|
|
|
90
74
|
targetId: ID
|
|
91
75
|
title_contains: String
|
|
92
76
|
title_not_contains: String
|
|
93
|
-
targetEntryId: ID
|
|
94
77
|
type: CmsScheduleRecordType
|
|
95
78
|
scheduledBy: ID
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
79
|
+
scheduledFor: DateTime
|
|
80
|
+
scheduledFor_gte: DateTime
|
|
81
|
+
scheduledFor_lte: DateTime
|
|
99
82
|
}
|
|
100
83
|
|
|
101
84
|
enum CmsListSchedulesSorter {
|
|
102
85
|
title_ASC
|
|
103
86
|
title_DESC
|
|
104
|
-
|
|
105
|
-
|
|
87
|
+
scheduledFor_ASC
|
|
88
|
+
scheduledFor_DESC
|
|
106
89
|
}
|
|
107
90
|
|
|
108
91
|
extend type Query {
|
|
@@ -120,12 +103,16 @@ const createSchedulerGraphQL = () => {
|
|
|
120
103
|
createCmsSchedule(
|
|
121
104
|
modelId: String!
|
|
122
105
|
id: ID!
|
|
123
|
-
|
|
106
|
+
immediately: Boolean
|
|
107
|
+
scheduleFor: DateTime
|
|
108
|
+
type: CmsScheduleRecordType!
|
|
124
109
|
): CmsCreateScheduleResponse!
|
|
125
110
|
updateCmsSchedule(
|
|
126
111
|
modelId: String!
|
|
127
112
|
id: ID!
|
|
128
|
-
|
|
113
|
+
immediately: Boolean
|
|
114
|
+
scheduleFor: DateTime
|
|
115
|
+
type: CmsScheduleRecordType!
|
|
129
116
|
): CmsUpdateScheduleResponse!
|
|
130
117
|
cancelCmsSchedule(modelId: String!, id: ID!): CmsCancelScheduleResponse!
|
|
131
118
|
}
|
|
@@ -134,64 +121,120 @@ const createSchedulerGraphQL = () => {
|
|
|
134
121
|
Query: {
|
|
135
122
|
async getCmsSchedule(_, args, context) {
|
|
136
123
|
return resolve(async () => {
|
|
137
|
-
const validated = await
|
|
124
|
+
const validated = await getScheduleSchema.safeParseAsync(args);
|
|
138
125
|
if (validated.error) {
|
|
139
|
-
throw
|
|
140
|
-
}
|
|
141
|
-
const
|
|
142
|
-
const
|
|
143
|
-
|
|
126
|
+
throw createZodError(validated.error);
|
|
127
|
+
}
|
|
128
|
+
const listActions = context.container.resolve(ListScheduledActionsUseCase);
|
|
129
|
+
const actions = await listActions.execute({
|
|
130
|
+
where: {
|
|
131
|
+
namespace: `Cms/Entry/${args.modelId}`,
|
|
132
|
+
targetId: args.id
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
if (actions.isFail()) {
|
|
136
|
+
return new ErrorResponse({
|
|
137
|
+
code: actions.error.code,
|
|
138
|
+
message: actions.error.message
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
const {
|
|
142
|
+
items
|
|
143
|
+
} = actions.value;
|
|
144
|
+
if (!items.length) {
|
|
145
|
+
return null;
|
|
146
|
+
}
|
|
147
|
+
return ActionMapper.fromScheduledAction(items[0]);
|
|
144
148
|
});
|
|
145
149
|
},
|
|
146
150
|
async listCmsSchedules(_, args, context) {
|
|
147
151
|
return resolveList(async () => {
|
|
148
|
-
const validated = await
|
|
152
|
+
const validated = await listScheduleSchema.safeParseAsync(args);
|
|
149
153
|
if (validated.error) {
|
|
150
|
-
throw
|
|
151
|
-
}
|
|
152
|
-
const
|
|
153
|
-
const
|
|
154
|
-
|
|
155
|
-
where
|
|
154
|
+
throw createZodError(validated.error);
|
|
155
|
+
}
|
|
156
|
+
const listActions = context.container.resolve(ListScheduledActionsUseCase);
|
|
157
|
+
const {
|
|
158
|
+
type,
|
|
159
|
+
...where
|
|
160
|
+
} = validated.data.where ?? {};
|
|
161
|
+
if (type) {
|
|
162
|
+
// @ts-expect-error
|
|
163
|
+
where["actionType"] = typeMap[type];
|
|
164
|
+
}
|
|
165
|
+
const actions = await listActions.execute({
|
|
166
|
+
where: {
|
|
167
|
+
...where,
|
|
168
|
+
namespace: `Cms/Entry/${args.modelId}`
|
|
169
|
+
},
|
|
156
170
|
sort: validated.data.sort,
|
|
157
171
|
limit: validated.data.limit,
|
|
158
172
|
after: validated.data.after
|
|
159
173
|
});
|
|
174
|
+
if (actions.isFail()) {
|
|
175
|
+
throw actions.error;
|
|
176
|
+
}
|
|
177
|
+
return {
|
|
178
|
+
data: actions.value.items.map(item => ActionMapper.fromScheduledAction(item)),
|
|
179
|
+
meta: actions.value.meta
|
|
180
|
+
};
|
|
160
181
|
});
|
|
161
182
|
}
|
|
162
183
|
},
|
|
163
184
|
Mutation: {
|
|
164
185
|
async createCmsSchedule(_, args, context) {
|
|
165
186
|
return resolve(async () => {
|
|
166
|
-
const validated = await
|
|
187
|
+
const validated = await createScheduleSchema.safeParseAsync(args);
|
|
167
188
|
if (validated.error) {
|
|
168
|
-
throw
|
|
189
|
+
throw createZodError(validated.error);
|
|
190
|
+
}
|
|
191
|
+
const data = validated.data;
|
|
192
|
+
const scheduleEntry = context.container.resolve(ScheduleEntryActionUseCase);
|
|
193
|
+
const result = await scheduleEntry.execute({
|
|
194
|
+
modelId: data.modelId,
|
|
195
|
+
targetId: data.id,
|
|
196
|
+
scheduleFor: data.scheduleFor?.toISOString(),
|
|
197
|
+
immediately: data.immediately,
|
|
198
|
+
actionType: typeMap[data.type]
|
|
199
|
+
});
|
|
200
|
+
if (result.isFail()) {
|
|
201
|
+
throw result.error;
|
|
169
202
|
}
|
|
170
|
-
|
|
171
|
-
const scheduler = context.cms.scheduler(model);
|
|
172
|
-
return await scheduler.schedule(validated.data.id, validated.data.input);
|
|
203
|
+
return ActionMapper.fromScheduledAction(result.value);
|
|
173
204
|
});
|
|
174
205
|
},
|
|
175
206
|
async updateCmsSchedule(_, args, context) {
|
|
176
207
|
return resolve(async () => {
|
|
177
|
-
const validated = await
|
|
208
|
+
const validated = await updateScheduleSchema.safeParseAsync(args);
|
|
178
209
|
if (validated.error) {
|
|
179
|
-
throw
|
|
210
|
+
throw createZodError(validated.error);
|
|
211
|
+
}
|
|
212
|
+
const data = validated.data;
|
|
213
|
+
const scheduleEntry = context.container.resolve(ScheduleEntryActionUseCase);
|
|
214
|
+
const result = await scheduleEntry.execute({
|
|
215
|
+
modelId: data.modelId,
|
|
216
|
+
targetId: data.id,
|
|
217
|
+
scheduleFor: data.scheduleFor?.toISOString(),
|
|
218
|
+
immediately: data.immediately,
|
|
219
|
+
actionType: typeMap[data.type]
|
|
220
|
+
});
|
|
221
|
+
if (result.isFail()) {
|
|
222
|
+
throw result.error;
|
|
180
223
|
}
|
|
181
|
-
|
|
182
|
-
const scheduler = context.cms.scheduler(model);
|
|
183
|
-
return scheduler.schedule(validated.data.id, validated.data.input);
|
|
224
|
+
return ActionMapper.fromScheduledAction(result.value);
|
|
184
225
|
});
|
|
185
226
|
},
|
|
186
227
|
async cancelCmsSchedule(_, args, context) {
|
|
187
228
|
return resolve(async () => {
|
|
188
|
-
const validated = await
|
|
229
|
+
const validated = await cancelScheduleSchema.safeParseAsync(args);
|
|
189
230
|
if (validated.error) {
|
|
190
|
-
throw
|
|
231
|
+
throw createZodError(validated.error);
|
|
232
|
+
}
|
|
233
|
+
const cancelEntryAction = context.container.resolve(CancelScheduledEntryActionUseCase);
|
|
234
|
+
const res = await cancelEntryAction.execute(validated.data.id);
|
|
235
|
+
if (res.isFail()) {
|
|
236
|
+
throw res.error;
|
|
191
237
|
}
|
|
192
|
-
const model = await context.cms.getModel(validated.data.modelId);
|
|
193
|
-
const scheduler = context.cms.scheduler(model);
|
|
194
|
-
await scheduler.cancel(validated.data.id);
|
|
195
238
|
return true;
|
|
196
239
|
});
|
|
197
240
|
}
|
|
@@ -199,6 +242,5 @@ const createSchedulerGraphQL = () => {
|
|
|
199
242
|
}
|
|
200
243
|
});
|
|
201
244
|
};
|
|
202
|
-
exports.createSchedulerGraphQL = createSchedulerGraphQL;
|
|
203
245
|
|
|
204
246
|
//# sourceMappingURL=index.js.map
|
package/graphql/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_index","require","_handlerGraphql","_schema","_utils","resolve","cb","result","Response","ex","ErrorResponse","resolveList","ListResponse","data","meta","ListErrorResponse","createSchedulerGraphQL","CmsGraphQLSchemaPlugin","isApplicable","context","cms","scheduler","typeDefs","resolvers","Query","getCmsSchedule","_","args","validated","getScheduleSchema","safeParseAsync","error","createZodError","model","getModel","modelId","getScheduled","id","listCmsSchedules","listScheduleSchema","listScheduled","where","sort","limit","after","Mutation","createCmsSchedule","createScheduleSchema","schedule","input","updateCmsSchedule","updateScheduleSchema","cancelCmsSchedule","cancelScheduleSchema","cancel","exports"],"sources":["index.ts"],"sourcesContent":["import { CmsGraphQLSchemaPlugin } from \"@webiny/api-headless-cms/plugins/index.js\";\nimport type { ScheduleContext } from \"~/types.js\";\nimport { ErrorResponse, ListErrorResponse, ListResponse, Response } from \"@webiny/handler-graphql\";\nimport type { CmsEntryMeta } from \"@webiny/api-headless-cms/types/index.js\";\nimport {\n cancelScheduleSchema,\n createScheduleSchema,\n getScheduleSchema,\n listScheduleSchema,\n updateScheduleSchema\n} from \"~/graphql/schema.js\";\nimport { createZodError } from \"@webiny/utils\";\n\nconst resolve = async (cb: () => Promise<unknown>) => {\n try {\n const result = await cb();\n\n return new Response(result);\n } catch (ex) {\n return new ErrorResponse(ex);\n }\n};\n\ninterface IResolveListCallableResponse {\n data: unknown[];\n meta: CmsEntryMeta;\n}\n\nconst resolveList = async (cb: () => Promise<IResolveListCallableResponse>) => {\n try {\n const result = await cb();\n\n return new ListResponse(result.data, result.meta);\n } catch (ex) {\n return new ListErrorResponse(ex);\n }\n};\n\nexport const createSchedulerGraphQL = () => {\n return new CmsGraphQLSchemaPlugin<ScheduleContext>({\n /**\n * Make sure scheduler is available. No point in adding GraphQL if scheduler is unavailable for any reason.\n */\n isApplicable: context => {\n return !!context.cms?.scheduler;\n },\n typeDefs: /* GraphQL */ `\n enum CmsScheduleRecordType {\n publish\n unpublish\n }\n type CmsScheduleRecord {\n id: String!\n targetId: String!\n model: CmsContentModel!\n scheduledBy: CmsIdentity!\n publishOn: DateTime\n unpublishOn: DateTime\n type: CmsScheduleRecordType!\n title: String!\n }\n\n type CmsGetScheduleResponse {\n data: CmsScheduleRecord\n error: CmsError\n }\n\n type CmsListSchedulesResponse {\n data: [CmsScheduleRecord!]\n error: CmsError\n meta: CmsListMeta\n }\n\n input CmsCreateScheduleInput {\n immediately: Boolean\n scheduleOn: DateTime\n type: CmsScheduleRecordType!\n }\n\n type CmsCreateScheduleResponse {\n data: CmsScheduleRecord\n error: CmsError\n }\n\n input CmsUpdateScheduleInput {\n immediately: Boolean\n scheduleOn: DateTime\n type: CmsScheduleRecordType!\n }\n\n type CmsUpdateScheduleResponse {\n data: CmsScheduleRecord\n error: CmsError\n }\n\n type CmsCancelScheduleResponse {\n data: Boolean\n error: CmsError\n }\n\n input CmsListSchedulesWhereInput {\n targetId: ID\n title_contains: String\n title_not_contains: String\n targetEntryId: ID\n type: CmsScheduleRecordType\n scheduledBy: ID\n scheduledOn: DateTime\n scheduledOn_gte: DateTime\n scheduledOn_lte: DateTime\n }\n\n enum CmsListSchedulesSorter {\n title_ASC\n title_DESC\n scheduledOn_ASC\n scheduledOn_DESC\n }\n\n extend type Query {\n getCmsSchedule(modelId: String!, id: ID!): CmsGetScheduleResponse!\n listCmsSchedules(\n modelId: String!\n where: CmsListSchedulesWhereInput\n sort: [CmsListSchedulesSorter!]\n limit: Int\n after: String\n ): CmsListSchedulesResponse!\n }\n\n extend type Mutation {\n createCmsSchedule(\n modelId: String!\n id: ID!\n input: CmsCreateScheduleInput!\n ): CmsCreateScheduleResponse!\n updateCmsSchedule(\n modelId: String!\n id: ID!\n input: CmsUpdateScheduleInput!\n ): CmsUpdateScheduleResponse!\n cancelCmsSchedule(modelId: String!, id: ID!): CmsCancelScheduleResponse!\n }\n `,\n resolvers: {\n Query: {\n async getCmsSchedule(_, args, context) {\n return resolve(async () => {\n const validated = await getScheduleSchema.safeParseAsync(args);\n if (validated.error) {\n throw createZodError(validated.error);\n }\n const model = await context.cms.getModel(validated.data.modelId);\n const scheduler = context.cms.scheduler(model);\n\n return scheduler.getScheduled(validated.data.id);\n });\n },\n async listCmsSchedules(_, args, context) {\n return resolveList(async () => {\n const validated = await listScheduleSchema.safeParseAsync(args);\n if (validated.error) {\n throw createZodError(validated.error);\n }\n const model = await context.cms.getModel(validated.data.modelId);\n const scheduler = context.cms.scheduler(model);\n\n return scheduler.listScheduled({\n where: validated.data.where || {},\n sort: validated.data.sort,\n limit: validated.data.limit,\n after: validated.data.after\n });\n });\n }\n },\n Mutation: {\n async createCmsSchedule(_, args, context) {\n return resolve(async () => {\n const validated = await createScheduleSchema.safeParseAsync(args);\n if (validated.error) {\n throw createZodError(validated.error);\n }\n\n const model = await context.cms.getModel(validated.data.modelId);\n const scheduler = context.cms.scheduler(model);\n\n return await scheduler.schedule(validated.data.id, validated.data.input);\n });\n },\n async updateCmsSchedule(_, args, context) {\n return resolve(async () => {\n const validated = await updateScheduleSchema.safeParseAsync(args);\n if (validated.error) {\n throw createZodError(validated.error);\n }\n const model = await context.cms.getModel(validated.data.modelId);\n const scheduler = context.cms.scheduler(model);\n\n return scheduler.schedule(validated.data.id, validated.data.input);\n });\n },\n async cancelCmsSchedule(_, args, context) {\n return resolve(async () => {\n const validated = await cancelScheduleSchema.safeParseAsync(args);\n if (validated.error) {\n throw createZodError(validated.error);\n }\n const model = await context.cms.getModel(validated.data.modelId);\n const scheduler = context.cms.scheduler(model);\n\n await scheduler.cancel(validated.data.id);\n return true;\n });\n }\n }\n }\n });\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["CmsGraphQLSchemaPlugin","ErrorResponse","ListErrorResponse","ListResponse","Response","cancelScheduleSchema","createScheduleSchema","getScheduleSchema","listScheduleSchema","updateScheduleSchema","createZodError","ListScheduledActionsUseCase","ScheduleEntryActionUseCase","CancelScheduledEntryActionUseCase","ActionMapper","typeMap","publish","unpublish","resolve","cb","result","ex","resolveList","data","meta","createSchedulerGraphQL","typeDefs","resolvers","Query","getCmsSchedule","_","args","context","validated","safeParseAsync","error","listActions","container","actions","execute","where","namespace","modelId","targetId","id","isFail","code","message","items","value","length","fromScheduledAction","listCmsSchedules","type","sort","limit","after","map","item","Mutation","createCmsSchedule","scheduleEntry","scheduleFor","toISOString","immediately","actionType","updateCmsSchedule","cancelCmsSchedule","cancelEntryAction","res"],"sources":["index.ts"],"sourcesContent":["import { CmsGraphQLSchemaPlugin } from \"@webiny/api-headless-cms/plugins/index.js\";\nimport { ErrorResponse, ListErrorResponse, ListResponse, Response } from \"@webiny/handler-graphql\";\nimport type { CmsContext, CmsEntryMeta } from \"@webiny/api-headless-cms/types/index.js\";\nimport {\n cancelScheduleSchema,\n createScheduleSchema,\n getScheduleSchema,\n listScheduleSchema,\n updateScheduleSchema\n} from \"~/graphql/schema.js\";\nimport { createZodError } from \"@webiny/utils\";\nimport { ListScheduledActionsUseCase } from \"@webiny/api-scheduler/features/ListScheduledActions\";\nimport {\n type IScheduleActionPayload,\n ScheduleEntryActionUseCase\n} from \"~/features/ScheduleEntryAction/index.js\";\nimport { CancelScheduledEntryActionUseCase } from \"~/features/CancelScheduledEntryAction/index.js\";\nimport { ActionMapper } from \"~/graphql/ActionMapper.js\";\n\nconst typeMap = {\n publish: \"Publish\",\n unpublish: \"Unpublish\"\n} as const;\n\nconst resolve = async (cb: () => Promise<unknown>) => {\n try {\n const result = await cb();\n\n return new Response(result);\n } catch (ex) {\n return new ErrorResponse(ex);\n }\n};\n\ninterface IResolveListCallableResponse {\n data: unknown[];\n meta: CmsEntryMeta;\n}\n\nconst resolveList = async (cb: () => Promise<IResolveListCallableResponse>) => {\n try {\n const result = await cb();\n\n return new ListResponse(result.data, result.meta);\n } catch (ex) {\n return new ListErrorResponse(ex);\n }\n};\n\nexport const createSchedulerGraphQL = () => {\n return new CmsGraphQLSchemaPlugin<CmsContext>({\n typeDefs: /* GraphQL */ `\n enum CmsScheduleRecordType {\n publish\n unpublish\n }\n type CmsScheduleRecord {\n id: String!\n targetId: String!\n model: CmsContentModel!\n scheduledBy: CmsIdentity!\n publishOn: DateTime\n unpublishOn: DateTime\n type: CmsScheduleRecordType!\n title: String!\n }\n\n type CmsGetScheduleResponse {\n data: CmsScheduleRecord\n error: CmsError\n }\n\n type CmsListSchedulesResponse {\n data: [CmsScheduleRecord!]\n error: CmsError\n meta: CmsListMeta\n }\n\n type CmsCreateScheduleResponse {\n data: CmsScheduleRecord\n error: CmsError\n }\n\n type CmsUpdateScheduleResponse {\n data: CmsScheduleRecord\n error: CmsError\n }\n\n type CmsCancelScheduleResponse {\n data: Boolean\n error: CmsError\n }\n\n input CmsListSchedulesWhereInput {\n targetId: ID\n title_contains: String\n title_not_contains: String\n type: CmsScheduleRecordType\n scheduledBy: ID\n scheduledFor: DateTime\n scheduledFor_gte: DateTime\n scheduledFor_lte: DateTime\n }\n\n enum CmsListSchedulesSorter {\n title_ASC\n title_DESC\n scheduledFor_ASC\n scheduledFor_DESC\n }\n\n extend type Query {\n getCmsSchedule(modelId: String!, id: ID!): CmsGetScheduleResponse!\n listCmsSchedules(\n modelId: String!\n where: CmsListSchedulesWhereInput\n sort: [CmsListSchedulesSorter!]\n limit: Int\n after: String\n ): CmsListSchedulesResponse!\n }\n\n extend type Mutation {\n createCmsSchedule(\n modelId: String!\n id: ID!\n immediately: Boolean\n scheduleFor: DateTime\n type: CmsScheduleRecordType!\n ): CmsCreateScheduleResponse!\n updateCmsSchedule(\n modelId: String!\n id: ID!\n immediately: Boolean\n scheduleFor: DateTime\n type: CmsScheduleRecordType!\n ): CmsUpdateScheduleResponse!\n cancelCmsSchedule(modelId: String!, id: ID!): CmsCancelScheduleResponse!\n }\n `,\n resolvers: {\n Query: {\n async getCmsSchedule(_, args, context) {\n return resolve(async () => {\n const validated = await getScheduleSchema.safeParseAsync(args);\n if (validated.error) {\n throw createZodError(validated.error);\n }\n\n const listActions = context.container.resolve(ListScheduledActionsUseCase);\n\n const actions = await listActions.execute<IScheduleActionPayload>({\n where: { namespace: `Cms/Entry/${args.modelId}`, targetId: args.id }\n });\n\n if (actions.isFail()) {\n return new ErrorResponse({\n code: actions.error.code,\n message: actions.error.message\n });\n }\n\n const { items } = actions.value;\n\n if (!items.length) {\n return null;\n }\n\n return ActionMapper.fromScheduledAction(items[0]);\n });\n },\n async listCmsSchedules(_, args, context) {\n return resolveList(async () => {\n const validated = await listScheduleSchema.safeParseAsync(args);\n if (validated.error) {\n throw createZodError(validated.error);\n }\n\n const listActions = context.container.resolve(ListScheduledActionsUseCase);\n\n const { type, ...where } = validated.data.where ?? {};\n\n if (type) {\n // @ts-expect-error\n where[\"actionType\"] = typeMap[type];\n }\n\n const actions = await listActions.execute<IScheduleActionPayload>({\n where: { ...where, namespace: `Cms/Entry/${args.modelId}` },\n sort: validated.data.sort,\n limit: validated.data.limit,\n after: validated.data.after\n });\n\n if (actions.isFail()) {\n throw actions.error;\n }\n\n return {\n data: actions.value.items.map(item =>\n ActionMapper.fromScheduledAction(item)\n ),\n meta: actions.value.meta\n };\n });\n }\n },\n Mutation: {\n async createCmsSchedule(_, args, context) {\n return resolve(async () => {\n const validated = await createScheduleSchema.safeParseAsync(args);\n if (validated.error) {\n throw createZodError(validated.error);\n }\n\n const data = validated.data;\n\n const scheduleEntry = context.container.resolve(ScheduleEntryActionUseCase);\n const result = await scheduleEntry.execute({\n modelId: data.modelId,\n targetId: data.id,\n scheduleFor: data.scheduleFor?.toISOString(),\n immediately: data.immediately,\n actionType: typeMap[data.type]\n });\n\n if (result.isFail()) {\n throw result.error;\n }\n\n return ActionMapper.fromScheduledAction(result.value);\n });\n },\n async updateCmsSchedule(_, args, context) {\n return resolve(async () => {\n const validated = await updateScheduleSchema.safeParseAsync(args);\n if (validated.error) {\n throw createZodError(validated.error);\n }\n\n const data = validated.data;\n\n const scheduleEntry = context.container.resolve(ScheduleEntryActionUseCase);\n const result = await scheduleEntry.execute({\n modelId: data.modelId,\n targetId: data.id,\n scheduleFor: data.scheduleFor?.toISOString(),\n immediately: data.immediately,\n actionType: typeMap[data.type]\n });\n\n if (result.isFail()) {\n throw result.error;\n }\n\n return ActionMapper.fromScheduledAction(result.value);\n });\n },\n async cancelCmsSchedule(_, args, context) {\n return resolve(async () => {\n const validated = await cancelScheduleSchema.safeParseAsync(args);\n if (validated.error) {\n throw createZodError(validated.error);\n }\n\n const cancelEntryAction = context.container.resolve(\n CancelScheduledEntryActionUseCase\n );\n\n const res = await cancelEntryAction.execute(validated.data.id);\n\n if (res.isFail()) {\n throw res.error;\n }\n\n return true;\n });\n }\n }\n }\n });\n};\n"],"mappings":"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","ignoreList":[]}
|