@webiny/api-apw 0.0.0-unstable.e3f4727c56 → 0.0.0-unstable.e53eceafb5

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 (310) 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 -2
  39. package/index.js +4 -3
  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 +2 -2
  75. package/plugins/context.js +3 -1
  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 +4 -2
  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 +6 -4
  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/pageBuilder/PageApwSettingsGetterPlugin.d.ts +2 -1
  177. package/plugins/pageBuilder/PageApwSettingsGetterPlugin.js +5 -5
  178. package/plugins/pageBuilder/PageApwSettingsGetterPlugin.js.map +1 -1
  179. package/plugins/pageBuilder/apwContentPagePlugins.d.ts +1 -1
  180. package/plugins/pageBuilder/apwContentPagePlugins.js +3 -1
  181. package/plugins/pageBuilder/apwContentPagePlugins.js.map +1 -1
  182. package/plugins/pageBuilder/extendPbPageSettingsSchema.d.ts +1 -1
  183. package/plugins/pageBuilder/extendPbPageSettingsSchema.js +3 -1
  184. package/plugins/pageBuilder/extendPbPageSettingsSchema.js.map +1 -1
  185. package/plugins/pageBuilder/index.d.ts +4 -4
  186. package/plugins/pageBuilder/index.js +3 -1
  187. package/plugins/pageBuilder/index.js.map +1 -1
  188. package/plugins/pageBuilder/linkContentReviewToPage.d.ts +2 -2
  189. package/plugins/pageBuilder/linkContentReviewToPage.js +16 -12
  190. package/plugins/pageBuilder/linkContentReviewToPage.js.map +1 -1
  191. package/plugins/pageBuilder/linkWorkflowToPage.d.ts +2 -2
  192. package/plugins/pageBuilder/linkWorkflowToPage.js +13 -12
  193. package/plugins/pageBuilder/linkWorkflowToPage.js.map +1 -1
  194. package/plugins/pageBuilder/notifications/changeRequestNotification.js +3 -1
  195. package/plugins/pageBuilder/notifications/changeRequestNotification.js.map +1 -1
  196. package/plugins/pageBuilder/notifications/commentNotification.js +3 -1
  197. package/plugins/pageBuilder/notifications/commentNotification.js.map +1 -1
  198. package/plugins/pageBuilder/notifications/contentReviewNotification.js +3 -1
  199. package/plugins/pageBuilder/notifications/contentReviewNotification.js.map +1 -1
  200. package/plugins/pageBuilder/notifications/contentUrl.js +3 -1
  201. package/plugins/pageBuilder/notifications/contentUrl.js.map +1 -1
  202. package/plugins/pageBuilder/triggerContentReview.d.ts +2 -2
  203. package/plugins/pageBuilder/triggerContentReview.js +5 -4
  204. package/plugins/pageBuilder/triggerContentReview.js.map +1 -1
  205. package/plugins/pageBuilder/updateContentReviewStatus.d.ts +3 -3
  206. package/plugins/pageBuilder/updateContentReviewStatus.js +13 -10
  207. package/plugins/pageBuilder/updateContentReviewStatus.js.map +1 -1
  208. package/plugins/pageBuilder/utils.d.ts +4 -4
  209. package/plugins/pageBuilder/utils.js +7 -6
  210. package/plugins/pageBuilder/utils.js.map +1 -1
  211. package/plugins/utils.d.ts +7 -6
  212. package/plugins/utils.js +12 -8
  213. package/plugins/utils.js.map +1 -1
  214. package/scheduler/createScheduleActionMethods.d.ts +1 -1
  215. package/scheduler/createScheduleActionMethods.js +105 -66
  216. package/scheduler/createScheduleActionMethods.js.map +1 -1
  217. package/scheduler/handlers/executeAction/index.d.ts +2 -2
  218. package/scheduler/handlers/executeAction/index.js +30 -9
  219. package/scheduler/handlers/executeAction/index.js.map +1 -1
  220. package/scheduler/handlers/executeAction/plugins/ApplicationGraphQL.js +5 -4
  221. package/scheduler/handlers/executeAction/plugins/ApplicationGraphQL.js.map +1 -1
  222. package/scheduler/handlers/executeAction/plugins/HeadlessCMSGraphQL.d.ts +2 -1
  223. package/scheduler/handlers/executeAction/plugins/HeadlessCMSGraphQL.js +6 -7
  224. package/scheduler/handlers/executeAction/plugins/HeadlessCMSGraphQL.js.map +1 -1
  225. package/scheduler/handlers/executeAction/plugins/PageBuilderGraphQL.d.ts +3 -2
  226. package/scheduler/handlers/executeAction/plugins/PageBuilderGraphQL.js +4 -7
  227. package/scheduler/handlers/executeAction/plugins/PageBuilderGraphQL.js.map +1 -1
  228. package/scheduler/handlers/executeAction/security.d.ts +2 -2
  229. package/scheduler/handlers/executeAction/security.js +3 -1
  230. package/scheduler/handlers/executeAction/security.js.map +1 -1
  231. package/scheduler/handlers/scheduleAction/index.d.ts +2 -2
  232. package/scheduler/handlers/scheduleAction/index.js +20 -15
  233. package/scheduler/handlers/scheduleAction/index.js.map +1 -1
  234. package/scheduler/handlers/scheduleAction/scheduleAction.utils.d.ts +3 -3
  235. package/scheduler/handlers/scheduleAction/scheduleAction.utils.js +19 -14
  236. package/scheduler/handlers/scheduleAction/scheduleAction.utils.js.map +1 -1
  237. package/scheduler/handlers/utils.d.ts +2 -3
  238. package/scheduler/handlers/utils.js +20 -13
  239. package/scheduler/handlers/utils.js.map +1 -1
  240. package/scheduler/index.d.ts +1 -1
  241. package/scheduler/index.js +3 -1
  242. package/scheduler/index.js.map +1 -1
  243. package/scheduler/types.d.ts +20 -36
  244. package/scheduler/types.js +11 -17
  245. package/scheduler/types.js.map +1 -1
  246. package/storageOperations/changeRequestStorageOperations.d.ts +2 -2
  247. package/storageOperations/changeRequestStorageOperations.js +44 -23
  248. package/storageOperations/changeRequestStorageOperations.js.map +1 -1
  249. package/storageOperations/commentStorageOperations.d.ts +3 -3
  250. package/storageOperations/commentStorageOperations.js +17 -24
  251. package/storageOperations/commentStorageOperations.js.map +1 -1
  252. package/storageOperations/contentReviewStorageOperations.d.ts +3 -3
  253. package/storageOperations/contentReviewStorageOperations.js +20 -25
  254. package/storageOperations/contentReviewStorageOperations.js.map +1 -1
  255. package/storageOperations/index.d.ts +3 -9
  256. package/storageOperations/index.js +11 -16
  257. package/storageOperations/index.js.map +1 -1
  258. package/storageOperations/models/changeRequest.model.d.ts +1 -2
  259. package/storageOperations/models/changeRequest.model.js +10 -11
  260. package/storageOperations/models/changeRequest.model.js.map +1 -1
  261. package/storageOperations/models/comment.model.d.ts +1 -2
  262. package/storageOperations/models/comment.model.js +10 -11
  263. package/storageOperations/models/comment.model.js.map +1 -1
  264. package/storageOperations/models/contentReview.model.d.ts +1 -2
  265. package/storageOperations/models/contentReview.model.js +16 -15
  266. package/storageOperations/models/contentReview.model.js.map +1 -1
  267. package/storageOperations/models/index.d.ts +1 -1
  268. package/storageOperations/models/index.js +11 -31
  269. package/storageOperations/models/index.js.map +1 -1
  270. package/storageOperations/models/reviewer.model.d.ts +1 -2
  271. package/storageOperations/models/reviewer.model.js +11 -12
  272. package/storageOperations/models/reviewer.model.js.map +1 -1
  273. package/storageOperations/models/utils.d.ts +2 -2
  274. package/storageOperations/models/utils.js +3 -1
  275. package/storageOperations/models/utils.js.map +1 -1
  276. package/storageOperations/models/workflow.model.d.ts +2 -3
  277. package/storageOperations/models/workflow.model.js +22 -23
  278. package/storageOperations/models/workflow.model.js.map +1 -1
  279. package/storageOperations/reviewerStorageOperations.d.ts +3 -3
  280. package/storageOperations/reviewerStorageOperations.js +24 -34
  281. package/storageOperations/reviewerStorageOperations.js.map +1 -1
  282. package/storageOperations/types.d.ts +2 -2
  283. package/storageOperations/types.js +3 -1
  284. package/storageOperations/types.js.map +1 -1
  285. package/storageOperations/workflowStorageOperations.d.ts +2 -2
  286. package/storageOperations/workflowStorageOperations.js +25 -28
  287. package/storageOperations/workflowStorageOperations.js.map +1 -1
  288. package/types.d.ts +54 -53
  289. package/types.js +121 -29
  290. package/types.js.map +1 -1
  291. package/utils/contentApwSettingsPlugin.d.ts +2 -2
  292. package/utils/contentApwSettingsPlugin.js +3 -1
  293. package/utils/contentApwSettingsPlugin.js.map +1 -1
  294. package/utils/errors.js +3 -1
  295. package/utils/errors.js.map +1 -1
  296. package/utils/fieldResolver.d.ts +2 -2
  297. package/utils/fieldResolver.js +7 -7
  298. package/utils/fieldResolver.js.map +1 -1
  299. package/utils/pickEntryFieldValues.d.ts +3 -0
  300. package/utils/pickEntryFieldValues.js +30 -0
  301. package/utils/pickEntryFieldValues.js.map +1 -0
  302. package/utils/resolve.d.ts +1 -1
  303. package/utils/resolve.js +3 -1
  304. package/utils/resolve.js.map +1 -1
  305. package/plugins/hooks/notifications/appUrl.d.ts +0 -2
  306. package/plugins/hooks/notifications/appUrl.js +0 -18
  307. package/plugins/hooks/notifications/appUrl.js.map +0 -1
  308. package/storageOperations/models/contentModelPluginFactory.d.ts +0 -8
  309. package/storageOperations/models/contentModelPluginFactory.js +0 -19
  310. package/storageOperations/models/contentModelPluginFactory.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["createExecuteActionLambda","params","storageOperations","createEvent","payload","context","log","console","applicationGraphQLPlugins","plugins","byType","ApplicationGraphQL","type","length","error","applicationGraphQLPluginCache","getApplicationGraphQLPlugin","data","plugin","canUse","apwSettings","getApwSettings","futureDatetime","datetime","locale","tenant","items","list","where","datetime_startsWith","getIsoStringTillMinutes","sort","limit","item","action","JSON","stringify","name","getArn","settings","url","getUrl","body","getGraphQLBody","response","handlerClient","invoke","httpMethod","path","headers","Authorization","encodeToken","id","await","e","executeActionHandlerPlugins","config","ContextPlugin","register","PageBuilderGraphQL","HeadlessCMSGraphQL","basePlugins"],"sources":["index.ts"],"sourcesContent":["import { ApwScheduleActionData, ApwScheduleActionStorageOperations } from \"~/scheduler/types\";\nimport { getIsoStringTillMinutes, encodeToken, basePlugins } from \"~/scheduler/handlers/utils\";\nimport { getApwSettings } from \"~/scheduler/handlers/utils\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport { PageBuilderGraphQL } from \"./plugins/PageBuilderGraphQL\";\nimport { HeadlessCMSGraphQL } from \"./plugins/HeadlessCMSGraphQL\";\nimport { ApplicationGraphQL } from \"./plugins/ApplicationGraphQL\";\nimport { createEvent } from \"@webiny/handler\";\n\nexport interface HandlerArgs {\n datetime: string;\n tenant: string;\n locale: string;\n futureDatetime?: string;\n}\n\ninterface Configuration {\n storageOperations: ApwScheduleActionStorageOperations;\n}\n\n/**\n * Handler that execute the provided action(s) for the schedule action workflow.\n */\nconst createExecuteActionLambda = (params: Configuration) => {\n const { storageOperations } = params;\n\n return createEvent<HandlerArgs>(async ({ payload, context }) => {\n const log = console.log;\n\n const applicationGraphQLPlugins = context.plugins.byType<ApplicationGraphQL>(\n ApplicationGraphQL.type\n );\n\n if (applicationGraphQLPlugins.length === 0) {\n console.error(`There are no plugins to determine GraphQL endpoints or mutations.`);\n return;\n }\n\n const applicationGraphQLPluginCache: Record<string, ApplicationGraphQL> = {};\n\n const getApplicationGraphQLPlugin = (\n data: ApwScheduleActionData\n ): ApplicationGraphQL | null => {\n const { type } = data;\n if (applicationGraphQLPluginCache[type]) {\n return applicationGraphQLPluginCache[type];\n }\n for (const plugin of applicationGraphQLPlugins) {\n if (!plugin.canUse(data)) {\n continue;\n }\n applicationGraphQLPluginCache[type] = plugin;\n return plugin;\n }\n return null;\n };\n\n try {\n const apwSettings = await getApwSettings();\n\n const { futureDatetime: datetime, locale, tenant } = payload;\n /**\n * If there is no datetime we bail out early.\n */\n if (!datetime || typeof datetime !== \"string\") {\n log(`Bailing out!!`);\n return;\n }\n\n /**\n * Get tasks from the DB by datetime.\n */\n const [items] = await storageOperations.list({\n where: {\n tenant,\n locale,\n datetime_startsWith: getIsoStringTillMinutes(datetime)\n },\n sort: [\"datetime_ASC\"],\n limit: 1000\n });\n\n /**\n * Execute all actions.\n */\n if (!items || items.length === 0) {\n return;\n }\n log(`Found ${items.length} actions.`);\n for (const item of items) {\n log(\n `Performing mutation \"${item.data.action}\" on \"${item.data.type}\" at \"${item.data.datetime}\"`\n );\n\n const plugin = getApplicationGraphQLPlugin(item.data);\n if (!plugin) {\n console.error(\n `There is no plugin to determine GraphQL endpoint and mutations for type \"${item.data.type}\".`\n );\n console.log(JSON.stringify(item));\n continue;\n }\n\n const name = plugin.getArn(apwSettings);\n if (!name) {\n console.error(`There is no FunctionName found for type \"${item.data.type}\".`);\n console.log(\n JSON.stringify({\n item,\n settings: apwSettings\n })\n );\n continue;\n }\n\n const url = plugin.getUrl({\n locale,\n tenant\n });\n if (!url) {\n console.error(\n `There is no url defined, in the Plugin, for type \"${item.data.type}\".`\n );\n console.log(JSON.stringify(item));\n continue;\n }\n\n const body = plugin.getGraphQLBody(item.data);\n\n if (!body) {\n console.error(\n `There is no GraphQL body defined, in the Plugin, for type \"${item.data.type}\".`\n );\n console.log(JSON.stringify(item));\n continue;\n }\n\n // Perform the actual action call.\n const response = await context.handlerClient.invoke({\n name,\n payload: {\n httpMethod: \"POST\",\n path: url,\n headers: {\n [\"content-type\"]: \"application/json\",\n Authorization: encodeToken({\n id: item.id,\n locale: item.locale,\n tenant: item.tenant\n }),\n [\"x-tenant\"]: tenant,\n [\"x-i18n-locale\"]: `default:${locale};content:${locale};`\n },\n body: JSON.stringify(body)\n },\n await: true\n });\n if (response?.body) {\n console.log(JSON.stringify({ body: response.body }, null, 2));\n continue;\n }\n console.log(JSON.stringify({ response }, null, 2));\n\n // TODO: Maybe update the status like error in original item in DB.\n }\n } catch (e) {\n log(\"[HANDLER_EXECUTE_ACTION] Error => \", e);\n // TODO: Maybe update the status like error in original item in DB.\n }\n });\n};\n\nexport const executeActionHandlerPlugins = (config: Configuration) => [\n new ContextPlugin(async context => {\n context.plugins.register([new PageBuilderGraphQL(), new HeadlessCMSGraphQL()]);\n }),\n basePlugins(),\n createExecuteActionLambda(config)\n];\n"],"mappings":"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"}
1
+ {"version":3,"names":["_utils","require","_api","_PageBuilderGraphQL","_HeadlessCMSGraphQL","_ApplicationGraphQL","_handlerAws","createExecuteActionLambda","params","storageOperations","createRawEventHandler","payload","context","log","console","applicationGraphQLPlugins","plugins","byType","ApplicationGraphQL","type","length","error","applicationGraphQLPluginCache","getApplicationGraphQLPlugin","data","plugin","canUse","apwSettings","getApwSettings","futureDatetime","datetime","locale","tenant","items","list","where","datetime_startsWith","getIsoStringTillMinutes","sort","limit","item","action","JSON","stringify","name","getArn","settings","url","getUrl","body","getGraphQLBody","response","handlerClient","invoke","httpMethod","path","headers","Authorization","encodeToken","id","await","delete","content","ex","message","code","executeActionHandlerPlugins","config","ContextPlugin","register","PageBuilderGraphQL","HeadlessCMSGraphQL","basePlugins","exports"],"sources":["index.ts"],"sourcesContent":["import type { ApwScheduleActionData, ApwScheduleActionStorageOperations } from \"~/scheduler/types\";\nimport { getIsoStringTillMinutes, encodeToken, basePlugins } from \"~/scheduler/handlers/utils\";\nimport { getApwSettings } from \"~/scheduler/handlers/utils\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport { PageBuilderGraphQL } from \"./plugins/PageBuilderGraphQL\";\nimport { HeadlessCMSGraphQL } from \"./plugins/HeadlessCMSGraphQL\";\nimport { ApplicationGraphQL } from \"./plugins/ApplicationGraphQL\";\nimport { createRawEventHandler } from \"@webiny/handler-aws\";\n\nexport interface HandlerArgs {\n datetime: string;\n tenant: string;\n locale: string;\n futureDatetime?: string;\n}\n\ninterface Configuration {\n storageOperations: ApwScheduleActionStorageOperations;\n}\n\n/**\n * Handler that execute the provided action(s) for the schedule action workflow.\n */\nconst createExecuteActionLambda = (params: Configuration) => {\n const { storageOperations } = params;\n\n return createRawEventHandler<HandlerArgs>(async ({ payload, context }) => {\n const log = console.log;\n\n const applicationGraphQLPlugins = context.plugins.byType<ApplicationGraphQL>(\n ApplicationGraphQL.type\n );\n\n if (applicationGraphQLPlugins.length === 0) {\n console.error(`There are no plugins to determine GraphQL endpoints or mutations.`);\n return;\n }\n\n const applicationGraphQLPluginCache: Record<string, ApplicationGraphQL> = {};\n\n const getApplicationGraphQLPlugin = (\n data: ApwScheduleActionData\n ): ApplicationGraphQL | null => {\n const { type } = data;\n if (applicationGraphQLPluginCache[type]) {\n return applicationGraphQLPluginCache[type];\n }\n for (const plugin of applicationGraphQLPlugins) {\n if (!plugin.canUse(data)) {\n continue;\n }\n applicationGraphQLPluginCache[type] = plugin;\n return plugin;\n }\n return null;\n };\n\n try {\n const apwSettings = await getApwSettings();\n\n const { futureDatetime: datetime, locale, tenant } = payload;\n /**\n * If there is no datetime we bail out early.\n */\n if (!datetime || typeof datetime !== \"string\") {\n log(`Bailing out!!`);\n return;\n }\n\n /**\n * Get tasks from the DB by datetime.\n */\n const [items] = await storageOperations.list({\n where: {\n tenant,\n locale,\n datetime_startsWith: getIsoStringTillMinutes(datetime)\n },\n sort: [\"datetime_ASC\"],\n limit: 1000\n });\n\n /**\n * Execute all actions.\n */\n if (!items || items.length === 0) {\n return;\n }\n log(`Found ${items.length} actions.`);\n for (const item of items) {\n log(\n `Performing mutation \"${item.data.action}\" on \"${item.data.type}\" at \"${item.data.datetime}\"`\n );\n\n const plugin = getApplicationGraphQLPlugin(item.data);\n if (!plugin) {\n console.error(\n `There is no plugin to determine GraphQL endpoint and mutations for type \"${item.data.type}\".`\n );\n console.log(JSON.stringify(item));\n continue;\n }\n\n const name = plugin.getArn(apwSettings);\n if (!name) {\n console.error(`There is no FunctionName found for type \"${item.data.type}\".`);\n console.log(\n JSON.stringify({\n item,\n settings: apwSettings\n })\n );\n continue;\n }\n\n const url = plugin.getUrl({\n locale,\n tenant\n });\n if (!url) {\n console.error(\n `There is no url defined, in the Plugin, for type \"${item.data.type}\".`\n );\n console.log(JSON.stringify(item));\n continue;\n }\n\n const body = plugin.getGraphQLBody(item.data);\n\n if (!body) {\n console.error(\n `There is no GraphQL body defined, in the Plugin, for type \"${item.data.type}\".`\n );\n console.log(JSON.stringify(item));\n continue;\n }\n\n console.log(`Invoking Lambda \"${name}\" with url \"${url}\".`);\n // Perform the actual action call.\n const response = await context.handlerClient.invoke({\n name,\n payload: {\n httpMethod: \"POST\",\n path: url,\n headers: {\n [\"content-type\"]: \"application/json\",\n Authorization: encodeToken({\n id: item.id,\n locale: item.locale,\n tenant: item.tenant\n }),\n [\"x-tenant\"]: tenant,\n [\"x-i18n-locale\"]: `default:${locale};content:${locale};`\n },\n body: JSON.stringify(body)\n },\n await: true\n });\n /**\n *\n */\n await storageOperations.delete({\n locale,\n tenant,\n id: item.id\n });\n /**\n * Check for the response and log the error if any.\n */\n if (response?.body) {\n const error = response.body.data?.content?.error;\n if (!error) {\n console.log(\"Invoke successful.\");\n continue;\n }\n console.log(JSON.stringify({ error }, null, 2));\n continue;\n }\n console.log(JSON.stringify({ response }, null, 2));\n\n // TODO: Maybe update the status like error in original item in DB.\n }\n } catch (ex) {\n console.error(\n \"[HANDLER_EXECUTE_ACTION] => \",\n JSON.stringify({\n message: ex.message,\n code: ex.code,\n data: ex.data\n })\n );\n // TODO: Maybe update the status like error in original item in DB.\n }\n });\n};\n\nexport const executeActionHandlerPlugins = (config: Configuration) => [\n new ContextPlugin(async context => {\n context.plugins.register([new PageBuilderGraphQL(), new HeadlessCMSGraphQL()]);\n }),\n basePlugins(),\n createExecuteActionLambda(config)\n];\n"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,IAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAH,OAAA;AACA,IAAAI,mBAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AAaA;AACA;AACA;AACA,MAAMM,yBAAyB,GAAIC,MAAqB,IAAK;EACzD,MAAM;IAAEC;EAAkB,CAAC,GAAGD,MAAM;EAEpC,OAAO,IAAAE,iCAAqB,EAAc,OAAO;IAAEC,OAAO;IAAEC;EAAQ,CAAC,KAAK;IACtE,MAAMC,GAAG,GAAGC,OAAO,CAACD,GAAG;IAEvB,MAAME,yBAAyB,GAAGH,OAAO,CAACI,OAAO,CAACC,MAAM,CACpDC,sCAAkB,CAACC,IACvB,CAAC;IAED,IAAIJ,yBAAyB,CAACK,MAAM,KAAK,CAAC,EAAE;MACxCN,OAAO,CAACO,KAAK,CAAC,mEAAmE,CAAC;MAClF;IACJ;IAEA,MAAMC,6BAAiE,GAAG,CAAC,CAAC;IAE5E,MAAMC,2BAA2B,GAC7BC,IAA2B,IACC;MAC5B,MAAM;QAAEL;MAAK,CAAC,GAAGK,IAAI;MACrB,IAAIF,6BAA6B,CAACH,IAAI,CAAC,EAAE;QACrC,OAAOG,6BAA6B,CAACH,IAAI,CAAC;MAC9C;MACA,KAAK,MAAMM,MAAM,IAAIV,yBAAyB,EAAE;QAC5C,IAAI,CAACU,MAAM,CAACC,MAAM,CAACF,IAAI,CAAC,EAAE;UACtB;QACJ;QACAF,6BAA6B,CAACH,IAAI,CAAC,GAAGM,MAAM;QAC5C,OAAOA,MAAM;MACjB;MACA,OAAO,IAAI;IACf,CAAC;IAED,IAAI;MACA,MAAME,WAAW,GAAG,MAAM,IAAAC,qBAAc,EAAC,CAAC;MAE1C,MAAM;QAAEC,cAAc,EAAEC,QAAQ;QAAEC,MAAM;QAAEC;MAAO,CAAC,GAAGrB,OAAO;MAC5D;AACZ;AACA;MACY,IAAI,CAACmB,QAAQ,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAE;QAC3CjB,GAAG,CAAC,eAAe,CAAC;QACpB;MACJ;;MAEA;AACZ;AACA;MACY,MAAM,CAACoB,KAAK,CAAC,GAAG,MAAMxB,iBAAiB,CAACyB,IAAI,CAAC;QACzCC,KAAK,EAAE;UACHH,MAAM;UACND,MAAM;UACNK,mBAAmB,EAAE,IAAAC,8BAAuB,EAACP,QAAQ;QACzD,CAAC;QACDQ,IAAI,EAAE,CAAC,cAAc,CAAC;QACtBC,KAAK,EAAE;MACX,CAAC,CAAC;;MAEF;AACZ;AACA;MACY,IAAI,CAACN,KAAK,IAAIA,KAAK,CAACb,MAAM,KAAK,CAAC,EAAE;QAC9B;MACJ;MACAP,GAAG,CAAC,SAASoB,KAAK,CAACb,MAAM,WAAW,CAAC;MACrC,KAAK,MAAMoB,IAAI,IAAIP,KAAK,EAAE;QACtBpB,GAAG,CACC,wBAAwB2B,IAAI,CAAChB,IAAI,CAACiB,MAAM,SAASD,IAAI,CAAChB,IAAI,CAACL,IAAI,SAASqB,IAAI,CAAChB,IAAI,CAACM,QAAQ,GAC9F,CAAC;QAED,MAAML,MAAM,GAAGF,2BAA2B,CAACiB,IAAI,CAAChB,IAAI,CAAC;QACrD,IAAI,CAACC,MAAM,EAAE;UACTX,OAAO,CAACO,KAAK,CACT,4EAA4EmB,IAAI,CAAChB,IAAI,CAACL,IAAI,IAC9F,CAAC;UACDL,OAAO,CAACD,GAAG,CAAC6B,IAAI,CAACC,SAAS,CAACH,IAAI,CAAC,CAAC;UACjC;QACJ;QAEA,MAAMI,IAAI,GAAGnB,MAAM,CAACoB,MAAM,CAAClB,WAAW,CAAC;QACvC,IAAI,CAACiB,IAAI,EAAE;UACP9B,OAAO,CAACO,KAAK,CAAC,4CAA4CmB,IAAI,CAAChB,IAAI,CAACL,IAAI,IAAI,CAAC;UAC7EL,OAAO,CAACD,GAAG,CACP6B,IAAI,CAACC,SAAS,CAAC;YACXH,IAAI;YACJM,QAAQ,EAAEnB;UACd,CAAC,CACL,CAAC;UACD;QACJ;QAEA,MAAMoB,GAAG,GAAGtB,MAAM,CAACuB,MAAM,CAAC;UACtBjB,MAAM;UACNC;QACJ,CAAC,CAAC;QACF,IAAI,CAACe,GAAG,EAAE;UACNjC,OAAO,CAACO,KAAK,CACT,qDAAqDmB,IAAI,CAAChB,IAAI,CAACL,IAAI,IACvE,CAAC;UACDL,OAAO,CAACD,GAAG,CAAC6B,IAAI,CAACC,SAAS,CAACH,IAAI,CAAC,CAAC;UACjC;QACJ;QAEA,MAAMS,IAAI,GAAGxB,MAAM,CAACyB,cAAc,CAACV,IAAI,CAAChB,IAAI,CAAC;QAE7C,IAAI,CAACyB,IAAI,EAAE;UACPnC,OAAO,CAACO,KAAK,CACT,8DAA8DmB,IAAI,CAAChB,IAAI,CAACL,IAAI,IAChF,CAAC;UACDL,OAAO,CAACD,GAAG,CAAC6B,IAAI,CAACC,SAAS,CAACH,IAAI,CAAC,CAAC;UACjC;QACJ;QAEA1B,OAAO,CAACD,GAAG,CAAC,oBAAoB+B,IAAI,eAAeG,GAAG,IAAI,CAAC;QAC3D;QACA,MAAMI,QAAQ,GAAG,MAAMvC,OAAO,CAACwC,aAAa,CAACC,MAAM,CAAC;UAChDT,IAAI;UACJjC,OAAO,EAAE;YACL2C,UAAU,EAAE,MAAM;YAClBC,IAAI,EAAER,GAAG;YACTS,OAAO,EAAE;cACL,CAAC,cAAc,GAAG,kBAAkB;cACpCC,aAAa,EAAE,IAAAC,kBAAW,EAAC;gBACvBC,EAAE,EAAEnB,IAAI,CAACmB,EAAE;gBACX5B,MAAM,EAAES,IAAI,CAACT,MAAM;gBACnBC,MAAM,EAAEQ,IAAI,CAACR;cACjB,CAAC,CAAC;cACF,CAAC,UAAU,GAAGA,MAAM;cACpB,CAAC,eAAe,GAAG,WAAWD,MAAM,YAAYA,MAAM;YAC1D,CAAC;YACDkB,IAAI,EAAEP,IAAI,CAACC,SAAS,CAACM,IAAI;UAC7B,CAAC;UACDW,KAAK,EAAE;QACX,CAAC,CAAC;QACF;AAChB;AACA;QACgB,MAAMnD,iBAAiB,CAACoD,MAAM,CAAC;UAC3B9B,MAAM;UACNC,MAAM;UACN2B,EAAE,EAAEnB,IAAI,CAACmB;QACb,CAAC,CAAC;QACF;AAChB;AACA;QACgB,IAAIR,QAAQ,EAAEF,IAAI,EAAE;UAChB,MAAM5B,KAAK,GAAG8B,QAAQ,CAACF,IAAI,CAACzB,IAAI,EAAEsC,OAAO,EAAEzC,KAAK;UAChD,IAAI,CAACA,KAAK,EAAE;YACRP,OAAO,CAACD,GAAG,CAAC,oBAAoB,CAAC;YACjC;UACJ;UACAC,OAAO,CAACD,GAAG,CAAC6B,IAAI,CAACC,SAAS,CAAC;YAAEtB;UAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;UAC/C;QACJ;QACAP,OAAO,CAACD,GAAG,CAAC6B,IAAI,CAACC,SAAS,CAAC;UAAEQ;QAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;;QAElD;MACJ;IACJ,CAAC,CAAC,OAAOY,EAAE,EAAE;MACTjD,OAAO,CAACO,KAAK,CACT,8BAA8B,EAC9BqB,IAAI,CAACC,SAAS,CAAC;QACXqB,OAAO,EAAED,EAAE,CAACC,OAAO;QACnBC,IAAI,EAAEF,EAAE,CAACE,IAAI;QACbzC,IAAI,EAAEuC,EAAE,CAACvC;MACb,CAAC,CACL,CAAC;MACD;IACJ;EACJ,CAAC,CAAC;AACN,CAAC;AAEM,MAAM0C,2BAA2B,GAAIC,MAAqB,IAAK,CAClE,IAAIC,kBAAa,CAAC,MAAMxD,OAAO,IAAI;EAC/BA,OAAO,CAACI,OAAO,CAACqD,QAAQ,CAAC,CAAC,IAAIC,sCAAkB,CAAC,CAAC,EAAE,IAAIC,sCAAkB,CAAC,CAAC,CAAC,CAAC;AAClF,CAAC,CAAC,EACF,IAAAC,kBAAW,EAAC,CAAC,EACbjE,yBAAyB,CAAC4D,MAAM,CAAC,CACpC;AAACM,OAAA,CAAAP,2BAAA,GAAAA,2BAAA","ignoreList":[]}
@@ -1,6 +1,5 @@
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
  });
@@ -17,10 +16,12 @@ Object.defineProperty(exports, "ApwSettings", {
17
16
  return _utils.ApwSettings;
18
17
  }
19
18
  });
20
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
19
  var _Plugin = require("@webiny/plugins/Plugin");
22
20
  var _types = require("../../../types");
23
21
  var _utils = require("../../utils");
24
- class ApplicationGraphQL extends _Plugin.Plugin {}
22
+ class ApplicationGraphQL extends _Plugin.Plugin {
23
+ static type = "apw.scheduler.applicationGraphQL";
24
+ }
25
25
  exports.ApplicationGraphQL = ApplicationGraphQL;
26
- (0, _defineProperty2.default)(ApplicationGraphQL, "type", "apw.scheduler.applicationGraphQL");
26
+
27
+ //# sourceMappingURL=ApplicationGraphQL.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ApplicationGraphQL","Plugin"],"sources":["ApplicationGraphQL.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins/Plugin\";\nimport { ApwScheduleActionData } from \"~/scheduler/types\";\nimport { ApwSettings } from \"~/scheduler/handlers/utils\";\n\nexport { ApwScheduleActionData, ApwSettings };\n\nexport interface ApplicationGraphQLGetUrlParams {\n tenant: string;\n locale: string;\n}\nexport interface ApplicationGraphQLBody<T = Record<string, any>> {\n query: string;\n variables: T;\n}\n\nexport abstract class ApplicationGraphQL extends Plugin {\n public static override readonly type: string = \"apw.scheduler.applicationGraphQL\";\n\n public abstract getUrl(params: ApplicationGraphQLGetUrlParams): string;\n\n public abstract canUse(data: ApwScheduleActionData): boolean;\n\n public abstract getArn(settings: ApwSettings): string;\n\n public abstract getGraphQLBody(data: ApwScheduleActionData): ApplicationGraphQLBody | null;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AAaO,MAAeA,kBAAkB,SAASC,cAAM,CAAC;AAUvD;AAAA,8BAVqBD,kBAAkB,UACW,kCAAkC"}
1
+ {"version":3,"names":["_Plugin","require","_types","_utils","ApplicationGraphQL","Plugin","type","exports"],"sources":["ApplicationGraphQL.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins/Plugin\";\nimport { ApwScheduleActionData } from \"~/scheduler/types\";\nimport { ApwSettings } from \"~/scheduler/handlers/utils\";\n\nexport { ApwScheduleActionData, ApwSettings };\n\nexport interface ApplicationGraphQLGetUrlParams {\n tenant: string;\n locale: string;\n}\nexport interface ApplicationGraphQLBody<T = Record<string, any>> {\n query: string;\n variables: T;\n}\n\nexport abstract class ApplicationGraphQL extends Plugin {\n public static override readonly type: string = \"apw.scheduler.applicationGraphQL\";\n\n public abstract getUrl(params: ApplicationGraphQLGetUrlParams): string;\n\n public abstract canUse(data: ApwScheduleActionData): boolean;\n\n public abstract getArn(settings: ApwSettings): string;\n\n public abstract getGraphQLBody(data: ApwScheduleActionData): ApplicationGraphQLBody | null;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAaO,MAAeG,kBAAkB,SAASC,cAAM,CAAC;EACpD,OAAgCC,IAAI,GAAW,kCAAkC;AASrF;AAACC,OAAA,CAAAH,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -1,4 +1,5 @@
1
- import { ApplicationGraphQL, ApplicationGraphQLBody, ApwSettings, ApplicationGraphQLGetUrlParams, ApwScheduleActionData } from "./ApplicationGraphQL";
1
+ import type { ApplicationGraphQLBody, ApwSettings, ApplicationGraphQLGetUrlParams, ApwScheduleActionData } from "./ApplicationGraphQL";
2
+ import { ApplicationGraphQL } from "./ApplicationGraphQL";
2
3
  export declare class HeadlessCMSGraphQL extends ApplicationGraphQL {
3
4
  name: string;
4
5
  canUse(data: ApwScheduleActionData): boolean;
@@ -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,10 +55,7 @@ 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.headlessCms");
61
- }
58
+ name = "apw.scheduler.applicationGraphQL.headlessCms";
62
59
  canUse(data) {
63
60
  return data.type === _types.ApwContentTypes.CMS_ENTRY;
64
61
  }
@@ -107,4 +104,6 @@ class HeadlessCMSGraphQL extends _ApplicationGraphQL.ApplicationGraphQL {
107
104
  };
108
105
  }
109
106
  }
110
- 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","getUrl","locale","getArn","settings","mainGraphqlFunctionArn","getGraphQLBody","action","ApwScheduleActionTypes","PUBLISH","getPublishBody","UNPUBLISH","getUnpublishBody","WebinyError","query","variables","revision","entryId"],"sources":["HeadlessCMSGraphQL.ts"],"sourcesContent":["import {\n ApplicationGraphQL,\n ApplicationGraphQLBody,\n ApwSettings,\n ApplicationGraphQLGetUrlParams,\n ApwScheduleActionData\n} 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 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.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":";;;;;;;;AAAA;AAOA;AACA;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,CAAC;IAAEC;EAAuC,CAAC,EAAU;IACvE,OAAQ,eAAcA,MAAO,EAAC;EAClC;EAEgBC,MAAM,CAACC,QAAqB,EAAU;IAClD,OAAOA,QAAQ,CAACC,sBAAsB;EAC1C;EAEgBC,cAAc,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;IAAC;EAExB;EAEQa,cAAc,CAClBb,IAA2B,EAC4B;IACvD,IAAI,CAACA,IAAI,CAACP,OAAO,EAAE;MACf,MAAM,IAAIuB,cAAW,CACjB,+CAA+C,EAC/C,uBAAuB,EACvB;QACIhB;MACJ,CAAC,CACJ;IACL;IACA,OAAO;MACHiB,KAAK,EAAEzB,qBAAqB,CAACQ,IAAI,CAACP,OAAO,CAAC;MAC1CyB,SAAS,EAAE;QACPC,QAAQ,EAAEnB,IAAI,CAACoB;MACnB;IACJ,CAAC;EACL;EAEQL,gBAAgB,CACpBf,IAA2B,EAC4B;IACvD,IAAI,CAACA,IAAI,CAACP,OAAO,EAAE;MACf,MAAM,IAAIuB,cAAW,CACjB,+CAA+C,EAC/C,uBAAuB,EACvB;QACIhB;MACJ,CAAC,CACJ;IACL;IACA,OAAO;MACHiB,KAAK,EAAErB,uBAAuB,CAACI,IAAI,CAACP,OAAO,CAAC;MAC5CyB,SAAS,EAAE;QACPC,QAAQ,EAAEnB,IAAI,CAACoB;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,5 +1,6 @@
1
- import { ApplicationGraphQL, ApplicationGraphQLBody, ApwScheduleActionData } from "./ApplicationGraphQL";
2
- import { ApwSettings } from "../../utils";
1
+ import type { ApplicationGraphQLBody, ApwScheduleActionData } from "./ApplicationGraphQL";
2
+ import { ApplicationGraphQL } from "./ApplicationGraphQL";
3
+ import type { ApwSettings } from "../../utils";
3
4
  export declare class PageBuilderGraphQL extends ApplicationGraphQL {
4
5
  name: string;
5
6
  canUse(data: ApwScheduleActionData): boolean;
@@ -1,11 +1,9 @@
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 */`
@@ -41,10 +39,7 @@ const UNPUBLISH_MUTATION = /* GraphQL */`
41
39
  }
42
40
  `;
43
41
  class PageBuilderGraphQL extends _ApplicationGraphQL.ApplicationGraphQL {
44
- constructor(...args) {
45
- super(...args);
46
- (0, _defineProperty2.default)(this, "name", "apw.scheduler.applicationGraphQL.pageBuilder");
47
- }
42
+ name = "apw.scheduler.applicationGraphQL.pageBuilder";
48
43
  canUse(data) {
49
44
  return data.type === _types.ApwContentTypes.PAGE;
50
45
  }
@@ -81,4 +76,6 @@ class PageBuilderGraphQL extends _ApplicationGraphQL.ApplicationGraphQL {
81
76
  };
82
77
  }
83
78
  }
84
- 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","getUrl","getArn","settings","mainGraphqlFunctionArn","getGraphQLBody","action","ApwScheduleActionTypes","PUBLISH","getPublishBody","UNPUBLISH","getUnpublishBody","query","variables","id","entryId"],"sources":["PageBuilderGraphQL.ts"],"sourcesContent":["import {\n ApplicationGraphQL,\n ApplicationGraphQLBody,\n ApwScheduleActionData\n} from \"./ApplicationGraphQL\";\nimport { ApwContentTypes, ApwScheduleActionTypes } from \"~/scheduler/types\";\nimport { 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":";;;;;;;;AAAA;AAKA;AAGA,MAAMA,kBAAkB,GAAG,aAAe;AAC1C;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,GAAW;IAC7B,OAAQ,UAAS;EACrB;EAEgBC,MAAM,CAACC,QAAqB,EAAU;IAClD,OAAOA,QAAQ,CAACC,sBAAsB;EAC1C;EAEgBC,cAAc,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;IAAC;EAExB;EAEQY,cAAc,CAClBZ,IAA2B,EAC4B;IACvD,OAAO;MACHe,KAAK,EAAEpB,gBAAgB;MACvBqB,SAAS,EAAE;QACPC,EAAE,EAAEjB,IAAI,CAACkB;MACb;IACJ,CAAC;EACL;EAEQJ,gBAAgB,CACpBd,IAA2B,EAC4B;IACvD,OAAO;MACHe,KAAK,EAAEnB,kBAAkB;MACzBoB,SAAS,EAAE;QACPC,EAAE,EAAEjB,IAAI,CAACkB;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":"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","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":"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","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,8 +17,8 @@ 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
  */