@webiny/api-apw 0.0.0-unstable.6e5425ee89 → 0.0.0-unstable.7c9e8fbfd6

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.
Files changed (314) hide show
  1. package/ApwChangeRequestNotification.d.ts +1 -1
  2. package/ApwChangeRequestNotification.js +4 -6
  3. package/ApwChangeRequestNotification.js.map +1 -1
  4. package/ApwCommentNotification.d.ts +1 -1
  5. package/ApwCommentNotification.js +4 -6
  6. package/ApwCommentNotification.js.map +1 -1
  7. package/ApwContentReviewNotification.d.ts +1 -1
  8. package/ApwContentReviewNotification.js +4 -6
  9. package/ApwContentReviewNotification.js.map +1 -1
  10. package/ApwContentUrlPlugin.d.ts +1 -1
  11. package/ApwContentUrlPlugin.js +4 -6
  12. package/ApwContentUrlPlugin.js.map +1 -1
  13. package/ContentApwSettingsPlugin.d.ts +1 -1
  14. package/ContentApwSettingsPlugin.js +5 -4
  15. package/ContentApwSettingsPlugin.js.map +1 -1
  16. package/README.md +3 -3
  17. package/crud/createChangeRequestMethods.d.ts +1 -1
  18. package/crud/createChangeRequestMethods.js +3 -1
  19. package/crud/createChangeRequestMethods.js.map +1 -1
  20. package/crud/createCommentMethods.d.ts +1 -1
  21. package/crud/createCommentMethods.js +3 -1
  22. package/crud/createCommentMethods.js.map +1 -1
  23. package/crud/createContentReviewMethods.d.ts +2 -2
  24. package/crud/createContentReviewMethods.js +57 -32
  25. package/crud/createContentReviewMethods.js.map +1 -1
  26. package/crud/createReviewerMethods.d.ts +1 -1
  27. package/crud/createReviewerMethods.js +3 -1
  28. package/crud/createReviewerMethods.js.map +1 -1
  29. package/crud/createWorkflowMethods.d.ts +1 -1
  30. package/crud/createWorkflowMethods.js +3 -1
  31. package/crud/createWorkflowMethods.js.map +1 -1
  32. package/crud/index.d.ts +1 -1
  33. package/crud/index.js +6 -5
  34. package/crud/index.js.map +1 -1
  35. package/crud/utils.d.ts +2 -2
  36. package/crud/utils.js +8 -8
  37. package/crud/utils.js.map +1 -1
  38. package/index.d.ts +2 -3
  39. package/index.js +7 -10
  40. package/index.js.map +1 -1
  41. package/package.json +32 -50
  42. package/plugins/cms/CmsEntryApwSettingsGetterPlugin.d.ts +1 -1
  43. package/plugins/cms/CmsEntryApwSettingsGetterPlugin.js +5 -5
  44. package/plugins/cms/CmsEntryApwSettingsGetterPlugin.js.map +1 -1
  45. package/plugins/cms/apwEntryPlugins.d.ts +2 -2
  46. package/plugins/cms/apwEntryPlugins.js +19 -7
  47. package/plugins/cms/apwEntryPlugins.js.map +1 -1
  48. package/plugins/cms/index.d.ts +4 -4
  49. package/plugins/cms/index.js +3 -1
  50. package/plugins/cms/index.js.map +1 -1
  51. package/plugins/cms/linkContentReviewToEntry.d.ts +2 -2
  52. package/plugins/cms/linkContentReviewToEntry.js +5 -4
  53. package/plugins/cms/linkContentReviewToEntry.js.map +1 -1
  54. package/plugins/cms/linkWorkflowToEntry.d.ts +2 -2
  55. package/plugins/cms/linkWorkflowToEntry.js +17 -16
  56. package/plugins/cms/linkWorkflowToEntry.js.map +1 -1
  57. package/plugins/cms/notifications/changeRequestNotification.js +3 -1
  58. package/plugins/cms/notifications/changeRequestNotification.js.map +1 -1
  59. package/plugins/cms/notifications/commentNotification.js +3 -1
  60. package/plugins/cms/notifications/commentNotification.js.map +1 -1
  61. package/plugins/cms/notifications/contentReviewNotification.js +3 -1
  62. package/plugins/cms/notifications/contentReviewNotification.js.map +1 -1
  63. package/plugins/cms/notifications/contentUrl.js +3 -1
  64. package/plugins/cms/notifications/contentUrl.js.map +1 -1
  65. package/plugins/cms/triggerContentReview.d.ts +2 -2
  66. package/plugins/cms/triggerContentReview.js +6 -5
  67. package/plugins/cms/triggerContentReview.js.map +1 -1
  68. package/plugins/cms/updateContentReviewStatus.d.ts +3 -3
  69. package/plugins/cms/updateContentReviewStatus.js +15 -13
  70. package/plugins/cms/updateContentReviewStatus.js.map +1 -1
  71. package/plugins/cms/utils.d.ts +5 -4
  72. package/plugins/cms/utils.js +19 -13
  73. package/plugins/cms/utils.js.map +1 -1
  74. package/plugins/context.d.ts +3 -4
  75. package/plugins/context.js +5 -28
  76. package/plugins/context.js.map +1 -1
  77. package/plugins/graphql/changeRequest.gql.d.ts +1 -1
  78. package/plugins/graphql/changeRequest.gql.js +16 -13
  79. package/plugins/graphql/changeRequest.gql.js.map +1 -1
  80. package/plugins/graphql/comment.gql.d.ts +1 -1
  81. package/plugins/graphql/comment.gql.js +41 -36
  82. package/plugins/graphql/comment.gql.js.map +1 -1
  83. package/plugins/graphql/contentReview.gql.d.ts +1 -1
  84. package/plugins/graphql/contentReview.gql.js +26 -17
  85. package/plugins/graphql/contentReview.gql.js.map +1 -1
  86. package/plugins/graphql/reviewer.gql.d.ts +1 -1
  87. package/plugins/graphql/reviewer.gql.js +15 -13
  88. package/plugins/graphql/reviewer.gql.js.map +1 -1
  89. package/plugins/graphql/utils.d.ts +2 -0
  90. package/plugins/graphql/utils.js +10 -0
  91. package/plugins/graphql/utils.js.map +1 -0
  92. package/plugins/graphql/workflow.gql.d.ts +1 -1
  93. package/plugins/graphql/workflow.gql.js +15 -13
  94. package/plugins/graphql/workflow.gql.js.map +1 -1
  95. package/plugins/graphql.d.ts +1 -1
  96. package/plugins/graphql.js +5 -3
  97. package/plugins/graphql.js.map +1 -1
  98. package/plugins/hooks/createReviewerFromIdentity.d.ts +1 -1
  99. package/plugins/hooks/createReviewerFromIdentity.js +4 -2
  100. package/plugins/hooks/createReviewerFromIdentity.js.map +1 -1
  101. package/plugins/hooks/deleteChangeRequestsAfterContentReview.d.ts +1 -1
  102. package/plugins/hooks/deleteChangeRequestsAfterContentReview.js +3 -1
  103. package/plugins/hooks/deleteChangeRequestsAfterContentReview.js.map +1 -1
  104. package/plugins/hooks/deleteCommentsAfterChangeRequest.d.ts +1 -1
  105. package/plugins/hooks/deleteCommentsAfterChangeRequest.js +3 -1
  106. package/plugins/hooks/deleteCommentsAfterChangeRequest.js.map +1 -1
  107. package/plugins/hooks/index.d.ts +1 -1
  108. package/plugins/hooks/index.js +3 -1
  109. package/plugins/hooks/index.js.map +1 -1
  110. package/plugins/hooks/initializeContentReviewSteps.d.ts +1 -1
  111. package/plugins/hooks/initializeContentReviewSteps.js +14 -6
  112. package/plugins/hooks/initializeContentReviewSteps.js.map +1 -1
  113. package/plugins/hooks/initializeNotifications.d.ts +1 -1
  114. package/plugins/hooks/initializeNotifications.js +3 -1
  115. package/plugins/hooks/initializeNotifications.js.map +1 -1
  116. package/plugins/hooks/listContentReviews.d.ts +3 -3
  117. package/plugins/hooks/listContentReviews.js +4 -2
  118. package/plugins/hooks/listContentReviews.js.map +1 -1
  119. package/plugins/hooks/notifications/changeRequestAfterCreate.d.ts +1 -1
  120. package/plugins/hooks/notifications/changeRequestAfterCreate.js +8 -11
  121. package/plugins/hooks/notifications/changeRequestAfterCreate.js.map +1 -1
  122. package/plugins/hooks/notifications/changeRequestUrl.js +3 -1
  123. package/plugins/hooks/notifications/changeRequestUrl.js.map +1 -1
  124. package/plugins/hooks/notifications/commentAfterCreate.d.ts +1 -1
  125. package/plugins/hooks/notifications/commentAfterCreate.js +8 -11
  126. package/plugins/hooks/notifications/commentAfterCreate.js.map +1 -1
  127. package/plugins/hooks/notifications/commentUrl.js +3 -1
  128. package/plugins/hooks/notifications/commentUrl.js.map +1 -1
  129. package/plugins/hooks/notifications/contentReviewAfterCreate.d.ts +1 -1
  130. package/plugins/hooks/notifications/contentReviewAfterCreate.js +9 -12
  131. package/plugins/hooks/notifications/contentReviewAfterCreate.js.map +1 -1
  132. package/plugins/hooks/notifications/contentReviewUrl.js +3 -1
  133. package/plugins/hooks/notifications/contentReviewUrl.js.map +1 -1
  134. package/plugins/hooks/notifications/contentUrl.d.ts +2 -2
  135. package/plugins/hooks/notifications/contentUrl.js +3 -1
  136. package/plugins/hooks/notifications/contentUrl.js.map +1 -1
  137. package/plugins/hooks/notifications/getAppUrl.d.ts +2 -0
  138. package/plugins/hooks/notifications/getAppUrl.js +19 -0
  139. package/plugins/hooks/notifications/getAppUrl.js.map +1 -0
  140. package/plugins/hooks/notifications/lastChangeRequestNotificationPlugin.d.ts +1 -1
  141. package/plugins/hooks/notifications/lastChangeRequestNotificationPlugin.js +3 -1
  142. package/plugins/hooks/notifications/lastChangeRequestNotificationPlugin.js.map +1 -1
  143. package/plugins/hooks/notifications/lastCommentNotificationPlugin.d.ts +1 -1
  144. package/plugins/hooks/notifications/lastCommentNotificationPlugin.js +3 -1
  145. package/plugins/hooks/notifications/lastCommentNotificationPlugin.js.map +1 -1
  146. package/plugins/hooks/notifications/lastContentReviewNotificationPlugin.d.ts +1 -1
  147. package/plugins/hooks/notifications/lastContentReviewNotificationPlugin.js +3 -1
  148. package/plugins/hooks/notifications/lastContentReviewNotificationPlugin.js.map +1 -1
  149. package/plugins/hooks/notifications/reviewers.d.ts +1 -1
  150. package/plugins/hooks/notifications/reviewers.js +18 -15
  151. package/plugins/hooks/notifications/reviewers.js.map +1 -1
  152. package/plugins/hooks/notifications/sendChangeRequestNotification.d.ts +1 -1
  153. package/plugins/hooks/notifications/sendChangeRequestNotification.js +3 -1
  154. package/plugins/hooks/notifications/sendChangeRequestNotification.js.map +1 -1
  155. package/plugins/hooks/notifications/sendCommentNotification.d.ts +1 -1
  156. package/plugins/hooks/notifications/sendCommentNotification.js +3 -1
  157. package/plugins/hooks/notifications/sendCommentNotification.js.map +1 -1
  158. package/plugins/hooks/notifications/sendContentReviewNotification.d.ts +1 -1
  159. package/plugins/hooks/notifications/sendContentReviewNotification.js +3 -1
  160. package/plugins/hooks/notifications/sendContentReviewNotification.js.map +1 -1
  161. package/plugins/hooks/updatePendingChangeRequests.d.ts +1 -1
  162. package/plugins/hooks/updatePendingChangeRequests.js +8 -6
  163. package/plugins/hooks/updatePendingChangeRequests.js.map +1 -1
  164. package/plugins/hooks/updateTotalComments.d.ts +1 -1
  165. package/plugins/hooks/updateTotalComments.js +22 -15
  166. package/plugins/hooks/updateTotalComments.js.map +1 -1
  167. package/plugins/hooks/validateChangeRequest.d.ts +1 -1
  168. package/plugins/hooks/validateChangeRequest.js +3 -1
  169. package/plugins/hooks/validateChangeRequest.js.map +1 -1
  170. package/plugins/hooks/validateComment.d.ts +1 -1
  171. package/plugins/hooks/validateComment.js +3 -1
  172. package/plugins/hooks/validateComment.js.map +1 -1
  173. package/plugins/hooks/validateContentReview.d.ts +1 -1
  174. package/plugins/hooks/validateContentReview.js +3 -1
  175. package/plugins/hooks/validateContentReview.js.map +1 -1
  176. package/plugins/utils.d.ts +7 -6
  177. package/plugins/utils.js +12 -8
  178. package/plugins/utils.js.map +1 -1
  179. package/scheduler/createScheduleActionMethods.d.ts +1 -1
  180. package/scheduler/createScheduleActionMethods.js +105 -66
  181. package/scheduler/createScheduleActionMethods.js.map +1 -1
  182. package/scheduler/handlers/executeAction/index.d.ts +2 -2
  183. package/scheduler/handlers/executeAction/index.js +40 -10
  184. package/scheduler/handlers/executeAction/index.js.map +1 -1
  185. package/scheduler/handlers/executeAction/plugins/ApplicationGraphQL.d.ts +6 -0
  186. package/scheduler/handlers/executeAction/plugins/ApplicationGraphQL.js +19 -4
  187. package/scheduler/handlers/executeAction/plugins/ApplicationGraphQL.js.map +1 -1
  188. package/scheduler/handlers/executeAction/plugins/HeadlessCMSGraphQL.d.ts +3 -3
  189. package/scheduler/handlers/executeAction/plugins/HeadlessCMSGraphQL.js +12 -8
  190. package/scheduler/handlers/executeAction/plugins/HeadlessCMSGraphQL.js.map +1 -1
  191. package/scheduler/handlers/executeAction/plugins/PageBuilderGraphQL.d.ts +4 -3
  192. package/scheduler/handlers/executeAction/plugins/PageBuilderGraphQL.js +7 -66
  193. package/scheduler/handlers/executeAction/plugins/PageBuilderGraphQL.js.map +1 -1
  194. package/scheduler/handlers/executeAction/security.d.ts +2 -2
  195. package/scheduler/handlers/executeAction/security.js +3 -1
  196. package/scheduler/handlers/executeAction/security.js.map +1 -1
  197. package/scheduler/handlers/scheduleAction/index.d.ts +2 -2
  198. package/scheduler/handlers/scheduleAction/index.js +20 -15
  199. package/scheduler/handlers/scheduleAction/index.js.map +1 -1
  200. package/scheduler/handlers/scheduleAction/scheduleAction.utils.d.ts +3 -3
  201. package/scheduler/handlers/scheduleAction/scheduleAction.utils.js +19 -14
  202. package/scheduler/handlers/scheduleAction/scheduleAction.utils.js.map +1 -1
  203. package/scheduler/handlers/utils.d.ts +2 -4
  204. package/scheduler/handlers/utils.js +20 -14
  205. package/scheduler/handlers/utils.js.map +1 -1
  206. package/scheduler/index.d.ts +1 -1
  207. package/scheduler/index.js +3 -1
  208. package/scheduler/index.js.map +1 -1
  209. package/scheduler/types.d.ts +20 -36
  210. package/scheduler/types.js +11 -17
  211. package/scheduler/types.js.map +1 -1
  212. package/storageOperations/changeRequestStorageOperations.d.ts +2 -2
  213. package/storageOperations/changeRequestStorageOperations.js +44 -23
  214. package/storageOperations/changeRequestStorageOperations.js.map +1 -1
  215. package/storageOperations/commentStorageOperations.d.ts +3 -3
  216. package/storageOperations/commentStorageOperations.js +17 -24
  217. package/storageOperations/commentStorageOperations.js.map +1 -1
  218. package/storageOperations/contentReviewStorageOperations.d.ts +3 -3
  219. package/storageOperations/contentReviewStorageOperations.js +20 -25
  220. package/storageOperations/contentReviewStorageOperations.js.map +1 -1
  221. package/storageOperations/index.d.ts +3 -9
  222. package/storageOperations/index.js +11 -16
  223. package/storageOperations/index.js.map +1 -1
  224. package/storageOperations/models/changeRequest.model.d.ts +1 -2
  225. package/storageOperations/models/changeRequest.model.js +10 -11
  226. package/storageOperations/models/changeRequest.model.js.map +1 -1
  227. package/storageOperations/models/comment.model.d.ts +1 -2
  228. package/storageOperations/models/comment.model.js +10 -11
  229. package/storageOperations/models/comment.model.js.map +1 -1
  230. package/storageOperations/models/contentReview.model.d.ts +1 -2
  231. package/storageOperations/models/contentReview.model.js +16 -15
  232. package/storageOperations/models/contentReview.model.js.map +1 -1
  233. package/storageOperations/models/index.d.ts +1 -1
  234. package/storageOperations/models/index.js +11 -33
  235. package/storageOperations/models/index.js.map +1 -1
  236. package/storageOperations/models/reviewer.model.d.ts +1 -2
  237. package/storageOperations/models/reviewer.model.js +11 -12
  238. package/storageOperations/models/reviewer.model.js.map +1 -1
  239. package/storageOperations/models/utils.d.ts +2 -2
  240. package/storageOperations/models/utils.js +3 -1
  241. package/storageOperations/models/utils.js.map +1 -1
  242. package/storageOperations/models/workflow.model.d.ts +2 -3
  243. package/storageOperations/models/workflow.model.js +22 -23
  244. package/storageOperations/models/workflow.model.js.map +1 -1
  245. package/storageOperations/reviewerStorageOperations.d.ts +3 -3
  246. package/storageOperations/reviewerStorageOperations.js +24 -34
  247. package/storageOperations/reviewerStorageOperations.js.map +1 -1
  248. package/storageOperations/types.d.ts +2 -2
  249. package/storageOperations/types.js +3 -1
  250. package/storageOperations/types.js.map +1 -1
  251. package/storageOperations/workflowStorageOperations.d.ts +2 -2
  252. package/storageOperations/workflowStorageOperations.js +25 -26
  253. package/storageOperations/workflowStorageOperations.js.map +1 -1
  254. package/types.d.ts +49 -64
  255. package/types.js +121 -29
  256. package/types.js.map +1 -1
  257. package/utils/contentApwSettingsPlugin.d.ts +2 -2
  258. package/utils/contentApwSettingsPlugin.js +3 -1
  259. package/utils/contentApwSettingsPlugin.js.map +1 -1
  260. package/utils/errors.js +3 -1
  261. package/utils/errors.js.map +1 -1
  262. package/utils/fieldResolver.d.ts +2 -2
  263. package/utils/fieldResolver.js +7 -7
  264. package/utils/fieldResolver.js.map +1 -1
  265. package/utils/pickEntryFieldValues.d.ts +3 -0
  266. package/utils/pickEntryFieldValues.js +30 -0
  267. package/utils/pickEntryFieldValues.js.map +1 -0
  268. package/utils/resolve.js +3 -1
  269. package/utils/resolve.js.map +1 -1
  270. package/plugins/hooks/notifications/appUrl.d.ts +0 -2
  271. package/plugins/hooks/notifications/appUrl.js +0 -18
  272. package/plugins/hooks/notifications/appUrl.js.map +0 -1
  273. package/plugins/pageBuilder/PageApwSettingsGetterPlugin.d.ts +0 -9
  274. package/plugins/pageBuilder/PageApwSettingsGetterPlugin.js +0 -36
  275. package/plugins/pageBuilder/PageApwSettingsGetterPlugin.js.map +0 -1
  276. package/plugins/pageBuilder/apwContentPagePlugins.d.ts +0 -3
  277. package/plugins/pageBuilder/apwContentPagePlugins.js +0 -26
  278. package/plugins/pageBuilder/apwContentPagePlugins.js.map +0 -1
  279. package/plugins/pageBuilder/extendPbPageSettingsSchema.d.ts +0 -3
  280. package/plugins/pageBuilder/extendPbPageSettingsSchema.js +0 -20
  281. package/plugins/pageBuilder/extendPbPageSettingsSchema.js.map +0 -1
  282. package/plugins/pageBuilder/index.d.ts +0 -11
  283. package/plugins/pageBuilder/index.js +0 -42
  284. package/plugins/pageBuilder/index.js.map +0 -1
  285. package/plugins/pageBuilder/linkContentReviewToPage.d.ts +0 -8
  286. package/plugins/pageBuilder/linkContentReviewToPage.js +0 -89
  287. package/plugins/pageBuilder/linkContentReviewToPage.js.map +0 -1
  288. package/plugins/pageBuilder/linkWorkflowToPage.d.ts +0 -8
  289. package/plugins/pageBuilder/linkWorkflowToPage.js +0 -164
  290. package/plugins/pageBuilder/linkWorkflowToPage.js.map +0 -1
  291. package/plugins/pageBuilder/notifications/changeRequestNotification.d.ts +0 -1
  292. package/plugins/pageBuilder/notifications/changeRequestNotification.js +0 -31
  293. package/plugins/pageBuilder/notifications/changeRequestNotification.js.map +0 -1
  294. package/plugins/pageBuilder/notifications/commentNotification.d.ts +0 -1
  295. package/plugins/pageBuilder/notifications/commentNotification.js +0 -31
  296. package/plugins/pageBuilder/notifications/commentNotification.js.map +0 -1
  297. package/plugins/pageBuilder/notifications/contentReviewNotification.d.ts +0 -1
  298. package/plugins/pageBuilder/notifications/contentReviewNotification.js +0 -31
  299. package/plugins/pageBuilder/notifications/contentReviewNotification.js.map +0 -1
  300. package/plugins/pageBuilder/notifications/contentUrl.d.ts +0 -1
  301. package/plugins/pageBuilder/notifications/contentUrl.js +0 -47
  302. package/plugins/pageBuilder/notifications/contentUrl.js.map +0 -1
  303. package/plugins/pageBuilder/triggerContentReview.d.ts +0 -8
  304. package/plugins/pageBuilder/triggerContentReview.js +0 -39
  305. package/plugins/pageBuilder/triggerContentReview.js.map +0 -1
  306. package/plugins/pageBuilder/updateContentReviewStatus.d.ts +0 -10
  307. package/plugins/pageBuilder/updateContentReviewStatus.js +0 -67
  308. package/plugins/pageBuilder/updateContentReviewStatus.js.map +0 -1
  309. package/plugins/pageBuilder/utils.d.ts +0 -22
  310. package/plugins/pageBuilder/utils.js +0 -150
  311. package/plugins/pageBuilder/utils.js.map +0 -1
  312. package/storageOperations/models/contentModelPluginFactory.d.ts +0 -15
  313. package/storageOperations/models/contentModelPluginFactory.js +0 -23
  314. package/storageOperations/models/contentModelPluginFactory.js.map +0 -1
@@ -1,9 +1,9 @@
1
- import { ApplicationGraphQL, ApplicationGraphQLBody } from "./ApplicationGraphQL";
2
- import { ApwScheduleActionData } from "../../../types";
3
- import { ApwSettings } from "../../utils";
1
+ import type { ApplicationGraphQLBody, ApwSettings, ApplicationGraphQLGetUrlParams, ApwScheduleActionData } from "./ApplicationGraphQL";
2
+ import { ApplicationGraphQL } from "./ApplicationGraphQL";
4
3
  export declare class HeadlessCMSGraphQL extends ApplicationGraphQL {
5
4
  name: string;
6
5
  canUse(data: ApwScheduleActionData): boolean;
6
+ getUrl({ locale }: ApplicationGraphQLGetUrlParams): string;
7
7
  getArn(settings: ApwSettings): string;
8
8
  getGraphQLBody(data: ApwScheduleActionData): ApplicationGraphQLBody | null;
9
9
  private getPublishBody;
@@ -5,14 +5,12 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.HeadlessCMSGraphQL = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
8
  var _ApplicationGraphQL = require("./ApplicationGraphQL");
10
9
  var _types = require("../../../types");
11
10
  var _error = _interopRequireDefault(require("@webiny/error"));
12
11
  var _upperFirst = _interopRequireDefault(require("lodash/upperFirst"));
13
12
  const META_FIELDS = `
14
13
  title
15
- publishedOn
16
14
  version
17
15
  locked
18
16
  status
@@ -31,6 +29,7 @@ const createPublishMutation = modelId => {
31
29
  content: publish${ucFirstModelId}(revision: $revision) {
32
30
  data {
33
31
  id
32
+ lastPublishedOn
34
33
  meta {
35
34
  ${META_FIELDS}
36
35
  }
@@ -46,6 +45,7 @@ const createUnpublishMutation = modelId => {
46
45
  content: unpublish${ucFirstModelId}(revision: $revision) {
47
46
  data {
48
47
  id
48
+ lastPublishedOn
49
49
  meta {
50
50
  ${META_FIELDS}
51
51
  }
@@ -55,15 +55,17 @@ const createUnpublishMutation = modelId => {
55
55
  }`;
56
56
  };
57
57
  class HeadlessCMSGraphQL extends _ApplicationGraphQL.ApplicationGraphQL {
58
- constructor(...args) {
59
- super(...args);
60
- (0, _defineProperty2.default)(this, "name", "apw.scheduler.applicationGraphQL.pageBuilder");
61
- }
58
+ name = "apw.scheduler.applicationGraphQL.headlessCms";
62
59
  canUse(data) {
63
60
  return data.type === _types.ApwContentTypes.CMS_ENTRY;
64
61
  }
62
+ getUrl({
63
+ locale
64
+ }) {
65
+ return `/cms/manage/${locale}`;
66
+ }
65
67
  getArn(settings) {
66
- return settings.cmsGraphqlFunctionArn;
68
+ return settings.mainGraphqlFunctionArn;
67
69
  }
68
70
  getGraphQLBody(data) {
69
71
  switch (data.action) {
@@ -102,4 +104,6 @@ class HeadlessCMSGraphQL extends _ApplicationGraphQL.ApplicationGraphQL {
102
104
  };
103
105
  }
104
106
  }
105
- exports.HeadlessCMSGraphQL = HeadlessCMSGraphQL;
107
+ exports.HeadlessCMSGraphQL = HeadlessCMSGraphQL;
108
+
109
+ //# sourceMappingURL=HeadlessCMSGraphQL.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["META_FIELDS","ERROR_FIELD","createPublishMutation","modelId","ucFirstModelId","upperFirst","createUnpublishMutation","HeadlessCMSGraphQL","ApplicationGraphQL","canUse","data","type","ApwContentTypes","CMS_ENTRY","getArn","settings","cmsGraphqlFunctionArn","getGraphQLBody","action","ApwScheduleActionTypes","PUBLISH","getPublishBody","UNPUBLISH","getUnpublishBody","WebinyError","query","variables","revision","entryId"],"sources":["HeadlessCMSGraphQL.ts"],"sourcesContent":["import { ApplicationGraphQL, ApplicationGraphQLBody } from \"./ApplicationGraphQL\";\nimport { ApwContentTypes, ApwScheduleActionData, ApwScheduleActionTypes } from \"~/scheduler/types\";\nimport { ApwSettings } from \"~/scheduler/handlers/utils\";\nimport WebinyError from \"@webiny/error\";\nimport upperFirst from \"lodash/upperFirst\";\n\nconst META_FIELDS = `\n title\n publishedOn\n version\n locked\n status\n`;\n\nconst ERROR_FIELD = `\n {\n code\n data\n message\n }\n`;\n\nconst createPublishMutation = (modelId: string): string => {\n const ucFirstModelId = upperFirst(modelId);\n\n return `\n mutation CmsPublish${ucFirstModelId}($revision: ID!) {\n content: publish${ucFirstModelId}(revision: $revision) {\n data {\n id\n meta {\n ${META_FIELDS}\n }\n }\n error ${ERROR_FIELD}\n }\n }`;\n};\n\nconst createUnpublishMutation = (modelId: string) => {\n const ucFirstModelId = upperFirst(modelId);\n\n return `\n mutation CmsUnpublish${ucFirstModelId}($revision: ID!) {\n content: unpublish${ucFirstModelId}(revision: $revision) {\n data {\n id\n meta {\n ${META_FIELDS}\n }\n }\n error ${ERROR_FIELD}\n }\n }`;\n};\n\ninterface ApplicationGraphQLBodyVariables {\n revision: string;\n}\n\nexport class HeadlessCMSGraphQL extends ApplicationGraphQL {\n public override name = \"apw.scheduler.applicationGraphQL.pageBuilder\";\n\n public override canUse(data: ApwScheduleActionData): boolean {\n return data.type === ApwContentTypes.CMS_ENTRY;\n }\n\n public override getArn(settings: ApwSettings): string {\n return settings.cmsGraphqlFunctionArn;\n }\n\n public override getGraphQLBody(data: ApwScheduleActionData): ApplicationGraphQLBody | null {\n switch (data.action) {\n case ApwScheduleActionTypes.PUBLISH:\n return this.getPublishBody(data);\n case ApwScheduleActionTypes.UNPUBLISH:\n return this.getUnpublishBody(data);\n default:\n return null;\n }\n }\n\n private getPublishBody(\n data: ApwScheduleActionData\n ): ApplicationGraphQLBody<ApplicationGraphQLBodyVariables> {\n if (!data.modelId) {\n throw new WebinyError(\n \"Missing model ID in the schedule action data.\",\n \"SCHEDULE_ACTION_ERROR\",\n {\n data\n }\n );\n }\n return {\n query: createPublishMutation(data.modelId),\n variables: {\n revision: data.entryId\n }\n };\n }\n\n private getUnpublishBody(\n data: ApwScheduleActionData\n ): ApplicationGraphQLBody<ApplicationGraphQLBodyVariables> {\n if (!data.modelId) {\n throw new WebinyError(\n \"Missing model ID in the schedule action data.\",\n \"SCHEDULE_ACTION_ERROR\",\n {\n data\n }\n );\n }\n return {\n query: createUnpublishMutation(data.modelId),\n variables: {\n revision: data.entryId\n }\n };\n }\n}\n"],"mappings":";;;;;;;;AAAA;AACA;AAEA;AACA;AAEA,MAAMA,WAAW,GAAI;AACrB;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMC,WAAW,GAAI;AACrB;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMC,qBAAqB,GAAIC,OAAe,IAAa;EACvD,MAAMC,cAAc,GAAG,IAAAC,mBAAU,EAACF,OAAO,CAAC;EAE1C,OAAQ;AACZ,6BAA6BC,cAAe;AAC5C,8BAA8BA,cAAe;AAC7C;AACA;AACA;AACA,0BAA0BJ,WAAY;AACtC;AACA;AACA,wBAAwBC,WAAY;AACpC;AACA,UAAU;AACV,CAAC;AAED,MAAMK,uBAAuB,GAAIH,OAAe,IAAK;EACjD,MAAMC,cAAc,GAAG,IAAAC,mBAAU,EAACF,OAAO,CAAC;EAE1C,OAAQ;AACZ,+BAA+BC,cAAe;AAC9C,gCAAgCA,cAAe;AAC/C;AACA;AACA;AACA,0BAA0BJ,WAAY;AACtC;AACA;AACA,wBAAwBC,WAAY;AACpC;AACA,UAAU;AACV,CAAC;AAMM,MAAMM,kBAAkB,SAASC,sCAAkB,CAAC;EAAA;IAAA;IAAA,4CAChC,8CAA8C;EAAA;EAErDC,MAAM,CAACC,IAA2B,EAAW;IACzD,OAAOA,IAAI,CAACC,IAAI,KAAKC,sBAAe,CAACC,SAAS;EAClD;EAEgBC,MAAM,CAACC,QAAqB,EAAU;IAClD,OAAOA,QAAQ,CAACC,qBAAqB;EACzC;EAEgBC,cAAc,CAACP,IAA2B,EAAiC;IACvF,QAAQA,IAAI,CAACQ,MAAM;MACf,KAAKC,6BAAsB,CAACC,OAAO;QAC/B,OAAO,IAAI,CAACC,cAAc,CAACX,IAAI,CAAC;MACpC,KAAKS,6BAAsB,CAACG,SAAS;QACjC,OAAO,IAAI,CAACC,gBAAgB,CAACb,IAAI,CAAC;MACtC;QACI,OAAO,IAAI;IAAC;EAExB;EAEQW,cAAc,CAClBX,IAA2B,EAC4B;IACvD,IAAI,CAACA,IAAI,CAACP,OAAO,EAAE;MACf,MAAM,IAAIqB,cAAW,CACjB,+CAA+C,EAC/C,uBAAuB,EACvB;QACId;MACJ,CAAC,CACJ;IACL;IACA,OAAO;MACHe,KAAK,EAAEvB,qBAAqB,CAACQ,IAAI,CAACP,OAAO,CAAC;MAC1CuB,SAAS,EAAE;QACPC,QAAQ,EAAEjB,IAAI,CAACkB;MACnB;IACJ,CAAC;EACL;EAEQL,gBAAgB,CACpBb,IAA2B,EAC4B;IACvD,IAAI,CAACA,IAAI,CAACP,OAAO,EAAE;MACf,MAAM,IAAIqB,cAAW,CACjB,+CAA+C,EAC/C,uBAAuB,EACvB;QACId;MACJ,CAAC,CACJ;IACL;IACA,OAAO;MACHe,KAAK,EAAEnB,uBAAuB,CAACI,IAAI,CAACP,OAAO,CAAC;MAC5CuB,SAAS,EAAE;QACPC,QAAQ,EAAEjB,IAAI,CAACkB;MACnB;IACJ,CAAC;EACL;AACJ;AAAC"}
1
+ {"version":3,"names":["_ApplicationGraphQL","require","_types","_error","_interopRequireDefault","_upperFirst","META_FIELDS","ERROR_FIELD","createPublishMutation","modelId","ucFirstModelId","upperFirst","createUnpublishMutation","HeadlessCMSGraphQL","ApplicationGraphQL","name","canUse","data","type","ApwContentTypes","CMS_ENTRY","getUrl","locale","getArn","settings","mainGraphqlFunctionArn","getGraphQLBody","action","ApwScheduleActionTypes","PUBLISH","getPublishBody","UNPUBLISH","getUnpublishBody","WebinyError","query","variables","revision","entryId","exports"],"sources":["HeadlessCMSGraphQL.ts"],"sourcesContent":["import type {\n ApplicationGraphQLBody,\n ApwSettings,\n ApplicationGraphQLGetUrlParams,\n ApwScheduleActionData\n} from \"./ApplicationGraphQL\";\nimport { ApplicationGraphQL } from \"./ApplicationGraphQL\";\nimport { ApwContentTypes, ApwScheduleActionTypes } from \"~/scheduler/types\";\nimport WebinyError from \"@webiny/error\";\nimport upperFirst from \"lodash/upperFirst\";\n\nconst META_FIELDS = `\n title\n version\n locked\n status\n`;\n\nconst ERROR_FIELD = `\n {\n code\n data\n message\n }\n`;\n\nconst createPublishMutation = (modelId: string): string => {\n const ucFirstModelId = upperFirst(modelId);\n\n return `\n mutation CmsPublish${ucFirstModelId}($revision: ID!) {\n content: publish${ucFirstModelId}(revision: $revision) {\n data {\n id\n lastPublishedOn\n meta {\n ${META_FIELDS}\n }\n }\n error ${ERROR_FIELD}\n }\n }`;\n};\n\nconst createUnpublishMutation = (modelId: string) => {\n const ucFirstModelId = upperFirst(modelId);\n\n return `\n mutation CmsUnpublish${ucFirstModelId}($revision: ID!) {\n content: unpublish${ucFirstModelId}(revision: $revision) {\n data {\n id\n lastPublishedOn\n meta {\n ${META_FIELDS}\n }\n }\n error ${ERROR_FIELD}\n }\n }`;\n};\n\ninterface ApplicationGraphQLBodyVariables {\n revision: string;\n}\n\nexport class HeadlessCMSGraphQL extends ApplicationGraphQL {\n public override name = \"apw.scheduler.applicationGraphQL.headlessCms\";\n\n public override canUse(data: ApwScheduleActionData): boolean {\n return data.type === ApwContentTypes.CMS_ENTRY;\n }\n\n public override getUrl({ locale }: ApplicationGraphQLGetUrlParams): string {\n return `/cms/manage/${locale}`;\n }\n\n public override getArn(settings: ApwSettings): string {\n return settings.mainGraphqlFunctionArn;\n }\n\n public override getGraphQLBody(data: ApwScheduleActionData): ApplicationGraphQLBody | null {\n switch (data.action) {\n case ApwScheduleActionTypes.PUBLISH:\n return this.getPublishBody(data);\n case ApwScheduleActionTypes.UNPUBLISH:\n return this.getUnpublishBody(data);\n default:\n return null;\n }\n }\n\n private getPublishBody(\n data: ApwScheduleActionData\n ): ApplicationGraphQLBody<ApplicationGraphQLBodyVariables> {\n if (!data.modelId) {\n throw new WebinyError(\n \"Missing model ID in the schedule action data.\",\n \"SCHEDULE_ACTION_ERROR\",\n {\n data\n }\n );\n }\n return {\n query: createPublishMutation(data.modelId),\n variables: {\n revision: data.entryId\n }\n };\n }\n\n private getUnpublishBody(\n data: ApwScheduleActionData\n ): ApplicationGraphQLBody<ApplicationGraphQLBodyVariables> {\n if (!data.modelId) {\n throw new WebinyError(\n \"Missing model ID in the schedule action data.\",\n \"SCHEDULE_ACTION_ERROR\",\n {\n data\n }\n );\n }\n return {\n query: createUnpublishMutation(data.modelId),\n variables: {\n revision: data.entryId\n }\n };\n }\n}\n"],"mappings":";;;;;;;AAMA,IAAAA,mBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,WAAA,GAAAD,sBAAA,CAAAH,OAAA;AAEA,MAAMK,WAAW,GAAG;AACpB;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMC,WAAW,GAAG;AACpB;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMC,qBAAqB,GAAIC,OAAe,IAAa;EACvD,MAAMC,cAAc,GAAG,IAAAC,mBAAU,EAACF,OAAO,CAAC;EAE1C,OAAO;AACX,6BAA6BC,cAAc;AAC3C,8BAA8BA,cAAc;AAC5C;AACA;AACA;AACA;AACA,0BAA0BJ,WAAW;AACrC;AACA;AACA,wBAAwBC,WAAW;AACnC;AACA,UAAU;AACV,CAAC;AAED,MAAMK,uBAAuB,GAAIH,OAAe,IAAK;EACjD,MAAMC,cAAc,GAAG,IAAAC,mBAAU,EAACF,OAAO,CAAC;EAE1C,OAAO;AACX,+BAA+BC,cAAc;AAC7C,gCAAgCA,cAAc;AAC9C;AACA;AACA;AACA;AACA,0BAA0BJ,WAAW;AACrC;AACA;AACA,wBAAwBC,WAAW;AACnC;AACA,UAAU;AACV,CAAC;AAMM,MAAMM,kBAAkB,SAASC,sCAAkB,CAAC;EACvCC,IAAI,GAAG,8CAA8C;EAErDC,MAAMA,CAACC,IAA2B,EAAW;IACzD,OAAOA,IAAI,CAACC,IAAI,KAAKC,sBAAe,CAACC,SAAS;EAClD;EAEgBC,MAAMA,CAAC;IAAEC;EAAuC,CAAC,EAAU;IACvE,OAAO,eAAeA,MAAM,EAAE;EAClC;EAEgBC,MAAMA,CAACC,QAAqB,EAAU;IAClD,OAAOA,QAAQ,CAACC,sBAAsB;EAC1C;EAEgBC,cAAcA,CAACT,IAA2B,EAAiC;IACvF,QAAQA,IAAI,CAACU,MAAM;MACf,KAAKC,6BAAsB,CAACC,OAAO;QAC/B,OAAO,IAAI,CAACC,cAAc,CAACb,IAAI,CAAC;MACpC,KAAKW,6BAAsB,CAACG,SAAS;QACjC,OAAO,IAAI,CAACC,gBAAgB,CAACf,IAAI,CAAC;MACtC;QACI,OAAO,IAAI;IACnB;EACJ;EAEQa,cAAcA,CAClBb,IAA2B,EAC4B;IACvD,IAAI,CAACA,IAAI,CAACR,OAAO,EAAE;MACf,MAAM,IAAIwB,cAAW,CACjB,+CAA+C,EAC/C,uBAAuB,EACvB;QACIhB;MACJ,CACJ,CAAC;IACL;IACA,OAAO;MACHiB,KAAK,EAAE1B,qBAAqB,CAACS,IAAI,CAACR,OAAO,CAAC;MAC1C0B,SAAS,EAAE;QACPC,QAAQ,EAAEnB,IAAI,CAACoB;MACnB;IACJ,CAAC;EACL;EAEQL,gBAAgBA,CACpBf,IAA2B,EAC4B;IACvD,IAAI,CAACA,IAAI,CAACR,OAAO,EAAE;MACf,MAAM,IAAIwB,cAAW,CACjB,+CAA+C,EAC/C,uBAAuB,EACvB;QACIhB;MACJ,CACJ,CAAC;IACL;IACA,OAAO;MACHiB,KAAK,EAAEtB,uBAAuB,CAACK,IAAI,CAACR,OAAO,CAAC;MAC5C0B,SAAS,EAAE;QACPC,QAAQ,EAAEnB,IAAI,CAACoB;MACnB;IACJ,CAAC;EACL;AACJ;AAACC,OAAA,CAAAzB,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -1,9 +1,10 @@
1
- import { ApplicationGraphQL, ApplicationGraphQLBody } from "./ApplicationGraphQL";
2
- import { ApwScheduleActionData } from "../../../types";
3
- import { ApwSettings } from "../../utils";
1
+ import type { ApplicationGraphQLBody, ApwScheduleActionData } from "./ApplicationGraphQL";
2
+ import { ApplicationGraphQL } from "./ApplicationGraphQL";
3
+ import type { ApwSettings } from "../../utils";
4
4
  export declare class PageBuilderGraphQL extends ApplicationGraphQL {
5
5
  name: string;
6
6
  canUse(data: ApwScheduleActionData): boolean;
7
+ getUrl(): string;
7
8
  getArn(settings: ApwSettings): string;
8
9
  getGraphQLBody(data: ApwScheduleActionData): ApplicationGraphQLBody | null;
9
10
  private getPublishBody;
@@ -1,75 +1,14 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.PageBuilderGraphQL = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
7
  var _ApplicationGraphQL = require("./ApplicationGraphQL");
10
8
  var _types = require("../../../types");
11
9
  const PB_PAGE_DATA_FIELD = /* GraphQL */`
12
10
  {
13
11
  id
14
- pid
15
- editor
16
- category {
17
- slug
18
- }
19
- version
20
- title
21
- path
22
- url
23
- content
24
- savedOn
25
- status
26
- locked
27
- publishedOn
28
- locked
29
- revisions {
30
- id
31
- status
32
- locked
33
- version
34
- }
35
- settings {
36
- general {
37
- snippet
38
- tags
39
- layout
40
- image {
41
- id
42
- src
43
- }
44
- }
45
- social {
46
- meta {
47
- property
48
- content
49
- }
50
- title
51
- description
52
- image {
53
- id
54
- src
55
- }
56
- }
57
- seo {
58
- title
59
- description
60
- meta {
61
- name
62
- content
63
- }
64
- }
65
- }
66
- createdFrom
67
- createdOn
68
- createdBy {
69
- id
70
- displayName
71
- type
72
- }
73
12
  }
74
13
  `;
75
14
  const ERROR_FIELD = /* GraphQL */`
@@ -100,13 +39,13 @@ const UNPUBLISH_MUTATION = /* GraphQL */`
100
39
  }
101
40
  `;
102
41
  class PageBuilderGraphQL extends _ApplicationGraphQL.ApplicationGraphQL {
103
- constructor(...args) {
104
- super(...args);
105
- (0, _defineProperty2.default)(this, "name", "apw.scheduler.applicationGraphQL.pageBuilder");
106
- }
42
+ name = "apw.scheduler.applicationGraphQL.pageBuilder";
107
43
  canUse(data) {
108
44
  return data.type === _types.ApwContentTypes.PAGE;
109
45
  }
46
+ getUrl() {
47
+ return `/graphql`;
48
+ }
110
49
  getArn(settings) {
111
50
  return settings.mainGraphqlFunctionArn;
112
51
  }
@@ -137,4 +76,6 @@ class PageBuilderGraphQL extends _ApplicationGraphQL.ApplicationGraphQL {
137
76
  };
138
77
  }
139
78
  }
140
- exports.PageBuilderGraphQL = PageBuilderGraphQL;
79
+ exports.PageBuilderGraphQL = PageBuilderGraphQL;
80
+
81
+ //# sourceMappingURL=PageBuilderGraphQL.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["PB_PAGE_DATA_FIELD","ERROR_FIELD","PUBLISH_MUTATION","UNPUBLISH_MUTATION","PageBuilderGraphQL","ApplicationGraphQL","canUse","data","type","ApwContentTypes","PAGE","getArn","settings","mainGraphqlFunctionArn","getGraphQLBody","action","ApwScheduleActionTypes","PUBLISH","getPublishBody","UNPUBLISH","getUnpublishBody","query","variables","id","entryId"],"sources":["PageBuilderGraphQL.ts"],"sourcesContent":["import { ApplicationGraphQL, ApplicationGraphQLBody } from \"./ApplicationGraphQL\";\nimport { ApwContentTypes, ApwScheduleActionData, ApwScheduleActionTypes } from \"~/scheduler/types\";\nimport { ApwSettings } from \"~/scheduler/handlers/utils\";\n\nconst PB_PAGE_DATA_FIELD = /* GraphQL */ `\n {\n id\n pid\n editor\n category {\n slug\n }\n version\n title\n path\n url\n content\n savedOn\n status\n locked\n publishedOn\n locked\n revisions {\n id\n status\n locked\n version\n }\n settings {\n general {\n snippet\n tags\n layout\n image {\n id\n src\n }\n }\n social {\n meta {\n property\n content\n }\n title\n description\n image {\n id\n src\n }\n }\n seo {\n title\n description\n meta {\n name\n content\n }\n }\n }\n createdFrom\n createdOn\n createdBy {\n id\n displayName\n type\n }\n }\n`;\n\nconst ERROR_FIELD = /* GraphQL */ `\n {\n code\n data\n message\n }\n`;\n\nconst PUBLISH_MUTATION = /* GraphQL */ `\n mutation PublishPage($id: ID!) {\n pageBuilder {\n publishPage(id: $id) {\n data ${PB_PAGE_DATA_FIELD}\n error ${ERROR_FIELD}\n }\n }\n }\n`;\n\nconst UNPUBLISH_MUTATION = /* GraphQL */ `\n mutation UnpublishPage($id: ID!) {\n pageBuilder {\n unpublishPage(id: $id) {\n data ${PB_PAGE_DATA_FIELD}\n error ${ERROR_FIELD}\n }\n }\n }\n`;\n\ninterface ApplicationGraphQLBodyVariables {\n id: string;\n}\n\nexport class PageBuilderGraphQL extends ApplicationGraphQL {\n public override name = \"apw.scheduler.applicationGraphQL.pageBuilder\";\n\n public override canUse(data: ApwScheduleActionData): boolean {\n return data.type === ApwContentTypes.PAGE;\n }\n\n public override getArn(settings: ApwSettings): string {\n return settings.mainGraphqlFunctionArn;\n }\n\n public override getGraphQLBody(data: ApwScheduleActionData): ApplicationGraphQLBody | null {\n switch (data.action) {\n case ApwScheduleActionTypes.PUBLISH:\n return this.getPublishBody(data);\n case ApwScheduleActionTypes.UNPUBLISH:\n return this.getUnpublishBody(data);\n default:\n return null;\n }\n }\n\n private getPublishBody(\n data: ApwScheduleActionData\n ): ApplicationGraphQLBody<ApplicationGraphQLBodyVariables> {\n return {\n query: PUBLISH_MUTATION,\n variables: {\n id: data.entryId\n }\n };\n }\n\n private getUnpublishBody(\n data: ApwScheduleActionData\n ): ApplicationGraphQLBody<ApplicationGraphQLBodyVariables> {\n return {\n query: UNPUBLISH_MUTATION,\n variables: {\n id: data.entryId\n }\n };\n }\n}\n"],"mappings":";;;;;;;;AAAA;AACA;AAGA,MAAMA,kBAAkB,GAAG,aAAe;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMC,WAAW,GAAG,aAAe;AACnC;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMC,gBAAgB,GAAG,aAAe;AACxC;AACA;AACA;AACA,uBAAuBF,kBAAmB;AAC1C,wBAAwBC,WAAY;AACpC;AACA;AACA;AACA,CAAC;AAED,MAAME,kBAAkB,GAAG,aAAe;AAC1C;AACA;AACA;AACA,uBAAuBH,kBAAmB;AAC1C,wBAAwBC,WAAY;AACpC;AACA;AACA;AACA,CAAC;AAMM,MAAMG,kBAAkB,SAASC,sCAAkB,CAAC;EAAA;IAAA;IAAA,4CAChC,8CAA8C;EAAA;EAErDC,MAAM,CAACC,IAA2B,EAAW;IACzD,OAAOA,IAAI,CAACC,IAAI,KAAKC,sBAAe,CAACC,IAAI;EAC7C;EAEgBC,MAAM,CAACC,QAAqB,EAAU;IAClD,OAAOA,QAAQ,CAACC,sBAAsB;EAC1C;EAEgBC,cAAc,CAACP,IAA2B,EAAiC;IACvF,QAAQA,IAAI,CAACQ,MAAM;MACf,KAAKC,6BAAsB,CAACC,OAAO;QAC/B,OAAO,IAAI,CAACC,cAAc,CAACX,IAAI,CAAC;MACpC,KAAKS,6BAAsB,CAACG,SAAS;QACjC,OAAO,IAAI,CAACC,gBAAgB,CAACb,IAAI,CAAC;MACtC;QACI,OAAO,IAAI;IAAC;EAExB;EAEQW,cAAc,CAClBX,IAA2B,EAC4B;IACvD,OAAO;MACHc,KAAK,EAAEnB,gBAAgB;MACvBoB,SAAS,EAAE;QACPC,EAAE,EAAEhB,IAAI,CAACiB;MACb;IACJ,CAAC;EACL;EAEQJ,gBAAgB,CACpBb,IAA2B,EAC4B;IACvD,OAAO;MACHc,KAAK,EAAElB,kBAAkB;MACzBmB,SAAS,EAAE;QACPC,EAAE,EAAEhB,IAAI,CAACiB;MACb;IACJ,CAAC;EACL;AACJ;AAAC"}
1
+ {"version":3,"names":["_ApplicationGraphQL","require","_types","PB_PAGE_DATA_FIELD","ERROR_FIELD","PUBLISH_MUTATION","UNPUBLISH_MUTATION","PageBuilderGraphQL","ApplicationGraphQL","name","canUse","data","type","ApwContentTypes","PAGE","getUrl","getArn","settings","mainGraphqlFunctionArn","getGraphQLBody","action","ApwScheduleActionTypes","PUBLISH","getPublishBody","UNPUBLISH","getUnpublishBody","query","variables","id","entryId","exports"],"sources":["PageBuilderGraphQL.ts"],"sourcesContent":["import type { ApplicationGraphQLBody, ApwScheduleActionData } from \"./ApplicationGraphQL\";\nimport { ApplicationGraphQL } from \"./ApplicationGraphQL\";\nimport { ApwContentTypes, ApwScheduleActionTypes } from \"~/scheduler/types\";\nimport type { ApwSettings } from \"~/scheduler/handlers/utils\";\n\nconst PB_PAGE_DATA_FIELD = /* GraphQL */ `\n {\n id\n }\n`;\n\nconst ERROR_FIELD = /* GraphQL */ `\n {\n code\n data\n message\n }\n`;\n\nconst PUBLISH_MUTATION = /* GraphQL */ `\n mutation PublishPage($id: ID!) {\n pageBuilder {\n publishPage(id: $id) {\n data ${PB_PAGE_DATA_FIELD}\n error ${ERROR_FIELD}\n }\n }\n }\n`;\n\nconst UNPUBLISH_MUTATION = /* GraphQL */ `\n mutation UnpublishPage($id: ID!) {\n pageBuilder {\n unpublishPage(id: $id) {\n data ${PB_PAGE_DATA_FIELD}\n error ${ERROR_FIELD}\n }\n }\n }\n`;\n\ninterface ApplicationGraphQLBodyVariables {\n id: string;\n}\n\nexport class PageBuilderGraphQL extends ApplicationGraphQL {\n public override name = \"apw.scheduler.applicationGraphQL.pageBuilder\";\n\n public override canUse(data: ApwScheduleActionData): boolean {\n return data.type === ApwContentTypes.PAGE;\n }\n\n public override getUrl(): string {\n return `/graphql`;\n }\n\n public override getArn(settings: ApwSettings): string {\n return settings.mainGraphqlFunctionArn;\n }\n\n public override getGraphQLBody(data: ApwScheduleActionData): ApplicationGraphQLBody | null {\n switch (data.action) {\n case ApwScheduleActionTypes.PUBLISH:\n return this.getPublishBody(data);\n case ApwScheduleActionTypes.UNPUBLISH:\n return this.getUnpublishBody(data);\n default:\n return null;\n }\n }\n\n private getPublishBody(\n data: ApwScheduleActionData\n ): ApplicationGraphQLBody<ApplicationGraphQLBodyVariables> {\n return {\n query: PUBLISH_MUTATION,\n variables: {\n id: data.entryId\n }\n };\n }\n\n private getUnpublishBody(\n data: ApwScheduleActionData\n ): ApplicationGraphQLBody<ApplicationGraphQLBodyVariables> {\n return {\n query: UNPUBLISH_MUTATION,\n variables: {\n id: data.entryId\n }\n };\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,mBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAGA,MAAME,kBAAkB,GAAG,aAAc;AACzC;AACA;AACA;AACA,CAAC;AAED,MAAMC,WAAW,GAAG,aAAc;AAClC;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMC,gBAAgB,GAAG,aAAc;AACvC;AACA;AACA;AACA,uBAAuBF,kBAAkB;AACzC,wBAAwBC,WAAW;AACnC;AACA;AACA;AACA,CAAC;AAED,MAAME,kBAAkB,GAAG,aAAc;AACzC;AACA;AACA;AACA,uBAAuBH,kBAAkB;AACzC,wBAAwBC,WAAW;AACnC;AACA;AACA;AACA,CAAC;AAMM,MAAMG,kBAAkB,SAASC,sCAAkB,CAAC;EACvCC,IAAI,GAAG,8CAA8C;EAErDC,MAAMA,CAACC,IAA2B,EAAW;IACzD,OAAOA,IAAI,CAACC,IAAI,KAAKC,sBAAe,CAACC,IAAI;EAC7C;EAEgBC,MAAMA,CAAA,EAAW;IAC7B,OAAO,UAAU;EACrB;EAEgBC,MAAMA,CAACC,QAAqB,EAAU;IAClD,OAAOA,QAAQ,CAACC,sBAAsB;EAC1C;EAEgBC,cAAcA,CAACR,IAA2B,EAAiC;IACvF,QAAQA,IAAI,CAACS,MAAM;MACf,KAAKC,6BAAsB,CAACC,OAAO;QAC/B,OAAO,IAAI,CAACC,cAAc,CAACZ,IAAI,CAAC;MACpC,KAAKU,6BAAsB,CAACG,SAAS;QACjC,OAAO,IAAI,CAACC,gBAAgB,CAACd,IAAI,CAAC;MACtC;QACI,OAAO,IAAI;IACnB;EACJ;EAEQY,cAAcA,CAClBZ,IAA2B,EAC4B;IACvD,OAAO;MACHe,KAAK,EAAErB,gBAAgB;MACvBsB,SAAS,EAAE;QACPC,EAAE,EAAEjB,IAAI,CAACkB;MACb;IACJ,CAAC;EACL;EAEQJ,gBAAgBA,CACpBd,IAA2B,EAC4B;IACvD,OAAO;MACHe,KAAK,EAAEpB,kBAAkB;MACzBqB,SAAS,EAAE;QACPC,EAAE,EAAEjB,IAAI,CAACkB;MACb;IACJ,CAAC;EACL;AACJ;AAACC,OAAA,CAAAvB,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -1,4 +1,4 @@
1
1
  import { ContextPlugin } from "@webiny/api";
2
- import { CreateApwContextParams } from "../../types";
3
- import { ApwContext } from "../../../types";
2
+ import type { CreateApwContextParams } from "../../types";
3
+ import type { ApwContext } from "../../../types";
4
4
  export declare const createCustomAuth: ({ storageOperations }: CreateApwContextParams) => ContextPlugin<ApwContext>;
@@ -54,4 +54,6 @@ const createCustomAuth = ({
54
54
  });
55
55
  });
56
56
  };
57
- exports.createCustomAuth = createCustomAuth;
57
+ exports.createCustomAuth = createCustomAuth;
58
+
59
+ //# sourceMappingURL=security.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createCustomAuth","storageOperations","ContextPlugin","security","hasApwToken","addAuthenticator","token","startsWith","TOKEN_PREFIX","id","tenant","locale","decodeToken","item","get","where","createdBy","addAuthorizer","name"],"sources":["security.ts"],"sourcesContent":["import { ContextPlugin } from \"@webiny/api\";\nimport { CreateApwContextParams } from \"~/scheduler/types\";\nimport { decodeToken, TOKEN_PREFIX } from \"~/scheduler/handlers/utils\";\nimport { ApwContext } from \"~/types\";\n\nexport const createCustomAuth = ({ storageOperations }: CreateApwContextParams) => {\n return new ContextPlugin<ApwContext>(({ security }) => {\n let hasApwToken = false;\n\n security.addAuthenticator(async token => {\n if (!token.startsWith(TOKEN_PREFIX)) {\n return null;\n }\n\n const { id, tenant, locale } = decodeToken(token);\n /**\n * No point in going further if any piece of information is missing.\n */\n if (!id || !tenant || !locale) {\n return null;\n }\n /**\n * We must verify that action we are trying to execute actually exists.\n */\n const item = await storageOperations.get({\n where: {\n id,\n tenant,\n locale\n }\n });\n\n if (!item) {\n return null;\n }\n\n hasApwToken = true;\n\n return item.createdBy;\n });\n\n security.addAuthorizer(async () => {\n if (!hasApwToken) {\n return null;\n }\n return [{ name: \"*\" }];\n });\n });\n};\n"],"mappings":";;;;;;AAAA;AAEA;AAGO,MAAMA,gBAAgB,GAAG,CAAC;EAAEC;AAA0C,CAAC,KAAK;EAC/E,OAAO,IAAIC,kBAAa,CAAa,CAAC;IAAEC;EAAS,CAAC,KAAK;IACnD,IAAIC,WAAW,GAAG,KAAK;IAEvBD,QAAQ,CAACE,gBAAgB,CAAC,MAAMC,KAAK,IAAI;MACrC,IAAI,CAACA,KAAK,CAACC,UAAU,CAACC,mBAAY,CAAC,EAAE;QACjC,OAAO,IAAI;MACf;MAEA,MAAM;QAAEC,EAAE;QAAEC,MAAM;QAAEC;MAAO,CAAC,GAAG,IAAAC,kBAAW,EAACN,KAAK,CAAC;MACjD;AACZ;AACA;MACY,IAAI,CAACG,EAAE,IAAI,CAACC,MAAM,IAAI,CAACC,MAAM,EAAE;QAC3B,OAAO,IAAI;MACf;MACA;AACZ;AACA;MACY,MAAME,IAAI,GAAG,MAAMZ,iBAAiB,CAACa,GAAG,CAAC;QACrCC,KAAK,EAAE;UACHN,EAAE;UACFC,MAAM;UACNC;QACJ;MACJ,CAAC,CAAC;MAEF,IAAI,CAACE,IAAI,EAAE;QACP,OAAO,IAAI;MACf;MAEAT,WAAW,GAAG,IAAI;MAElB,OAAOS,IAAI,CAACG,SAAS;IACzB,CAAC,CAAC;IAEFb,QAAQ,CAACc,aAAa,CAAC,YAAY;MAC/B,IAAI,CAACb,WAAW,EAAE;QACd,OAAO,IAAI;MACf;MACA,OAAO,CAAC;QAAEc,IAAI,EAAE;MAAI,CAAC,CAAC;IAC1B,CAAC,CAAC;EACN,CAAC,CAAC;AACN,CAAC;AAAC"}
1
+ {"version":3,"names":["_api","require","_utils","createCustomAuth","storageOperations","ContextPlugin","security","hasApwToken","addAuthenticator","token","startsWith","TOKEN_PREFIX","id","tenant","locale","decodeToken","item","get","where","createdBy","addAuthorizer","name","exports"],"sources":["security.ts"],"sourcesContent":["import { ContextPlugin } from \"@webiny/api\";\nimport type { CreateApwContextParams } from \"~/scheduler/types\";\nimport { decodeToken, TOKEN_PREFIX } from \"~/scheduler/handlers/utils\";\nimport type { ApwContext } from \"~/types\";\n\nexport const createCustomAuth = ({ storageOperations }: CreateApwContextParams) => {\n return new ContextPlugin<ApwContext>(({ security }) => {\n let hasApwToken = false;\n\n security.addAuthenticator(async token => {\n if (!token.startsWith(TOKEN_PREFIX)) {\n return null;\n }\n\n const { id, tenant, locale } = decodeToken(token);\n /**\n * No point in going further if any piece of information is missing.\n */\n if (!id || !tenant || !locale) {\n return null;\n }\n /**\n * We must verify that action we are trying to execute actually exists.\n */\n const item = await storageOperations.get({\n where: {\n id,\n tenant,\n locale\n }\n });\n\n if (!item) {\n return null;\n }\n\n hasApwToken = true;\n\n return item.createdBy;\n });\n\n security.addAuthorizer(async () => {\n if (!hasApwToken) {\n return null;\n }\n return [{ name: \"*\" }];\n });\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAGO,MAAME,gBAAgB,GAAGA,CAAC;EAAEC;AAA0C,CAAC,KAAK;EAC/E,OAAO,IAAIC,kBAAa,CAAa,CAAC;IAAEC;EAAS,CAAC,KAAK;IACnD,IAAIC,WAAW,GAAG,KAAK;IAEvBD,QAAQ,CAACE,gBAAgB,CAAC,MAAMC,KAAK,IAAI;MACrC,IAAI,CAACA,KAAK,CAACC,UAAU,CAACC,mBAAY,CAAC,EAAE;QACjC,OAAO,IAAI;MACf;MAEA,MAAM;QAAEC,EAAE;QAAEC,MAAM;QAAEC;MAAO,CAAC,GAAG,IAAAC,kBAAW,EAACN,KAAK,CAAC;MACjD;AACZ;AACA;MACY,IAAI,CAACG,EAAE,IAAI,CAACC,MAAM,IAAI,CAACC,MAAM,EAAE;QAC3B,OAAO,IAAI;MACf;MACA;AACZ;AACA;MACY,MAAME,IAAI,GAAG,MAAMZ,iBAAiB,CAACa,GAAG,CAAC;QACrCC,KAAK,EAAE;UACHN,EAAE;UACFC,MAAM;UACNC;QACJ;MACJ,CAAC,CAAC;MAEF,IAAI,CAACE,IAAI,EAAE;QACP,OAAO,IAAI;MACf;MAEAT,WAAW,GAAG,IAAI;MAElB,OAAOS,IAAI,CAACG,SAAS;IACzB,CAAC,CAAC;IAEFb,QAAQ,CAACc,aAAa,CAAC,YAAY;MAC/B,IAAI,CAACb,WAAW,EAAE;QACd,OAAO,IAAI;MACf;MACA,OAAO,CAAC;QAAEc,IAAI,EAAE;MAAI,CAAC,CAAC;IAC1B,CAAC,CAAC;EACN,CAAC,CAAC;AACN,CAAC;AAACC,OAAA,CAAAnB,gBAAA,GAAAA,gBAAA","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * This logic/file should be moved somewhere else as it is relying on AWS specific stuff.
3
3
  */
4
- import { ApwScheduleActionStorageOperations } from "../../types";
4
+ import type { ApwScheduleActionStorageOperations } from "../../types";
5
5
  export declare enum InvocationTypes {
6
6
  SCHEDULED = "scheduled"
7
7
  }
@@ -19,4 +19,4 @@ export interface Configuration {
19
19
  executeAction: string;
20
20
  };
21
21
  }
22
- export declare const scheduleActionHandlerPlugins: (config: Configuration) => ((import("@webiny/db-dynamodb/plugins/definitions/ValueFilterPlugin").ValueFilterPlugin[][] | import("@webiny/handler").HandlerResultPlugin<import("@webiny/handler/types").Context> | import("@webiny/api").ContextPlugin<import("@webiny/handler-db/types").DbContext>[])[] | import("@webiny/handler-aws").RawEventHandler<HandlerArgs, import("@webiny/handler/types").Context, any>)[];
22
+ export declare const scheduleActionHandlerPlugins: (config: Configuration) => ((import("@webiny/db-dynamodb/plugins/definitions/ValueFilterPlugin").ValueFilterPlugin<any, any>[][] | import("@webiny/api").ContextPlugin<import("@webiny/handler-db/types").DbContext>[])[] | import("@webiny/handler-aws").RawEventHandler<HandlerArgs, import("@webiny/handler/types").Context, any>)[];
@@ -1,22 +1,19 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.scheduleActionHandlerPlugins = exports.InvocationTypes = void 0;
8
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
7
  var _utils = require("../utils");
10
8
  var _scheduleAction = require("./scheduleAction.utils");
11
9
  var _handlerAws = require("@webiny/handler-aws");
12
10
  /**
13
11
  * This logic/file should be moved somewhere else as it is relying on AWS specific stuff.
14
12
  */
15
- let InvocationTypes;
16
- exports.InvocationTypes = InvocationTypes;
17
- (function (InvocationTypes) {
13
+ let InvocationTypes = exports.InvocationTypes = /*#__PURE__*/function (InvocationTypes) {
18
14
  InvocationTypes["SCHEDULED"] = "scheduled";
19
- })(InvocationTypes || (exports.InvocationTypes = InvocationTypes = {}));
15
+ return InvocationTypes;
16
+ }({});
20
17
  const log = console.log;
21
18
 
22
19
  /**
@@ -92,14 +89,17 @@ const createScheduleActionLambda = params => {
92
89
  */
93
90
  log(`Update task's datetime to `, futureDatetime);
94
91
  await storageOperations.update({
95
- item: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, nextItem), {}, {
96
- data: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, nextItem.data), {}, {
92
+ item: {
93
+ ...nextItem,
94
+ data: {
95
+ ...nextItem.data,
97
96
  datetime: futureDatetime
98
- })
99
- }),
100
- input: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, nextItem.data), {}, {
97
+ }
98
+ },
99
+ input: {
100
+ ...nextItem.data,
101
101
  datetime: futureDatetime
102
- })
102
+ }
103
103
  });
104
104
  /**
105
105
  * Restore "datetime" of current task so that it can be schedule in next cycle.
@@ -134,11 +134,16 @@ const createScheduleActionLambda = params => {
134
134
  item: nextItem
135
135
  });
136
136
  } catch (ex) {
137
- log("[HANDLER_CREATE_RULE] Error => ", ex);
137
+ console.error("[HANDLER_CREATE_RULE] => ", JSON.stringify({
138
+ message: ex.message,
139
+ code: ex.code,
140
+ data: ex.data
141
+ }));
138
142
  // TODO: Handler error. Maybe save it into DB.
139
143
  }
140
144
  });
141
145
  };
142
-
143
146
  const scheduleActionHandlerPlugins = config => [(0, _utils.basePlugins)(), createScheduleActionLambda(config)];
144
- exports.scheduleActionHandlerPlugins = scheduleActionHandlerPlugins;
147
+ exports.scheduleActionHandlerPlugins = scheduleActionHandlerPlugins;
148
+
149
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["InvocationTypes","log","console","createScheduleActionLambda","params","cwClient","cloudWatchEventClient","storageOperations","handlers","createRawEventHandler","payload","context","lambdaContext","eventContext","locale","tenant","invocationType","SCHEDULED","executeTask","args","lambdaName","executeAction","handlerClient","currentTask","getCurrentTask","where","nextItem","list","sort","limit","nextTaskDatetime","data","datetime","currentTaskDatetime","isDateTimeInNextCentury","shouldScheduleTask","futureDatetime","moveDateTimeToNextCentury","update","item","input","shouldRestoreDatetime","restoreDateTime","task","scheduleLambdaExecution","invokedFunctionArn","updateCurrentTask","ex","scheduleActionHandlerPlugins","config","basePlugins"],"sources":["index.ts"],"sourcesContent":["/**\n * This logic/file should be moved somewhere else as it is relying on AWS specific stuff.\n */\nimport { ApwScheduleActionStorageOperations } from \"~/scheduler/types\";\nimport {\n isDateTimeInNextCentury,\n moveDateTimeToNextCentury,\n shouldRestoreDatetime,\n basePlugins\n} from \"~/scheduler/handlers/utils\";\nimport {\n executeTask,\n shouldScheduleTask,\n restoreDateTime,\n scheduleLambdaExecution\n} from \"./scheduleAction.utils\";\nimport { createRawEventHandler } from \"@webiny/handler-aws\";\n\nexport enum InvocationTypes {\n SCHEDULED = \"scheduled\"\n}\n\nexport interface HandlerArgs {\n datetime: string;\n tenant: string;\n locale: string;\n invocationType?: InvocationTypes;\n futureDatetime?: string;\n}\n\nexport interface Configuration {\n cwClient: any;\n storageOperations: ApwScheduleActionStorageOperations;\n handlers: {\n executeAction: string;\n };\n}\n\nconst log = console.log;\n\n/**\n * Handler that creates a cloudwatch event rule for the schedule action workflow.\n */\nconst createScheduleActionLambda = (params: Configuration) => {\n const { cwClient: cloudWatchEventClient, storageOperations, handlers } = params;\n\n return createRawEventHandler<HandlerArgs>(\n async ({ payload, context, lambdaContext: eventContext }) => {\n try {\n const { locale, tenant, invocationType } = payload;\n /**\n * If invocationType is \"scheduled\", execute the action.\n */\n if (invocationType === InvocationTypes.SCHEDULED) {\n await executeTask({\n args: payload,\n lambdaName: handlers.executeAction,\n handlerClient: context.handlerClient,\n storageOperations\n });\n }\n\n /**\n * Get current scheduled task from the DB.\n */\n const currentTask = await storageOperations.getCurrentTask({\n where: {\n tenant,\n locale\n }\n });\n\n /**\n * Get next task from the DB.\n */\n const [[nextItem]] = await storageOperations.list({\n where: {\n tenant,\n locale\n },\n sort: [\"datetime_ASC\"],\n limit: 1\n });\n\n if (!nextItem) {\n log(`No item found.`);\n return;\n }\n\n const nextTaskDatetime = nextItem.data.datetime;\n const currentTaskDatetime = currentTask && currentTask.data.datetime;\n\n if (isDateTimeInNextCentury(nextTaskDatetime)) {\n log(`Already processed the task.`);\n return;\n }\n\n if (!shouldScheduleTask(nextTaskDatetime, currentTaskDatetime)) {\n log(`Already scheduled the task.`);\n return;\n }\n\n const futureDatetime = moveDateTimeToNextCentury(nextItem.data.datetime);\n /**\n * Update \"datetime\" to a future date to mark it as scheduled.\n */\n log(`Update task's datetime to `, futureDatetime);\n await storageOperations.update({\n item: {\n ...nextItem,\n data: { ...nextItem.data, datetime: futureDatetime }\n },\n input: { ...nextItem.data, datetime: futureDatetime }\n });\n /**\n * Restore \"datetime\" of current task so that it can be schedule in next cycle.\n */\n if (\n currentTaskDatetime &&\n shouldRestoreDatetime({\n invocationType,\n datetime: currentTaskDatetime\n })\n ) {\n await restoreDateTime({\n tenant,\n locale,\n task: currentTask,\n storageOperations\n });\n }\n /**\n * Schedule Lambda\n */\n log(`Schedule Lambda Execution...`);\n await scheduleLambdaExecution({\n cloudWatchEventClient,\n invokedFunctionArn: eventContext.invokedFunctionArn,\n datetime: nextItem.data.datetime,\n futureDatetime: futureDatetime,\n tenant,\n locale\n });\n /**\n * Update current task.\n */\n await storageOperations.updateCurrentTask({ item: nextItem });\n } catch (ex) {\n log(\"[HANDLER_CREATE_RULE] Error => \", ex);\n // TODO: Handler error. Maybe save it into DB.\n }\n }\n );\n};\n\nexport const scheduleActionHandlerPlugins = (config: Configuration) => [\n basePlugins(),\n createScheduleActionLambda(config)\n];\n"],"mappings":"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"}
1
+ {"version":3,"names":["_utils","require","_scheduleAction","_handlerAws","InvocationTypes","exports","log","console","createScheduleActionLambda","params","cwClient","cloudWatchEventClient","storageOperations","handlers","createRawEventHandler","payload","context","lambdaContext","eventContext","locale","tenant","invocationType","SCHEDULED","executeTask","args","lambdaName","executeAction","handlerClient","currentTask","getCurrentTask","where","nextItem","list","sort","limit","nextTaskDatetime","data","datetime","currentTaskDatetime","isDateTimeInNextCentury","shouldScheduleTask","futureDatetime","moveDateTimeToNextCentury","update","item","input","shouldRestoreDatetime","restoreDateTime","task","scheduleLambdaExecution","invokedFunctionArn","updateCurrentTask","ex","error","JSON","stringify","message","code","scheduleActionHandlerPlugins","config","basePlugins"],"sources":["index.ts"],"sourcesContent":["/**\n * This logic/file should be moved somewhere else as it is relying on AWS specific stuff.\n */\nimport type { ApwScheduleActionStorageOperations } from \"~/scheduler/types\";\nimport {\n isDateTimeInNextCentury,\n moveDateTimeToNextCentury,\n shouldRestoreDatetime,\n basePlugins\n} from \"~/scheduler/handlers/utils\";\nimport {\n executeTask,\n shouldScheduleTask,\n restoreDateTime,\n scheduleLambdaExecution\n} from \"./scheduleAction.utils\";\nimport { createRawEventHandler } from \"@webiny/handler-aws\";\n\nexport enum InvocationTypes {\n SCHEDULED = \"scheduled\"\n}\n\nexport interface HandlerArgs {\n datetime: string;\n tenant: string;\n locale: string;\n invocationType?: InvocationTypes;\n futureDatetime?: string;\n}\n\nexport interface Configuration {\n cwClient: any;\n storageOperations: ApwScheduleActionStorageOperations;\n handlers: {\n executeAction: string;\n };\n}\n\nconst log = console.log;\n\n/**\n * Handler that creates a cloudwatch event rule for the schedule action workflow.\n */\nconst createScheduleActionLambda = (params: Configuration) => {\n const { cwClient: cloudWatchEventClient, storageOperations, handlers } = params;\n\n return createRawEventHandler<HandlerArgs>(\n async ({ payload, context, lambdaContext: eventContext }) => {\n try {\n const { locale, tenant, invocationType } = payload;\n /**\n * If invocationType is \"scheduled\", execute the action.\n */\n if (invocationType === InvocationTypes.SCHEDULED) {\n await executeTask({\n args: payload,\n lambdaName: handlers.executeAction,\n handlerClient: context.handlerClient,\n storageOperations\n });\n }\n\n /**\n * Get current scheduled task from the DB.\n */\n const currentTask = await storageOperations.getCurrentTask({\n where: {\n tenant,\n locale\n }\n });\n\n /**\n * Get next task from the DB.\n */\n const [[nextItem]] = await storageOperations.list({\n where: {\n tenant,\n locale\n },\n sort: [\"datetime_ASC\"],\n limit: 1\n });\n\n if (!nextItem) {\n log(`No item found.`);\n return;\n }\n\n const nextTaskDatetime = nextItem.data.datetime;\n const currentTaskDatetime = currentTask && currentTask.data.datetime;\n\n if (isDateTimeInNextCentury(nextTaskDatetime)) {\n log(`Already processed the task.`);\n return;\n }\n\n if (!shouldScheduleTask(nextTaskDatetime, currentTaskDatetime)) {\n log(`Already scheduled the task.`);\n return;\n }\n\n const futureDatetime = moveDateTimeToNextCentury(nextItem.data.datetime);\n /**\n * Update \"datetime\" to a future date to mark it as scheduled.\n */\n log(`Update task's datetime to `, futureDatetime);\n await storageOperations.update({\n item: {\n ...nextItem,\n data: { ...nextItem.data, datetime: futureDatetime }\n },\n input: { ...nextItem.data, datetime: futureDatetime }\n });\n /**\n * Restore \"datetime\" of current task so that it can be schedule in next cycle.\n */\n if (\n currentTaskDatetime &&\n shouldRestoreDatetime({\n invocationType,\n datetime: currentTaskDatetime\n })\n ) {\n await restoreDateTime({\n tenant,\n locale,\n task: currentTask,\n storageOperations\n });\n }\n /**\n * Schedule Lambda\n */\n log(`Schedule Lambda Execution...`);\n await scheduleLambdaExecution({\n cloudWatchEventClient,\n invokedFunctionArn: eventContext.invokedFunctionArn,\n datetime: nextItem.data.datetime,\n futureDatetime: futureDatetime,\n tenant,\n locale\n });\n /**\n * Update current task.\n */\n await storageOperations.updateCurrentTask({ item: nextItem });\n } catch (ex) {\n console.error(\n \"[HANDLER_CREATE_RULE] => \",\n JSON.stringify({\n message: ex.message,\n code: ex.code,\n data: ex.data\n })\n );\n // TODO: Handler error. Maybe save it into DB.\n }\n }\n );\n};\n\nexport const scheduleActionHandlerPlugins = (config: Configuration) => [\n basePlugins(),\n createScheduleActionLambda(config)\n];\n"],"mappings":";;;;;;AAIA,IAAAA,MAAA,GAAAC,OAAA;AAMA,IAAAC,eAAA,GAAAD,OAAA;AAMA,IAAAE,WAAA,GAAAF,OAAA;AAhBA;AACA;AACA;AAFA,IAkBYG,eAAe,GAAAC,OAAA,CAAAD,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAoB3B,MAAME,GAAG,GAAGC,OAAO,CAACD,GAAG;;AAEvB;AACA;AACA;AACA,MAAME,0BAA0B,GAAIC,MAAqB,IAAK;EAC1D,MAAM;IAAEC,QAAQ,EAAEC,qBAAqB;IAAEC,iBAAiB;IAAEC;EAAS,CAAC,GAAGJ,MAAM;EAE/E,OAAO,IAAAK,iCAAqB,EACxB,OAAO;IAAEC,OAAO;IAAEC,OAAO;IAAEC,aAAa,EAAEC;EAAa,CAAC,KAAK;IACzD,IAAI;MACA,MAAM;QAAEC,MAAM;QAAEC,MAAM;QAAEC;MAAe,CAAC,GAAGN,OAAO;MAClD;AAChB;AACA;MACgB,IAAIM,cAAc,KAAKjB,eAAe,CAACkB,SAAS,EAAE;QAC9C,MAAM,IAAAC,2BAAW,EAAC;UACdC,IAAI,EAAET,OAAO;UACbU,UAAU,EAAEZ,QAAQ,CAACa,aAAa;UAClCC,aAAa,EAAEX,OAAO,CAACW,aAAa;UACpCf;QACJ,CAAC,CAAC;MACN;;MAEA;AAChB;AACA;MACgB,MAAMgB,WAAW,GAAG,MAAMhB,iBAAiB,CAACiB,cAAc,CAAC;QACvDC,KAAK,EAAE;UACHV,MAAM;UACND;QACJ;MACJ,CAAC,CAAC;;MAEF;AAChB;AACA;MACgB,MAAM,CAAC,CAACY,QAAQ,CAAC,CAAC,GAAG,MAAMnB,iBAAiB,CAACoB,IAAI,CAAC;QAC9CF,KAAK,EAAE;UACHV,MAAM;UACND;QACJ,CAAC;QACDc,IAAI,EAAE,CAAC,cAAc,CAAC;QACtBC,KAAK,EAAE;MACX,CAAC,CAAC;MAEF,IAAI,CAACH,QAAQ,EAAE;QACXzB,GAAG,CAAC,gBAAgB,CAAC;QACrB;MACJ;MAEA,MAAM6B,gBAAgB,GAAGJ,QAAQ,CAACK,IAAI,CAACC,QAAQ;MAC/C,MAAMC,mBAAmB,GAAGV,WAAW,IAAIA,WAAW,CAACQ,IAAI,CAACC,QAAQ;MAEpE,IAAI,IAAAE,8BAAuB,EAACJ,gBAAgB,CAAC,EAAE;QAC3C7B,GAAG,CAAC,6BAA6B,CAAC;QAClC;MACJ;MAEA,IAAI,CAAC,IAAAkC,kCAAkB,EAACL,gBAAgB,EAAEG,mBAAmB,CAAC,EAAE;QAC5DhC,GAAG,CAAC,6BAA6B,CAAC;QAClC;MACJ;MAEA,MAAMmC,cAAc,GAAG,IAAAC,gCAAyB,EAACX,QAAQ,CAACK,IAAI,CAACC,QAAQ,CAAC;MACxE;AAChB;AACA;MACgB/B,GAAG,CAAC,4BAA4B,EAAEmC,cAAc,CAAC;MACjD,MAAM7B,iBAAiB,CAAC+B,MAAM,CAAC;QAC3BC,IAAI,EAAE;UACF,GAAGb,QAAQ;UACXK,IAAI,EAAE;YAAE,GAAGL,QAAQ,CAACK,IAAI;YAAEC,QAAQ,EAAEI;UAAe;QACvD,CAAC;QACDI,KAAK,EAAE;UAAE,GAAGd,QAAQ,CAACK,IAAI;UAAEC,QAAQ,EAAEI;QAAe;MACxD,CAAC,CAAC;MACF;AAChB;AACA;MACgB,IACIH,mBAAmB,IACnB,IAAAQ,4BAAqB,EAAC;QAClBzB,cAAc;QACdgB,QAAQ,EAAEC;MACd,CAAC,CAAC,EACJ;QACE,MAAM,IAAAS,+BAAe,EAAC;UAClB3B,MAAM;UACND,MAAM;UACN6B,IAAI,EAAEpB,WAAW;UACjBhB;QACJ,CAAC,CAAC;MACN;MACA;AAChB;AACA;MACgBN,GAAG,CAAC,8BAA8B,CAAC;MACnC,MAAM,IAAA2C,uCAAuB,EAAC;QAC1BtC,qBAAqB;QACrBuC,kBAAkB,EAAEhC,YAAY,CAACgC,kBAAkB;QACnDb,QAAQ,EAAEN,QAAQ,CAACK,IAAI,CAACC,QAAQ;QAChCI,cAAc,EAAEA,cAAc;QAC9BrB,MAAM;QACND;MACJ,CAAC,CAAC;MACF;AAChB;AACA;MACgB,MAAMP,iBAAiB,CAACuC,iBAAiB,CAAC;QAAEP,IAAI,EAAEb;MAAS,CAAC,CAAC;IACjE,CAAC,CAAC,OAAOqB,EAAE,EAAE;MACT7C,OAAO,CAAC8C,KAAK,CACT,2BAA2B,EAC3BC,IAAI,CAACC,SAAS,CAAC;QACXC,OAAO,EAAEJ,EAAE,CAACI,OAAO;QACnBC,IAAI,EAAEL,EAAE,CAACK,IAAI;QACbrB,IAAI,EAAEgB,EAAE,CAAChB;MACb,CAAC,CACL,CAAC;MACD;IACJ;EACJ,CACJ,CAAC;AACL,CAAC;AAEM,MAAMsB,4BAA4B,GAAIC,MAAqB,IAAK,CACnE,IAAAC,kBAAW,EAAC,CAAC,EACbpD,0BAA0B,CAACmD,MAAM,CAAC,CACrC;AAACtD,OAAA,CAAAqD,4BAAA,GAAAA,4BAAA","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import { ApwScheduleAction } from "../../types";
2
- import { HandlerArgs, Configuration } from "./index";
3
- import { ClientContext } from "@webiny/handler-client/types";
1
+ import type { ApwScheduleAction } from "../../types";
2
+ import type { HandlerArgs, Configuration } from "./index";
3
+ import type { ClientContext } from "@webiny/handler-client/types";
4
4
  interface ScheduleLambdaExecutionParams extends Omit<HandlerArgs, "invocationType"> {
5
5
  cloudWatchEventClient: any;
6
6
  invokedFunctionArn: string;
@@ -1,16 +1,14 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.restoreDateTime = exports.executeTask = void 0;
8
7
  exports.scheduleLambdaExecution = scheduleLambdaExecution;
9
8
  exports.shouldScheduleTask = void 0;
10
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
9
  var _utils = require("../utils");
12
10
  var _index = require("./index");
13
- var _clientCloudwatchEvents = require("@aws-sdk/client-cloudwatch-events");
11
+ var _clientCloudwatch = require("@webiny/aws-sdk/client-cloudwatch");
14
12
  const log = console.log;
15
13
  /**
16
14
  * Current API limit/quota for Cloudwatch events is sufficient for now. But, we should watch for it;
@@ -32,7 +30,7 @@ async function scheduleLambdaExecution({
32
30
  /**
33
31
  * Remove the target
34
32
  */
35
- const removeTargetsCommand = new _clientCloudwatchEvents.RemoveTargetsCommand({
33
+ const removeTargetsCommand = new _clientCloudwatch.RemoveTargetsCommand({
36
34
  Rule: eventRuleName,
37
35
  Ids: [eventTargetId]
38
36
  });
@@ -47,7 +45,7 @@ async function scheduleLambdaExecution({
47
45
  /**
48
46
  * Delete the Rule
49
47
  */
50
- const deleteRuleCommand = new _clientCloudwatchEvents.DeleteRuleCommand({
48
+ const deleteRuleCommand = new _clientCloudwatch.DeleteRuleCommand({
51
49
  Name: eventRuleName
52
50
  });
53
51
  await cloudWatchEventClient.send(deleteRuleCommand);
@@ -64,11 +62,11 @@ async function scheduleLambdaExecution({
64
62
  State: "ENABLED",
65
63
  Description: `Enable us to schedule an action in publishing workflow at a particular datetime`
66
64
  };
67
- await cloudWatchEventClient.send(new _clientCloudwatchEvents.PutRuleCommand(ruleParams));
65
+ await cloudWatchEventClient.send(new _clientCloudwatch.PutRuleCommand(ruleParams));
68
66
  /**
69
67
  * Add lambda as target for the rule.
70
68
  */
71
- await cloudWatchEventClient.send(new _clientCloudwatchEvents.PutTargetsCommand({
69
+ await cloudWatchEventClient.send(new _clientCloudwatch.PutTargetsCommand({
72
70
  Rule: eventRuleName,
73
71
  Targets: [{
74
72
  Arn: invokedFunctionArn,
@@ -104,14 +102,17 @@ const restoreDateTime = async ({
104
102
  if (item) {
105
103
  const newDateTime = (0, _utils.moveDateTimeToCurrentCentury)(item.data.datetime);
106
104
  await storageOperations.update({
107
- item: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, item), {}, {
108
- data: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, item.data), {}, {
105
+ item: {
106
+ ...item,
107
+ data: {
108
+ ...item.data,
109
109
  datetime: newDateTime
110
- })
111
- }),
112
- input: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, item.data), {}, {
110
+ }
111
+ },
112
+ input: {
113
+ ...item.data,
113
114
  datetime: newDateTime
114
- })
115
+ }
115
116
  });
116
117
  }
117
118
  };
@@ -134,6 +135,8 @@ const executeTask = async ({
134
135
  },
135
136
  await: false
136
137
  });
138
+ } else {
139
+ console.log(`context.handlerClient.invoke is not a function!`);
137
140
  }
138
141
 
139
142
  /**
@@ -148,4 +151,6 @@ const executeTask = async ({
148
151
  console.error(e);
149
152
  }
150
153
  };
151
- exports.executeTask = executeTask;
154
+ exports.executeTask = executeTask;
155
+
156
+ //# sourceMappingURL=scheduleAction.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["log","console","scheduleLambdaExecution","cloudWatchEventClient","invokedFunctionArn","datetime","futureDatetime","tenant","locale","eventTargetId","eventRuleName","getApwSettings","removeTargetsCommand","RemoveTargetsCommand","Rule","Ids","removeTargetsResponse","send","FailedEntryCount","info","FailedEntries","deleteRuleCommand","DeleteRuleCommand","Name","cronExpression","dateTimeToCronExpression","ruleParams","ScheduleExpression","State","Description","PutRuleCommand","PutTargetsCommand","Targets","Arn","Id","Input","JSON","stringify","invocationType","InvocationTypes","SCHEDULED","shouldScheduleTask","nextTaskDatetime","currentTaskDatetime","restoreDateTime","task","currentTask","storageOperations","id","item","get","where","newDateTime","moveDateTimeToCurrentCentury","data","update","input","executeTask","args","lambdaName","handlerClient","Date","toISOString","invoke","name","payload","await","deleteCurrentTask","e","error"],"sources":["scheduleAction.utils.ts"],"sourcesContent":["import { dateTimeToCronExpression, moveDateTimeToCurrentCentury } from \"~/scheduler/handlers/utils\";\nimport { ApwScheduleAction } from \"~/scheduler/types\";\nimport {\n HandlerArgs,\n InvocationTypes,\n Configuration\n} from \"~/scheduler/handlers/scheduleAction/index\";\nimport {\n DeleteRuleCommand,\n RemoveTargetsCommand,\n PutTargetsCommand,\n PutRuleCommand\n} from \"@aws-sdk/client-cloudwatch-events\";\nimport { ClientContext } from \"@webiny/handler-client/types\";\nimport { getApwSettings } from \"~/scheduler/handlers/utils\";\n\nconst log = console.log;\n\ninterface ScheduleLambdaExecutionParams extends Omit<HandlerArgs, \"invocationType\"> {\n cloudWatchEventClient: any;\n invokedFunctionArn: string;\n}\n\n/**\n * Current API limit/quota for Cloudwatch events is sufficient for now. But, we should watch for it;\n * in case of scheduling becoming the most frequently used feature.\n * https://aws.amazon.com/about-aws/whats-new/2017/07/cloudwatch-events-increases-rules-and-api-requests-limits/\n */\nexport async function scheduleLambdaExecution({\n cloudWatchEventClient,\n invokedFunctionArn,\n datetime,\n futureDatetime,\n tenant,\n locale\n}: ScheduleLambdaExecutionParams) {\n const { eventTargetId, eventRuleName } = await getApwSettings();\n /**\n * Remove the target\n */\n const removeTargetsCommand = new RemoveTargetsCommand({\n Rule: eventRuleName,\n Ids: [eventTargetId]\n });\n const removeTargetsResponse = await cloudWatchEventClient.send(removeTargetsCommand);\n /**\n * Log error.\n */\n if (\n typeof removeTargetsResponse.FailedEntryCount === \"number\" &&\n removeTargetsResponse.FailedEntryCount !== 0\n ) {\n console.info(\"Failed in removing the targets!\");\n console.info(removeTargetsResponse.FailedEntries);\n }\n /**\n * Delete the Rule\n */\n const deleteRuleCommand = new DeleteRuleCommand({\n Name: eventRuleName\n });\n await cloudWatchEventClient.send(deleteRuleCommand);\n\n /**\n * Create a new one.\n * Min H D M DW Y\n * 20 10 10 03 * 2022\n */\n const cronExpression = dateTimeToCronExpression(datetime);\n\n const ruleParams = {\n Name: eventRuleName,\n ScheduleExpression: `cron(${cronExpression})`,\n State: \"ENABLED\",\n Description: `Enable us to schedule an action in publishing workflow at a particular datetime`\n };\n\n await cloudWatchEventClient.send(new PutRuleCommand(ruleParams));\n /**\n * Add lambda as target for the rule.\n */\n await cloudWatchEventClient.send(\n new PutTargetsCommand({\n Rule: eventRuleName,\n Targets: [\n {\n Arn: invokedFunctionArn,\n Id: eventTargetId,\n Input: JSON.stringify({\n datetime: datetime,\n tenant: tenant,\n locale: locale,\n invocationType: InvocationTypes.SCHEDULED,\n futureDatetime: futureDatetime\n } as HandlerArgs)\n }\n ]\n })\n );\n}\n\nexport const shouldScheduleTask = (\n nextTaskDatetime: string,\n currentTaskDatetime: string | null\n): boolean => {\n return !currentTaskDatetime || nextTaskDatetime < currentTaskDatetime;\n};\n\ninterface RestoreDateTimeParams\n extends Pick<Configuration, \"storageOperations\">,\n Pick<HandlerArgs, \"tenant\" | \"locale\"> {\n task: ApwScheduleAction;\n}\n\nexport const restoreDateTime = async ({\n locale,\n tenant,\n task: currentTask,\n storageOperations\n}: RestoreDateTimeParams): Promise<void> => {\n log(`Mark task \"${currentTask.id}\" as undone by restoring original \"datetime\".`);\n const item = await storageOperations.get({\n where: {\n tenant,\n locale,\n id: currentTask.id\n }\n });\n if (item) {\n const newDateTime = moveDateTimeToCurrentCentury(item.data.datetime);\n await storageOperations.update({\n item: {\n ...item,\n data: { ...item.data, datetime: newDateTime }\n },\n input: { ...item.data, datetime: newDateTime }\n });\n }\n};\n\ninterface ExecuteTaskParams\n extends Pick<ClientContext, \"handlerClient\">,\n Pick<Configuration, \"storageOperations\"> {\n args: HandlerArgs;\n lambdaName: string;\n}\n\nexport const executeTask = async ({\n args,\n lambdaName,\n handlerClient,\n storageOperations\n}: ExecuteTaskParams): Promise<void> => {\n log(`Executing task at: `, new Date().toISOString());\n\n if (typeof handlerClient.invoke === \"function\") {\n await handlerClient.invoke({\n name: lambdaName,\n payload: {\n futureDatetime: args.futureDatetime,\n datetime: args.datetime,\n tenant: args.tenant,\n locale: args.locale\n },\n await: false\n });\n }\n\n /**\n * Delete current schedule Task. So that, we can schedule a new one later.\n */\n try {\n await storageOperations.deleteCurrentTask({\n tenant: args.tenant,\n locale: args.locale\n });\n } catch (e) {\n console.error(e);\n }\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_utils","require","_index","_clientCloudwatch","log","console","scheduleLambdaExecution","cloudWatchEventClient","invokedFunctionArn","datetime","futureDatetime","tenant","locale","eventTargetId","eventRuleName","getApwSettings","removeTargetsCommand","RemoveTargetsCommand","Rule","Ids","removeTargetsResponse","send","FailedEntryCount","info","FailedEntries","deleteRuleCommand","DeleteRuleCommand","Name","cronExpression","dateTimeToCronExpression","ruleParams","ScheduleExpression","State","Description","PutRuleCommand","PutTargetsCommand","Targets","Arn","Id","Input","JSON","stringify","invocationType","InvocationTypes","SCHEDULED","shouldScheduleTask","nextTaskDatetime","currentTaskDatetime","exports","restoreDateTime","task","currentTask","storageOperations","id","item","get","where","newDateTime","moveDateTimeToCurrentCentury","data","update","input","executeTask","args","lambdaName","handlerClient","Date","toISOString","invoke","name","payload","await","deleteCurrentTask","e","error"],"sources":["scheduleAction.utils.ts"],"sourcesContent":["import { dateTimeToCronExpression, moveDateTimeToCurrentCentury } from \"~/scheduler/handlers/utils\";\nimport type { ApwScheduleAction } from \"~/scheduler/types\";\nimport type { HandlerArgs, Configuration } from \"~/scheduler/handlers/scheduleAction/index\";\nimport { InvocationTypes } from \"~/scheduler/handlers/scheduleAction/index\";\nimport type { PutRuleCommandInput } from \"@webiny/aws-sdk/client-cloudwatch\";\nimport {\n DeleteRuleCommand,\n RemoveTargetsCommand,\n PutTargetsCommand,\n PutRuleCommand\n} from \"@webiny/aws-sdk/client-cloudwatch\";\nimport type { ClientContext } from \"@webiny/handler-client/types\";\nimport { getApwSettings } from \"~/scheduler/handlers/utils\";\n\nconst log = console.log;\n\ninterface ScheduleLambdaExecutionParams extends Omit<HandlerArgs, \"invocationType\"> {\n cloudWatchEventClient: any;\n invokedFunctionArn: string;\n}\n\n/**\n * Current API limit/quota for Cloudwatch events is sufficient for now. But, we should watch for it;\n * in case of scheduling becoming the most frequently used feature.\n * https://aws.amazon.com/about-aws/whats-new/2017/07/cloudwatch-events-increases-rules-and-api-requests-limits/\n */\nexport async function scheduleLambdaExecution({\n cloudWatchEventClient,\n invokedFunctionArn,\n datetime,\n futureDatetime,\n tenant,\n locale\n}: ScheduleLambdaExecutionParams) {\n const { eventTargetId, eventRuleName } = await getApwSettings();\n /**\n * Remove the target\n */\n const removeTargetsCommand = new RemoveTargetsCommand({\n Rule: eventRuleName,\n Ids: [eventTargetId]\n });\n const removeTargetsResponse = await cloudWatchEventClient.send(removeTargetsCommand);\n /**\n * Log error.\n */\n if (\n typeof removeTargetsResponse.FailedEntryCount === \"number\" &&\n removeTargetsResponse.FailedEntryCount !== 0\n ) {\n console.info(\"Failed in removing the targets!\");\n console.info(removeTargetsResponse.FailedEntries);\n }\n /**\n * Delete the Rule\n */\n const deleteRuleCommand = new DeleteRuleCommand({\n Name: eventRuleName\n });\n await cloudWatchEventClient.send(deleteRuleCommand);\n\n /**\n * Create a new one.\n * Min H D M DW Y\n * 20 10 10 03 * 2022\n */\n const cronExpression = dateTimeToCronExpression(datetime);\n\n const ruleParams: PutRuleCommandInput = {\n Name: eventRuleName,\n ScheduleExpression: `cron(${cronExpression})`,\n State: \"ENABLED\",\n Description: `Enable us to schedule an action in publishing workflow at a particular datetime`\n };\n\n await cloudWatchEventClient.send(new PutRuleCommand(ruleParams));\n /**\n * Add lambda as target for the rule.\n */\n await cloudWatchEventClient.send(\n new PutTargetsCommand({\n Rule: eventRuleName,\n Targets: [\n {\n Arn: invokedFunctionArn,\n Id: eventTargetId,\n Input: JSON.stringify({\n datetime: datetime,\n tenant: tenant,\n locale: locale,\n invocationType: InvocationTypes.SCHEDULED,\n futureDatetime: futureDatetime\n } as HandlerArgs)\n }\n ]\n })\n );\n}\n\nexport const shouldScheduleTask = (\n nextTaskDatetime: string,\n currentTaskDatetime: string | null\n): boolean => {\n return !currentTaskDatetime || nextTaskDatetime < currentTaskDatetime;\n};\n\ninterface RestoreDateTimeParams\n extends Pick<Configuration, \"storageOperations\">,\n Pick<HandlerArgs, \"tenant\" | \"locale\"> {\n task: ApwScheduleAction;\n}\n\nexport const restoreDateTime = async ({\n locale,\n tenant,\n task: currentTask,\n storageOperations\n}: RestoreDateTimeParams): Promise<void> => {\n log(`Mark task \"${currentTask.id}\" as undone by restoring original \"datetime\".`);\n const item = await storageOperations.get({\n where: {\n tenant,\n locale,\n id: currentTask.id\n }\n });\n if (item) {\n const newDateTime = moveDateTimeToCurrentCentury(item.data.datetime);\n await storageOperations.update({\n item: {\n ...item,\n data: { ...item.data, datetime: newDateTime }\n },\n input: { ...item.data, datetime: newDateTime }\n });\n }\n};\n\ninterface ExecuteTaskParams\n extends Pick<ClientContext, \"handlerClient\">,\n Pick<Configuration, \"storageOperations\"> {\n args: HandlerArgs;\n lambdaName: string;\n}\n\nexport const executeTask = async ({\n args,\n lambdaName,\n handlerClient,\n storageOperations\n}: ExecuteTaskParams): Promise<void> => {\n log(`Executing task at: `, new Date().toISOString());\n\n if (typeof handlerClient.invoke === \"function\") {\n await handlerClient.invoke({\n name: lambdaName,\n payload: {\n futureDatetime: args.futureDatetime,\n datetime: args.datetime,\n tenant: args.tenant,\n locale: args.locale\n },\n await: false\n });\n } else {\n console.log(`context.handlerClient.invoke is not a function!`);\n }\n\n /**\n * Delete current schedule Task. So that, we can schedule a new one later.\n */\n try {\n await storageOperations.deleteCurrentTask({\n tenant: args.tenant,\n locale: args.locale\n });\n } catch (e) {\n console.error(e);\n }\n};\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA,IAAAC,MAAA,GAAAD,OAAA;AAEA,IAAAE,iBAAA,GAAAF,OAAA;AASA,MAAMG,GAAG,GAAGC,OAAO,CAACD,GAAG;AAOvB;AACA;AACA;AACA;AACA;AACO,eAAeE,uBAAuBA,CAAC;EAC1CC,qBAAqB;EACrBC,kBAAkB;EAClBC,QAAQ;EACRC,cAAc;EACdC,MAAM;EACNC;AAC2B,CAAC,EAAE;EAC9B,MAAM;IAAEC,aAAa;IAAEC;EAAc,CAAC,GAAG,MAAM,IAAAC,qBAAc,EAAC,CAAC;EAC/D;AACJ;AACA;EACI,MAAMC,oBAAoB,GAAG,IAAIC,sCAAoB,CAAC;IAClDC,IAAI,EAAEJ,aAAa;IACnBK,GAAG,EAAE,CAACN,aAAa;EACvB,CAAC,CAAC;EACF,MAAMO,qBAAqB,GAAG,MAAMb,qBAAqB,CAACc,IAAI,CAACL,oBAAoB,CAAC;EACpF;AACJ;AACA;EACI,IACI,OAAOI,qBAAqB,CAACE,gBAAgB,KAAK,QAAQ,IAC1DF,qBAAqB,CAACE,gBAAgB,KAAK,CAAC,EAC9C;IACEjB,OAAO,CAACkB,IAAI,CAAC,iCAAiC,CAAC;IAC/ClB,OAAO,CAACkB,IAAI,CAACH,qBAAqB,CAACI,aAAa,CAAC;EACrD;EACA;AACJ;AACA;EACI,MAAMC,iBAAiB,GAAG,IAAIC,mCAAiB,CAAC;IAC5CC,IAAI,EAAEb;EACV,CAAC,CAAC;EACF,MAAMP,qBAAqB,CAACc,IAAI,CAACI,iBAAiB,CAAC;;EAEnD;AACJ;AACA;AACA;AACA;EACI,MAAMG,cAAc,GAAG,IAAAC,+BAAwB,EAACpB,QAAQ,CAAC;EAEzD,MAAMqB,UAA+B,GAAG;IACpCH,IAAI,EAAEb,aAAa;IACnBiB,kBAAkB,EAAE,QAAQH,cAAc,GAAG;IAC7CI,KAAK,EAAE,SAAS;IAChBC,WAAW,EAAE;EACjB,CAAC;EAED,MAAM1B,qBAAqB,CAACc,IAAI,CAAC,IAAIa,gCAAc,CAACJ,UAAU,CAAC,CAAC;EAChE;AACJ;AACA;EACI,MAAMvB,qBAAqB,CAACc,IAAI,CAC5B,IAAIc,mCAAiB,CAAC;IAClBjB,IAAI,EAAEJ,aAAa;IACnBsB,OAAO,EAAE,CACL;MACIC,GAAG,EAAE7B,kBAAkB;MACvB8B,EAAE,EAAEzB,aAAa;MACjB0B,KAAK,EAAEC,IAAI,CAACC,SAAS,CAAC;QAClBhC,QAAQ,EAAEA,QAAQ;QAClBE,MAAM,EAAEA,MAAM;QACdC,MAAM,EAAEA,MAAM;QACd8B,cAAc,EAAEC,sBAAe,CAACC,SAAS;QACzClC,cAAc,EAAEA;MACpB,CAAgB;IACpB,CAAC;EAET,CAAC,CACL,CAAC;AACL;AAEO,MAAMmC,kBAAkB,GAAGA,CAC9BC,gBAAwB,EACxBC,mBAAkC,KACxB;EACV,OAAO,CAACA,mBAAmB,IAAID,gBAAgB,GAAGC,mBAAmB;AACzE,CAAC;AAACC,OAAA,CAAAH,kBAAA,GAAAA,kBAAA;AAQK,MAAMI,eAAe,GAAG,MAAAA,CAAO;EAClCrC,MAAM;EACND,MAAM;EACNuC,IAAI,EAAEC,WAAW;EACjBC;AACmB,CAAC,KAAoB;EACxChD,GAAG,CAAC,cAAc+C,WAAW,CAACE,EAAE,+CAA+C,CAAC;EAChF,MAAMC,IAAI,GAAG,MAAMF,iBAAiB,CAACG,GAAG,CAAC;IACrCC,KAAK,EAAE;MACH7C,MAAM;MACNC,MAAM;MACNyC,EAAE,EAAEF,WAAW,CAACE;IACpB;EACJ,CAAC,CAAC;EACF,IAAIC,IAAI,EAAE;IACN,MAAMG,WAAW,GAAG,IAAAC,mCAA4B,EAACJ,IAAI,CAACK,IAAI,CAAClD,QAAQ,CAAC;IACpE,MAAM2C,iBAAiB,CAACQ,MAAM,CAAC;MAC3BN,IAAI,EAAE;QACF,GAAGA,IAAI;QACPK,IAAI,EAAE;UAAE,GAAGL,IAAI,CAACK,IAAI;UAAElD,QAAQ,EAAEgD;QAAY;MAChD,CAAC;MACDI,KAAK,EAAE;QAAE,GAAGP,IAAI,CAACK,IAAI;QAAElD,QAAQ,EAAEgD;MAAY;IACjD,CAAC,CAAC;EACN;AACJ,CAAC;AAACT,OAAA,CAAAC,eAAA,GAAAA,eAAA;AASK,MAAMa,WAAW,GAAG,MAAAA,CAAO;EAC9BC,IAAI;EACJC,UAAU;EACVC,aAAa;EACbb;AACe,CAAC,KAAoB;EACpChD,GAAG,CAAC,qBAAqB,EAAE,IAAI8D,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,CAAC;EAEpD,IAAI,OAAOF,aAAa,CAACG,MAAM,KAAK,UAAU,EAAE;IAC5C,MAAMH,aAAa,CAACG,MAAM,CAAC;MACvBC,IAAI,EAAEL,UAAU;MAChBM,OAAO,EAAE;QACL5D,cAAc,EAAEqD,IAAI,CAACrD,cAAc;QACnCD,QAAQ,EAAEsD,IAAI,CAACtD,QAAQ;QACvBE,MAAM,EAAEoD,IAAI,CAACpD,MAAM;QACnBC,MAAM,EAAEmD,IAAI,CAACnD;MACjB,CAAC;MACD2D,KAAK,EAAE;IACX,CAAC,CAAC;EACN,CAAC,MAAM;IACHlE,OAAO,CAACD,GAAG,CAAC,iDAAiD,CAAC;EAClE;;EAEA;AACJ;AACA;EACI,IAAI;IACA,MAAMgD,iBAAiB,CAACoB,iBAAiB,CAAC;MACtC7D,MAAM,EAAEoD,IAAI,CAACpD,MAAM;MACnBC,MAAM,EAAEmD,IAAI,CAACnD;IACjB,CAAC,CAAC;EACN,CAAC,CAAC,OAAO6D,CAAC,EAAE;IACRpE,OAAO,CAACqE,KAAK,CAACD,CAAC,CAAC;EACpB;AACJ,CAAC;AAACzB,OAAA,CAAAc,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- import { DocumentClient } from "aws-sdk/clients/dynamodb";
2
1
  import { InvocationTypes } from "../types";
3
2
  export declare const getIsoStringTillMinutes: (datetime: string) => string;
4
3
  export declare const dateTimeToCronExpression: (datetime: string) => string;
@@ -18,14 +17,13 @@ interface EncodeTokenParams {
18
17
  export declare const encodeToken: ({ id, tenant, locale }: EncodeTokenParams) => string;
19
18
  export declare const TOKEN_PREFIX = "apw-";
20
19
  export declare const decodeToken: (token: string) => Partial<EncodeTokenParams>;
21
- export declare const documentClient: DocumentClient;
22
- export declare const basePlugins: () => (import("@webiny/db-dynamodb/plugins/definitions/ValueFilterPlugin").ValueFilterPlugin[][] | import("@webiny/handler").HandlerResultPlugin<import("@webiny/handler/types").Context> | import("@webiny/api").ContextPlugin<import("@webiny/handler-db/types").DbContext>[])[];
20
+ export declare const documentClient: import("@webiny/aws-sdk/client-dynamodb").DynamoDBDocument;
21
+ export declare const basePlugins: () => (import("@webiny/db-dynamodb/plugins/definitions/ValueFilterPlugin").ValueFilterPlugin<any, any>[][] | import("@webiny/api").ContextPlugin<import("@webiny/handler-db/types").DbContext>[])[];
23
22
  /**
24
23
  * Get APW settings record from DDB.
25
24
  */
26
25
  export interface ApwSettings {
27
26
  mainGraphqlFunctionArn: string;
28
- cmsGraphqlFunctionArn: string;
29
27
  eventRuleName: string;
30
28
  eventTargetId: string;
31
29
  }