@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
@@ -1,3 +1 @@
1
1
  export declare const testLogger: import("winston").Logger;
2
- declare const _default: () => Promise<void>;
3
- export default _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@squiz/job-runner-lib",
3
- "version": "1.66.2",
3
+ "version": "2.2.0",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "private": false,
@@ -8,52 +8,42 @@
8
8
  "access": "public"
9
9
  },
10
10
  "scripts": {
11
- "compile": "node build.js && tsc",
11
+ "compile": "npm run clean && npm run build && tsc",
12
+ "build": "node build.js",
12
13
  "test": "jest -c jest.config.ts",
13
- "test:integration": "jest -c jest.integration.config.ts",
14
14
  "test:update-snapshots": "jest -c jest.config.ts --updateSnapshot",
15
15
  "clean": "rimraf \"tsconfig.tsbuildinfo\" \"./lib\""
16
16
  },
17
17
  "author": "",
18
18
  "license": "ISC",
19
19
  "devDependencies": {
20
- "@types/archiver": "5.3.1",
21
- "@types/cli-color": "^2.0.6",
22
- "@types/express": "4.17.17",
20
+ "@faker-js/faker": "8.0.2",
21
+ "@squiz/virus-scanner-lib": "^1.66.1",
22
+ "@types/cli-color": "2.0.6",
23
23
  "@types/fs-extra": "11.0.1",
24
- "@types/http-errors": "2.0.1",
25
24
  "@types/jest": "28.1.8",
26
- "@types/node": "20.12.4",
27
- "@types/semver": "7.3.12",
28
- "archiver": "5.3.1",
25
+ "@types/node": "22.9.0",
26
+ "aws-sdk-client-mock": "^2.2.0",
27
+ "aws-sdk-client-mock-jest": "^2.2.0",
29
28
  "dotenv": "16.0.3",
30
- "jest": "29.4.1",
31
- "rimraf": "4.1.2",
32
- "ts-jest": "29.0.5",
33
- "ts-loader": "9.3.1",
34
- "ts-node": "10.9.1",
35
- "typescript": "4.9.4",
36
- "unzipper": "0.10.14"
29
+ "esbuild": "^0.25.8"
37
30
  },
38
31
  "dependencies": {
39
- "@aws-sdk/client-dynamodb": "3.427.0",
40
- "@aws-sdk/client-ecs": "3.348.0",
41
- "@faker-js/faker": "8.0.2",
42
- "@squiz/component-logger-lib": "^1.67.0",
43
- "@squiz/component-web-api-lib": "^1.65.0",
44
- "@squiz/db-lib": "^1.64.0",
32
+ "@aws-sdk/client-dynamodb": "3.848.0",
33
+ "@aws-sdk/client-ecs": "3.848.0",
34
+ "@aws-sdk/client-s3": "3.850.0",
35
+ "@aws-sdk/s3-request-presigner": "3.850.0",
45
36
  "@squiz/dx-common-lib": "^1.66.1",
46
37
  "@squiz/dx-json-schema-lib": "1.78.1",
47
38
  "@squiz/dx-logger-lib": "^1.64.0",
48
- "@types/unzipper": "0.10.5",
49
- "axios": "1.6.0",
39
+ "axios": "1.11.0",
40
+ "cli-color": "^2.0.4",
50
41
  "dotenv": "16.0.3",
51
42
  "fs-extra": "11.1.0",
52
- "http-errors": "2.0.0",
53
- "query-string": "7.1.3",
43
+ "inversify": "6.0.1",
44
+ "inversify-binding-decorators": "4.0.0",
54
45
  "reflect-metadata": "^0.1.13",
55
- "semver": "7.5.2",
46
+ "tsoa": "5.1.1",
56
47
  "winston": "3.8.2"
57
- },
58
- "gitHead": "ae85975300d01a97f28db9f8831dbd8881dc7b20"
48
+ }
59
49
  }
@@ -1,17 +1 @@
1
- export * from './models/Component';
2
- export * from './models/ComponentVersion';
3
-
4
- export * from './repositories/ComponentRepository';
5
- export * from './repositories/ComponentVersionRepository';
6
-
7
- export * from './services/ComponentService';
8
- export * from './services/content-item-uri-resolver/ComponentContentUriResolverForPreview';
9
-
10
- export * from './web-models/ComponentForWeb';
11
- export * from './web-models/ComponentsForWeb';
12
- export * from './web-models/ComponentVersionWebModel';
13
-
14
- export * from './component-context/createComponentContextualFunctions';
15
- export * from './errors/ComponentError';
16
1
  export * from './errors/JobError';
17
- export * from './utils/getComponentFileSystemFolder';
@@ -0,0 +1,52 @@
1
+ /*!
2
+ * @license
3
+ * Copyright Squiz Australia Pty Ltd. All Rights Reserved.
4
+ */
5
+
6
+ import { S3Client, S3ClientConfig } from '@aws-sdk/client-s3';
7
+ import { JobDetailsRepository } from './JobDetailsRepository';
8
+ import { initIocContainer, iocContainer } from '../../../mocks/mockIoc';
9
+ import { testLogger } from '../../../jest-global-setup';
10
+
11
+ // Create a new container tsoa can use
12
+ initIocContainer(testLogger);
13
+
14
+ // Mock S3 Client
15
+ const mockOptions = {} as S3ClientConfig;
16
+ const mockClient = new S3Client(mockOptions);
17
+
18
+ const mockSend = jest.fn().mockResolvedValue({
19
+ Body: { transformToString: jest.fn().mockResolvedValue('file') },
20
+ $metadata: {},
21
+ });
22
+ mockClient.send = mockSend;
23
+
24
+ // Inject the S3Repository with a mocked client
25
+ iocContainer.rebind<S3Client>(S3Client).toConstantValue(mockClient);
26
+
27
+ let jobDetailsRepository: JobDetailsRepository;
28
+
29
+ describe('JobDetailsRepository', (): void => {
30
+ beforeAll((): void => {
31
+ jobDetailsRepository = iocContainer.get(JobDetailsRepository);
32
+ });
33
+
34
+ describe(`get`, (): void => {
35
+ beforeEach(() => {
36
+ jest.resetAllMocks();
37
+ });
38
+
39
+ it(`should return a response for get`, async (): Promise<void> => {
40
+ const mockKey = `mock`;
41
+ mockSend.mockImplementationOnce(() =>
42
+ Promise.resolve({
43
+ Body: { transformToString: jest.fn().mockResolvedValue('file') },
44
+ }),
45
+ );
46
+
47
+ const response = await jobDetailsRepository.get(mockKey);
48
+ expect(mockSend).toBeCalledTimes(1);
49
+ expect(response).toStrictEqual('file');
50
+ });
51
+ });
52
+ });
@@ -0,0 +1,36 @@
1
+ import { S3Client } from '@aws-sdk/client-s3';
2
+ import { inject } from 'inversify';
3
+ import { S3RepositoryBase } from './S3RepositoryBase';
4
+ import { provideTransient } from '../transientProvider';
5
+ import { JobContext } from '../model/JobContext';
6
+ import { JobManifest } from '../manifest';
7
+ import { JobExecution } from '../model/JobExecution';
8
+
9
+ @provideTransient(JobDetailsRepository)
10
+ export class JobDetailsRepository extends S3RepositoryBase {
11
+ constructor(
12
+ @inject(S3Client) protected s3Client: S3Client,
13
+ @inject('JobDetailsBucketName') bucketName: string,
14
+ ) {
15
+ super(s3Client, bucketName);
16
+ }
17
+
18
+ /**
19
+ * Create the job details file in S3.
20
+ * Context is nullable as the user could delete the context between queuing the job and creating the details file.
21
+ * We want the file to be created so the job starts/executes rather than remaining in a queued state/causing
22
+ * an error.
23
+ */
24
+ public async createJobDetailsFile(
25
+ jobDetailsFileName: string,
26
+ jobContext: JobContext | null,
27
+ jobManifest: JobManifest | null,
28
+ jobExecution: JobExecution,
29
+ ) {
30
+ await this.put(jobDetailsFileName, JSON.stringify({ jobContext, jobManifest, jobExecution }));
31
+ }
32
+
33
+ public static createJobDetailsFileName(tenantId: string, jobExecutionId: string): string {
34
+ return `${tenantId}/${jobExecutionId}`;
35
+ }
36
+ }
@@ -0,0 +1,50 @@
1
+ /*!
2
+ * @license
3
+ * Copyright Squiz Australia Pty Ltd. All Rights Reserved.
4
+ */
5
+
6
+ import { S3Client, S3ClientConfig } from '@aws-sdk/client-s3';
7
+ import { S3Repository } from './S3Repository';
8
+ import { initIocContainer, iocContainer } from '../../../mocks/mockIoc';
9
+ import { testLogger } from '../../../jest-global-setup';
10
+
11
+ // Create a new container tsoa can use
12
+ initIocContainer(testLogger);
13
+
14
+ // Mock S3 Client
15
+ const mockOptions = {} as S3ClientConfig;
16
+ const mockClient = new S3Client(mockOptions);
17
+
18
+ const mockSend = jest.fn().mockResolvedValue({
19
+ Body: { transformToString: jest.fn().mockResolvedValue('file') },
20
+ $metadata: {},
21
+ });
22
+ mockClient.send = mockSend;
23
+
24
+ // Inject the S3Repository with a mocked client
25
+ iocContainer.rebind<S3Client>(S3Client).toConstantValue(mockClient);
26
+
27
+ let s3Repository: S3Repository;
28
+
29
+ describe('S3Repository', (): void => {
30
+ beforeAll((): void => {
31
+ s3Repository = iocContainer.get(S3Repository);
32
+ });
33
+
34
+ describe(`get`, (): void => {
35
+ beforeEach(() => {
36
+ jest.resetAllMocks();
37
+ });
38
+
39
+ it(`should return a response for get`, async (): Promise<void> => {
40
+ const mockKey = `mock`;
41
+ mockSend.mockResolvedValueOnce({
42
+ Body: { transformToString: jest.fn().mockResolvedValue('file') },
43
+ });
44
+
45
+ const response = await s3Repository.get(mockKey);
46
+ expect(mockSend).toBeCalledTimes(1);
47
+ expect(response).toStrictEqual('file');
48
+ });
49
+ });
50
+ });
@@ -0,0 +1,27 @@
1
+ /*!
2
+ * @license
3
+ * Copyright Squiz Australia Pty Ltd. All Rights Reserved.
4
+ */
5
+
6
+ import * as dotenv from 'dotenv';
7
+ dotenv.config();
8
+
9
+ import { S3Client } from '@aws-sdk/client-s3';
10
+ import { inject } from 'inversify';
11
+ import { S3RepositoryBase } from './S3RepositoryBase';
12
+ import { provideTransient } from '../transientProvider';
13
+
14
+ /**
15
+ * Repository class for interacting with S3.
16
+ * @export
17
+ * @class S3Repository
18
+ */
19
+ @provideTransient(S3Repository)
20
+ export class S3Repository extends S3RepositoryBase {
21
+ public constructor(
22
+ @inject(S3Client) protected s3Client: S3Client,
23
+ @inject('S3RepositoryBucketName') bucketName: string,
24
+ ) {
25
+ super(s3Client, bucketName);
26
+ }
27
+ }
@@ -0,0 +1,97 @@
1
+ /*!
2
+ * @license
3
+ * Copyright Squiz Australia Pty Ltd. All Rights Reserved.
4
+ */
5
+
6
+ import { S3Client, S3ClientConfig } from '@aws-sdk/client-s3';
7
+ import { S3Repository } from './S3Repository';
8
+ import { initIocContainer, iocContainer } from '../../../mocks/mockIoc';
9
+ import { testLogger } from '../../../jest-global-setup';
10
+
11
+ // Create a new container tsoa can use
12
+ initIocContainer(testLogger);
13
+
14
+ // Mock S3 Client
15
+ const mockOptions = {} as S3ClientConfig;
16
+ const mockClient = new S3Client(mockOptions);
17
+
18
+ const mockSend = jest.fn().mockResolvedValue({
19
+ Body: { transformToString: jest.fn().mockResolvedValue('file') },
20
+ $metadata: {},
21
+ });
22
+ mockClient.send = mockSend;
23
+
24
+ // Inject the S3Repository with a mocked client
25
+ iocContainer.rebind<S3Client>(S3Client).toConstantValue(mockClient);
26
+
27
+ let s3Repository: S3Repository;
28
+
29
+ describe('S3RepositoryBase', (): void => {
30
+ beforeAll((): void => {
31
+ s3Repository = new S3Repository(mockClient, 'mock-bucket');
32
+ });
33
+
34
+ describe(`get`, (): void => {
35
+ beforeEach(() => {
36
+ jest.resetAllMocks();
37
+ });
38
+
39
+ it(`should return a response for get`, async (): Promise<void> => {
40
+ const mockKey = `mock`;
41
+ mockSend.mockResolvedValueOnce({
42
+ Body: { transformToString: jest.fn().mockResolvedValue('file') },
43
+ });
44
+
45
+ const response = await s3Repository.get(mockKey);
46
+ expect(mockSend).toBeCalledTimes(1);
47
+ expect(response).toStrictEqual('file');
48
+ });
49
+
50
+ it(`should return a null response if undefined`, async (): Promise<void> => {
51
+ const mockKey = `mock`;
52
+ const mockResponse = undefined;
53
+ mockSend.mockResolvedValueOnce({
54
+ Body: mockResponse,
55
+ });
56
+
57
+ const response = await s3Repository.get(mockKey);
58
+ expect(mockSend).toBeCalledTimes(1);
59
+ expect(response).toBeFalsy();
60
+ });
61
+ });
62
+
63
+ describe(`put`, (): void => {
64
+ beforeEach(() => {
65
+ jest.resetAllMocks();
66
+ });
67
+
68
+ it(`should return a response for get`, async (): Promise<void> => {
69
+ const mockKey = `mock`;
70
+ const mockObject = ``;
71
+ mockSend.mockResolvedValueOnce({
72
+ Body: { transformToString: jest.fn().mockResolvedValue(mockObject) },
73
+ });
74
+
75
+ const response = await s3Repository.put(mockKey, mockObject);
76
+ expect(mockSend).toBeCalledTimes(1);
77
+ expect(response).toBeFalsy();
78
+ });
79
+ });
80
+
81
+ describe(`check`, (): void => {
82
+ beforeEach(() => {
83
+ jest.resetAllMocks();
84
+ });
85
+
86
+ it(`should return a response if S3 object key exists`, async (): Promise<void> => {
87
+ const mockKey = `mock`;
88
+ mockSend.mockResolvedValueOnce({
89
+ Body: {},
90
+ });
91
+
92
+ const response = await s3Repository.check(mockKey);
93
+ expect(mockSend).toBeCalledTimes(1);
94
+ expect(response).toBeTruthy();
95
+ });
96
+ });
97
+ });
@@ -0,0 +1,96 @@
1
+ /*!
2
+ * @license
3
+ * Copyright Squiz Australia Pty Ltd. All Rights Reserved.
4
+ */
5
+
6
+ import * as dotenv from 'dotenv';
7
+ dotenv.config();
8
+
9
+ import {
10
+ GetObjectCommand,
11
+ HeadObjectCommand,
12
+ HeadObjectCommandOutput,
13
+ PutObjectCommand,
14
+ PutObjectCommandInput,
15
+ S3Client,
16
+ } from '@aws-sdk/client-s3';
17
+ import { getSignedUrl } from '@aws-sdk/s3-request-presigner';
18
+ import { inject, injectable } from 'inversify';
19
+ import 'reflect-metadata';
20
+
21
+ /**
22
+ * Repository class for interacting with S3.
23
+ * @export
24
+ * @class S3Repository
25
+ */
26
+ @injectable()
27
+ export abstract class S3RepositoryBase {
28
+ protected bucketName: string;
29
+ public constructor(
30
+ @inject(S3Client) protected s3Client: S3Client,
31
+ bucketName: string,
32
+ ) {
33
+ this.bucketName = bucketName;
34
+ }
35
+
36
+ /**
37
+ * Save object into S3.
38
+ * @param {string} key The S3 object key.
39
+ * @param {PutObjectCommandInputType['Body']} body The body of the S3 object.
40
+ * @return {Promise<void>}
41
+ * @memberof S3Repository
42
+ */
43
+ async put(key: string, body: PutObjectCommandInput['Body']): Promise<void> {
44
+ await this.s3Client.send(
45
+ new PutObjectCommand({
46
+ Bucket: this.bucketName,
47
+ Key: key,
48
+ Body: body,
49
+ }),
50
+ );
51
+ }
52
+
53
+ /**
54
+ * Retrieve object from S3.
55
+ * @param {string} key The S3 object key.
56
+ * @return {Promise<string | null>} The S3 object.
57
+ * @memberof S3Repository
58
+ */
59
+ async get(key: string): Promise<string | null> {
60
+ const s3Object = await this.s3Client.send(
61
+ new GetObjectCommand({
62
+ Bucket: this.bucketName,
63
+ Key: key,
64
+ }),
65
+ );
66
+
67
+ return s3Object.Body?.transformToString() || null;
68
+ }
69
+
70
+ /**
71
+ * Check if the S3 object key exists.
72
+ * @param {string} key The S3 object key.
73
+ * @return {Promise<HeadObjectCommandOutput>}
74
+ * @memberof S3Repository
75
+ */
76
+ async check(key: string): Promise<HeadObjectCommandOutput> {
77
+ return this.s3Client.send(
78
+ new HeadObjectCommand({
79
+ Bucket: this.bucketName,
80
+ Key: key,
81
+ }),
82
+ );
83
+ }
84
+
85
+ async getS3SignedUrl(key: string): Promise<string> {
86
+ const command = new GetObjectCommand({
87
+ Bucket: this.bucketName,
88
+ Key: key,
89
+ });
90
+
91
+ const res = await getSignedUrl(this.s3Client, command, {
92
+ expiresIn: 600, // 10 minutes
93
+ });
94
+ return res;
95
+ }
96
+ }
@@ -0,0 +1,2 @@
1
+ export * from './JobDetailsRepository';
2
+ export * from './S3Repository';
@@ -5,67 +5,18 @@
5
5
 
6
6
  import { AttributeValue } from '@aws-sdk/client-dynamodb';
7
7
  import { faker } from '@faker-js/faker/locale/en';
8
- import { createMockJob } from '../../../model/Job/mocks/Job.mock';
9
- import { createMockJobContext } from '../../../model/JobContext/mocks/JobContext.mock';
10
- import { createMockJobExecution } from '../../../model/JobExecution/mocks/JobExecution.mock';
11
- import { InternalServerError } from '../../../errors/InternalServerError';
12
8
  import { PartitionKey, PARTITION_KEYS } from '../../../constants/Repository.constants';
13
9
  import { PaginationInfo } from '../model/PaginationInfo';
14
10
  import { PAGINATION_DIRECTION_TYPE_AFTER, PAGINATION_DIRECTION_TYPE_BEFORE } from '../model/PaginationTypes';
15
11
  import { encodeTokenString } from '../utils/PaginationUtils';
16
12
  import { PaginationService } from './PaginationService';
17
- import { JobRepository, JobContextRepository, JobExecutionRepository } from '../../../repository';
18
13
 
19
14
  describe('PaginationService', (): void => {
20
- let jobRepository: Record<string, object>;
21
- let jobContextRepository: Record<string, object>;
22
- let jobExecutionRepository: Record<string, object>;
23
15
  let paginationService: PaginationService<any>;
24
-
25
- const mockConvertToDynamoDbItemJob = jest.fn();
26
- const mockConvertToDynamoDbItemContext = jest.fn();
27
- const mockConvertToDynamoDbItemExecution = jest.fn();
16
+ const mockConvertToDynamoDbItem = jest.fn();
28
17
 
29
18
  beforeAll((): void => {
30
- jobRepository = {
31
- create: jest.fn(),
32
- findOne: jest.fn(),
33
- list: jest.fn(),
34
- update: jest.fn(),
35
- delete: jest.fn(),
36
-
37
- getJobs: jest.fn(),
38
- convertToDynamoDbItem: mockConvertToDynamoDbItemJob,
39
- };
40
-
41
- jobContextRepository = {
42
- create: jest.fn(),
43
- findOne: jest.fn(),
44
- list: jest.fn(),
45
- update: jest.fn(),
46
- delete: jest.fn(),
47
- getContexts: jest.fn(),
48
-
49
- getJobs: jest.fn(),
50
- convertToDynamoDbItem: mockConvertToDynamoDbItemContext,
51
- };
52
-
53
- jobExecutionRepository = {
54
- create: jest.fn(),
55
- findOne: jest.fn(),
56
- list: jest.fn(),
57
- update: jest.fn(),
58
- delete: jest.fn(),
59
-
60
- getJobs: jest.fn(),
61
- convertToDynamoDbItem: mockConvertToDynamoDbItemExecution,
62
- };
63
-
64
- paginationService = new PaginationService<any>(
65
- jobRepository as unknown as JobRepository,
66
- jobContextRepository as unknown as JobContextRepository,
67
- jobExecutionRepository as unknown as JobExecutionRepository,
68
- );
19
+ paginationService = new PaginationService<any>();
69
20
  });
70
21
 
71
22
  describe('addPaginationLinksToResponse', (): void => {
@@ -73,7 +24,7 @@ describe('PaginationService', (): void => {
73
24
  let mockData;
74
25
  let mockPaginationInfo: PaginationInfo;
75
26
  let mockExclusiveStartKey: Record<string, AttributeValue>;
76
- let mockLastEvaluatedKey: string | null;
27
+ const mockLastEvaluatedKey: string | null = null;
77
28
 
78
29
  beforeEach(() => {
79
30
  jest.resetAllMocks();
@@ -102,7 +53,7 @@ describe('PaginationService', (): void => {
102
53
  }),
103
54
  );
104
55
 
105
- mockConvertToDynamoDbItemJob
56
+ mockConvertToDynamoDbItem
106
57
  .mockImplementationOnce(() => {
107
58
  return mockExclusiveStartKey;
108
59
  })
@@ -114,9 +65,10 @@ describe('PaginationService', (): void => {
114
65
  mockData,
115
66
  mockPaginationInfo,
116
67
  mockPaginationInfo.token,
68
+ mockConvertToDynamoDbItem,
117
69
  );
118
70
 
119
- expect(mockConvertToDynamoDbItemJob).toBeCalledTimes(1);
71
+ expect(mockConvertToDynamoDbItem).toBeCalledTimes(1);
120
72
  expect(response.data).toStrictEqual(mockData);
121
73
 
122
74
  expect(response.links).toBeTruthy();
@@ -132,15 +84,16 @@ describe('PaginationService', (): void => {
132
84
  }),
133
85
  }).map((_, i) => ({ type: mockType, i }));
134
86
 
135
- mockConvertToDynamoDbItemJob.mockImplementationOnce(() => mockExclusiveStartKey);
87
+ mockConvertToDynamoDbItem.mockImplementationOnce(() => mockExclusiveStartKey);
136
88
 
137
89
  const response = paginationService.addPaginationLinksToResponse(
138
90
  mockData,
139
91
  { ...mockPaginationInfo, token: null },
140
92
  null,
93
+ mockConvertToDynamoDbItem,
141
94
  );
142
95
 
143
- expect(mockConvertToDynamoDbItemJob).not.toBeCalled();
96
+ expect(mockConvertToDynamoDbItem).not.toBeCalled();
144
97
  expect(response.data).toStrictEqual(mockData);
145
98
  expect(response.links).toBeTruthy();
146
99
  expect(response.links.prev).toBeNull();
@@ -155,15 +108,16 @@ describe('PaginationService', (): void => {
155
108
  }),
156
109
  }).map((_, i) => ({ type: mockType, i }));
157
110
 
158
- mockConvertToDynamoDbItemJob.mockImplementationOnce(() => mockExclusiveStartKey);
111
+ mockConvertToDynamoDbItem.mockImplementationOnce(() => mockExclusiveStartKey);
159
112
 
160
113
  const response = paginationService.addPaginationLinksToResponse(
161
114
  mockData,
162
115
  mockPaginationInfo,
163
116
  mockLastEvaluatedKey,
117
+ mockConvertToDynamoDbItem,
164
118
  );
165
119
 
166
- expect(mockConvertToDynamoDbItemJob).toBeCalledTimes(1);
120
+ expect(mockConvertToDynamoDbItem).toBeCalledTimes(1);
167
121
  expect(response.data).toStrictEqual(mockData);
168
122
  expect(response.links).toBeTruthy();
169
123
  expect(response.links.prev).toBeTruthy();
@@ -178,15 +132,16 @@ describe('PaginationService', (): void => {
178
132
  }),
179
133
  }).map((_, i) => ({ type: mockType, i }));
180
134
 
181
- mockConvertToDynamoDbItemJob.mockImplementationOnce(() => mockExclusiveStartKey);
135
+ mockConvertToDynamoDbItem.mockImplementationOnce(() => mockExclusiveStartKey);
182
136
 
183
137
  const response = paginationService.addPaginationLinksToResponse(
184
138
  mockData,
185
139
  { ...mockPaginationInfo, direction: PAGINATION_DIRECTION_TYPE_BEFORE },
186
140
  mockLastEvaluatedKey,
141
+ mockConvertToDynamoDbItem,
187
142
  );
188
143
 
189
- expect(mockConvertToDynamoDbItemJob).toBeCalledTimes(1);
144
+ expect(mockConvertToDynamoDbItem).toBeCalledTimes(1);
190
145
  expect(response.data).toStrictEqual(mockData.reverse());
191
146
  expect(response.links).toBeTruthy();
192
147
  });
@@ -199,7 +154,7 @@ describe('PaginationService', (): void => {
199
154
  }),
200
155
  }).map((_, i) => ({ type: mockType, i }));
201
156
 
202
- mockConvertToDynamoDbItemJob
157
+ mockConvertToDynamoDbItem
203
158
  .mockImplementationOnce(() => mockExclusiveStartKey)
204
159
  .mockImplementationOnce(() => mockExclusiveStartKey);
205
160
 
@@ -207,42 +162,12 @@ describe('PaginationService', (): void => {
207
162
  mockData,
208
163
  mockPaginationInfo,
209
164
  mockLastEvaluatedKey,
165
+ mockConvertToDynamoDbItem,
210
166
  );
211
167
 
212
- expect(mockConvertToDynamoDbItemJob).toBeCalledTimes(2);
168
+ expect(mockConvertToDynamoDbItem).toBeCalledTimes(2);
213
169
  expect(response.data).toHaveLength(mockPaginationInfo.limit);
214
170
  expect(response.links).toBeTruthy();
215
171
  });
216
172
  });
217
-
218
- describe('convertToDynamoDbItem', (): void => {
219
- beforeEach(() => {
220
- jest.resetAllMocks();
221
- });
222
- it('should call the jobRepository method for converting to a DynamoDB object', (): void => {
223
- const mockJob = createMockJob();
224
-
225
- (paginationService as any).convertToDynamoDbItem(mockJob);
226
- expect(mockConvertToDynamoDbItemJob).toBeCalled();
227
- });
228
-
229
- it('should call the jobContextRepository method for converting to a DynamoDB object', (): void => {
230
- const mockJobContext = createMockJobContext();
231
-
232
- (paginationService as any).convertToDynamoDbItem(mockJobContext);
233
- expect(mockConvertToDynamoDbItemContext).toBeCalled();
234
- });
235
-
236
- it('should call the jobExecutionRepository method for converting to a DynamoDB object', (): void => {
237
- const mockJobExecution = createMockJobExecution();
238
-
239
- (paginationService as any).convertToDynamoDbItem(mockJobExecution);
240
- expect(mockConvertToDynamoDbItemExecution).toBeCalled();
241
- });
242
-
243
- it('should should throw an error if the partition key is invalid', (): void => {
244
- const mockItem = { type: 'invalid' };
245
- expect(() => (paginationService as any).convertToDynamoDbItem(mockItem)).toThrowError(InternalServerError);
246
- });
247
- });
248
173
  });