@squiz/job-runner-lib 1.66.2 → 2.2.0

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 (755) hide show
  1. package/CHANGELOG.md +18 -1
  2. package/README.md +7 -0
  3. package/build.js +20 -13
  4. package/jest.config.ts +10 -16
  5. package/lib/domains/component/index.d.ts +0 -12
  6. package/lib/domains/job/S3Repository/JobDetailsRepository.d.ts +17 -0
  7. package/lib/domains/job/S3Repository/JobDetailsRepository.spec.d.ts +5 -0
  8. package/lib/domains/job/S3Repository/S3Repository.d.ts +15 -0
  9. package/lib/domains/job/S3Repository/S3Repository.spec.d.ts +5 -0
  10. package/lib/domains/job/S3Repository/S3RepositoryBase.d.ts +39 -0
  11. package/lib/domains/job/S3Repository/S3RepositoryBase.spec.d.ts +5 -0
  12. package/lib/domains/job/S3Repository/index.d.ts +2 -0
  13. package/lib/domains/job/core/pagination/services/PaginationService.d.ts +4 -19
  14. package/lib/domains/job/index.d.ts +2 -0
  15. package/lib/domains/job/manifest/JobManifestV1.d.ts +1 -2
  16. package/lib/domains/job/model/LogPayload/LogPayload.d.ts +12 -0
  17. package/lib/domains/job/model/LogPayload/index.d.ts +1 -0
  18. package/lib/domains/job/repository/JobExecutionRepository/JobExecutionRepository.d.ts +9 -4
  19. package/lib/domains/job/services/JobContextService/JobContextService.d.ts +19 -0
  20. package/lib/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.d.ts +10 -2
  21. package/lib/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.defs.d.ts +2 -19
  22. package/lib/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.spec.d.ts +1 -1
  23. package/lib/domains/job/services/JobManifestService/JobManifestService.d.ts +15 -0
  24. package/lib/domains/job/services/JobQueueService/JobQueueService.d.ts +9 -0
  25. package/lib/domains/job/services/JobQueueService/JobQueueService.defs.d.ts +9 -0
  26. package/lib/domains/job/services/JobQueueService/JobQueueService.spec.d.ts +5 -0
  27. package/lib/domains/job/services/JobUploadService/JobUploadService.d.ts +19 -0
  28. package/lib/domains/job/services/JobUploadService/JobUploadService.mock.d.ts +6 -0
  29. package/lib/domains/job/services/JobUploadService/JobUploadService.spec.d.ts +5 -0
  30. package/lib/domains/job/services/JobUploadService/utils/cleanup.d.ts +11 -0
  31. package/lib/domains/job/services/JobUploadService/utils/cleanup.spec.d.ts +5 -0
  32. package/lib/domains/job/services/JobUploadService/utils/errorUtils.d.ts +16 -0
  33. package/lib/domains/job/services/JobUploadService/utils/errorUtils.spec.d.ts +5 -0
  34. package/lib/domains/job/services/JobUploadService/utils/index.d.ts +12 -0
  35. package/lib/domains/job/services/JobUploadService/utils/manifestValidator.d.ts +15 -0
  36. package/lib/domains/job/services/JobUploadService/utils/manifestValidator.spec.d.ts +5 -0
  37. package/lib/domains/job/services/JobUploadService/utils/responseHandler.d.ts +17 -0
  38. package/lib/domains/job/services/JobUploadService/utils/responseHandler.spec.d.ts +5 -0
  39. package/lib/domains/job/services/JobUploadService/utils/resultPoller.d.ts +16 -0
  40. package/lib/domains/job/services/JobUploadService/utils/resultPoller.spec.d.ts +5 -0
  41. package/lib/domains/job/services/JobUploadService/utils/scanWatcher.d.ts +13 -0
  42. package/lib/domains/job/services/JobUploadService/utils/scanWatcher.spec.d.ts +5 -0
  43. package/lib/domains/job/services/JobUploadService/utils/uploadInitializer.d.ts +19 -0
  44. package/lib/domains/job/services/JobUploadService/utils/uploadInitializer.spec.d.ts +5 -0
  45. package/lib/domains/job/services/JobUploadService/utils/versionChecker.d.ts +12 -0
  46. package/lib/domains/job/services/JobUploadService/utils/versionChecker.spec.d.ts +5 -0
  47. package/lib/domains/job/services/index.d.ts +4 -0
  48. package/lib/domains/job/singletonProvider.d.ts +1 -1
  49. package/lib/domains/job/transientProvider.d.ts +1 -1
  50. package/lib/domains/job/utils/GetAwsTags/GetAwsTags.d.ts +2 -0
  51. package/lib/domains/job/utils/GetAwsTags/GetAwsTags.types.d.ts +18 -0
  52. package/lib/domains/job/utils/index.d.ts +2 -0
  53. package/lib/domains/manifest/ManifestModel.d.ts +2 -4
  54. package/lib/domains/manifest/index.d.ts +0 -9
  55. package/lib/domains/manifest/services/ComponentSchemaValidationService.d.ts +5 -4
  56. package/lib/domains/manifest/services/ManifestServiceForDev.d.ts +9 -15
  57. package/lib/domains/manifest/utils/getAndAssertJobManifestVersion.d.ts +1 -2
  58. package/lib/domains/manifest/utils/isValidManifestVersion.d.ts +1 -1
  59. package/lib/index.d.ts +0 -5
  60. package/lib/index.js +42 -39
  61. package/lib/index.js.map +7 -1
  62. package/lib/jest-global-setup.d.ts +0 -2
  63. package/package.json +20 -30
  64. package/src/domains/component/index.ts +0 -16
  65. package/src/domains/job/S3Repository/JobDetailsRepository.spec.ts +52 -0
  66. package/src/domains/job/S3Repository/JobDetailsRepository.ts +36 -0
  67. package/src/domains/job/S3Repository/S3Repository.spec.ts +50 -0
  68. package/src/domains/job/S3Repository/S3Repository.ts +27 -0
  69. package/src/domains/job/S3Repository/S3RepositoryBase.spec.ts +97 -0
  70. package/src/domains/job/S3Repository/S3RepositoryBase.ts +96 -0
  71. package/src/domains/job/S3Repository/index.ts +2 -0
  72. package/src/domains/job/core/pagination/services/PaginationService.spec.ts +18 -93
  73. package/src/domains/job/core/pagination/services/PaginationService.ts +8 -57
  74. package/src/domains/job/errors/BadRequestError.ts +4 -1
  75. package/src/domains/job/errors/ErrorWithHttpStatusCode.ts +5 -1
  76. package/src/domains/job/errors/InternalServerError.ts +4 -1
  77. package/src/domains/job/errors/NotImplementedError.ts +4 -1
  78. package/src/domains/job/errors/UnprocessableContent.ts +4 -1
  79. package/src/domains/job/index.ts +2 -0
  80. package/src/domains/job/manifest/JobManifestV1.ts +5 -3
  81. package/src/domains/job/model/LogPayload/LogPayload.ts +12 -0
  82. package/src/domains/job/model/LogPayload/index.ts +1 -0
  83. package/src/domains/job/repository/JobContextRepository/JobContextRepository.spec.ts +1 -1
  84. package/src/domains/job/repository/JobExecutionRepository/JobExecutionRepository.spec.ts +2 -5
  85. package/src/domains/job/repository/JobExecutionRepository/JobExecutionRepository.ts +45 -13
  86. package/src/domains/job/repository/JobManifestRepository/JobManifestRepository.spec.ts +1 -1
  87. package/src/domains/job/repository/JobRepository/JobRepository.spec.ts +1 -1
  88. package/src/domains/job/services/JobContextService/JobContextService.spec.ts +272 -0
  89. package/src/domains/job/services/JobContextService/JobContextService.ts +77 -0
  90. package/src/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.defs.ts +3 -19
  91. package/src/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.spec.ts +153 -37
  92. package/src/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.ts +78 -85
  93. package/src/domains/job/services/JobManifestService/JobManifestService.spec.ts +234 -0
  94. package/src/domains/job/services/JobManifestService/JobManifestService.ts +40 -0
  95. package/src/domains/job/services/JobQueueService/JobQueueService.defs.ts +10 -0
  96. package/src/domains/job/services/JobQueueService/JobQueueService.spec.ts +190 -0
  97. package/src/domains/job/services/JobQueueService/JobQueueService.ts +60 -0
  98. package/src/domains/job/services/JobUploadService/JobUploadService.mock.ts +45 -0
  99. package/src/domains/job/services/JobUploadService/JobUploadService.spec.ts +176 -0
  100. package/src/domains/job/services/JobUploadService/JobUploadService.ts +66 -0
  101. package/src/domains/job/services/JobUploadService/utils/cleanup.spec.ts +109 -0
  102. package/src/domains/job/services/JobUploadService/utils/cleanup.ts +18 -0
  103. package/src/domains/job/services/JobUploadService/utils/errorUtils.spec.ts +76 -0
  104. package/src/domains/job/services/JobUploadService/utils/errorUtils.ts +35 -0
  105. package/src/domains/job/services/JobUploadService/utils/index.ts +15 -0
  106. package/src/domains/job/services/JobUploadService/utils/manifestValidator.spec.ts +213 -0
  107. package/src/domains/job/services/JobUploadService/utils/manifestValidator.ts +34 -0
  108. package/src/domains/job/services/JobUploadService/utils/responseHandler.spec.ts +69 -0
  109. package/src/domains/job/services/JobUploadService/utils/responseHandler.ts +33 -0
  110. package/src/domains/job/services/JobUploadService/utils/resultPoller.spec.ts +81 -0
  111. package/src/domains/job/services/JobUploadService/utils/resultPoller.ts +52 -0
  112. package/src/domains/job/services/JobUploadService/utils/scanWatcher.spec.ts +61 -0
  113. package/src/domains/job/services/JobUploadService/utils/scanWatcher.ts +41 -0
  114. package/src/domains/job/services/JobUploadService/utils/uploadInitializer.spec.ts +106 -0
  115. package/src/domains/job/services/JobUploadService/utils/uploadInitializer.ts +36 -0
  116. package/src/domains/job/services/JobUploadService/utils/versionChecker.spec.ts +70 -0
  117. package/src/domains/job/services/JobUploadService/utils/versionChecker.ts +39 -0
  118. package/src/domains/job/services/index.ts +4 -0
  119. package/src/domains/job/utils/GetAwsTags/GetAwsTags.spec.ts +45 -0
  120. package/src/domains/job/utils/GetAwsTags/GetAwsTags.ts +18 -0
  121. package/src/domains/job/utils/GetAwsTags/GetAwsTags.types.ts +18 -0
  122. package/src/domains/job/utils/index.ts +2 -0
  123. package/src/domains/manifest/ManifestModel.ts +2 -5
  124. package/src/domains/manifest/index.ts +0 -9
  125. package/src/domains/manifest/services/ComponentSchemaValidationService.ts +6 -18
  126. package/src/domains/manifest/services/JobFunctionService.spec.ts +9 -83
  127. package/src/domains/manifest/services/JobFunctionService.ts +2 -5
  128. package/src/domains/manifest/services/ManifestServiceForDev.spec.ts +66 -170
  129. package/src/domains/manifest/services/ManifestServiceForDev.ts +24 -83
  130. package/src/domains/manifest/utils/getAndAssertJobManifestVersion.ts +2 -6
  131. package/src/domains/manifest/utils/isValidManifestVersion.spec.ts +6 -2
  132. package/src/domains/manifest/utils/isValidManifestVersion.ts +2 -2
  133. package/src/index.ts +0 -6
  134. package/src/jest-global-setup.ts +0 -11
  135. package/src/{domains/job/repository/mocks → mocks}/mockIoc.ts +12 -2
  136. package/tsconfig.json +2 -7
  137. package/.env.example +0 -1
  138. package/jest.integration.config.ts +0 -27
  139. package/lib/TestHelpers.d.ts +0 -18
  140. package/lib/TestHelpers.js +0 -97
  141. package/lib/TestHelpers.js.map +0 -1
  142. package/lib/domains/__test__/createPackage.d.ts +0 -3
  143. package/lib/domains/__test__/createPackage.js +0 -45
  144. package/lib/domains/__test__/createPackage.js.map +0 -1
  145. package/lib/domains/__test__/loadAllUnitTestComponents.d.ts +0 -3
  146. package/lib/domains/__test__/loadAllUnitTestComponents.js +0 -63
  147. package/lib/domains/__test__/loadAllUnitTestComponents.js.map +0 -1
  148. package/lib/domains/component/component-context/__mocks__/mockedManifestModel.d.ts +0 -3
  149. package/lib/domains/component/component-context/__mocks__/mockedManifestModel.js +0 -33
  150. package/lib/domains/component/component-context/__mocks__/mockedManifestModel.js.map +0 -1
  151. package/lib/domains/component/component-context/__mocks__/mockedUriObj.d.ts +0 -3
  152. package/lib/domains/component/component-context/__mocks__/mockedUriObj.js +0 -38
  153. package/lib/domains/component/component-context/__mocks__/mockedUriObj.js.map +0 -1
  154. package/lib/domains/component/component-context/__mocks__/mockedUriObjPreview.d.ts +0 -3
  155. package/lib/domains/component/component-context/__mocks__/mockedUriObjPreview.js +0 -38
  156. package/lib/domains/component/component-context/__mocks__/mockedUriObjPreview.js.map +0 -1
  157. package/lib/domains/component/component-context/createComponentContextualFunctions.d.ts +0 -23
  158. package/lib/domains/component/component-context/createComponentContextualFunctions.js +0 -75
  159. package/lib/domains/component/component-context/createComponentContextualFunctions.js.map +0 -1
  160. package/lib/domains/component/component-context/createComponentContextualFunctions.spec.d.ts +0 -1
  161. package/lib/domains/component/component-context/createComponentContextualFunctions.spec.js +0 -248
  162. package/lib/domains/component/component-context/createComponentContextualFunctions.spec.js.map +0 -1
  163. package/lib/domains/component/errors/ComponentError.d.ts +0 -12
  164. package/lib/domains/component/errors/ComponentError.js +0 -20
  165. package/lib/domains/component/errors/ComponentError.js.map +0 -1
  166. package/lib/domains/component/errors/JobError.js +0 -18
  167. package/lib/domains/component/errors/JobError.js.map +0 -1
  168. package/lib/domains/component/index.js +0 -30
  169. package/lib/domains/component/index.js.map +0 -1
  170. package/lib/domains/component/models/Component.d.ts +0 -7
  171. package/lib/domains/component/models/Component.js +0 -13
  172. package/lib/domains/component/models/Component.js.map +0 -1
  173. package/lib/domains/component/models/Component.spec.d.ts +0 -1
  174. package/lib/domains/component/models/Component.spec.js +0 -18
  175. package/lib/domains/component/models/Component.spec.js.map +0 -1
  176. package/lib/domains/component/models/ComponentVersion.d.ts +0 -18
  177. package/lib/domains/component/models/ComponentVersion.js +0 -35
  178. package/lib/domains/component/models/ComponentVersion.js.map +0 -1
  179. package/lib/domains/component/models/ComponentVersion.spec.d.ts +0 -1
  180. package/lib/domains/component/models/ComponentVersion.spec.js +0 -55
  181. package/lib/domains/component/models/ComponentVersion.spec.js.map +0 -1
  182. package/lib/domains/component/repositories/ComponentRepository.d.ts +0 -12
  183. package/lib/domains/component/repositories/ComponentRepository.integration.spec.d.ts +0 -1
  184. package/lib/domains/component/repositories/ComponentRepository.integration.spec.js +0 -111
  185. package/lib/domains/component/repositories/ComponentRepository.integration.spec.js.map +0 -1
  186. package/lib/domains/component/repositories/ComponentRepository.js +0 -28
  187. package/lib/domains/component/repositories/ComponentRepository.js.map +0 -1
  188. package/lib/domains/component/repositories/ComponentVersionRepository.d.ts +0 -21
  189. package/lib/domains/component/repositories/ComponentVersionRepository.integration.spec.d.ts +0 -1
  190. package/lib/domains/component/repositories/ComponentVersionRepository.integration.spec.js +0 -378
  191. package/lib/domains/component/repositories/ComponentVersionRepository.integration.spec.js.map +0 -1
  192. package/lib/domains/component/repositories/ComponentVersionRepository.js +0 -83
  193. package/lib/domains/component/repositories/ComponentVersionRepository.js.map +0 -1
  194. package/lib/domains/component/services/ComponentService.d.ts +0 -40
  195. package/lib/domains/component/services/ComponentService.integration.spec.d.ts +0 -1
  196. package/lib/domains/component/services/ComponentService.integration.spec.js +0 -614
  197. package/lib/domains/component/services/ComponentService.integration.spec.js.map +0 -1
  198. package/lib/domains/component/services/ComponentService.js +0 -254
  199. package/lib/domains/component/services/ComponentService.js.map +0 -1
  200. package/lib/domains/component/services/content-item-uri-resolver/ComponentContentUriResolverForPreview.d.ts +0 -12
  201. package/lib/domains/component/services/content-item-uri-resolver/ComponentContentUriResolverForPreview.js +0 -15
  202. package/lib/domains/component/services/content-item-uri-resolver/ComponentContentUriResolverForPreview.js.map +0 -1
  203. package/lib/domains/component/services/content-item-uri-resolver/ComponentContentUriResolverForPreview.spec.d.ts +0 -1
  204. package/lib/domains/component/services/content-item-uri-resolver/ComponentContentUriResolverForPreview.spec.js +0 -75
  205. package/lib/domains/component/services/content-item-uri-resolver/ComponentContentUriResolverForPreview.spec.js.map +0 -1
  206. package/lib/domains/component/utils/getComponentFileSystemFolder.d.ts +0 -1
  207. package/lib/domains/component/utils/getComponentFileSystemFolder.js +0 -12
  208. package/lib/domains/component/utils/getComponentFileSystemFolder.js.map +0 -1
  209. package/lib/domains/component/utils/getComponentFileSystemFolder.spec.d.ts +0 -1
  210. package/lib/domains/component/utils/getComponentFileSystemFolder.spec.js +0 -13
  211. package/lib/domains/component/utils/getComponentFileSystemFolder.spec.js.map +0 -1
  212. package/lib/domains/component/utils/getComponentName.d.ts +0 -1
  213. package/lib/domains/component/utils/getComponentName.js +0 -8
  214. package/lib/domains/component/utils/getComponentName.js.map +0 -1
  215. package/lib/domains/component/utils/getComponentName.spec.d.ts +0 -1
  216. package/lib/domains/component/utils/getComponentName.spec.js +0 -9
  217. package/lib/domains/component/utils/getComponentName.spec.js.map +0 -1
  218. package/lib/domains/component/utils/moveFilesAndDirectories.d.ts +0 -1
  219. package/lib/domains/component/utils/moveFilesAndDirectories.js +0 -33
  220. package/lib/domains/component/utils/moveFilesAndDirectories.js.map +0 -1
  221. package/lib/domains/component/utils/moveFilesAndDirectories.spec.d.ts +0 -1
  222. package/lib/domains/component/utils/moveFilesAndDirectories.spec.js +0 -52
  223. package/lib/domains/component/utils/moveFilesAndDirectories.spec.js.map +0 -1
  224. package/lib/domains/component/web-models/ComponentForWeb.d.ts +0 -11
  225. package/lib/domains/component/web-models/ComponentForWeb.js +0 -3
  226. package/lib/domains/component/web-models/ComponentForWeb.js.map +0 -1
  227. package/lib/domains/component/web-models/ComponentVersionWebModel.d.ts +0 -15
  228. package/lib/domains/component/web-models/ComponentVersionWebModel.js +0 -3
  229. package/lib/domains/component/web-models/ComponentVersionWebModel.js.map +0 -1
  230. package/lib/domains/component/web-models/ComponentsForWeb.d.ts +0 -17
  231. package/lib/domains/component/web-models/ComponentsForWeb.js +0 -3
  232. package/lib/domains/component/web-models/ComponentsForWeb.js.map +0 -1
  233. package/lib/domains/component-set/errors/InvalidEnvironmentVariablesError.d.ts +0 -5
  234. package/lib/domains/component-set/errors/InvalidEnvironmentVariablesError.js +0 -14
  235. package/lib/domains/component-set/errors/InvalidEnvironmentVariablesError.js.map +0 -1
  236. package/lib/domains/component-set/index.d.ts +0 -13
  237. package/lib/domains/component-set/index.js +0 -30
  238. package/lib/domains/component-set/index.js.map +0 -1
  239. package/lib/domains/component-set/models/ComponentSet.d.ts +0 -20
  240. package/lib/domains/component-set/models/ComponentSet.js +0 -28
  241. package/lib/domains/component-set/models/ComponentSet.js.map +0 -1
  242. package/lib/domains/component-set/models/ComponentSet.spec.js +0 -45
  243. package/lib/domains/component-set/models/ComponentSet.spec.js.map +0 -1
  244. package/lib/domains/component-set/models/ComponentSetComponentVersion.d.ts +0 -23
  245. package/lib/domains/component-set/models/ComponentSetComponentVersion.js +0 -29
  246. package/lib/domains/component-set/models/ComponentSetComponentVersion.js.map +0 -1
  247. package/lib/domains/component-set/models/ComponentSetComponentVersion.spec.js +0 -83
  248. package/lib/domains/component-set/models/ComponentSetComponentVersion.spec.js.map +0 -1
  249. package/lib/domains/component-set/models/ComponentSetComponentVersionEditable.d.ts +0 -12
  250. package/lib/domains/component-set/models/ComponentSetComponentVersionEditable.js +0 -57
  251. package/lib/domains/component-set/models/ComponentSetComponentVersionEditable.js.map +0 -1
  252. package/lib/domains/component-set/models/ComponentSetComponentVersionEditable.spec.js +0 -60
  253. package/lib/domains/component-set/models/ComponentSetComponentVersionEditable.spec.js.map +0 -1
  254. package/lib/domains/component-set/models/ComponentSetComponentVersionExcluded.d.ts +0 -11
  255. package/lib/domains/component-set/models/ComponentSetComponentVersionExcluded.js +0 -17
  256. package/lib/domains/component-set/models/ComponentSetComponentVersionExcluded.js.map +0 -1
  257. package/lib/domains/component-set/models/ComponentSetComponentVersionExcluded.spec.d.ts +0 -1
  258. package/lib/domains/component-set/models/ComponentSetComponentVersionExcluded.spec.js +0 -34
  259. package/lib/domains/component-set/models/ComponentSetComponentVersionExcluded.spec.js.map +0 -1
  260. package/lib/domains/component-set/models/ComponentSetRule.d.ts +0 -12
  261. package/lib/domains/component-set/models/ComponentSetRule.js +0 -50
  262. package/lib/domains/component-set/models/ComponentSetRule.js.map +0 -1
  263. package/lib/domains/component-set/models/ComponentSetRule.spec.d.ts +0 -1
  264. package/lib/domains/component-set/models/ComponentSetRule.spec.js +0 -29
  265. package/lib/domains/component-set/models/ComponentSetRule.spec.js.map +0 -1
  266. package/lib/domains/component-set/repositories/ComponentSetComponentVersionEditableRepository.d.ts +0 -10
  267. package/lib/domains/component-set/repositories/ComponentSetComponentVersionEditableRepository.integration.spec.d.ts +0 -1
  268. package/lib/domains/component-set/repositories/ComponentSetComponentVersionEditableRepository.integration.spec.js +0 -127
  269. package/lib/domains/component-set/repositories/ComponentSetComponentVersionEditableRepository.integration.spec.js.map +0 -1
  270. package/lib/domains/component-set/repositories/ComponentSetComponentVersionEditableRepository.js +0 -37
  271. package/lib/domains/component-set/repositories/ComponentSetComponentVersionEditableRepository.js.map +0 -1
  272. package/lib/domains/component-set/repositories/ComponentSetComponentVersionExcludedRepository.d.ts +0 -10
  273. package/lib/domains/component-set/repositories/ComponentSetComponentVersionExcludedRepository.integration.spec.d.ts +0 -1
  274. package/lib/domains/component-set/repositories/ComponentSetComponentVersionExcludedRepository.integration.spec.js +0 -127
  275. package/lib/domains/component-set/repositories/ComponentSetComponentVersionExcludedRepository.integration.spec.js.map +0 -1
  276. package/lib/domains/component-set/repositories/ComponentSetComponentVersionExcludedRepository.js +0 -37
  277. package/lib/domains/component-set/repositories/ComponentSetComponentVersionExcludedRepository.js.map +0 -1
  278. package/lib/domains/component-set/repositories/ComponentSetComponentVersionRepository.d.ts +0 -10
  279. package/lib/domains/component-set/repositories/ComponentSetComponentVersionRepository.integration.spec.d.ts +0 -1
  280. package/lib/domains/component-set/repositories/ComponentSetComponentVersionRepository.integration.spec.js +0 -163
  281. package/lib/domains/component-set/repositories/ComponentSetComponentVersionRepository.integration.spec.js.map +0 -1
  282. package/lib/domains/component-set/repositories/ComponentSetComponentVersionRepository.js +0 -22
  283. package/lib/domains/component-set/repositories/ComponentSetComponentVersionRepository.js.map +0 -1
  284. package/lib/domains/component-set/repositories/ComponentSetRepository.d.ts +0 -13
  285. package/lib/domains/component-set/repositories/ComponentSetRepository.integration.spec.d.ts +0 -1
  286. package/lib/domains/component-set/repositories/ComponentSetRepository.integration.spec.js +0 -161
  287. package/lib/domains/component-set/repositories/ComponentSetRepository.integration.spec.js.map +0 -1
  288. package/lib/domains/component-set/repositories/ComponentSetRepository.js +0 -48
  289. package/lib/domains/component-set/repositories/ComponentSetRepository.js.map +0 -1
  290. package/lib/domains/component-set/repositories/ComponentSetRuleRepository.d.ts +0 -13
  291. package/lib/domains/component-set/repositories/ComponentSetRuleRepository.integration.spec.d.ts +0 -1
  292. package/lib/domains/component-set/repositories/ComponentSetRuleRepository.integration.spec.js +0 -88
  293. package/lib/domains/component-set/repositories/ComponentSetRuleRepository.integration.spec.js.map +0 -1
  294. package/lib/domains/component-set/repositories/ComponentSetRuleRepository.js +0 -55
  295. package/lib/domains/component-set/repositories/ComponentSetRuleRepository.js.map +0 -1
  296. package/lib/domains/component-set/services/ComponentSetRuleService.d.ts +0 -10
  297. package/lib/domains/component-set/services/ComponentSetRuleService.integration.spec.d.ts +0 -1
  298. package/lib/domains/component-set/services/ComponentSetRuleService.integration.spec.js +0 -107
  299. package/lib/domains/component-set/services/ComponentSetRuleService.integration.spec.js.map +0 -1
  300. package/lib/domains/component-set/services/ComponentSetRuleService.js +0 -23
  301. package/lib/domains/component-set/services/ComponentSetRuleService.js.map +0 -1
  302. package/lib/domains/component-set/services/ComponentSetService.d.ts +0 -37
  303. package/lib/domains/component-set/services/ComponentSetService.js +0 -13
  304. package/lib/domains/component-set/services/ComponentSetService.js.map +0 -1
  305. package/lib/domains/component-set/services/ComponentSetService.spec.d.ts +0 -1
  306. package/lib/domains/component-set/services/ComponentSetService.spec.js +0 -120
  307. package/lib/domains/component-set/services/ComponentSetService.spec.js.map +0 -1
  308. package/lib/domains/component-set/services/ComponentSetServiceForLocalDev.d.ts +0 -24
  309. package/lib/domains/component-set/services/ComponentSetServiceForLocalDev.js +0 -85
  310. package/lib/domains/component-set/services/ComponentSetServiceForLocalDev.js.map +0 -1
  311. package/lib/domains/component-set/services/ComponentSetServiceForLocalDev.spec.d.ts +0 -1
  312. package/lib/domains/component-set/services/ComponentSetServiceForLocalDev.spec.js +0 -141
  313. package/lib/domains/component-set/services/ComponentSetServiceForLocalDev.spec.js.map +0 -1
  314. package/lib/domains/component-set/services/ComponentSetServiceForProduction.d.ts +0 -53
  315. package/lib/domains/component-set/services/ComponentSetServiceForProduction.integration.spec.d.ts +0 -1
  316. package/lib/domains/component-set/services/ComponentSetServiceForProduction.integration.spec.js +0 -2565
  317. package/lib/domains/component-set/services/ComponentSetServiceForProduction.integration.spec.js.map +0 -1
  318. package/lib/domains/component-set/services/ComponentSetServiceForProduction.js +0 -601
  319. package/lib/domains/component-set/services/ComponentSetServiceForProduction.js.map +0 -1
  320. package/lib/domains/component-set/services/EnvironmentVariables.d.ts +0 -1
  321. package/lib/domains/component-set/services/EnvironmentVariables.js +0 -3
  322. package/lib/domains/component-set/services/EnvironmentVariables.js.map +0 -1
  323. package/lib/domains/component-set/services/Headers.d.ts +0 -1
  324. package/lib/domains/component-set/services/Headers.js +0 -3
  325. package/lib/domains/component-set/services/Headers.js.map +0 -1
  326. package/lib/domains/component-set/services/RuntimeComponentSet.d.ts +0 -6
  327. package/lib/domains/component-set/services/RuntimeComponentSet.js +0 -3
  328. package/lib/domains/component-set/services/RuntimeComponentSet.js.map +0 -1
  329. package/lib/domains/component-set/web-models/ComponentSetComponentVersionForWeb.d.ts +0 -5
  330. package/lib/domains/component-set/web-models/ComponentSetComponentVersionForWeb.js +0 -3
  331. package/lib/domains/component-set/web-models/ComponentSetComponentVersionForWeb.js.map +0 -1
  332. package/lib/domains/component-set/web-models/ComponentSetForWeb.d.ts +0 -64
  333. package/lib/domains/component-set/web-models/ComponentSetForWeb.js +0 -22
  334. package/lib/domains/component-set/web-models/ComponentSetForWeb.js.map +0 -1
  335. package/lib/domains/content/index.d.ts +0 -4
  336. package/lib/domains/content/index.js +0 -21
  337. package/lib/domains/content/index.js.map +0 -1
  338. package/lib/domains/content/services/ComponentContentSchemaService.d.ts +0 -9
  339. package/lib/domains/content/services/ComponentContentSchemaService.js +0 -45
  340. package/lib/domains/content/services/ComponentContentSchemaService.js.map +0 -1
  341. package/lib/domains/content/services/ComponentContentSchemaService.spec.d.ts +0 -1
  342. package/lib/domains/content/services/ComponentContentSchemaService.spec.js +0 -240
  343. package/lib/domains/content/services/ComponentContentSchemaService.spec.js.map +0 -1
  344. package/lib/domains/content/services/ContentItemService.d.ts +0 -7
  345. package/lib/domains/content/services/ContentItemService.js +0 -36
  346. package/lib/domains/content/services/ContentItemService.js.map +0 -1
  347. package/lib/domains/content/services/ContentItemService.spec.d.ts +0 -1
  348. package/lib/domains/content/services/ContentItemService.spec.js +0 -95
  349. package/lib/domains/content/services/ContentItemService.spec.js.map +0 -1
  350. package/lib/domains/content/services/DynamicContentItemService.d.ts +0 -8
  351. package/lib/domains/content/services/DynamicContentItemService.js +0 -31
  352. package/lib/domains/content/services/DynamicContentItemService.js.map +0 -1
  353. package/lib/domains/content/services/DynamicContentItemService.spec.d.ts +0 -1
  354. package/lib/domains/content/services/DynamicContentItemService.spec.js +0 -81
  355. package/lib/domains/content/services/DynamicContentItemService.spec.js.map +0 -1
  356. package/lib/domains/content/utils/getContentSchemaName.d.ts +0 -1
  357. package/lib/domains/content/utils/getContentSchemaName.js +0 -8
  358. package/lib/domains/content/utils/getContentSchemaName.js.map +0 -1
  359. package/lib/domains/content/utils/getContentSchemaName.spec.d.ts +0 -1
  360. package/lib/domains/content/utils/getContentSchemaName.spec.js +0 -9
  361. package/lib/domains/content/utils/getContentSchemaName.spec.js.map +0 -1
  362. package/lib/domains/db/ComponentConnectionManager.d.ts +0 -3
  363. package/lib/domains/db/ComponentConnectionManager.js +0 -3
  364. package/lib/domains/db/ComponentConnectionManager.js.map +0 -1
  365. package/lib/domains/db/ComponentRepositories.d.ts +0 -19
  366. package/lib/domains/db/ComponentRepositories.js +0 -23
  367. package/lib/domains/db/ComponentRepositories.js.map +0 -1
  368. package/lib/domains/db/createConnectionManager.d.ts +0 -5
  369. package/lib/domains/db/createConnectionManager.js +0 -16
  370. package/lib/domains/db/createConnectionManager.js.map +0 -1
  371. package/lib/domains/db/index.d.ts +0 -3
  372. package/lib/domains/db/index.js +0 -20
  373. package/lib/domains/db/index.js.map +0 -1
  374. package/lib/domains/db/migration-list.d.ts +0 -2
  375. package/lib/domains/db/migration-list.js +0 -19
  376. package/lib/domains/db/migration-list.js.map +0 -1
  377. package/lib/domains/job/ParsePartitionKey/ParsePartitionKey.js +0 -24
  378. package/lib/domains/job/ParsePartitionKey/ParsePartitionKey.js.map +0 -1
  379. package/lib/domains/job/ParsePartitionKey/ParsePartitionKey.spec.js +0 -24
  380. package/lib/domains/job/ParsePartitionKey/ParsePartitionKey.spec.js.map +0 -1
  381. package/lib/domains/job/ParsePartitionKey/index.js +0 -18
  382. package/lib/domains/job/ParsePartitionKey/index.js.map +0 -1
  383. package/lib/domains/job/constants/JobExecutionStatus.constants.js +0 -12
  384. package/lib/domains/job/constants/JobExecutionStatus.constants.js.map +0 -1
  385. package/lib/domains/job/constants/QueryParams.js +0 -19
  386. package/lib/domains/job/constants/QueryParams.js.map +0 -1
  387. package/lib/domains/job/constants/Repository.constants.js +0 -15
  388. package/lib/domains/job/constants/Repository.constants.js.map +0 -1
  389. package/lib/domains/job/core/dynamoClient.mock.js +0 -32
  390. package/lib/domains/job/core/dynamoClient.mock.js.map +0 -1
  391. package/lib/domains/job/core/pagination/index.js +0 -20
  392. package/lib/domains/job/core/pagination/index.js.map +0 -1
  393. package/lib/domains/job/core/pagination/model/PageQuery.js +0 -7
  394. package/lib/domains/job/core/pagination/model/PageQuery.js.map +0 -1
  395. package/lib/domains/job/core/pagination/model/PaginationInfo.js +0 -7
  396. package/lib/domains/job/core/pagination/model/PaginationInfo.js.map +0 -1
  397. package/lib/domains/job/core/pagination/model/PaginationKey.js +0 -3
  398. package/lib/domains/job/core/pagination/model/PaginationKey.js.map +0 -1
  399. package/lib/domains/job/core/pagination/model/PaginationLinks.js +0 -7
  400. package/lib/domains/job/core/pagination/model/PaginationLinks.js.map +0 -1
  401. package/lib/domains/job/core/pagination/model/PaginationQueryParams.js +0 -3
  402. package/lib/domains/job/core/pagination/model/PaginationQueryParams.js.map +0 -1
  403. package/lib/domains/job/core/pagination/model/PaginationQueryResponse.js +0 -7
  404. package/lib/domains/job/core/pagination/model/PaginationQueryResponse.js.map +0 -1
  405. package/lib/domains/job/core/pagination/model/PaginationResponse.js +0 -7
  406. package/lib/domains/job/core/pagination/model/PaginationResponse.js.map +0 -1
  407. package/lib/domains/job/core/pagination/model/PaginationTypes.js +0 -29
  408. package/lib/domains/job/core/pagination/model/PaginationTypes.js.map +0 -1
  409. package/lib/domains/job/core/pagination/model/index.js +0 -25
  410. package/lib/domains/job/core/pagination/model/index.js.map +0 -1
  411. package/lib/domains/job/core/pagination/services/PaginationService.js +0 -129
  412. package/lib/domains/job/core/pagination/services/PaginationService.js.map +0 -1
  413. package/lib/domains/job/core/pagination/services/PaginationService.spec.js +0 -179
  414. package/lib/domains/job/core/pagination/services/PaginationService.spec.js.map +0 -1
  415. package/lib/domains/job/core/pagination/services/index.js +0 -18
  416. package/lib/domains/job/core/pagination/services/index.js.map +0 -1
  417. package/lib/domains/job/core/pagination/utils/PaginationUtils.js +0 -139
  418. package/lib/domains/job/core/pagination/utils/PaginationUtils.js.map +0 -1
  419. package/lib/domains/job/core/pagination/utils/PaginationUtils.spec.js +0 -212
  420. package/lib/domains/job/core/pagination/utils/PaginationUtils.spec.js.map +0 -1
  421. package/lib/domains/job/core/pagination/utils/index.js +0 -18
  422. package/lib/domains/job/core/pagination/utils/index.js.map +0 -1
  423. package/lib/domains/job/errors/BadRequestError.js +0 -23
  424. package/lib/domains/job/errors/BadRequestError.js.map +0 -1
  425. package/lib/domains/job/errors/Error.constants.js +0 -36
  426. package/lib/domains/job/errors/Error.constants.js.map +0 -1
  427. package/lib/domains/job/errors/ErrorWithHttpStatusCode.js +0 -23
  428. package/lib/domains/job/errors/ErrorWithHttpStatusCode.js.map +0 -1
  429. package/lib/domains/job/errors/ExecutionStatusError.js +0 -11
  430. package/lib/domains/job/errors/ExecutionStatusError.js.map +0 -1
  431. package/lib/domains/job/errors/InternalServerError.js +0 -23
  432. package/lib/domains/job/errors/InternalServerError.js.map +0 -1
  433. package/lib/domains/job/errors/NotFoundError.js +0 -22
  434. package/lib/domains/job/errors/NotFoundError.js.map +0 -1
  435. package/lib/domains/job/errors/NotImplementedError.js +0 -23
  436. package/lib/domains/job/errors/NotImplementedError.js.map +0 -1
  437. package/lib/domains/job/errors/UnprocessableContent.js +0 -23
  438. package/lib/domains/job/errors/UnprocessableContent.js.map +0 -1
  439. package/lib/domains/job/errors/index.js +0 -25
  440. package/lib/domains/job/errors/index.js.map +0 -1
  441. package/lib/domains/job/index.js +0 -33
  442. package/lib/domains/job/index.js.map +0 -1
  443. package/lib/domains/job/manifest/JobManifestTypes.js +0 -7
  444. package/lib/domains/job/manifest/JobManifestTypes.js.map +0 -1
  445. package/lib/domains/job/manifest/JobManifestV1.js +0 -58
  446. package/lib/domains/job/manifest/JobManifestV1.js.map +0 -1
  447. package/lib/domains/job/manifest/JobManifestV1.spec.js +0 -136
  448. package/lib/domains/job/manifest/JobManifestV1.spec.js.map +0 -1
  449. package/lib/domains/job/manifest/index.js +0 -22
  450. package/lib/domains/job/manifest/index.js.map +0 -1
  451. package/lib/domains/job/manifest/mocks/JobManifest.mock.js +0 -36
  452. package/lib/domains/job/manifest/mocks/JobManifest.mock.js.map +0 -1
  453. package/lib/domains/job/manifest/mocks/JobManifestDto.mock.js +0 -48
  454. package/lib/domains/job/manifest/mocks/JobManifestDto.mock.js.map +0 -1
  455. package/lib/domains/job/manifest/mocks/JobManifestRecord.mock.js +0 -38
  456. package/lib/domains/job/manifest/mocks/JobManifestRecord.mock.js.map +0 -1
  457. package/lib/domains/job/manifest/mocks/JobManifestRequest.mock.js +0 -29
  458. package/lib/domains/job/manifest/mocks/JobManifestRequest.mock.js.map +0 -1
  459. package/lib/domains/job/model/Base/Base.js +0 -3
  460. package/lib/domains/job/model/Base/Base.js.map +0 -1
  461. package/lib/domains/job/model/Base/index.js +0 -18
  462. package/lib/domains/job/model/Base/index.js.map +0 -1
  463. package/lib/domains/job/model/Job/Job.js +0 -7
  464. package/lib/domains/job/model/Job/Job.js.map +0 -1
  465. package/lib/domains/job/model/Job/index.js +0 -22
  466. package/lib/domains/job/model/Job/index.js.map +0 -1
  467. package/lib/domains/job/model/Job/mocks/Job.mock.js +0 -28
  468. package/lib/domains/job/model/Job/mocks/Job.mock.js.map +0 -1
  469. package/lib/domains/job/model/Job/mocks/JobDto.mock.js +0 -39
  470. package/lib/domains/job/model/Job/mocks/JobDto.mock.js.map +0 -1
  471. package/lib/domains/job/model/Job/mocks/JobRecord.mock.js +0 -29
  472. package/lib/domains/job/model/Job/mocks/JobRecord.mock.js.map +0 -1
  473. package/lib/domains/job/model/Job/mocks/JobRequest.mock.js +0 -21
  474. package/lib/domains/job/model/Job/mocks/JobRequest.mock.js.map +0 -1
  475. package/lib/domains/job/model/JobContext/JobContext.js +0 -7
  476. package/lib/domains/job/model/JobContext/JobContext.js.map +0 -1
  477. package/lib/domains/job/model/JobContext/index.js +0 -22
  478. package/lib/domains/job/model/JobContext/index.js.map +0 -1
  479. package/lib/domains/job/model/JobContext/mocks/JobContext.mock.js +0 -35
  480. package/lib/domains/job/model/JobContext/mocks/JobContext.mock.js.map +0 -1
  481. package/lib/domains/job/model/JobContext/mocks/JobContextDto.mock.js +0 -46
  482. package/lib/domains/job/model/JobContext/mocks/JobContextDto.mock.js.map +0 -1
  483. package/lib/domains/job/model/JobContext/mocks/JobContextRecord.mock.js +0 -34
  484. package/lib/domains/job/model/JobContext/mocks/JobContextRecord.mock.js.map +0 -1
  485. package/lib/domains/job/model/JobContext/mocks/JobContextRequest.mock.js +0 -25
  486. package/lib/domains/job/model/JobContext/mocks/JobContextRequest.mock.js.map +0 -1
  487. package/lib/domains/job/model/JobExecution/JobExecution.js +0 -7
  488. package/lib/domains/job/model/JobExecution/JobExecution.js.map +0 -1
  489. package/lib/domains/job/model/JobExecution/index.js +0 -22
  490. package/lib/domains/job/model/JobExecution/index.js.map +0 -1
  491. package/lib/domains/job/model/JobExecution/mocks/JobExecution.mock.js +0 -45
  492. package/lib/domains/job/model/JobExecution/mocks/JobExecution.mock.js.map +0 -1
  493. package/lib/domains/job/model/JobExecution/mocks/JobExecutionDto.mock.js +0 -64
  494. package/lib/domains/job/model/JobExecution/mocks/JobExecutionDto.mock.js.map +0 -1
  495. package/lib/domains/job/model/JobExecution/mocks/JobExecutionRecord.mock.js +0 -48
  496. package/lib/domains/job/model/JobExecution/mocks/JobExecutionRecord.mock.js.map +0 -1
  497. package/lib/domains/job/model/JobExecution/mocks/JobExecutionRequest.mock.js +0 -25
  498. package/lib/domains/job/model/JobExecution/mocks/JobExecutionRequest.mock.js.map +0 -1
  499. package/lib/domains/job/repository/AbstractRepository.js +0 -174
  500. package/lib/domains/job/repository/AbstractRepository.js.map +0 -1
  501. package/lib/domains/job/repository/JobContextRepository/JobContextRepository.js +0 -169
  502. package/lib/domains/job/repository/JobContextRepository/JobContextRepository.js.map +0 -1
  503. package/lib/domains/job/repository/JobContextRepository/JobContextRepository.spec.js +0 -246
  504. package/lib/domains/job/repository/JobContextRepository/JobContextRepository.spec.js.map +0 -1
  505. package/lib/domains/job/repository/JobExecutionRepository/JobExecutionRepository.js +0 -276
  506. package/lib/domains/job/repository/JobExecutionRepository/JobExecutionRepository.js.map +0 -1
  507. package/lib/domains/job/repository/JobExecutionRepository/JobExecutionRepository.spec.js +0 -296
  508. package/lib/domains/job/repository/JobExecutionRepository/JobExecutionRepository.spec.js.map +0 -1
  509. package/lib/domains/job/repository/JobManifestRepository/JobManifestRepository.js +0 -133
  510. package/lib/domains/job/repository/JobManifestRepository/JobManifestRepository.js.map +0 -1
  511. package/lib/domains/job/repository/JobManifestRepository/JobManifestRepository.spec.js +0 -162
  512. package/lib/domains/job/repository/JobManifestRepository/JobManifestRepository.spec.js.map +0 -1
  513. package/lib/domains/job/repository/JobRepository/JobRepository.js +0 -189
  514. package/lib/domains/job/repository/JobRepository/JobRepository.js.map +0 -1
  515. package/lib/domains/job/repository/JobRepository/JobRepository.spec.js +0 -270
  516. package/lib/domains/job/repository/JobRepository/JobRepository.spec.js.map +0 -1
  517. package/lib/domains/job/repository/index.js +0 -22
  518. package/lib/domains/job/repository/index.js.map +0 -1
  519. package/lib/domains/job/repository/mocks/mockIoc.js +0 -40
  520. package/lib/domains/job/repository/mocks/mockIoc.js.map +0 -1
  521. package/lib/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.defs.js +0 -3
  522. package/lib/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.defs.js.map +0 -1
  523. package/lib/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.js +0 -139
  524. package/lib/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.js.map +0 -1
  525. package/lib/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.spec.js +0 -78
  526. package/lib/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.spec.js.map +0 -1
  527. package/lib/domains/job/services/index.js +0 -18
  528. package/lib/domains/job/services/index.js.map +0 -1
  529. package/lib/domains/job/singletonProvider.js +0 -14
  530. package/lib/domains/job/singletonProvider.js.map +0 -1
  531. package/lib/domains/job/transientProvider.js +0 -14
  532. package/lib/domains/job/transientProvider.js.map +0 -1
  533. package/lib/domains/job/utils/SlackClient/SlackClient.js +0 -113
  534. package/lib/domains/job/utils/SlackClient/SlackClient.js.map +0 -1
  535. package/lib/domains/job/utils/SlackClient/SlackClient.spec.js +0 -116
  536. package/lib/domains/job/utils/SlackClient/SlackClient.spec.js.map +0 -1
  537. package/lib/domains/job/utils/SlackClient/types/SlackClient.types.js +0 -28
  538. package/lib/domains/job/utils/SlackClient/types/SlackClient.types.js.map +0 -1
  539. package/lib/domains/job/utils/SortByTimeQueued/SortByTimeQueued.js +0 -21
  540. package/lib/domains/job/utils/SortByTimeQueued/SortByTimeQueued.js.map +0 -1
  541. package/lib/domains/job/utils/SortByTimeQueued/SortByTimeQueued.spec.js +0 -26
  542. package/lib/domains/job/utils/SortByTimeQueued/SortByTimeQueued.spec.js.map +0 -1
  543. package/lib/domains/job/utils/index.js +0 -20
  544. package/lib/domains/job/utils/index.js.map +0 -1
  545. package/lib/domains/manifest/AbstractManifest.d.ts +0 -38
  546. package/lib/domains/manifest/AbstractManifest.js +0 -45
  547. package/lib/domains/manifest/AbstractManifest.js.map +0 -1
  548. package/lib/domains/manifest/ManifestModel.js +0 -3
  549. package/lib/domains/manifest/ManifestModel.js.map +0 -1
  550. package/lib/domains/manifest/ManifestV1.d.ts +0 -18
  551. package/lib/domains/manifest/ManifestV1.js +0 -124
  552. package/lib/domains/manifest/ManifestV1.js.map +0 -1
  553. package/lib/domains/manifest/ManifestV1.spec.d.ts +0 -1
  554. package/lib/domains/manifest/ManifestV1.spec.js +0 -347
  555. package/lib/domains/manifest/ManifestV1.spec.js.map +0 -1
  556. package/lib/domains/manifest/errors/ManifestLocationError.d.ts +0 -5
  557. package/lib/domains/manifest/errors/ManifestLocationError.js +0 -13
  558. package/lib/domains/manifest/errors/ManifestLocationError.js.map +0 -1
  559. package/lib/domains/manifest/errors/ManifestValidationError.js +0 -12
  560. package/lib/domains/manifest/errors/ManifestValidationError.js.map +0 -1
  561. package/lib/domains/manifest/index.js +0 -33
  562. package/lib/domains/manifest/index.js.map +0 -1
  563. package/lib/domains/manifest/services/AbstractManifestService.d.ts +0 -49
  564. package/lib/domains/manifest/services/AbstractManifestService.js +0 -235
  565. package/lib/domains/manifest/services/AbstractManifestService.js.map +0 -1
  566. package/lib/domains/manifest/services/AbstractManifestService.spec.d.ts +0 -1
  567. package/lib/domains/manifest/services/AbstractManifestService.spec.js +0 -301
  568. package/lib/domains/manifest/services/AbstractManifestService.spec.js.map +0 -1
  569. package/lib/domains/manifest/services/ComponentFunctionService.d.ts +0 -35
  570. package/lib/domains/manifest/services/ComponentFunctionService.js +0 -129
  571. package/lib/domains/manifest/services/ComponentFunctionService.js.map +0 -1
  572. package/lib/domains/manifest/services/ComponentFunctionService.spec.d.ts +0 -1
  573. package/lib/domains/manifest/services/ComponentFunctionService.spec.js +0 -567
  574. package/lib/domains/manifest/services/ComponentFunctionService.spec.js.map +0 -1
  575. package/lib/domains/manifest/services/ComponentInputValidationService.d.ts +0 -5
  576. package/lib/domains/manifest/services/ComponentInputValidationService.js +0 -11
  577. package/lib/domains/manifest/services/ComponentInputValidationService.js.map +0 -1
  578. package/lib/domains/manifest/services/ComponentSchemaValidationService.js +0 -11
  579. package/lib/domains/manifest/services/ComponentSchemaValidationService.js.map +0 -1
  580. package/lib/domains/manifest/services/JobFunctionService.js +0 -23
  581. package/lib/domains/manifest/services/JobFunctionService.js.map +0 -1
  582. package/lib/domains/manifest/services/JobFunctionService.spec.js +0 -132
  583. package/lib/domains/manifest/services/JobFunctionService.spec.js.map +0 -1
  584. package/lib/domains/manifest/services/ManifestServiceForDev.js +0 -83
  585. package/lib/domains/manifest/services/ManifestServiceForDev.js.map +0 -1
  586. package/lib/domains/manifest/services/ManifestServiceForDev.spec.js +0 -184
  587. package/lib/domains/manifest/services/ManifestServiceForDev.spec.js.map +0 -1
  588. package/lib/domains/manifest/services/ManifestServiceForProduction.d.ts +0 -12
  589. package/lib/domains/manifest/services/ManifestServiceForProduction.js +0 -81
  590. package/lib/domains/manifest/services/ManifestServiceForProduction.js.map +0 -1
  591. package/lib/domains/manifest/services/ManifestServiceForProduction.spec.d.ts +0 -1
  592. package/lib/domains/manifest/services/ManifestServiceForProduction.spec.js +0 -81
  593. package/lib/domains/manifest/services/ManifestServiceForProduction.spec.js.map +0 -1
  594. package/lib/domains/manifest/utils/assertFuncEntryFilesAreValid.d.ts +0 -3
  595. package/lib/domains/manifest/utils/assertFuncEntryFilesAreValid.js +0 -14
  596. package/lib/domains/manifest/utils/assertFuncEntryFilesAreValid.js.map +0 -1
  597. package/lib/domains/manifest/utils/assertStaticFilesAreValid.d.ts +0 -3
  598. package/lib/domains/manifest/utils/assertStaticFilesAreValid.js +0 -27
  599. package/lib/domains/manifest/utils/assertStaticFilesAreValid.js.map +0 -1
  600. package/lib/domains/manifest/utils/assertStaticFilesHaveAbsolutePath.d.ts +0 -2
  601. package/lib/domains/manifest/utils/assertStaticFilesHaveAbsolutePath.js +0 -16
  602. package/lib/domains/manifest/utils/assertStaticFilesHaveAbsolutePath.js.map +0 -1
  603. package/lib/domains/manifest/utils/assertStaticFilesHaveAbsolutePath.spec.d.ts +0 -1
  604. package/lib/domains/manifest/utils/assertStaticFilesHaveAbsolutePath.spec.js +0 -111
  605. package/lib/domains/manifest/utils/assertStaticFilesHaveAbsolutePath.spec.js.map +0 -1
  606. package/lib/domains/manifest/utils/getAndAssertJobManifestVersion.js +0 -28
  607. package/lib/domains/manifest/utils/getAndAssertJobManifestVersion.js.map +0 -1
  608. package/lib/domains/manifest/utils/getAndAssertJobManifestVersion.spec.js +0 -115
  609. package/lib/domains/manifest/utils/getAndAssertJobManifestVersion.spec.js.map +0 -1
  610. package/lib/domains/manifest/utils/getAndAssertManifestVersion.d.ts +0 -3
  611. package/lib/domains/manifest/utils/getAndAssertManifestVersion.js +0 -23
  612. package/lib/domains/manifest/utils/getAndAssertManifestVersion.js.map +0 -1
  613. package/lib/domains/manifest/utils/getAndAssertManifestVersion.spec.d.ts +0 -1
  614. package/lib/domains/manifest/utils/getAndAssertManifestVersion.spec.js +0 -109
  615. package/lib/domains/manifest/utils/getAndAssertManifestVersion.spec.js.map +0 -1
  616. package/lib/domains/manifest/utils/isValidManifestVersion.js +0 -12
  617. package/lib/domains/manifest/utils/isValidManifestVersion.js.map +0 -1
  618. package/lib/domains/manifest/utils/isValidManifestVersion.spec.js +0 -19
  619. package/lib/domains/manifest/utils/isValidManifestVersion.spec.js.map +0 -1
  620. package/lib/domains/url/convertFunctionStaticFilesToFqdn.d.ts +0 -1
  621. package/lib/domains/url/convertFunctionStaticFilesToFqdn.js +0 -22
  622. package/lib/domains/url/convertFunctionStaticFilesToFqdn.js.map +0 -1
  623. package/lib/domains/url/convertFunctionStaticFilesToFqdn.spec.d.ts +0 -1
  624. package/lib/domains/url/convertFunctionStaticFilesToFqdn.spec.js +0 -16
  625. package/lib/domains/url/convertFunctionStaticFilesToFqdn.spec.js.map +0 -1
  626. package/lib/domains/url/convertFunctionStaticFilesToFqdnForPreview.d.ts +0 -1
  627. package/lib/domains/url/convertFunctionStaticFilesToFqdnForPreview.js +0 -22
  628. package/lib/domains/url/convertFunctionStaticFilesToFqdnForPreview.js.map +0 -1
  629. package/lib/domains/url/convertFunctionStaticFilesToFqdnForPreview.spec.d.ts +0 -1
  630. package/lib/domains/url/convertFunctionStaticFilesToFqdnForPreview.spec.js +0 -16
  631. package/lib/domains/url/convertFunctionStaticFilesToFqdnForPreview.spec.js.map +0 -1
  632. package/lib/domains/url/index.d.ts +0 -1
  633. package/lib/domains/url/index.js +0 -18
  634. package/lib/domains/url/index.js.map +0 -1
  635. package/lib/jest-global-setup.js +0 -22
  636. package/lib/jest-global-setup.js.map +0 -1
  637. package/src/TestHelpers.ts +0 -111
  638. package/src/domains/__test__/createPackage.ts +0 -48
  639. package/src/domains/__test__/loadAllUnitTestComponents.ts +0 -73
  640. package/src/domains/component/component-context/__mocks__/mockedManifestModel.ts +0 -30
  641. package/src/domains/component/component-context/__mocks__/mockedUriObj.ts +0 -38
  642. package/src/domains/component/component-context/__mocks__/mockedUriObjPreview.ts +0 -38
  643. package/src/domains/component/component-context/createComponentContextualFunctions.spec.ts +0 -299
  644. package/src/domains/component/component-context/createComponentContextualFunctions.ts +0 -108
  645. package/src/domains/component/errors/ComponentError.ts +0 -22
  646. package/src/domains/component/models/Component.spec.ts +0 -21
  647. package/src/domains/component/models/Component.ts +0 -16
  648. package/src/domains/component/models/ComponentVersion.spec.ts +0 -77
  649. package/src/domains/component/models/ComponentVersion.ts +0 -55
  650. package/src/domains/component/repositories/ComponentRepository.integration.spec.ts +0 -148
  651. package/src/domains/component/repositories/ComponentRepository.ts +0 -37
  652. package/src/domains/component/repositories/ComponentVersionRepository.integration.spec.ts +0 -523
  653. package/src/domains/component/repositories/ComponentVersionRepository.ts +0 -138
  654. package/src/domains/component/services/ComponentService.integration.spec.ts +0 -721
  655. package/src/domains/component/services/ComponentService.ts +0 -350
  656. package/src/domains/component/services/content-item-uri-resolver/ComponentContentUriResolverForPreview.spec.ts +0 -78
  657. package/src/domains/component/services/content-item-uri-resolver/ComponentContentUriResolverForPreview.ts +0 -18
  658. package/src/domains/component/utils/getComponentFileSystemFolder.spec.ts +0 -8
  659. package/src/domains/component/utils/getComponentFileSystemFolder.ts +0 -5
  660. package/src/domains/component/utils/getComponentName.spec.ts +0 -7
  661. package/src/domains/component/utils/getComponentName.ts +0 -3
  662. package/src/domains/component/utils/moveFilesAndDirectories.spec.ts +0 -62
  663. package/src/domains/component/utils/moveFilesAndDirectories.ts +0 -27
  664. package/src/domains/component/web-models/ComponentForWeb.ts +0 -11
  665. package/src/domains/component/web-models/ComponentVersionWebModel.ts +0 -16
  666. package/src/domains/component/web-models/ComponentsForWeb.ts +0 -17
  667. package/src/domains/component-set/errors/InvalidEnvironmentVariablesError.ts +0 -11
  668. package/src/domains/component-set/index.ts +0 -18
  669. package/src/domains/component-set/models/ComponentSet.spec.ts +0 -66
  670. package/src/domains/component-set/models/ComponentSet.ts +0 -67
  671. package/src/domains/component-set/models/ComponentSetComponentVersion.spec.ts +0 -106
  672. package/src/domains/component-set/models/ComponentSetComponentVersion.ts +0 -54
  673. package/src/domains/component-set/models/ComponentSetComponentVersionEditable.spec.ts +0 -82
  674. package/src/domains/component-set/models/ComponentSetComponentVersionEditable.ts +0 -46
  675. package/src/domains/component-set/models/ComponentSetComponentVersionExcluded.spec.ts +0 -46
  676. package/src/domains/component-set/models/ComponentSetComponentVersionExcluded.ts +0 -26
  677. package/src/domains/component-set/models/ComponentSetRule.spec.ts +0 -39
  678. package/src/domains/component-set/models/ComponentSetRule.ts +0 -37
  679. package/src/domains/component-set/repositories/ComponentSetComponentVersionEditableRepository.integration.spec.ts +0 -172
  680. package/src/domains/component-set/repositories/ComponentSetComponentVersionEditableRepository.ts +0 -47
  681. package/src/domains/component-set/repositories/ComponentSetComponentVersionExcludedRepository.integration.spec.ts +0 -172
  682. package/src/domains/component-set/repositories/ComponentSetComponentVersionExcludedRepository.ts +0 -47
  683. package/src/domains/component-set/repositories/ComponentSetComponentVersionRepository.integration.spec.ts +0 -229
  684. package/src/domains/component-set/repositories/ComponentSetComponentVersionRepository.ts +0 -37
  685. package/src/domains/component-set/repositories/ComponentSetRepository.integration.spec.ts +0 -199
  686. package/src/domains/component-set/repositories/ComponentSetRepository.ts +0 -68
  687. package/src/domains/component-set/repositories/ComponentSetRuleRepository.integration.spec.ts +0 -107
  688. package/src/domains/component-set/repositories/ComponentSetRuleRepository.ts +0 -40
  689. package/src/domains/component-set/services/ComponentSetRuleService.integration.spec.ts +0 -137
  690. package/src/domains/component-set/services/ComponentSetRuleService.ts +0 -34
  691. package/src/domains/component-set/services/ComponentSetService.spec.ts +0 -144
  692. package/src/domains/component-set/services/ComponentSetService.ts +0 -82
  693. package/src/domains/component-set/services/ComponentSetServiceForLocalDev.spec.ts +0 -209
  694. package/src/domains/component-set/services/ComponentSetServiceForLocalDev.ts +0 -111
  695. package/src/domains/component-set/services/ComponentSetServiceForProduction.integration.spec.ts +0 -2898
  696. package/src/domains/component-set/services/ComponentSetServiceForProduction.ts +0 -839
  697. package/src/domains/component-set/services/EnvironmentVariables.ts +0 -1
  698. package/src/domains/component-set/services/Headers.ts +0 -1
  699. package/src/domains/component-set/services/RuntimeComponentSet.ts +0 -7
  700. package/src/domains/component-set/web-models/ComponentSetComponentVersionForWeb.ts +0 -7
  701. package/src/domains/component-set/web-models/ComponentSetForWeb.ts +0 -83
  702. package/src/domains/content/index.ts +0 -4
  703. package/src/domains/content/services/ComponentContentSchemaService.spec.ts +0 -264
  704. package/src/domains/content/services/ComponentContentSchemaService.ts +0 -53
  705. package/src/domains/content/services/ContentItemService.spec.ts +0 -108
  706. package/src/domains/content/services/ContentItemService.ts +0 -34
  707. package/src/domains/content/services/DynamicContentItemService.spec.ts +0 -97
  708. package/src/domains/content/services/DynamicContentItemService.ts +0 -30
  709. package/src/domains/content/utils/getContentSchemaName.spec.ts +0 -7
  710. package/src/domains/content/utils/getContentSchemaName.ts +0 -7
  711. package/src/domains/db/ComponentConnectionManager.ts +0 -4
  712. package/src/domains/db/ComponentRepositories.ts +0 -31
  713. package/src/domains/db/createConnectionManager.ts +0 -24
  714. package/src/domains/db/index.ts +0 -3
  715. package/src/domains/db/migration-list.ts +0 -16
  716. package/src/domains/manifest/AbstractManifest.ts +0 -57
  717. package/src/domains/manifest/ManifestV1.spec.ts +0 -436
  718. package/src/domains/manifest/ManifestV1.ts +0 -146
  719. package/src/domains/manifest/errors/ManifestLocationError.ts +0 -9
  720. package/src/domains/manifest/services/AbstractManifestService.spec.ts +0 -427
  721. package/src/domains/manifest/services/AbstractManifestService.ts +0 -316
  722. package/src/domains/manifest/services/ComponentFunctionService.spec.ts +0 -683
  723. package/src/domains/manifest/services/ComponentFunctionService.ts +0 -178
  724. package/src/domains/manifest/services/ComponentInputValidationService.ts +0 -22
  725. package/src/domains/manifest/services/ManifestServiceForProduction.spec.ts +0 -90
  726. package/src/domains/manifest/services/ManifestServiceForProduction.ts +0 -98
  727. package/src/domains/manifest/utils/assertFuncEntryFilesAreValid.ts +0 -19
  728. package/src/domains/manifest/utils/assertStaticFilesAreValid.ts +0 -37
  729. package/src/domains/manifest/utils/assertStaticFilesHaveAbsolutePath.spec.ts +0 -121
  730. package/src/domains/manifest/utils/assertStaticFilesHaveAbsolutePath.ts +0 -15
  731. package/src/domains/manifest/utils/getAndAssertManifestVersion.spec.ts +0 -134
  732. package/src/domains/manifest/utils/getAndAssertManifestVersion.ts +0 -27
  733. package/src/domains/url/convertFunctionStaticFilesToFqdn.spec.ts +0 -24
  734. package/src/domains/url/convertFunctionStaticFilesToFqdn.ts +0 -25
  735. package/src/domains/url/convertFunctionStaticFilesToFqdnForPreview.spec.ts +0 -48
  736. package/src/domains/url/convertFunctionStaticFilesToFqdnForPreview.ts +0 -25
  737. package/src/domains/url/index.ts +0 -1
  738. package/src/migrations/20220704054051_initial.sql +0 -19
  739. package/src/migrations/20220718172237_adding_component_sets.sql +0 -23
  740. package/src/migrations/20220728113941_add_env_vars_field.sql +0 -1
  741. package/src/migrations/20220817113300_removing_null_props_from_jsonb.sql +0 -41
  742. package/src/migrations/20221027151225_dummy.sql +0 -2
  743. package/src/migrations/20221117151200_add_detail_columns_to_component_version.js +0 -49
  744. package/src/migrations/20221220151200_add_required_to_manifests.js +0 -61
  745. package/src/migrations/20221222151200_add_required_to_manifests.js +0 -138
  746. package/src/migrations/20223525103556_component_set_rule.sql +0 -19
  747. package/src/migrations/20230111095522_update_environment_property.js +0 -72
  748. package/src/migrations/20230203084900_ensure_static_root_exists.js +0 -57
  749. package/src/migrations/20230210143300_lowercase_all_uri_names.js +0 -106
  750. package/src/migrations/20230217151212_component_set_component_version_updates.sql +0 -38
  751. package/src/migrations/20230218121212_add_component_set_rules.js +0 -31
  752. /package/lib/domains/{component-set/models/ComponentSet.spec.d.ts → job/services/JobContextService/JobContextService.spec.d.ts} +0 -0
  753. /package/lib/domains/{component-set/models/ComponentSetComponentVersion.spec.d.ts → job/services/JobManifestService/JobManifestService.spec.d.ts} +0 -0
  754. /package/lib/domains/{component-set/models/ComponentSetComponentVersionEditable.spec.d.ts → job/utils/GetAwsTags/GetAwsTags.spec.d.ts} +0 -0
  755. /package/lib/{domains/job/repository/mocks → mocks}/mockIoc.d.ts +0 -0
@@ -0,0 +1,77 @@
1
+ /*!
2
+ * @license
3
+ * Copyright Squiz Australia Pty Ltd. All Rights Reserved.
4
+ */
5
+
6
+ import { inject } from 'inversify';
7
+ import { JobContextRepository } from '../../repository';
8
+ import { provideSingleton } from '../../singletonProvider';
9
+ import {
10
+ encodeTokenString,
11
+ getFormattedResponse,
12
+ PaginationFormattedResponse,
13
+ PaginationInfo,
14
+ PaginationKey,
15
+ PaginationResponse,
16
+ PaginationService,
17
+ } from '../../core/pagination';
18
+ import { CreateJobContextRequest, JobContext, JobContextDto, UpdateJobContextRequest } from '../../model/JobContext';
19
+
20
+ @provideSingleton(JobContextService)
21
+ export class JobContextService {
22
+ constructor(
23
+ @inject(JobContextRepository) protected jobContextRepository: JobContextRepository,
24
+ @inject(PaginationService) protected paginationService: PaginationService<JobContext>,
25
+ ) {}
26
+
27
+ public async createJobContext(input: CreateJobContextRequest): Promise<JobContext> {
28
+ return this.jobContextRepository.create(input);
29
+ }
30
+
31
+ public async updateJobContext(name: string, input: UpdateJobContextRequest): Promise<JobContext | null> {
32
+ return this.jobContextRepository.update(name, input);
33
+ }
34
+
35
+ public async listAllJobContexts(): Promise<Array<JobContext>> {
36
+ return this.jobContextRepository.list();
37
+ }
38
+
39
+ public async listJobContexts(paginationInfo: PaginationInfo): Promise<PaginationFormattedResponse<JobContext>> {
40
+ const { links, data } = await this.listContextsUpToLimit(paginationInfo);
41
+
42
+ return getFormattedResponse<JobContext>({ links, data });
43
+ }
44
+
45
+ private async listContextsUpToLimit(paginationInfo: PaginationInfo): Promise<PaginationResponse<JobContext>> {
46
+ const { limit, token } = paginationInfo;
47
+
48
+ let currentToken = token;
49
+ const contexts: Array<JobContext> = [];
50
+
51
+ do {
52
+ const newRequestData = {
53
+ ...paginationInfo,
54
+ token: currentToken,
55
+ };
56
+
57
+ const { items, lastEvaluatedKey } = await this.jobContextRepository.getContexts(newRequestData);
58
+
59
+ contexts.push(...items);
60
+ currentToken = lastEvaluatedKey
61
+ ? encodeTokenString(lastEvaluatedKey as unknown as PaginationKey<JobContextDto>)
62
+ : null;
63
+ } while (currentToken && contexts.length < limit);
64
+
65
+ return this.paginationService.addPaginationLinksToResponse(contexts, paginationInfo, currentToken, (context) =>
66
+ this.jobContextRepository.convertToDynamoDbItem(context),
67
+ );
68
+ }
69
+
70
+ public async findJobContext(contextName: string): Promise<JobContext | null> {
71
+ return this.jobContextRepository.findOne(contextName);
72
+ }
73
+
74
+ public async deleteJobContext(contextName: string): Promise<void> {
75
+ return await this.jobContextRepository.delete(contextName);
76
+ }
77
+ }
@@ -1,3 +1,5 @@
1
+ import { JobExecution } from '../../model/JobExecution';
2
+
1
3
  /**
2
4
  * The required parameters for retrieving the number of running ECS tasks
3
5
  */
@@ -7,34 +9,16 @@ export interface ListRunningTasksParams {
7
9
  maxTenantConcurrentTasks: number;
8
10
  }
9
11
 
10
- /**
11
- * The parameters required for the logging service configuration.
12
- */
13
- interface LoggingServiceConfig {
14
- enabled: boolean;
15
- tags: string;
16
- credentials: string;
17
- }
18
-
19
12
  /**
20
13
  * The parameters required for running a job as an ECS task.
21
14
  */
22
15
  export interface RunJobTaskParams {
23
- jobName: string;
24
- jobVersion: string;
25
- jobExecutionId: string;
16
+ jobExecution: JobExecution;
26
17
  awsRegion: string;
27
18
  shortRegion: string;
28
19
  shortEnvironment: string;
29
20
  clusterArn: string;
30
21
  subnets: Array<string>;
31
- maxTenantConcurrentTasks: number;
32
- runtimeTaskFamily: string;
33
22
  taskDefinitionArn: string;
34
- containerName: string;
35
- bucketName: string;
36
- jobRunnerApiUrl: string;
37
- loggingServiceApiConfig: LoggingServiceConfig;
38
- dynamoTableName: string;
39
23
  tenantId: string;
40
24
  }
@@ -1,26 +1,67 @@
1
- import { ECSClient } from '@aws-sdk/client-ecs';
1
+ import 'aws-sdk-client-mock-jest';
2
+ import { AwsClientStub, mockClient } from 'aws-sdk-client-mock';
3
+ import { ECSClient, ListTasksCommand, RunTaskCommand } from '@aws-sdk/client-ecs';
4
+ import { faker } from '@faker-js/faker';
2
5
  import { JobExecutionTaskService } from './JobExecutionTaskService';
6
+ import { JobManifestService } from '../JobManifestService/JobManifestService';
7
+ import { JobContextService } from '../JobContextService/JobContextService';
8
+ import { JobDetailsRepository, S3Repository } from '../../S3Repository';
9
+ import { createMockJobExecution } from '../../model/JobExecution';
10
+ import { createMockJobContext } from '../../model/JobContext';
11
+ import { createMockJobManifest } from '../../manifest';
12
+ import { RunJobTaskParams } from './JobExecutionTaskService.defs';
3
13
 
4
14
  describe('JobExecutionTaskService', () => {
5
- const mockSend = jest.fn();
6
-
7
- let mockEcsClient: ECSClient;
15
+ let mockEcsClient: AwsClientStub<ECSClient>;
16
+ let mockJobManifestService: jest.Mocked<JobManifestService>;
17
+ let mockJobContextService: jest.Mocked<JobContextService>;
18
+ let mockJobDetailsRepository: jest.Mocked<JobDetailsRepository>;
19
+ let mockJobUploadRepository: jest.Mocked<S3Repository>;
8
20
  let jobExecutionTaskService: JobExecutionTaskService;
9
21
 
22
+ const jobDetailsSignedUrl = faker.internet.url();
23
+ const jobCodeArtifactSignedUrl = faker.internet.url();
24
+ const defaultRunJobTaskParams: RunJobTaskParams = {
25
+ jobExecution: createMockJobExecution(),
26
+ awsRegion: 'ap-southeast-2',
27
+ shortRegion: 'au',
28
+ shortEnvironment: 'dev',
29
+ clusterArn: `clusterArn`,
30
+ subnets: ['subnet1'],
31
+ taskDefinitionArn: `taskDefinitionArn`,
32
+ tenantId: 'some_tenant',
33
+ };
34
+
10
35
  beforeEach(() => {
11
36
  jest.resetAllMocks();
12
37
 
13
- mockEcsClient = {
14
- send: mockSend,
15
- } as unknown as ECSClient;
16
-
17
- jobExecutionTaskService = new JobExecutionTaskService(mockEcsClient);
38
+ mockEcsClient = mockClient(ECSClient);
39
+ mockJobManifestService = {
40
+ findJobManifest: jest.fn(),
41
+ } as unknown as jest.Mocked<JobManifestService>;
42
+ mockJobContextService = {
43
+ findJobContext: jest.fn(),
44
+ } as unknown as jest.Mocked<JobContextService>;
45
+ mockJobDetailsRepository = {
46
+ createJobDetailsFile: jest.fn(),
47
+ getS3SignedUrl: jest.fn().mockResolvedValue(jobDetailsSignedUrl),
48
+ } as unknown as jest.Mocked<JobDetailsRepository>;
49
+ mockJobUploadRepository = {
50
+ getS3SignedUrl: jest.fn().mockResolvedValue(jobCodeArtifactSignedUrl),
51
+ } as unknown as jest.Mocked<S3Repository>;
52
+
53
+ jobExecutionTaskService = new JobExecutionTaskService(
54
+ new ECSClient({}),
55
+ mockJobManifestService,
56
+ mockJobContextService,
57
+ mockJobDetailsRepository,
58
+ mockJobUploadRepository,
59
+ );
18
60
  });
19
61
 
20
62
  describe(`getTenantRunningTasks`, () => {
21
63
  it('should 0 if no tasks were found', async (): Promise<void> => {
22
- mockSend.mockImplementationOnce(() => Promise.resolve({}));
23
-
64
+ mockEcsClient.on(ListTasksCommand).resolves({});
24
65
  const response = await (jobExecutionTaskService as any).getTenantRunningTasks({
25
66
  clusterArn: `clusterArn`,
26
67
  runtimeTaskFamily: 'some_family',
@@ -33,7 +74,7 @@ describe('JobExecutionTaskService', () => {
33
74
 
34
75
  describe(`hasReachedMaxTenantConcurrency`, () => {
35
76
  it('should return false if number of running jobs is less than max', async (): Promise<void> => {
36
- mockSend.mockImplementationOnce(() => Promise.resolve({ taskArns: ['12345', '67890'] }));
77
+ mockEcsClient.on(ListTasksCommand).resolves({ taskArns: ['12345', '67890'] });
37
78
 
38
79
  const response = await jobExecutionTaskService.hasReachedMaxTenantConcurrency({
39
80
  clusterArn: `clusterArn`,
@@ -45,7 +86,7 @@ describe('JobExecutionTaskService', () => {
45
86
  });
46
87
 
47
88
  it('should return true if number of running jobs is more than max', async (): Promise<void> => {
48
- mockSend.mockImplementationOnce(() => Promise.resolve({ taskArns: ['12345', '67890'] }));
89
+ mockEcsClient.on(ListTasksCommand).resolves({ taskArns: ['12345', '67890'] });
49
90
 
50
91
  const response = await jobExecutionTaskService.hasReachedMaxTenantConcurrency({
51
92
  clusterArn: `clusterArn`,
@@ -61,35 +102,110 @@ describe('JobExecutionTaskService', () => {
61
102
  it('should return task arn after starting an ECS task', async (): Promise<void> => {
62
103
  const mockArn = `mock-arn`;
63
104
  const mockTask = { taskArn: mockArn };
64
- mockSend.mockImplementationOnce(() => Promise.resolve({ tasks: [mockTask] }));
65
-
66
- const response = await jobExecutionTaskService.runJobExecutionTask({
67
- jobExecutionId: `${new Date().toISOString()}-jobExecutionId`,
68
- jobName: `jobName`,
69
- jobVersion: `jobVersion`,
70
- jobRunnerApiUrl: `jobRunnerApiUrl`,
105
+ const jobContext = createMockJobContext();
106
+ const jobManifest = createMockJobManifest();
107
+ const jobExecution = createMockJobExecution({
108
+ id: `${new Date().toISOString()}-jobExecutionId`,
109
+ jobName: 'jobName',
110
+ version: 'jobVersion',
111
+ });
71
112
 
72
- maxTenantConcurrentTasks: 20,
73
- runtimeTaskFamily: 'some_family',
74
- bucketName: `bucketName`,
75
- containerName: `containerName`,
113
+ mockEcsClient.on(RunTaskCommand).resolves({ tasks: [mockTask] });
114
+ mockJobContextService.findJobContext.mockResolvedValue(jobContext);
115
+ mockJobManifestService.findJobManifest.mockResolvedValue(jobManifest);
76
116
 
77
- awsRegion: 'ap-southeast-2',
78
- shortRegion: 'au',
79
- shortEnvironment: 'dev',
80
- clusterArn: `clusterArn`,
81
- subnets: [],
82
- taskDefinitionArn: `taskDefinitionArn`,
117
+ const response = await jobExecutionTaskService.runJobExecutionTask({
118
+ ...defaultRunJobTaskParams,
119
+ jobExecution: jobExecution,
120
+ });
83
121
 
84
- loggingServiceApiConfig: {
85
- credentials: ``,
86
- enabled: false,
87
- tags: ``,
122
+ expect(response).toBe(mockArn);
123
+ expect(mockEcsClient).toHaveReceivedCommandWith(RunTaskCommand, {
124
+ cluster: 'clusterArn',
125
+ launchType: 'FARGATE',
126
+ networkConfiguration: { awsvpcConfiguration: { subnets: ['subnet1'] } },
127
+ overrides: {
128
+ containerOverrides: [
129
+ {
130
+ name: 'job-runtime-container',
131
+ environment: [
132
+ {
133
+ name: 'JOB_NAME',
134
+ value: jobExecution.jobName,
135
+ },
136
+ {
137
+ name: 'JOB_EXECUTION_ID',
138
+ value: jobExecution.id,
139
+ },
140
+ {
141
+ name: 'AWS_REGION',
142
+ value: defaultRunJobTaskParams.awsRegion,
143
+ },
144
+ {
145
+ name: 'TENANT_ID',
146
+ value: defaultRunJobTaskParams.tenantId,
147
+ },
148
+ {
149
+ name: 'SHORT_ENVIRONMENT',
150
+ value: defaultRunJobTaskParams.shortEnvironment,
151
+ },
152
+ {
153
+ name: 'SHORT_REGION',
154
+ value: defaultRunJobTaskParams.shortRegion,
155
+ },
156
+ {
157
+ name: 'JOB_CODE_ARTIFACT_URL',
158
+ value: jobCodeArtifactSignedUrl,
159
+ },
160
+ {
161
+ name: 'JOB_DETAILS_FILE_URL',
162
+ value: jobDetailsSignedUrl,
163
+ },
164
+ ],
165
+ },
166
+ ],
88
167
  },
89
- dynamoTableName: `dynamo`,
90
- tenantId: 'some_tenant',
168
+ tags: [
169
+ { key: 'Environment', value: defaultRunJobTaskParams.shortEnvironment },
170
+ { key: 'Region', value: defaultRunJobTaskParams.awsRegion },
171
+ { key: 'Product', value: 'job-runner' },
172
+ { key: 'Department', value: 'platform services team' },
173
+ { key: 'Purpose', value: 'job runner service' },
174
+ { key: 'map-migrated', value: 'migUJ1IX3DUXG' },
175
+ { key: 'cmp:tenant', value: 'some_tenant' },
176
+ ],
177
+ taskDefinition: defaultRunJobTaskParams.taskDefinitionArn,
91
178
  });
92
- expect(response).toBe(mockArn);
179
+ expect(mockJobDetailsRepository.createJobDetailsFile).toHaveBeenCalledWith(
180
+ `${defaultRunJobTaskParams.tenantId}/${jobExecution.id}`,
181
+ jobContext,
182
+ jobManifest,
183
+ jobExecution,
184
+ );
185
+ expect(mockJobUploadRepository.getS3SignedUrl).toHaveBeenCalledWith(
186
+ `${jobExecution.jobName}/${jobExecution.version}/export.zip`,
187
+ );
188
+ });
189
+
190
+ it('should run the task if the job manifest and context do not exist', async () => {
191
+ // We don't allow deleting jobs but contexts can be deleted. Allow the job to be run even if they have been
192
+ // deleted and error inside of the container so that:
193
+ // 1. We don't block the queue with potentially broken executions.
194
+ // 2. Job status/logs more clearly indicate the job is broken rather than potentially remaining queued.
195
+ const mockArn = `mock-arn`;
196
+
197
+ mockEcsClient.on(RunTaskCommand).resolves({ tasks: [{ taskArn: mockArn }] });
198
+ mockJobContextService.findJobContext.mockResolvedValue(null);
199
+ mockJobManifestService.findJobManifest.mockResolvedValue(null);
200
+
201
+ await jobExecutionTaskService.runJobExecutionTask(defaultRunJobTaskParams);
202
+
203
+ expect(mockJobDetailsRepository.createJobDetailsFile).toHaveBeenCalledWith(
204
+ `${defaultRunJobTaskParams.tenantId}/${defaultRunJobTaskParams.jobExecution.id}`,
205
+ null,
206
+ null,
207
+ defaultRunJobTaskParams.jobExecution,
208
+ );
93
209
  });
94
210
  });
95
211
  });
@@ -3,21 +3,29 @@
3
3
  * Copyright Squiz Australia Pty Ltd. All Rights Reserved.
4
4
  */
5
5
 
6
- import { ECSClient, LaunchType, ListTasksCommand, RunTaskCommand } from '@aws-sdk/client-ecs';
7
- import path from 'path';
8
- import { JOB_EXECUTION_STATUS } from '../../constants/JobExecutionStatus.constants';
6
+ import { DesiredStatus, ECSClient, LaunchType, ListTasksCommand, RunTaskCommand } from '@aws-sdk/client-ecs';
7
+ import { getAwsTags } from '../../utils';
9
8
  import { ListRunningTasksParams, RunJobTaskParams } from './JobExecutionTaskService.defs';
9
+ import { JobDetailsRepository, S3Repository } from '../../S3Repository';
10
+ import { JobExecution } from '../../model/JobExecution';
11
+ import { JobManifestService } from '../JobManifestService/JobManifestService';
12
+ import { JobContextService } from '../JobContextService/JobContextService';
10
13
 
11
14
  export class JobExecutionTaskService {
12
- constructor(protected ecsClient: ECSClient) {}
15
+ constructor(
16
+ private readonly ecsClient: ECSClient,
17
+ private readonly jobManifestService: JobManifestService,
18
+ private readonly jobContextService: JobContextService,
19
+ private readonly jobDetailsRepository: JobDetailsRepository,
20
+ private readonly jobUploadRepository: S3Repository,
21
+ ) {}
13
22
 
14
23
  protected async getTenantRunningTasks(params: ListRunningTasksParams): Promise<number> {
15
24
  const input = {
16
- // ListTasksRequest
17
25
  cluster: params.clusterArn,
18
26
  family: params.runtimeTaskFamily,
19
27
  maxResults: params.maxTenantConcurrentTasks + 1,
20
- desiredStatus: JOB_EXECUTION_STATUS.running,
28
+ desiredStatus: DesiredStatus.RUNNING,
21
29
  };
22
30
  const command = new ListTasksCommand(input);
23
31
  const response = await this.ecsClient.send(command);
@@ -31,6 +39,50 @@ export class JobExecutionTaskService {
31
39
  }
32
40
 
33
41
  public async runJobExecutionTask(params: RunJobTaskParams): Promise<string | undefined> {
42
+ const jobDetailsFileUrl = await this.createJobDetailsFile(params.tenantId, params.jobExecution);
43
+ const tags = getAwsTags({
44
+ tenant: params.tenantId,
45
+ region: params.awsRegion,
46
+ environment: params.shortEnvironment,
47
+ });
48
+
49
+ const environmentVariables = [
50
+ {
51
+ name: 'JOB_NAME',
52
+ value: params.jobExecution.jobName,
53
+ },
54
+ {
55
+ name: 'JOB_EXECUTION_ID',
56
+ value: params.jobExecution.id,
57
+ },
58
+ {
59
+ name: 'AWS_REGION',
60
+ value: params.awsRegion,
61
+ },
62
+ {
63
+ name: 'TENANT_ID',
64
+ value: params.tenantId,
65
+ },
66
+ {
67
+ name: 'SHORT_ENVIRONMENT',
68
+ value: params.shortEnvironment,
69
+ },
70
+ {
71
+ name: 'SHORT_REGION',
72
+ value: params.shortRegion,
73
+ },
74
+ {
75
+ name: 'JOB_CODE_ARTIFACT_URL',
76
+ value: await this.jobUploadRepository.getS3SignedUrl(
77
+ `${params.jobExecution.jobName}/${params.jobExecution.version}/export.zip`,
78
+ ),
79
+ },
80
+ {
81
+ name: 'JOB_DETAILS_FILE_URL',
82
+ value: jobDetailsFileUrl,
83
+ },
84
+ ];
85
+
34
86
  const result = await this.ecsClient.send(
35
87
  new RunTaskCommand({
36
88
  cluster: params.clusterArn,
@@ -44,88 +96,17 @@ export class JobExecutionTaskService {
44
96
  overrides: {
45
97
  containerOverrides: [
46
98
  {
47
- name: params.containerName,
48
- environment: [
49
- {
50
- name: 'CONTAINER_NAME',
51
- value: params.containerName,
52
- },
53
- {
54
- name: 'JOB_NAME',
55
- value: params.jobName,
56
- },
57
- {
58
- name: 'JOB_EXECUTION_ID',
59
- value: params.jobExecutionId,
60
- },
61
- {
62
- name: 'JOB_LOCATION_BUCKET',
63
- value: params.bucketName,
64
- },
65
- {
66
- name: 'JOB_LOCATION_KEY',
67
- value: path.join(params.jobName, params.jobVersion, 'export.zip'),
68
- },
69
- {
70
- name: 'JOB_RUNNER_API_URL',
71
- value: params.jobRunnerApiUrl,
72
- },
73
- {
74
- name: 'AWS_REGION',
75
- value: params.awsRegion,
76
- },
77
- {
78
- name: 'CLUSTER_ARN',
79
- value: params.clusterArn,
80
- },
81
- {
82
- name: 'SUBNETS_STRING',
83
- value: params.subnets.join('_'),
84
- },
85
- {
86
- name: 'MAX_TENANT_CONCURRENT_TASKS',
87
- value: params.maxTenantConcurrentTasks.toString(),
88
- },
89
- {
90
- name: 'RUNTIME_TASK_FAMILY',
91
- value: params.runtimeTaskFamily,
92
- },
93
- {
94
- name: 'RUNTIME_TASK_DEFINITION_ARN',
95
- value: params.taskDefinitionArn,
96
- },
97
- {
98
- name: 'LOGGING_SERVICE_API_ENABLED',
99
- value: params.loggingServiceApiConfig.enabled.toString(),
100
- },
101
- {
102
- name: 'LOGGING_SERVICE_API_TAGS',
103
- value: params.loggingServiceApiConfig.tags,
104
- },
105
- {
106
- name: 'LOGGING_SERVICE_API_CREDENTIALS',
107
- value: params.loggingServiceApiConfig.credentials,
108
- },
109
- {
110
- name: 'DYNAMODB_TABLE',
111
- value: params.dynamoTableName,
112
- },
113
- {
114
- name: 'TENANT_ID',
115
- value: params.tenantId,
116
- },
117
- {
118
- name: 'SHORT_ENVIRONMENT',
119
- value: params.shortEnvironment,
120
- },
121
- {
122
- name: 'SHORT_REGION',
123
- value: params.shortRegion,
124
- },
125
- ],
99
+ name: 'job-runtime-container',
100
+ environment: environmentVariables,
126
101
  },
127
102
  ],
128
103
  },
104
+ tags: [
105
+ ...Object.entries(tags).map(([key, value]) => ({
106
+ key,
107
+ value,
108
+ })),
109
+ ],
129
110
  }),
130
111
  );
131
112
 
@@ -135,4 +116,16 @@ export class JobExecutionTaskService {
135
116
  const task = result.tasks![0];
136
117
  return task.taskArn;
137
118
  }
119
+
120
+ private async createJobDetailsFile(tenantId: string, executionToStart: JobExecution): Promise<string> {
121
+ const jobDetailsFileName = JobDetailsRepository.createJobDetailsFileName(tenantId, executionToStart.id);
122
+ const jobManifest = await this.jobManifestService.findJobManifest(
123
+ executionToStart.jobName,
124
+ executionToStart.version,
125
+ );
126
+ const jobContext = await this.jobContextService.findJobContext(executionToStart.context);
127
+
128
+ await this.jobDetailsRepository.createJobDetailsFile(jobDetailsFileName, jobContext, jobManifest, executionToStart);
129
+ return await this.jobDetailsRepository.getS3SignedUrl(jobDetailsFileName);
130
+ }
138
131
  }