@squiz/job-runner-lib 1.66.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +1 -0
- package/CHANGELOG.md +726 -0
- package/build.js +17 -0
- package/jest.config.ts +24 -0
- package/jest.integration.config.ts +27 -0
- package/lib/TestHelpers.d.ts +18 -0
- package/lib/TestHelpers.js +97 -0
- package/lib/TestHelpers.js.map +1 -0
- package/lib/domains/__test__/createPackage.d.ts +3 -0
- package/lib/domains/__test__/createPackage.js +45 -0
- package/lib/domains/__test__/createPackage.js.map +1 -0
- package/lib/domains/__test__/loadAllUnitTestComponents.d.ts +3 -0
- package/lib/domains/__test__/loadAllUnitTestComponents.js +63 -0
- package/lib/domains/__test__/loadAllUnitTestComponents.js.map +1 -0
- package/lib/domains/component/component-context/__mocks__/mockedManifestModel.d.ts +3 -0
- package/lib/domains/component/component-context/__mocks__/mockedManifestModel.js +33 -0
- package/lib/domains/component/component-context/__mocks__/mockedManifestModel.js.map +1 -0
- package/lib/domains/component/component-context/__mocks__/mockedUriObj.d.ts +3 -0
- package/lib/domains/component/component-context/__mocks__/mockedUriObj.js +38 -0
- package/lib/domains/component/component-context/__mocks__/mockedUriObj.js.map +1 -0
- package/lib/domains/component/component-context/__mocks__/mockedUriObjPreview.d.ts +3 -0
- package/lib/domains/component/component-context/__mocks__/mockedUriObjPreview.js +38 -0
- package/lib/domains/component/component-context/__mocks__/mockedUriObjPreview.js.map +1 -0
- package/lib/domains/component/component-context/createComponentContextualFunctions.d.ts +23 -0
- package/lib/domains/component/component-context/createComponentContextualFunctions.js +75 -0
- package/lib/domains/component/component-context/createComponentContextualFunctions.js.map +1 -0
- package/lib/domains/component/component-context/createComponentContextualFunctions.spec.d.ts +1 -0
- package/lib/domains/component/component-context/createComponentContextualFunctions.spec.js +248 -0
- package/lib/domains/component/component-context/createComponentContextualFunctions.spec.js.map +1 -0
- package/lib/domains/component/errors/ComponentError.d.ts +12 -0
- package/lib/domains/component/errors/ComponentError.js +20 -0
- package/lib/domains/component/errors/ComponentError.js.map +1 -0
- package/lib/domains/component/errors/JobError.d.ts +10 -0
- package/lib/domains/component/errors/JobError.js +18 -0
- package/lib/domains/component/errors/JobError.js.map +1 -0
- package/lib/domains/component/index.d.ts +13 -0
- package/lib/domains/component/index.js +30 -0
- package/lib/domains/component/index.js.map +1 -0
- package/lib/domains/component/models/Component.d.ts +7 -0
- package/lib/domains/component/models/Component.js +13 -0
- package/lib/domains/component/models/Component.js.map +1 -0
- package/lib/domains/component/models/Component.spec.d.ts +1 -0
- package/lib/domains/component/models/Component.spec.js +18 -0
- package/lib/domains/component/models/Component.spec.js.map +1 -0
- package/lib/domains/component/models/ComponentVersion.d.ts +18 -0
- package/lib/domains/component/models/ComponentVersion.js +35 -0
- package/lib/domains/component/models/ComponentVersion.js.map +1 -0
- package/lib/domains/component/models/ComponentVersion.spec.d.ts +1 -0
- package/lib/domains/component/models/ComponentVersion.spec.js +55 -0
- package/lib/domains/component/models/ComponentVersion.spec.js.map +1 -0
- package/lib/domains/component/repositories/ComponentRepository.d.ts +12 -0
- package/lib/domains/component/repositories/ComponentRepository.integration.spec.d.ts +1 -0
- package/lib/domains/component/repositories/ComponentRepository.integration.spec.js +111 -0
- package/lib/domains/component/repositories/ComponentRepository.integration.spec.js.map +1 -0
- package/lib/domains/component/repositories/ComponentRepository.js +28 -0
- package/lib/domains/component/repositories/ComponentRepository.js.map +1 -0
- package/lib/domains/component/repositories/ComponentVersionRepository.d.ts +21 -0
- package/lib/domains/component/repositories/ComponentVersionRepository.integration.spec.d.ts +1 -0
- package/lib/domains/component/repositories/ComponentVersionRepository.integration.spec.js +378 -0
- package/lib/domains/component/repositories/ComponentVersionRepository.integration.spec.js.map +1 -0
- package/lib/domains/component/repositories/ComponentVersionRepository.js +83 -0
- package/lib/domains/component/repositories/ComponentVersionRepository.js.map +1 -0
- package/lib/domains/component/services/ComponentService.d.ts +40 -0
- package/lib/domains/component/services/ComponentService.integration.spec.d.ts +1 -0
- package/lib/domains/component/services/ComponentService.integration.spec.js +614 -0
- package/lib/domains/component/services/ComponentService.integration.spec.js.map +1 -0
- package/lib/domains/component/services/ComponentService.js +254 -0
- package/lib/domains/component/services/ComponentService.js.map +1 -0
- package/lib/domains/component/services/content-item-uri-resolver/ComponentContentUriResolverForPreview.d.ts +12 -0
- package/lib/domains/component/services/content-item-uri-resolver/ComponentContentUriResolverForPreview.js +15 -0
- package/lib/domains/component/services/content-item-uri-resolver/ComponentContentUriResolverForPreview.js.map +1 -0
- package/lib/domains/component/services/content-item-uri-resolver/ComponentContentUriResolverForPreview.spec.d.ts +1 -0
- package/lib/domains/component/services/content-item-uri-resolver/ComponentContentUriResolverForPreview.spec.js +75 -0
- package/lib/domains/component/services/content-item-uri-resolver/ComponentContentUriResolverForPreview.spec.js.map +1 -0
- package/lib/domains/component/utils/getComponentFileSystemFolder.d.ts +1 -0
- package/lib/domains/component/utils/getComponentFileSystemFolder.js +12 -0
- package/lib/domains/component/utils/getComponentFileSystemFolder.js.map +1 -0
- package/lib/domains/component/utils/getComponentFileSystemFolder.spec.d.ts +1 -0
- package/lib/domains/component/utils/getComponentFileSystemFolder.spec.js +13 -0
- package/lib/domains/component/utils/getComponentFileSystemFolder.spec.js.map +1 -0
- package/lib/domains/component/utils/getComponentName.d.ts +1 -0
- package/lib/domains/component/utils/getComponentName.js +8 -0
- package/lib/domains/component/utils/getComponentName.js.map +1 -0
- package/lib/domains/component/utils/getComponentName.spec.d.ts +1 -0
- package/lib/domains/component/utils/getComponentName.spec.js +9 -0
- package/lib/domains/component/utils/getComponentName.spec.js.map +1 -0
- package/lib/domains/component/utils/moveFilesAndDirectories.d.ts +1 -0
- package/lib/domains/component/utils/moveFilesAndDirectories.js +33 -0
- package/lib/domains/component/utils/moveFilesAndDirectories.js.map +1 -0
- package/lib/domains/component/utils/moveFilesAndDirectories.spec.d.ts +1 -0
- package/lib/domains/component/utils/moveFilesAndDirectories.spec.js +52 -0
- package/lib/domains/component/utils/moveFilesAndDirectories.spec.js.map +1 -0
- package/lib/domains/component/web-models/ComponentForWeb.d.ts +11 -0
- package/lib/domains/component/web-models/ComponentForWeb.js +3 -0
- package/lib/domains/component/web-models/ComponentForWeb.js.map +1 -0
- package/lib/domains/component/web-models/ComponentVersionWebModel.d.ts +15 -0
- package/lib/domains/component/web-models/ComponentVersionWebModel.js +3 -0
- package/lib/domains/component/web-models/ComponentVersionWebModel.js.map +1 -0
- package/lib/domains/component/web-models/ComponentsForWeb.d.ts +17 -0
- package/lib/domains/component/web-models/ComponentsForWeb.js +3 -0
- package/lib/domains/component/web-models/ComponentsForWeb.js.map +1 -0
- package/lib/domains/component-set/errors/InvalidEnvironmentVariablesError.d.ts +5 -0
- package/lib/domains/component-set/errors/InvalidEnvironmentVariablesError.js +14 -0
- package/lib/domains/component-set/errors/InvalidEnvironmentVariablesError.js.map +1 -0
- package/lib/domains/component-set/index.d.ts +13 -0
- package/lib/domains/component-set/index.js +30 -0
- package/lib/domains/component-set/index.js.map +1 -0
- package/lib/domains/component-set/models/ComponentSet.d.ts +20 -0
- package/lib/domains/component-set/models/ComponentSet.js +28 -0
- package/lib/domains/component-set/models/ComponentSet.js.map +1 -0
- package/lib/domains/component-set/models/ComponentSet.spec.d.ts +1 -0
- package/lib/domains/component-set/models/ComponentSet.spec.js +45 -0
- package/lib/domains/component-set/models/ComponentSet.spec.js.map +1 -0
- package/lib/domains/component-set/models/ComponentSetComponentVersion.d.ts +23 -0
- package/lib/domains/component-set/models/ComponentSetComponentVersion.js +29 -0
- package/lib/domains/component-set/models/ComponentSetComponentVersion.js.map +1 -0
- package/lib/domains/component-set/models/ComponentSetComponentVersion.spec.d.ts +1 -0
- package/lib/domains/component-set/models/ComponentSetComponentVersion.spec.js +83 -0
- package/lib/domains/component-set/models/ComponentSetComponentVersion.spec.js.map +1 -0
- package/lib/domains/component-set/models/ComponentSetComponentVersionEditable.d.ts +12 -0
- package/lib/domains/component-set/models/ComponentSetComponentVersionEditable.js +57 -0
- package/lib/domains/component-set/models/ComponentSetComponentVersionEditable.js.map +1 -0
- package/lib/domains/component-set/models/ComponentSetComponentVersionEditable.spec.d.ts +1 -0
- package/lib/domains/component-set/models/ComponentSetComponentVersionEditable.spec.js +60 -0
- package/lib/domains/component-set/models/ComponentSetComponentVersionEditable.spec.js.map +1 -0
- package/lib/domains/component-set/models/ComponentSetComponentVersionExcluded.d.ts +11 -0
- package/lib/domains/component-set/models/ComponentSetComponentVersionExcluded.js +17 -0
- package/lib/domains/component-set/models/ComponentSetComponentVersionExcluded.js.map +1 -0
- package/lib/domains/component-set/models/ComponentSetComponentVersionExcluded.spec.d.ts +1 -0
- package/lib/domains/component-set/models/ComponentSetComponentVersionExcluded.spec.js +34 -0
- package/lib/domains/component-set/models/ComponentSetComponentVersionExcluded.spec.js.map +1 -0
- package/lib/domains/component-set/models/ComponentSetRule.d.ts +12 -0
- package/lib/domains/component-set/models/ComponentSetRule.js +50 -0
- package/lib/domains/component-set/models/ComponentSetRule.js.map +1 -0
- package/lib/domains/component-set/models/ComponentSetRule.spec.d.ts +1 -0
- package/lib/domains/component-set/models/ComponentSetRule.spec.js +29 -0
- package/lib/domains/component-set/models/ComponentSetRule.spec.js.map +1 -0
- package/lib/domains/component-set/repositories/ComponentSetComponentVersionEditableRepository.d.ts +10 -0
- package/lib/domains/component-set/repositories/ComponentSetComponentVersionEditableRepository.integration.spec.d.ts +1 -0
- package/lib/domains/component-set/repositories/ComponentSetComponentVersionEditableRepository.integration.spec.js +127 -0
- package/lib/domains/component-set/repositories/ComponentSetComponentVersionEditableRepository.integration.spec.js.map +1 -0
- package/lib/domains/component-set/repositories/ComponentSetComponentVersionEditableRepository.js +37 -0
- package/lib/domains/component-set/repositories/ComponentSetComponentVersionEditableRepository.js.map +1 -0
- package/lib/domains/component-set/repositories/ComponentSetComponentVersionExcludedRepository.d.ts +10 -0
- package/lib/domains/component-set/repositories/ComponentSetComponentVersionExcludedRepository.integration.spec.d.ts +1 -0
- package/lib/domains/component-set/repositories/ComponentSetComponentVersionExcludedRepository.integration.spec.js +127 -0
- package/lib/domains/component-set/repositories/ComponentSetComponentVersionExcludedRepository.integration.spec.js.map +1 -0
- package/lib/domains/component-set/repositories/ComponentSetComponentVersionExcludedRepository.js +37 -0
- package/lib/domains/component-set/repositories/ComponentSetComponentVersionExcludedRepository.js.map +1 -0
- package/lib/domains/component-set/repositories/ComponentSetComponentVersionRepository.d.ts +10 -0
- package/lib/domains/component-set/repositories/ComponentSetComponentVersionRepository.integration.spec.d.ts +1 -0
- package/lib/domains/component-set/repositories/ComponentSetComponentVersionRepository.integration.spec.js +163 -0
- package/lib/domains/component-set/repositories/ComponentSetComponentVersionRepository.integration.spec.js.map +1 -0
- package/lib/domains/component-set/repositories/ComponentSetComponentVersionRepository.js +22 -0
- package/lib/domains/component-set/repositories/ComponentSetComponentVersionRepository.js.map +1 -0
- package/lib/domains/component-set/repositories/ComponentSetRepository.d.ts +13 -0
- package/lib/domains/component-set/repositories/ComponentSetRepository.integration.spec.d.ts +1 -0
- package/lib/domains/component-set/repositories/ComponentSetRepository.integration.spec.js +161 -0
- package/lib/domains/component-set/repositories/ComponentSetRepository.integration.spec.js.map +1 -0
- package/lib/domains/component-set/repositories/ComponentSetRepository.js +48 -0
- package/lib/domains/component-set/repositories/ComponentSetRepository.js.map +1 -0
- package/lib/domains/component-set/repositories/ComponentSetRuleRepository.d.ts +13 -0
- package/lib/domains/component-set/repositories/ComponentSetRuleRepository.integration.spec.d.ts +1 -0
- package/lib/domains/component-set/repositories/ComponentSetRuleRepository.integration.spec.js +88 -0
- package/lib/domains/component-set/repositories/ComponentSetRuleRepository.integration.spec.js.map +1 -0
- package/lib/domains/component-set/repositories/ComponentSetRuleRepository.js +55 -0
- package/lib/domains/component-set/repositories/ComponentSetRuleRepository.js.map +1 -0
- package/lib/domains/component-set/services/ComponentSetRuleService.d.ts +10 -0
- package/lib/domains/component-set/services/ComponentSetRuleService.integration.spec.d.ts +1 -0
- package/lib/domains/component-set/services/ComponentSetRuleService.integration.spec.js +107 -0
- package/lib/domains/component-set/services/ComponentSetRuleService.integration.spec.js.map +1 -0
- package/lib/domains/component-set/services/ComponentSetRuleService.js +23 -0
- package/lib/domains/component-set/services/ComponentSetRuleService.js.map +1 -0
- package/lib/domains/component-set/services/ComponentSetService.d.ts +37 -0
- package/lib/domains/component-set/services/ComponentSetService.js +13 -0
- package/lib/domains/component-set/services/ComponentSetService.js.map +1 -0
- package/lib/domains/component-set/services/ComponentSetService.spec.d.ts +1 -0
- package/lib/domains/component-set/services/ComponentSetService.spec.js +120 -0
- package/lib/domains/component-set/services/ComponentSetService.spec.js.map +1 -0
- package/lib/domains/component-set/services/ComponentSetServiceForLocalDev.d.ts +24 -0
- package/lib/domains/component-set/services/ComponentSetServiceForLocalDev.js +85 -0
- package/lib/domains/component-set/services/ComponentSetServiceForLocalDev.js.map +1 -0
- package/lib/domains/component-set/services/ComponentSetServiceForLocalDev.spec.d.ts +1 -0
- package/lib/domains/component-set/services/ComponentSetServiceForLocalDev.spec.js +141 -0
- package/lib/domains/component-set/services/ComponentSetServiceForLocalDev.spec.js.map +1 -0
- package/lib/domains/component-set/services/ComponentSetServiceForProduction.d.ts +53 -0
- package/lib/domains/component-set/services/ComponentSetServiceForProduction.integration.spec.d.ts +1 -0
- package/lib/domains/component-set/services/ComponentSetServiceForProduction.integration.spec.js +2565 -0
- package/lib/domains/component-set/services/ComponentSetServiceForProduction.integration.spec.js.map +1 -0
- package/lib/domains/component-set/services/ComponentSetServiceForProduction.js +601 -0
- package/lib/domains/component-set/services/ComponentSetServiceForProduction.js.map +1 -0
- package/lib/domains/component-set/services/EnvironmentVariables.d.ts +1 -0
- package/lib/domains/component-set/services/EnvironmentVariables.js +3 -0
- package/lib/domains/component-set/services/EnvironmentVariables.js.map +1 -0
- package/lib/domains/component-set/services/Headers.d.ts +1 -0
- package/lib/domains/component-set/services/Headers.js +3 -0
- package/lib/domains/component-set/services/Headers.js.map +1 -0
- package/lib/domains/component-set/services/RuntimeComponentSet.d.ts +6 -0
- package/lib/domains/component-set/services/RuntimeComponentSet.js +3 -0
- package/lib/domains/component-set/services/RuntimeComponentSet.js.map +1 -0
- package/lib/domains/component-set/web-models/ComponentSetComponentVersionForWeb.d.ts +5 -0
- package/lib/domains/component-set/web-models/ComponentSetComponentVersionForWeb.js +3 -0
- package/lib/domains/component-set/web-models/ComponentSetComponentVersionForWeb.js.map +1 -0
- package/lib/domains/component-set/web-models/ComponentSetForWeb.d.ts +64 -0
- package/lib/domains/component-set/web-models/ComponentSetForWeb.js +22 -0
- package/lib/domains/component-set/web-models/ComponentSetForWeb.js.map +1 -0
- package/lib/domains/content/index.d.ts +4 -0
- package/lib/domains/content/index.js +21 -0
- package/lib/domains/content/index.js.map +1 -0
- package/lib/domains/content/services/ComponentContentSchemaService.d.ts +9 -0
- package/lib/domains/content/services/ComponentContentSchemaService.js +45 -0
- package/lib/domains/content/services/ComponentContentSchemaService.js.map +1 -0
- package/lib/domains/content/services/ComponentContentSchemaService.spec.d.ts +1 -0
- package/lib/domains/content/services/ComponentContentSchemaService.spec.js +240 -0
- package/lib/domains/content/services/ComponentContentSchemaService.spec.js.map +1 -0
- package/lib/domains/content/services/ContentItemService.d.ts +7 -0
- package/lib/domains/content/services/ContentItemService.js +36 -0
- package/lib/domains/content/services/ContentItemService.js.map +1 -0
- package/lib/domains/content/services/ContentItemService.spec.d.ts +1 -0
- package/lib/domains/content/services/ContentItemService.spec.js +95 -0
- package/lib/domains/content/services/ContentItemService.spec.js.map +1 -0
- package/lib/domains/content/services/DynamicContentItemService.d.ts +8 -0
- package/lib/domains/content/services/DynamicContentItemService.js +31 -0
- package/lib/domains/content/services/DynamicContentItemService.js.map +1 -0
- package/lib/domains/content/services/DynamicContentItemService.spec.d.ts +1 -0
- package/lib/domains/content/services/DynamicContentItemService.spec.js +81 -0
- package/lib/domains/content/services/DynamicContentItemService.spec.js.map +1 -0
- package/lib/domains/content/utils/getContentSchemaName.d.ts +1 -0
- package/lib/domains/content/utils/getContentSchemaName.js +8 -0
- package/lib/domains/content/utils/getContentSchemaName.js.map +1 -0
- package/lib/domains/content/utils/getContentSchemaName.spec.d.ts +1 -0
- package/lib/domains/content/utils/getContentSchemaName.spec.js +9 -0
- package/lib/domains/content/utils/getContentSchemaName.spec.js.map +1 -0
- package/lib/domains/db/ComponentConnectionManager.d.ts +3 -0
- package/lib/domains/db/ComponentConnectionManager.js +3 -0
- package/lib/domains/db/ComponentConnectionManager.js.map +1 -0
- package/lib/domains/db/ComponentRepositories.d.ts +19 -0
- package/lib/domains/db/ComponentRepositories.js +23 -0
- package/lib/domains/db/ComponentRepositories.js.map +1 -0
- package/lib/domains/db/createConnectionManager.d.ts +5 -0
- package/lib/domains/db/createConnectionManager.js +16 -0
- package/lib/domains/db/createConnectionManager.js.map +1 -0
- package/lib/domains/db/index.d.ts +3 -0
- package/lib/domains/db/index.js +20 -0
- package/lib/domains/db/index.js.map +1 -0
- package/lib/domains/db/migration-list.d.ts +2 -0
- package/lib/domains/db/migration-list.js +19 -0
- package/lib/domains/db/migration-list.js.map +1 -0
- package/lib/domains/job/ParsePartitionKey/ParsePartitionKey.d.ts +2 -0
- package/lib/domains/job/ParsePartitionKey/ParsePartitionKey.js +24 -0
- package/lib/domains/job/ParsePartitionKey/ParsePartitionKey.js.map +1 -0
- package/lib/domains/job/ParsePartitionKey/ParsePartitionKey.spec.d.ts +5 -0
- package/lib/domains/job/ParsePartitionKey/ParsePartitionKey.spec.js +24 -0
- package/lib/domains/job/ParsePartitionKey/ParsePartitionKey.spec.js.map +1 -0
- package/lib/domains/job/ParsePartitionKey/index.d.ts +1 -0
- package/lib/domains/job/ParsePartitionKey/index.js +18 -0
- package/lib/domains/job/ParsePartitionKey/index.js.map +1 -0
- package/lib/domains/job/constants/JobExecutionStatus.constants.d.ts +8 -0
- package/lib/domains/job/constants/JobExecutionStatus.constants.js +12 -0
- package/lib/domains/job/constants/JobExecutionStatus.constants.js.map +1 -0
- package/lib/domains/job/constants/QueryParams.d.ts +14 -0
- package/lib/domains/job/constants/QueryParams.js +19 -0
- package/lib/domains/job/constants/QueryParams.js.map +1 -0
- package/lib/domains/job/constants/Repository.constants.d.ts +12 -0
- package/lib/domains/job/constants/Repository.constants.js +15 -0
- package/lib/domains/job/constants/Repository.constants.js.map +1 -0
- package/lib/domains/job/core/dynamoClient.mock.d.ts +8 -0
- package/lib/domains/job/core/dynamoClient.mock.js +32 -0
- package/lib/domains/job/core/dynamoClient.mock.js.map +1 -0
- package/lib/domains/job/core/pagination/index.d.ts +3 -0
- package/lib/domains/job/core/pagination/index.js +20 -0
- package/lib/domains/job/core/pagination/index.js.map +1 -0
- package/lib/domains/job/core/pagination/model/PageQuery.d.ts +28 -0
- package/lib/domains/job/core/pagination/model/PageQuery.js +7 -0
- package/lib/domains/job/core/pagination/model/PageQuery.js.map +1 -0
- package/lib/domains/job/core/pagination/model/PaginationInfo.d.ts +35 -0
- package/lib/domains/job/core/pagination/model/PaginationInfo.js +7 -0
- package/lib/domains/job/core/pagination/model/PaginationInfo.js.map +1 -0
- package/lib/domains/job/core/pagination/model/PaginationKey.d.ts +2 -0
- package/lib/domains/job/core/pagination/model/PaginationKey.js +3 -0
- package/lib/domains/job/core/pagination/model/PaginationKey.js.map +1 -0
- package/lib/domains/job/core/pagination/model/PaginationLinks.d.ts +27 -0
- package/lib/domains/job/core/pagination/model/PaginationLinks.js +7 -0
- package/lib/domains/job/core/pagination/model/PaginationLinks.js.map +1 -0
- package/lib/domains/job/core/pagination/model/PaginationQueryParams.d.ts +14 -0
- package/lib/domains/job/core/pagination/model/PaginationQueryParams.js +3 -0
- package/lib/domains/job/core/pagination/model/PaginationQueryParams.js.map +1 -0
- package/lib/domains/job/core/pagination/model/PaginationQueryResponse.d.ts +24 -0
- package/lib/domains/job/core/pagination/model/PaginationQueryResponse.js +7 -0
- package/lib/domains/job/core/pagination/model/PaginationQueryResponse.js.map +1 -0
- package/lib/domains/job/core/pagination/model/PaginationResponse.d.ts +43 -0
- package/lib/domains/job/core/pagination/model/PaginationResponse.js +7 -0
- package/lib/domains/job/core/pagination/model/PaginationResponse.js.map +1 -0
- package/lib/domains/job/core/pagination/model/PaginationTypes.d.ts +39 -0
- package/lib/domains/job/core/pagination/model/PaginationTypes.js +29 -0
- package/lib/domains/job/core/pagination/model/PaginationTypes.js.map +1 -0
- package/lib/domains/job/core/pagination/model/index.d.ts +8 -0
- package/lib/domains/job/core/pagination/model/index.js +25 -0
- package/lib/domains/job/core/pagination/model/index.js.map +1 -0
- package/lib/domains/job/core/pagination/services/PaginationService.d.ts +41 -0
- package/lib/domains/job/core/pagination/services/PaginationService.js +129 -0
- package/lib/domains/job/core/pagination/services/PaginationService.js.map +1 -0
- package/lib/domains/job/core/pagination/services/PaginationService.spec.d.ts +5 -0
- package/lib/domains/job/core/pagination/services/PaginationService.spec.js +179 -0
- package/lib/domains/job/core/pagination/services/PaginationService.spec.js.map +1 -0
- package/lib/domains/job/core/pagination/services/index.d.ts +1 -0
- package/lib/domains/job/core/pagination/services/index.js +18 -0
- package/lib/domains/job/core/pagination/services/index.js.map +1 -0
- package/lib/domains/job/core/pagination/utils/PaginationUtils.d.ts +48 -0
- package/lib/domains/job/core/pagination/utils/PaginationUtils.js +139 -0
- package/lib/domains/job/core/pagination/utils/PaginationUtils.js.map +1 -0
- package/lib/domains/job/core/pagination/utils/PaginationUtils.spec.d.ts +5 -0
- package/lib/domains/job/core/pagination/utils/PaginationUtils.spec.js +212 -0
- package/lib/domains/job/core/pagination/utils/PaginationUtils.spec.js.map +1 -0
- package/lib/domains/job/core/pagination/utils/index.d.ts +1 -0
- package/lib/domains/job/core/pagination/utils/index.js +18 -0
- package/lib/domains/job/core/pagination/utils/index.js.map +1 -0
- package/lib/domains/job/errors/BadRequestError.d.ts +15 -0
- package/lib/domains/job/errors/BadRequestError.js +23 -0
- package/lib/domains/job/errors/BadRequestError.js.map +1 -0
- package/lib/domains/job/errors/Error.constants.d.ts +32 -0
- package/lib/domains/job/errors/Error.constants.js +36 -0
- package/lib/domains/job/errors/Error.constants.js.map +1 -0
- package/lib/domains/job/errors/ErrorWithHttpStatusCode.d.ts +16 -0
- package/lib/domains/job/errors/ErrorWithHttpStatusCode.js +23 -0
- package/lib/domains/job/errors/ErrorWithHttpStatusCode.js.map +1 -0
- package/lib/domains/job/errors/ExecutionStatusError.d.ts +3 -0
- package/lib/domains/job/errors/ExecutionStatusError.js +11 -0
- package/lib/domains/job/errors/ExecutionStatusError.js.map +1 -0
- package/lib/domains/job/errors/InternalServerError.d.ts +15 -0
- package/lib/domains/job/errors/InternalServerError.js +23 -0
- package/lib/domains/job/errors/InternalServerError.js.map +1 -0
- package/lib/domains/job/errors/NotFoundError.d.ts +14 -0
- package/lib/domains/job/errors/NotFoundError.js +22 -0
- package/lib/domains/job/errors/NotFoundError.js.map +1 -0
- package/lib/domains/job/errors/NotImplementedError.d.ts +15 -0
- package/lib/domains/job/errors/NotImplementedError.js +23 -0
- package/lib/domains/job/errors/NotImplementedError.js.map +1 -0
- package/lib/domains/job/errors/UnprocessableContent.d.ts +15 -0
- package/lib/domains/job/errors/UnprocessableContent.js +23 -0
- package/lib/domains/job/errors/UnprocessableContent.js.map +1 -0
- package/lib/domains/job/errors/index.d.ts +8 -0
- package/lib/domains/job/errors/index.js +25 -0
- package/lib/domains/job/errors/index.js.map +1 -0
- package/lib/domains/job/index.d.ts +16 -0
- package/lib/domains/job/index.js +33 -0
- package/lib/domains/job/index.js.map +1 -0
- package/lib/domains/job/manifest/JobManifestTypes.d.ts +126 -0
- package/lib/domains/job/manifest/JobManifestTypes.js +7 -0
- package/lib/domains/job/manifest/JobManifestTypes.js.map +1 -0
- package/lib/domains/job/manifest/JobManifestV1.d.ts +17 -0
- package/lib/domains/job/manifest/JobManifestV1.js +58 -0
- package/lib/domains/job/manifest/JobManifestV1.js.map +1 -0
- package/lib/domains/job/manifest/JobManifestV1.spec.d.ts +1 -0
- package/lib/domains/job/manifest/JobManifestV1.spec.js +136 -0
- package/lib/domains/job/manifest/JobManifestV1.spec.js.map +1 -0
- package/lib/domains/job/manifest/index.d.ts +5 -0
- package/lib/domains/job/manifest/index.js +22 -0
- package/lib/domains/job/manifest/index.js.map +1 -0
- package/lib/domains/job/manifest/mocks/JobManifest.mock.d.ts +7 -0
- package/lib/domains/job/manifest/mocks/JobManifest.mock.js +36 -0
- package/lib/domains/job/manifest/mocks/JobManifest.mock.js.map +1 -0
- package/lib/domains/job/manifest/mocks/JobManifestDto.mock.d.ts +7 -0
- package/lib/domains/job/manifest/mocks/JobManifestDto.mock.js +48 -0
- package/lib/domains/job/manifest/mocks/JobManifestDto.mock.js.map +1 -0
- package/lib/domains/job/manifest/mocks/JobManifestRecord.mock.d.ts +7 -0
- package/lib/domains/job/manifest/mocks/JobManifestRecord.mock.js +38 -0
- package/lib/domains/job/manifest/mocks/JobManifestRecord.mock.js.map +1 -0
- package/lib/domains/job/manifest/mocks/JobManifestRequest.mock.d.ts +6 -0
- package/lib/domains/job/manifest/mocks/JobManifestRequest.mock.js +29 -0
- package/lib/domains/job/manifest/mocks/JobManifestRequest.mock.js.map +1 -0
- package/lib/domains/job/model/Base/Base.d.ts +40 -0
- package/lib/domains/job/model/Base/Base.js +3 -0
- package/lib/domains/job/model/Base/Base.js.map +1 -0
- package/lib/domains/job/model/Base/index.d.ts +1 -0
- package/lib/domains/job/model/Base/index.js +18 -0
- package/lib/domains/job/model/Base/index.js.map +1 -0
- package/lib/domains/job/model/Job/Job.d.ts +85 -0
- package/lib/domains/job/model/Job/Job.js +7 -0
- package/lib/domains/job/model/Job/Job.js.map +1 -0
- package/lib/domains/job/model/Job/index.d.ts +5 -0
- package/lib/domains/job/model/Job/index.js +22 -0
- package/lib/domains/job/model/Job/index.js.map +1 -0
- package/lib/domains/job/model/Job/mocks/Job.mock.d.ts +7 -0
- package/lib/domains/job/model/Job/mocks/Job.mock.js +28 -0
- package/lib/domains/job/model/Job/mocks/Job.mock.js.map +1 -0
- package/lib/domains/job/model/Job/mocks/JobDto.mock.d.ts +7 -0
- package/lib/domains/job/model/Job/mocks/JobDto.mock.js +39 -0
- package/lib/domains/job/model/Job/mocks/JobDto.mock.js.map +1 -0
- package/lib/domains/job/model/Job/mocks/JobRecord.mock.d.ts +7 -0
- package/lib/domains/job/model/Job/mocks/JobRecord.mock.js +29 -0
- package/lib/domains/job/model/Job/mocks/JobRecord.mock.js.map +1 -0
- package/lib/domains/job/model/Job/mocks/JobRequest.mock.d.ts +6 -0
- package/lib/domains/job/model/Job/mocks/JobRequest.mock.js +21 -0
- package/lib/domains/job/model/Job/mocks/JobRequest.mock.js.map +1 -0
- package/lib/domains/job/model/JobContext/JobContext.d.ts +87 -0
- package/lib/domains/job/model/JobContext/JobContext.js +7 -0
- package/lib/domains/job/model/JobContext/JobContext.js.map +1 -0
- package/lib/domains/job/model/JobContext/index.d.ts +5 -0
- package/lib/domains/job/model/JobContext/index.js +22 -0
- package/lib/domains/job/model/JobContext/index.js.map +1 -0
- package/lib/domains/job/model/JobContext/mocks/JobContext.mock.d.ts +7 -0
- package/lib/domains/job/model/JobContext/mocks/JobContext.mock.js +35 -0
- package/lib/domains/job/model/JobContext/mocks/JobContext.mock.js.map +1 -0
- package/lib/domains/job/model/JobContext/mocks/JobContextDto.mock.d.ts +7 -0
- package/lib/domains/job/model/JobContext/mocks/JobContextDto.mock.js +46 -0
- package/lib/domains/job/model/JobContext/mocks/JobContextDto.mock.js.map +1 -0
- package/lib/domains/job/model/JobContext/mocks/JobContextRecord.mock.d.ts +7 -0
- package/lib/domains/job/model/JobContext/mocks/JobContextRecord.mock.js +34 -0
- package/lib/domains/job/model/JobContext/mocks/JobContextRecord.mock.js.map +1 -0
- package/lib/domains/job/model/JobContext/mocks/JobContextRequest.mock.d.ts +6 -0
- package/lib/domains/job/model/JobContext/mocks/JobContextRequest.mock.js +25 -0
- package/lib/domains/job/model/JobContext/mocks/JobContextRequest.mock.js.map +1 -0
- package/lib/domains/job/model/JobExecution/JobExecution.d.ts +189 -0
- package/lib/domains/job/model/JobExecution/JobExecution.js +7 -0
- package/lib/domains/job/model/JobExecution/JobExecution.js.map +1 -0
- package/lib/domains/job/model/JobExecution/index.d.ts +5 -0
- package/lib/domains/job/model/JobExecution/index.js +22 -0
- package/lib/domains/job/model/JobExecution/index.js.map +1 -0
- package/lib/domains/job/model/JobExecution/mocks/JobExecution.mock.d.ts +7 -0
- package/lib/domains/job/model/JobExecution/mocks/JobExecution.mock.js +45 -0
- package/lib/domains/job/model/JobExecution/mocks/JobExecution.mock.js.map +1 -0
- package/lib/domains/job/model/JobExecution/mocks/JobExecutionDto.mock.d.ts +7 -0
- package/lib/domains/job/model/JobExecution/mocks/JobExecutionDto.mock.js +64 -0
- package/lib/domains/job/model/JobExecution/mocks/JobExecutionDto.mock.js.map +1 -0
- package/lib/domains/job/model/JobExecution/mocks/JobExecutionRecord.mock.d.ts +7 -0
- package/lib/domains/job/model/JobExecution/mocks/JobExecutionRecord.mock.js +48 -0
- package/lib/domains/job/model/JobExecution/mocks/JobExecutionRecord.mock.js.map +1 -0
- package/lib/domains/job/model/JobExecution/mocks/JobExecutionRequest.mock.d.ts +6 -0
- package/lib/domains/job/model/JobExecution/mocks/JobExecutionRequest.mock.js +25 -0
- package/lib/domains/job/model/JobExecution/mocks/JobExecutionRequest.mock.js.map +1 -0
- package/lib/domains/job/repository/AbstractRepository.d.ts +73 -0
- package/lib/domains/job/repository/AbstractRepository.js +174 -0
- package/lib/domains/job/repository/AbstractRepository.js.map +1 -0
- package/lib/domains/job/repository/JobContextRepository/JobContextRepository.d.ts +24 -0
- package/lib/domains/job/repository/JobContextRepository/JobContextRepository.js +169 -0
- package/lib/domains/job/repository/JobContextRepository/JobContextRepository.js.map +1 -0
- package/lib/domains/job/repository/JobContextRepository/JobContextRepository.spec.d.ts +5 -0
- package/lib/domains/job/repository/JobContextRepository/JobContextRepository.spec.js +246 -0
- package/lib/domains/job/repository/JobContextRepository/JobContextRepository.spec.js.map +1 -0
- package/lib/domains/job/repository/JobExecutionRepository/JobExecutionRepository.d.ts +47 -0
- package/lib/domains/job/repository/JobExecutionRepository/JobExecutionRepository.js +276 -0
- package/lib/domains/job/repository/JobExecutionRepository/JobExecutionRepository.js.map +1 -0
- package/lib/domains/job/repository/JobExecutionRepository/JobExecutionRepository.spec.d.ts +5 -0
- package/lib/domains/job/repository/JobExecutionRepository/JobExecutionRepository.spec.js +296 -0
- package/lib/domains/job/repository/JobExecutionRepository/JobExecutionRepository.spec.js.map +1 -0
- package/lib/domains/job/repository/JobManifestRepository/JobManifestRepository.d.ts +16 -0
- package/lib/domains/job/repository/JobManifestRepository/JobManifestRepository.js +133 -0
- package/lib/domains/job/repository/JobManifestRepository/JobManifestRepository.js.map +1 -0
- package/lib/domains/job/repository/JobManifestRepository/JobManifestRepository.spec.d.ts +5 -0
- package/lib/domains/job/repository/JobManifestRepository/JobManifestRepository.spec.js +162 -0
- package/lib/domains/job/repository/JobManifestRepository/JobManifestRepository.spec.js.map +1 -0
- package/lib/domains/job/repository/JobRepository/JobRepository.d.ts +30 -0
- package/lib/domains/job/repository/JobRepository/JobRepository.js +189 -0
- package/lib/domains/job/repository/JobRepository/JobRepository.js.map +1 -0
- package/lib/domains/job/repository/JobRepository/JobRepository.spec.d.ts +5 -0
- package/lib/domains/job/repository/JobRepository/JobRepository.spec.js +270 -0
- package/lib/domains/job/repository/JobRepository/JobRepository.spec.js.map +1 -0
- package/lib/domains/job/repository/index.d.ts +5 -0
- package/lib/domains/job/repository/index.js +22 -0
- package/lib/domains/job/repository/index.js.map +1 -0
- package/lib/domains/job/repository/mocks/mockIoc.d.ts +5 -0
- package/lib/domains/job/repository/mocks/mockIoc.js +40 -0
- package/lib/domains/job/repository/mocks/mockIoc.js.map +1 -0
- package/lib/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.d.ts +13 -0
- package/lib/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.defs.d.ts +39 -0
- package/lib/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.defs.js +3 -0
- package/lib/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.defs.js.map +1 -0
- package/lib/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.js +139 -0
- package/lib/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.js.map +1 -0
- package/lib/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.spec.d.ts +1 -0
- package/lib/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.spec.js +78 -0
- package/lib/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.spec.js.map +1 -0
- package/lib/domains/job/services/index.d.ts +1 -0
- package/lib/domains/job/services/index.js +18 -0
- package/lib/domains/job/services/index.js.map +1 -0
- package/lib/domains/job/singletonProvider.d.ts +6 -0
- package/lib/domains/job/singletonProvider.js +14 -0
- package/lib/domains/job/singletonProvider.js.map +1 -0
- package/lib/domains/job/transientProvider.d.ts +6 -0
- package/lib/domains/job/transientProvider.js +14 -0
- package/lib/domains/job/transientProvider.js.map +1 -0
- package/lib/domains/job/utils/SlackClient/SlackClient.d.ts +44 -0
- package/lib/domains/job/utils/SlackClient/SlackClient.js +113 -0
- package/lib/domains/job/utils/SlackClient/SlackClient.js.map +1 -0
- package/lib/domains/job/utils/SlackClient/SlackClient.spec.d.ts +5 -0
- package/lib/domains/job/utils/SlackClient/SlackClient.spec.js +116 -0
- package/lib/domains/job/utils/SlackClient/SlackClient.spec.js.map +1 -0
- package/lib/domains/job/utils/SlackClient/types/SlackClient.types.d.ts +56 -0
- package/lib/domains/job/utils/SlackClient/types/SlackClient.types.js +28 -0
- package/lib/domains/job/utils/SlackClient/types/SlackClient.types.js.map +1 -0
- package/lib/domains/job/utils/SortByTimeQueued/SortByTimeQueued.d.ts +9 -0
- package/lib/domains/job/utils/SortByTimeQueued/SortByTimeQueued.js +21 -0
- package/lib/domains/job/utils/SortByTimeQueued/SortByTimeQueued.js.map +1 -0
- package/lib/domains/job/utils/SortByTimeQueued/SortByTimeQueued.spec.d.ts +5 -0
- package/lib/domains/job/utils/SortByTimeQueued/SortByTimeQueued.spec.js +26 -0
- package/lib/domains/job/utils/SortByTimeQueued/SortByTimeQueued.spec.js.map +1 -0
- package/lib/domains/job/utils/index.d.ts +3 -0
- package/lib/domains/job/utils/index.js +20 -0
- package/lib/domains/job/utils/index.js.map +1 -0
- package/lib/domains/manifest/AbstractManifest.d.ts +38 -0
- package/lib/domains/manifest/AbstractManifest.js +45 -0
- package/lib/domains/manifest/AbstractManifest.js.map +1 -0
- package/lib/domains/manifest/ManifestModel.d.ts +7 -0
- package/lib/domains/manifest/ManifestModel.js +3 -0
- package/lib/domains/manifest/ManifestModel.js.map +1 -0
- package/lib/domains/manifest/ManifestV1.d.ts +18 -0
- package/lib/domains/manifest/ManifestV1.js +124 -0
- package/lib/domains/manifest/ManifestV1.js.map +1 -0
- package/lib/domains/manifest/ManifestV1.spec.d.ts +1 -0
- package/lib/domains/manifest/ManifestV1.spec.js +347 -0
- package/lib/domains/manifest/ManifestV1.spec.js.map +1 -0
- package/lib/domains/manifest/errors/ManifestLocationError.d.ts +5 -0
- package/lib/domains/manifest/errors/ManifestLocationError.js +13 -0
- package/lib/domains/manifest/errors/ManifestLocationError.js.map +1 -0
- package/lib/domains/manifest/errors/ManifestValidationError.d.ts +3 -0
- package/lib/domains/manifest/errors/ManifestValidationError.js +12 -0
- package/lib/domains/manifest/errors/ManifestValidationError.js.map +1 -0
- package/lib/domains/manifest/index.d.ts +16 -0
- package/lib/domains/manifest/index.js +33 -0
- package/lib/domains/manifest/index.js.map +1 -0
- package/lib/domains/manifest/services/AbstractManifestService.d.ts +49 -0
- package/lib/domains/manifest/services/AbstractManifestService.js +235 -0
- package/lib/domains/manifest/services/AbstractManifestService.js.map +1 -0
- package/lib/domains/manifest/services/AbstractManifestService.spec.d.ts +1 -0
- package/lib/domains/manifest/services/AbstractManifestService.spec.js +301 -0
- package/lib/domains/manifest/services/AbstractManifestService.spec.js.map +1 -0
- package/lib/domains/manifest/services/ComponentFunctionService.d.ts +35 -0
- package/lib/domains/manifest/services/ComponentFunctionService.js +129 -0
- package/lib/domains/manifest/services/ComponentFunctionService.js.map +1 -0
- package/lib/domains/manifest/services/ComponentFunctionService.spec.d.ts +1 -0
- package/lib/domains/manifest/services/ComponentFunctionService.spec.js +567 -0
- package/lib/domains/manifest/services/ComponentFunctionService.spec.js.map +1 -0
- package/lib/domains/manifest/services/ComponentInputValidationService.d.ts +5 -0
- package/lib/domains/manifest/services/ComponentInputValidationService.js +11 -0
- package/lib/domains/manifest/services/ComponentInputValidationService.js.map +1 -0
- package/lib/domains/manifest/services/ComponentSchemaValidationService.d.ts +5 -0
- package/lib/domains/manifest/services/ComponentSchemaValidationService.js +11 -0
- package/lib/domains/manifest/services/ComponentSchemaValidationService.js.map +1 -0
- package/lib/domains/manifest/services/JobFunctionService.d.ts +12 -0
- package/lib/domains/manifest/services/JobFunctionService.js +23 -0
- package/lib/domains/manifest/services/JobFunctionService.js.map +1 -0
- package/lib/domains/manifest/services/JobFunctionService.spec.d.ts +1 -0
- package/lib/domains/manifest/services/JobFunctionService.spec.js +132 -0
- package/lib/domains/manifest/services/JobFunctionService.spec.js.map +1 -0
- package/lib/domains/manifest/services/ManifestServiceForDev.d.ts +18 -0
- package/lib/domains/manifest/services/ManifestServiceForDev.js +83 -0
- package/lib/domains/manifest/services/ManifestServiceForDev.js.map +1 -0
- package/lib/domains/manifest/services/ManifestServiceForDev.spec.d.ts +1 -0
- package/lib/domains/manifest/services/ManifestServiceForDev.spec.js +184 -0
- package/lib/domains/manifest/services/ManifestServiceForDev.spec.js.map +1 -0
- package/lib/domains/manifest/services/ManifestServiceForProduction.d.ts +12 -0
- package/lib/domains/manifest/services/ManifestServiceForProduction.js +81 -0
- package/lib/domains/manifest/services/ManifestServiceForProduction.js.map +1 -0
- package/lib/domains/manifest/services/ManifestServiceForProduction.spec.d.ts +1 -0
- package/lib/domains/manifest/services/ManifestServiceForProduction.spec.js +81 -0
- package/lib/domains/manifest/services/ManifestServiceForProduction.spec.js.map +1 -0
- package/lib/domains/manifest/utils/assertFuncEntryFilesAreValid.d.ts +3 -0
- package/lib/domains/manifest/utils/assertFuncEntryFilesAreValid.js +14 -0
- package/lib/domains/manifest/utils/assertFuncEntryFilesAreValid.js.map +1 -0
- package/lib/domains/manifest/utils/assertStaticFilesAreValid.d.ts +3 -0
- package/lib/domains/manifest/utils/assertStaticFilesAreValid.js +27 -0
- package/lib/domains/manifest/utils/assertStaticFilesAreValid.js.map +1 -0
- package/lib/domains/manifest/utils/assertStaticFilesHaveAbsolutePath.d.ts +2 -0
- package/lib/domains/manifest/utils/assertStaticFilesHaveAbsolutePath.js +16 -0
- package/lib/domains/manifest/utils/assertStaticFilesHaveAbsolutePath.js.map +1 -0
- package/lib/domains/manifest/utils/assertStaticFilesHaveAbsolutePath.spec.d.ts +1 -0
- package/lib/domains/manifest/utils/assertStaticFilesHaveAbsolutePath.spec.js +111 -0
- package/lib/domains/manifest/utils/assertStaticFilesHaveAbsolutePath.spec.js.map +1 -0
- package/lib/domains/manifest/utils/getAndAssertJobManifestVersion.d.ts +3 -0
- package/lib/domains/manifest/utils/getAndAssertJobManifestVersion.js +28 -0
- package/lib/domains/manifest/utils/getAndAssertJobManifestVersion.js.map +1 -0
- package/lib/domains/manifest/utils/getAndAssertJobManifestVersion.spec.d.ts +1 -0
- package/lib/domains/manifest/utils/getAndAssertJobManifestVersion.spec.js +115 -0
- package/lib/domains/manifest/utils/getAndAssertJobManifestVersion.spec.js.map +1 -0
- package/lib/domains/manifest/utils/getAndAssertManifestVersion.d.ts +3 -0
- package/lib/domains/manifest/utils/getAndAssertManifestVersion.js +23 -0
- package/lib/domains/manifest/utils/getAndAssertManifestVersion.js.map +1 -0
- package/lib/domains/manifest/utils/getAndAssertManifestVersion.spec.d.ts +1 -0
- package/lib/domains/manifest/utils/getAndAssertManifestVersion.spec.js +109 -0
- package/lib/domains/manifest/utils/getAndAssertManifestVersion.spec.js.map +1 -0
- package/lib/domains/manifest/utils/isValidManifestVersion.d.ts +2 -0
- package/lib/domains/manifest/utils/isValidManifestVersion.js +12 -0
- package/lib/domains/manifest/utils/isValidManifestVersion.js.map +1 -0
- package/lib/domains/manifest/utils/isValidManifestVersion.spec.d.ts +1 -0
- package/lib/domains/manifest/utils/isValidManifestVersion.spec.js +19 -0
- package/lib/domains/manifest/utils/isValidManifestVersion.spec.js.map +1 -0
- package/lib/domains/url/convertFunctionStaticFilesToFqdn.d.ts +1 -0
- package/lib/domains/url/convertFunctionStaticFilesToFqdn.js +22 -0
- package/lib/domains/url/convertFunctionStaticFilesToFqdn.js.map +1 -0
- package/lib/domains/url/convertFunctionStaticFilesToFqdn.spec.d.ts +1 -0
- package/lib/domains/url/convertFunctionStaticFilesToFqdn.spec.js +16 -0
- package/lib/domains/url/convertFunctionStaticFilesToFqdn.spec.js.map +1 -0
- package/lib/domains/url/convertFunctionStaticFilesToFqdnForPreview.d.ts +1 -0
- package/lib/domains/url/convertFunctionStaticFilesToFqdnForPreview.js +22 -0
- package/lib/domains/url/convertFunctionStaticFilesToFqdnForPreview.js.map +1 -0
- package/lib/domains/url/convertFunctionStaticFilesToFqdnForPreview.spec.d.ts +1 -0
- package/lib/domains/url/convertFunctionStaticFilesToFqdnForPreview.spec.js +16 -0
- package/lib/domains/url/convertFunctionStaticFilesToFqdnForPreview.spec.js.map +1 -0
- package/lib/domains/url/index.d.ts +1 -0
- package/lib/domains/url/index.js +18 -0
- package/lib/domains/url/index.js.map +1 -0
- package/lib/index.d.ts +9 -0
- package/lib/index.js +39 -0
- package/lib/index.js.map +1 -0
- package/lib/jest-global-setup.d.ts +3 -0
- package/lib/jest-global-setup.js +22 -0
- package/lib/jest-global-setup.js.map +1 -0
- package/package.json +59 -0
- package/src/TestHelpers.ts +111 -0
- package/src/custom-types.d.ts +7 -0
- package/src/domains/__test__/createPackage.ts +48 -0
- package/src/domains/__test__/loadAllUnitTestComponents.ts +73 -0
- package/src/domains/component/component-context/__mocks__/mockedManifestModel.ts +30 -0
- package/src/domains/component/component-context/__mocks__/mockedUriObj.ts +38 -0
- package/src/domains/component/component-context/__mocks__/mockedUriObjPreview.ts +38 -0
- package/src/domains/component/component-context/createComponentContextualFunctions.spec.ts +299 -0
- package/src/domains/component/component-context/createComponentContextualFunctions.ts +108 -0
- package/src/domains/component/errors/ComponentError.ts +22 -0
- package/src/domains/component/errors/JobError.ts +20 -0
- package/src/domains/component/index.ts +17 -0
- package/src/domains/component/models/Component.spec.ts +21 -0
- package/src/domains/component/models/Component.ts +16 -0
- package/src/domains/component/models/ComponentVersion.spec.ts +77 -0
- package/src/domains/component/models/ComponentVersion.ts +55 -0
- package/src/domains/component/repositories/ComponentRepository.integration.spec.ts +148 -0
- package/src/domains/component/repositories/ComponentRepository.ts +37 -0
- package/src/domains/component/repositories/ComponentVersionRepository.integration.spec.ts +523 -0
- package/src/domains/component/repositories/ComponentVersionRepository.ts +138 -0
- package/src/domains/component/services/ComponentService.integration.spec.ts +721 -0
- package/src/domains/component/services/ComponentService.ts +350 -0
- package/src/domains/component/services/content-item-uri-resolver/ComponentContentUriResolverForPreview.spec.ts +78 -0
- package/src/domains/component/services/content-item-uri-resolver/ComponentContentUriResolverForPreview.ts +18 -0
- package/src/domains/component/utils/getComponentFileSystemFolder.spec.ts +8 -0
- package/src/domains/component/utils/getComponentFileSystemFolder.ts +5 -0
- package/src/domains/component/utils/getComponentName.spec.ts +7 -0
- package/src/domains/component/utils/getComponentName.ts +3 -0
- package/src/domains/component/utils/moveFilesAndDirectories.spec.ts +62 -0
- package/src/domains/component/utils/moveFilesAndDirectories.ts +27 -0
- package/src/domains/component/web-models/ComponentForWeb.ts +11 -0
- package/src/domains/component/web-models/ComponentVersionWebModel.ts +16 -0
- package/src/domains/component/web-models/ComponentsForWeb.ts +17 -0
- package/src/domains/component-set/errors/InvalidEnvironmentVariablesError.ts +11 -0
- package/src/domains/component-set/index.ts +18 -0
- package/src/domains/component-set/models/ComponentSet.spec.ts +66 -0
- package/src/domains/component-set/models/ComponentSet.ts +67 -0
- package/src/domains/component-set/models/ComponentSetComponentVersion.spec.ts +106 -0
- package/src/domains/component-set/models/ComponentSetComponentVersion.ts +54 -0
- package/src/domains/component-set/models/ComponentSetComponentVersionEditable.spec.ts +82 -0
- package/src/domains/component-set/models/ComponentSetComponentVersionEditable.ts +46 -0
- package/src/domains/component-set/models/ComponentSetComponentVersionExcluded.spec.ts +46 -0
- package/src/domains/component-set/models/ComponentSetComponentVersionExcluded.ts +26 -0
- package/src/domains/component-set/models/ComponentSetRule.spec.ts +39 -0
- package/src/domains/component-set/models/ComponentSetRule.ts +37 -0
- package/src/domains/component-set/repositories/ComponentSetComponentVersionEditableRepository.integration.spec.ts +172 -0
- package/src/domains/component-set/repositories/ComponentSetComponentVersionEditableRepository.ts +47 -0
- package/src/domains/component-set/repositories/ComponentSetComponentVersionExcludedRepository.integration.spec.ts +172 -0
- package/src/domains/component-set/repositories/ComponentSetComponentVersionExcludedRepository.ts +47 -0
- package/src/domains/component-set/repositories/ComponentSetComponentVersionRepository.integration.spec.ts +229 -0
- package/src/domains/component-set/repositories/ComponentSetComponentVersionRepository.ts +37 -0
- package/src/domains/component-set/repositories/ComponentSetRepository.integration.spec.ts +199 -0
- package/src/domains/component-set/repositories/ComponentSetRepository.ts +68 -0
- package/src/domains/component-set/repositories/ComponentSetRuleRepository.integration.spec.ts +107 -0
- package/src/domains/component-set/repositories/ComponentSetRuleRepository.ts +40 -0
- package/src/domains/component-set/services/ComponentSetRuleService.integration.spec.ts +137 -0
- package/src/domains/component-set/services/ComponentSetRuleService.ts +34 -0
- package/src/domains/component-set/services/ComponentSetService.spec.ts +144 -0
- package/src/domains/component-set/services/ComponentSetService.ts +82 -0
- package/src/domains/component-set/services/ComponentSetServiceForLocalDev.spec.ts +209 -0
- package/src/domains/component-set/services/ComponentSetServiceForLocalDev.ts +111 -0
- package/src/domains/component-set/services/ComponentSetServiceForProduction.integration.spec.ts +2898 -0
- package/src/domains/component-set/services/ComponentSetServiceForProduction.ts +839 -0
- package/src/domains/component-set/services/EnvironmentVariables.ts +1 -0
- package/src/domains/component-set/services/Headers.ts +1 -0
- package/src/domains/component-set/services/RuntimeComponentSet.ts +7 -0
- package/src/domains/component-set/web-models/ComponentSetComponentVersionForWeb.ts +7 -0
- package/src/domains/component-set/web-models/ComponentSetForWeb.ts +83 -0
- package/src/domains/content/index.ts +4 -0
- package/src/domains/content/services/ComponentContentSchemaService.spec.ts +264 -0
- package/src/domains/content/services/ComponentContentSchemaService.ts +53 -0
- package/src/domains/content/services/ContentItemService.spec.ts +108 -0
- package/src/domains/content/services/ContentItemService.ts +34 -0
- package/src/domains/content/services/DynamicContentItemService.spec.ts +97 -0
- package/src/domains/content/services/DynamicContentItemService.ts +30 -0
- package/src/domains/content/utils/getContentSchemaName.spec.ts +7 -0
- package/src/domains/content/utils/getContentSchemaName.ts +7 -0
- package/src/domains/db/ComponentConnectionManager.ts +4 -0
- package/src/domains/db/ComponentRepositories.ts +31 -0
- package/src/domains/db/createConnectionManager.ts +24 -0
- package/src/domains/db/index.ts +3 -0
- package/src/domains/db/migration-list.ts +16 -0
- package/src/domains/job/ParsePartitionKey/ParsePartitionKey.spec.ts +27 -0
- package/src/domains/job/ParsePartitionKey/ParsePartitionKey.ts +19 -0
- package/src/domains/job/ParsePartitionKey/index.ts +1 -0
- package/src/domains/job/constants/JobExecutionStatus.constants.ts +9 -0
- package/src/domains/job/constants/QueryParams.ts +16 -0
- package/src/domains/job/constants/Repository.constants.ts +18 -0
- package/src/domains/job/core/dynamoClient.mock.ts +34 -0
- package/src/domains/job/core/pagination/index.ts +3 -0
- package/src/domains/job/core/pagination/model/PageQuery.ts +31 -0
- package/src/domains/job/core/pagination/model/PaginationInfo.ts +40 -0
- package/src/domains/job/core/pagination/model/PaginationKey.ts +4 -0
- package/src/domains/job/core/pagination/model/PaginationLinks.ts +30 -0
- package/src/domains/job/core/pagination/model/PaginationQueryParams.ts +15 -0
- package/src/domains/job/core/pagination/model/PaginationQueryResponse.ts +27 -0
- package/src/domains/job/core/pagination/model/PaginationResponse.ts +48 -0
- package/src/domains/job/core/pagination/model/PaginationTypes.ts +45 -0
- package/src/domains/job/core/pagination/model/index.ts +8 -0
- package/src/domains/job/core/pagination/services/PaginationService.spec.ts +248 -0
- package/src/domains/job/core/pagination/services/PaginationService.ts +142 -0
- package/src/domains/job/core/pagination/services/index.ts +1 -0
- package/src/domains/job/core/pagination/utils/PaginationUtils.spec.ts +263 -0
- package/src/domains/job/core/pagination/utils/PaginationUtils.ts +156 -0
- package/src/domains/job/core/pagination/utils/index.ts +1 -0
- package/src/domains/job/errors/BadRequestError.ts +19 -0
- package/src/domains/job/errors/Error.constants.ts +34 -0
- package/src/domains/job/errors/ErrorWithHttpStatusCode.ts +16 -0
- package/src/domains/job/errors/ExecutionStatusError.ts +3 -0
- package/src/domains/job/errors/InternalServerError.ts +19 -0
- package/src/domains/job/errors/NotFoundError.ts +19 -0
- package/src/domains/job/errors/NotImplementedError.ts +19 -0
- package/src/domains/job/errors/UnprocessableContent.ts +19 -0
- package/src/domains/job/errors/index.ts +8 -0
- package/src/domains/job/index.ts +21 -0
- package/src/domains/job/manifest/JobManifestTypes.ts +145 -0
- package/src/domains/job/manifest/JobManifestV1.spec.ts +148 -0
- package/src/domains/job/manifest/JobManifestV1.ts +60 -0
- package/src/domains/job/manifest/index.ts +5 -0
- package/src/domains/job/manifest/mocks/JobManifest.mock.ts +35 -0
- package/src/domains/job/manifest/mocks/JobManifestDto.mock.ts +46 -0
- package/src/domains/job/manifest/mocks/JobManifestRecord.mock.ts +37 -0
- package/src/domains/job/manifest/mocks/JobManifestRequest.mock.ts +30 -0
- package/src/domains/job/model/Base/Base.ts +44 -0
- package/src/domains/job/model/Base/index.ts +1 -0
- package/src/domains/job/model/Job/Job.ts +98 -0
- package/src/domains/job/model/Job/index.ts +5 -0
- package/src/domains/job/model/Job/mocks/Job.mock.ts +26 -0
- package/src/domains/job/model/Job/mocks/JobDto.mock.ts +37 -0
- package/src/domains/job/model/Job/mocks/JobRecord.mock.ts +28 -0
- package/src/domains/job/model/Job/mocks/JobRequest.mock.ts +20 -0
- package/src/domains/job/model/JobContext/JobContext.ts +101 -0
- package/src/domains/job/model/JobContext/index.ts +5 -0
- package/src/domains/job/model/JobContext/mocks/JobContext.mock.ts +34 -0
- package/src/domains/job/model/JobContext/mocks/JobContextDto.mock.ts +46 -0
- package/src/domains/job/model/JobContext/mocks/JobContextRecord.mock.ts +32 -0
- package/src/domains/job/model/JobContext/mocks/JobContextRequest.mock.ts +26 -0
- package/src/domains/job/model/JobExecution/JobExecution.ts +220 -0
- package/src/domains/job/model/JobExecution/index.ts +5 -0
- package/src/domains/job/model/JobExecution/mocks/JobExecution.mock.ts +43 -0
- package/src/domains/job/model/JobExecution/mocks/JobExecutionDto.mock.ts +62 -0
- package/src/domains/job/model/JobExecution/mocks/JobExecutionRecord.mock.ts +47 -0
- package/src/domains/job/model/JobExecution/mocks/JobExecutionRequest.mock.ts +26 -0
- package/src/domains/job/repository/AbstractRepository.ts +219 -0
- package/src/domains/job/repository/JobContextRepository/JobContextRepository.spec.ts +301 -0
- package/src/domains/job/repository/JobContextRepository/JobContextRepository.ts +168 -0
- package/src/domains/job/repository/JobExecutionRepository/JobExecutionRepository.spec.ts +371 -0
- package/src/domains/job/repository/JobExecutionRepository/JobExecutionRepository.ts +293 -0
- package/src/domains/job/repository/JobManifestRepository/JobManifestRepository.spec.ts +222 -0
- package/src/domains/job/repository/JobManifestRepository/JobManifestRepository.ts +120 -0
- package/src/domains/job/repository/JobRepository/JobRepository.spec.ts +337 -0
- package/src/domains/job/repository/JobRepository/JobRepository.ts +188 -0
- package/src/domains/job/repository/index.ts +5 -0
- package/src/domains/job/repository/mocks/mockIoc.ts +42 -0
- package/src/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.defs.ts +40 -0
- package/src/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.spec.ts +95 -0
- package/src/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.ts +138 -0
- package/src/domains/job/services/index.ts +1 -0
- package/src/domains/job/singletonProvider.ts +12 -0
- package/src/domains/job/transientProvider.ts +12 -0
- package/src/domains/job/utils/SlackClient/SlackClient.spec.ts +176 -0
- package/src/domains/job/utils/SlackClient/SlackClient.ts +132 -0
- package/src/domains/job/utils/SlackClient/types/SlackClient.types.ts +70 -0
- package/src/domains/job/utils/SortByTimeQueued/SortByTimeQueued.spec.ts +28 -0
- package/src/domains/job/utils/SortByTimeQueued/SortByTimeQueued.ts +21 -0
- package/src/domains/job/utils/index.ts +3 -0
- package/src/domains/manifest/AbstractManifest.ts +57 -0
- package/src/domains/manifest/ManifestModel.ts +9 -0
- package/src/domains/manifest/ManifestV1.spec.ts +436 -0
- package/src/domains/manifest/ManifestV1.ts +146 -0
- package/src/domains/manifest/errors/ManifestLocationError.ts +9 -0
- package/src/domains/manifest/errors/ManifestValidationError.ts +7 -0
- package/src/domains/manifest/index.ts +18 -0
- package/src/domains/manifest/services/AbstractManifestService.spec.ts +427 -0
- package/src/domains/manifest/services/AbstractManifestService.ts +316 -0
- package/src/domains/manifest/services/ComponentFunctionService.spec.ts +683 -0
- package/src/domains/manifest/services/ComponentFunctionService.ts +178 -0
- package/src/domains/manifest/services/ComponentInputValidationService.ts +22 -0
- package/src/domains/manifest/services/ComponentSchemaValidationService.ts +22 -0
- package/src/domains/manifest/services/JobFunctionService.spec.ts +165 -0
- package/src/domains/manifest/services/JobFunctionService.ts +25 -0
- package/src/domains/manifest/services/ManifestServiceForDev.spec.ts +199 -0
- package/src/domains/manifest/services/ManifestServiceForDev.ts +96 -0
- package/src/domains/manifest/services/ManifestServiceForProduction.spec.ts +90 -0
- package/src/domains/manifest/services/ManifestServiceForProduction.ts +98 -0
- package/src/domains/manifest/utils/assertFuncEntryFilesAreValid.ts +19 -0
- package/src/domains/manifest/utils/assertStaticFilesAreValid.ts +37 -0
- package/src/domains/manifest/utils/assertStaticFilesHaveAbsolutePath.spec.ts +121 -0
- package/src/domains/manifest/utils/assertStaticFilesHaveAbsolutePath.ts +15 -0
- package/src/domains/manifest/utils/getAndAssertJobManifestVersion.spec.ts +145 -0
- package/src/domains/manifest/utils/getAndAssertJobManifestVersion.ts +31 -0
- package/src/domains/manifest/utils/getAndAssertManifestVersion.spec.ts +134 -0
- package/src/domains/manifest/utils/getAndAssertManifestVersion.ts +27 -0
- package/src/domains/manifest/utils/isValidManifestVersion.spec.ts +19 -0
- package/src/domains/manifest/utils/isValidManifestVersion.ts +9 -0
- package/src/domains/url/convertFunctionStaticFilesToFqdn.spec.ts +24 -0
- package/src/domains/url/convertFunctionStaticFilesToFqdn.ts +25 -0
- package/src/domains/url/convertFunctionStaticFilesToFqdnForPreview.spec.ts +48 -0
- package/src/domains/url/convertFunctionStaticFilesToFqdnForPreview.ts +25 -0
- package/src/domains/url/index.ts +1 -0
- package/src/index.ts +10 -0
- package/src/jest-global-setup.ts +20 -0
- package/src/migrations/20220704054051_initial.sql +19 -0
- package/src/migrations/20220718172237_adding_component_sets.sql +23 -0
- package/src/migrations/20220728113941_add_env_vars_field.sql +1 -0
- package/src/migrations/20220817113300_removing_null_props_from_jsonb.sql +41 -0
- package/src/migrations/20221027151225_dummy.sql +2 -0
- package/src/migrations/20221117151200_add_detail_columns_to_component_version.js +49 -0
- package/src/migrations/20221220151200_add_required_to_manifests.js +61 -0
- package/src/migrations/20221222151200_add_required_to_manifests.js +138 -0
- package/src/migrations/20223525103556_component_set_rule.sql +19 -0
- package/src/migrations/20230111095522_update_environment_property.js +72 -0
- package/src/migrations/20230203084900_ensure_static_root_exists.js +57 -0
- package/src/migrations/20230210143300_lowercase_all_uri_names.js +106 -0
- package/src/migrations/20230217151212_component_set_component_version_updates.sql +38 -0
- package/src/migrations/20230218121212_add_component_set_rules.js +31 -0
- package/tsconfig.json +16 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const JobExecutionTaskService_1 = require("./JobExecutionTaskService");
|
|
4
|
+
describe('JobExecutionTaskService', () => {
|
|
5
|
+
const mockSend = jest.fn();
|
|
6
|
+
let mockEcsClient;
|
|
7
|
+
let jobExecutionTaskService;
|
|
8
|
+
beforeEach(() => {
|
|
9
|
+
jest.resetAllMocks();
|
|
10
|
+
mockEcsClient = {
|
|
11
|
+
send: mockSend,
|
|
12
|
+
};
|
|
13
|
+
jobExecutionTaskService = new JobExecutionTaskService_1.JobExecutionTaskService(mockEcsClient);
|
|
14
|
+
});
|
|
15
|
+
describe(`getTenantRunningTasks`, () => {
|
|
16
|
+
it('should 0 if no tasks were found', async () => {
|
|
17
|
+
mockSend.mockImplementationOnce(() => Promise.resolve({}));
|
|
18
|
+
const response = await jobExecutionTaskService.getTenantRunningTasks({
|
|
19
|
+
clusterArn: `clusterArn`,
|
|
20
|
+
runtimeTaskFamily: 'some_family',
|
|
21
|
+
maxTenantConcurrentTasks: 3,
|
|
22
|
+
});
|
|
23
|
+
expect(response).toBe(0);
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
describe(`hasReachedMaxTenantConcurrency`, () => {
|
|
27
|
+
it('should return false if number of running jobs is less than max', async () => {
|
|
28
|
+
mockSend.mockImplementationOnce(() => Promise.resolve({ taskArns: ['12345', '67890'] }));
|
|
29
|
+
const response = await jobExecutionTaskService.hasReachedMaxTenantConcurrency({
|
|
30
|
+
clusterArn: `clusterArn`,
|
|
31
|
+
runtimeTaskFamily: 'some_family',
|
|
32
|
+
maxTenantConcurrentTasks: 3,
|
|
33
|
+
});
|
|
34
|
+
expect(response).toBe(false);
|
|
35
|
+
});
|
|
36
|
+
it('should return true if number of running jobs is more than max', async () => {
|
|
37
|
+
mockSend.mockImplementationOnce(() => Promise.resolve({ taskArns: ['12345', '67890'] }));
|
|
38
|
+
const response = await jobExecutionTaskService.hasReachedMaxTenantConcurrency({
|
|
39
|
+
clusterArn: `clusterArn`,
|
|
40
|
+
runtimeTaskFamily: 'some_family',
|
|
41
|
+
maxTenantConcurrentTasks: 1,
|
|
42
|
+
});
|
|
43
|
+
expect(response).toBe(true);
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
describe(`runJobExecutionTask`, () => {
|
|
47
|
+
it('should return task arn after starting an ECS task', async () => {
|
|
48
|
+
const mockArn = `mock-arn`;
|
|
49
|
+
const mockTask = { taskArn: mockArn };
|
|
50
|
+
mockSend.mockImplementationOnce(() => Promise.resolve({ tasks: [mockTask] }));
|
|
51
|
+
const response = await jobExecutionTaskService.runJobExecutionTask({
|
|
52
|
+
jobExecutionId: `${new Date().toISOString()}-jobExecutionId`,
|
|
53
|
+
jobName: `jobName`,
|
|
54
|
+
jobVersion: `jobVersion`,
|
|
55
|
+
jobRunnerApiUrl: `jobRunnerApiUrl`,
|
|
56
|
+
maxTenantConcurrentTasks: 20,
|
|
57
|
+
runtimeTaskFamily: 'some_family',
|
|
58
|
+
bucketName: `bucketName`,
|
|
59
|
+
containerName: `containerName`,
|
|
60
|
+
awsRegion: 'ap-southeast-2',
|
|
61
|
+
shortRegion: 'au',
|
|
62
|
+
shortEnvironment: 'dev',
|
|
63
|
+
clusterArn: `clusterArn`,
|
|
64
|
+
subnets: [],
|
|
65
|
+
taskDefinitionArn: `taskDefinitionArn`,
|
|
66
|
+
loggingServiceApiConfig: {
|
|
67
|
+
credentials: ``,
|
|
68
|
+
enabled: false,
|
|
69
|
+
tags: ``,
|
|
70
|
+
},
|
|
71
|
+
dynamoTableName: `dynamo`,
|
|
72
|
+
tenantId: 'some_tenant',
|
|
73
|
+
});
|
|
74
|
+
expect(response).toBe(mockArn);
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
//# sourceMappingURL=JobExecutionTaskService.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JobExecutionTaskService.spec.js","sourceRoot":"","sources":["../../../../../src/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './JobExecutionTaskService/JobExecutionTaskService';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./JobExecutionTaskService/JobExecutionTaskService"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domains/job/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oFAAkE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*!
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Squiz Australia Pty Ltd. All Rights Reserved.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.provideSingleton = void 0;
|
|
8
|
+
const inversify_binding_decorators_1 = require("inversify-binding-decorators");
|
|
9
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
10
|
+
const provideSingleton = (identifier) => {
|
|
11
|
+
return (0, inversify_binding_decorators_1.fluentProvide)(identifier).inSingletonScope().done();
|
|
12
|
+
};
|
|
13
|
+
exports.provideSingleton = provideSingleton;
|
|
14
|
+
//# sourceMappingURL=singletonProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"singletonProvider.js","sourceRoot":"","sources":["../../../src/domains/job/singletonProvider.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,+EAA6D;AAE7D,uDAAuD;AAChD,MAAM,gBAAgB,GAAG,CAAI,UAA2C,EAA0B,EAAE;IACzG,OAAO,IAAA,4CAAa,EAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,CAAC;AAC7D,CAAC,CAAC;AAFW,QAAA,gBAAgB,oBAE3B"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*!
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Squiz Australia Pty Ltd. All Rights Reserved.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.provideTransient = void 0;
|
|
8
|
+
const inversify_binding_decorators_1 = require("inversify-binding-decorators");
|
|
9
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
10
|
+
const provideTransient = (identifier) => {
|
|
11
|
+
return (0, inversify_binding_decorators_1.fluentProvide)(identifier).inTransientScope().done();
|
|
12
|
+
};
|
|
13
|
+
exports.provideTransient = provideTransient;
|
|
14
|
+
//# sourceMappingURL=transientProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transientProvider.js","sourceRoot":"","sources":["../../../src/domains/job/transientProvider.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,+EAA6D;AAE7D,uDAAuD;AAChD,MAAM,gBAAgB,GAAG,CAAI,UAA2C,EAA0B,EAAE;IACzG,OAAO,IAAA,4CAAa,EAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,CAAC;AAC7D,CAAC,CAAC;AAFW,QAAA,gBAAgB,oBAE3B"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Squiz Australia Pty Ltd. All Rights Reserved.
|
|
4
|
+
*/
|
|
5
|
+
import { SlackAlertLevel, SlackAlertRequestBody } from './types/SlackClient.types';
|
|
6
|
+
export declare class SlackClient {
|
|
7
|
+
private static instance;
|
|
8
|
+
protected static application: string;
|
|
9
|
+
protected static environment: string;
|
|
10
|
+
protected static region: string;
|
|
11
|
+
protected static webhookUrl: string;
|
|
12
|
+
/**
|
|
13
|
+
* Initializes the Slack Client with the required environment vars.
|
|
14
|
+
* @param {string} environment Deployment environment of application.
|
|
15
|
+
* @param {string} region Region application is deployed to 'us' | 'uk' | 'au' as per AWS environment.
|
|
16
|
+
* @param {string} webhookUrl Webhook URL for sending Slack messages.
|
|
17
|
+
* @param {string} application Name of the application.
|
|
18
|
+
*/
|
|
19
|
+
static initialize(environment?: string, region?: string, webhookUrl?: string, application?: string): void;
|
|
20
|
+
/**
|
|
21
|
+
* The static method that controls the access to the singleton instance for Slack Client.
|
|
22
|
+
* @returns {SlackClient} The singleton instance.
|
|
23
|
+
*/
|
|
24
|
+
static getClient(): SlackClient;
|
|
25
|
+
/**
|
|
26
|
+
* Generate the body of the request for sending to Slack.
|
|
27
|
+
* @param {SlackAlertLevel} level Level associated with alert.
|
|
28
|
+
* @returns {string | null} The icon matching the alert level.
|
|
29
|
+
*/
|
|
30
|
+
static getIcon: (level?: SlackAlertLevel) => string | null;
|
|
31
|
+
/**
|
|
32
|
+
* Generate the body of the request for sending to Slack.
|
|
33
|
+
* @param {string} message Message to be sent to Slack channel.
|
|
34
|
+
* @param {SlackAlertLevel} level Level associated with alert.
|
|
35
|
+
* @returns {SlackAlertRequestBody} Slack alert request body.
|
|
36
|
+
*/
|
|
37
|
+
static getRequestBody: (message: string, level?: SlackAlertLevel) => SlackAlertRequestBody;
|
|
38
|
+
/**
|
|
39
|
+
* Post a new message/alert to the Webhook URL.
|
|
40
|
+
* @param {string} message Message to be sent.
|
|
41
|
+
* @param {SlackAlertLevel} level Level associated with message.
|
|
42
|
+
*/
|
|
43
|
+
sendAlert: (message: string, level?: SlackAlertLevel) => Promise<void>;
|
|
44
|
+
}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*!
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Squiz Australia Pty Ltd. All Rights Reserved.
|
|
5
|
+
*/
|
|
6
|
+
var _a;
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.SlackClient = void 0;
|
|
9
|
+
const SlackClient_types_1 = require("./types/SlackClient.types");
|
|
10
|
+
class SlackClient {
|
|
11
|
+
constructor() {
|
|
12
|
+
/**
|
|
13
|
+
* Post a new message/alert to the Webhook URL.
|
|
14
|
+
* @param {string} message Message to be sent.
|
|
15
|
+
* @param {SlackAlertLevel} level Level associated with message.
|
|
16
|
+
*/
|
|
17
|
+
this.sendAlert = async (message, level = SlackClient_types_1.SLACK_ALERT_LEVEL_INFO) => {
|
|
18
|
+
const requestBody = SlackClient.getRequestBody(message, level);
|
|
19
|
+
try {
|
|
20
|
+
const request = new Request(`${SlackClient.webhookUrl}`, {
|
|
21
|
+
method: 'POST',
|
|
22
|
+
body: JSON.stringify(requestBody),
|
|
23
|
+
headers: {
|
|
24
|
+
'Content-Type': 'application/json',
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
const response = await fetch(request);
|
|
28
|
+
if (response.status !== 200) {
|
|
29
|
+
// eslint-disable-next-line no-console
|
|
30
|
+
console.log(`SlackClient failed with ${response.status} status`);
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
catch (e) {
|
|
35
|
+
/* eslint-disable-next-line no-console */
|
|
36
|
+
console.log(`Slack Client api call: ${e}`);
|
|
37
|
+
throw e;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Initializes the Slack Client with the required environment vars.
|
|
43
|
+
* @param {string} environment Deployment environment of application.
|
|
44
|
+
* @param {string} region Region application is deployed to 'us' | 'uk' | 'au' as per AWS environment.
|
|
45
|
+
* @param {string} webhookUrl Webhook URL for sending Slack messages.
|
|
46
|
+
* @param {string} application Name of the application.
|
|
47
|
+
*/
|
|
48
|
+
static initialize(environment = '', region = '', webhookUrl = '', application = '') {
|
|
49
|
+
if (environment === '' || region === '' || webhookUrl === '' || application === '') {
|
|
50
|
+
throw new Error('Failed to initialize SlackClient, environment vars not set');
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
SlackClient.environment = `${environment[0].toUpperCase()}${environment.slice(1)}`;
|
|
54
|
+
SlackClient.region = region.toUpperCase();
|
|
55
|
+
SlackClient.webhookUrl = webhookUrl;
|
|
56
|
+
SlackClient.application = application;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* The static method that controls the access to the singleton instance for Slack Client.
|
|
61
|
+
* @returns {SlackClient} The singleton instance.
|
|
62
|
+
*/
|
|
63
|
+
static getClient() {
|
|
64
|
+
if (!SlackClient.instance) {
|
|
65
|
+
SlackClient.instance = new SlackClient();
|
|
66
|
+
}
|
|
67
|
+
return SlackClient.instance;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
exports.SlackClient = SlackClient;
|
|
71
|
+
_a = SlackClient;
|
|
72
|
+
/**
|
|
73
|
+
* Generate the body of the request for sending to Slack.
|
|
74
|
+
* @param {SlackAlertLevel} level Level associated with alert.
|
|
75
|
+
* @returns {string | null} The icon matching the alert level.
|
|
76
|
+
*/
|
|
77
|
+
SlackClient.getIcon = (level = SlackClient_types_1.SLACK_ALERT_LEVEL_INFO) => {
|
|
78
|
+
let icon = null;
|
|
79
|
+
switch (level) {
|
|
80
|
+
case SlackClient_types_1.SLACK_ALERT_LEVEL_ERROR:
|
|
81
|
+
icon = ':alert:';
|
|
82
|
+
break;
|
|
83
|
+
case SlackClient_types_1.SLACK_ALERT_LEVEL_WARNING:
|
|
84
|
+
icon = '⚠️';
|
|
85
|
+
break;
|
|
86
|
+
case SlackClient_types_1.SLACK_ALERT_LEVEL_INFO:
|
|
87
|
+
icon = 'ℹ️';
|
|
88
|
+
break;
|
|
89
|
+
case SlackClient_types_1.SLACK_ALERT_LEVEL_SUCCESS:
|
|
90
|
+
icon = '✅';
|
|
91
|
+
break;
|
|
92
|
+
default:
|
|
93
|
+
icon = null;
|
|
94
|
+
break;
|
|
95
|
+
}
|
|
96
|
+
return icon;
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* Generate the body of the request for sending to Slack.
|
|
100
|
+
* @param {string} message Message to be sent to Slack channel.
|
|
101
|
+
* @param {SlackAlertLevel} level Level associated with alert.
|
|
102
|
+
* @returns {SlackAlertRequestBody} Slack alert request body.
|
|
103
|
+
*/
|
|
104
|
+
SlackClient.getRequestBody = (message, level = SlackClient_types_1.SLACK_ALERT_LEVEL_INFO) => {
|
|
105
|
+
const icon = _a.getIcon(level);
|
|
106
|
+
const header = `${icon} *[${SlackClient.environment}] ${SlackClient.application} ${SlackClient.region}*`;
|
|
107
|
+
const text = `${header}\n${message}`;
|
|
108
|
+
const requestBody = {
|
|
109
|
+
text,
|
|
110
|
+
};
|
|
111
|
+
return requestBody;
|
|
112
|
+
};
|
|
113
|
+
//# sourceMappingURL=SlackClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SlackClient.js","sourceRoot":"","sources":["../../../../../src/domains/job/utils/SlackClient/SlackClient.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;AAEH,iEAOmC;AAEnC,MAAa,WAAW;IAAxB;QAuFE;;;;WAIG;QACI,cAAS,GAAG,KAAK,EAAE,OAAe,EAAE,QAAyB,0CAAsB,EAAiB,EAAE;YAC3G,MAAM,WAAW,GAAG,WAAW,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAE/D,IAAI;gBACF,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,GAAG,WAAW,CAAC,UAAU,EAAE,EAAE;oBACvD,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;oBACjC,OAAO,EAAE;wBACP,cAAc,EAAE,kBAAkB;qBACnC;iBACF,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;gBAEtC,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;oBAC3B,sCAAsC;oBACtC,OAAO,CAAC,GAAG,CAAC,2BAA2B,QAAQ,CAAC,MAAM,SAAS,CAAC,CAAC;oBACjE,OAAO;iBACR;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,yCAAyC;gBACzC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;gBAC3C,MAAM,CAAC,CAAC;aACT;QACH,CAAC,CAAC;IACJ,CAAC;IA9GC;;;;;;OAMG;IACI,MAAM,CAAC,UAAU,CAAC,WAAW,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,EAAE,UAAU,GAAG,EAAE,EAAE,WAAW,GAAG,EAAE;QACvF,IAAI,WAAW,KAAK,EAAE,IAAI,MAAM,KAAK,EAAE,IAAI,UAAU,KAAK,EAAE,IAAI,WAAW,KAAK,EAAE,EAAE;YAClF,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;SAC/E;aAAM;YACL,WAAW,CAAC,WAAW,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACnF,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YAC1C,WAAW,CAAC,UAAU,GAAG,UAAU,CAAC;YACpC,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC;SACvC;IACH,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,SAAS;QACrB,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;YACzB,WAAW,CAAC,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC;SAC1C;QAED,OAAO,WAAW,CAAC,QAAQ,CAAC;IAC9B,CAAC;;AAnCH,kCAqHC;;AAhFC;;;;GAIG;AACW,mBAAO,GAAG,CAAC,QAAyB,0CAAsB,EAAiB,EAAE;IACzF,IAAI,IAAI,GAAG,IAAI,CAAC;IAEhB,QAAQ,KAAK,EAAE;QACb,KAAK,2CAAuB;YAC1B,IAAI,GAAG,SAAS,CAAC;YACjB,MAAM;QACR,KAAK,6CAAyB;YAC5B,IAAI,GAAG,IAAI,CAAC;YACZ,MAAM;QACR,KAAK,0CAAsB;YACzB,IAAI,GAAG,IAAI,CAAC;YACZ,MAAM;QACR,KAAK,6CAAyB;YAC5B,IAAI,GAAG,GAAG,CAAC;YACX,MAAM;QACR;YACE,IAAI,GAAG,IAAI,CAAC;YACZ,MAAM;KACT;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;;;;GAKG;AACW,0BAAc,GAAG,CAC7B,OAAe,EACf,QAAyB,0CAAsB,EACxB,EAAE;IACzB,MAAM,IAAI,GAAG,EAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAEjC,MAAM,MAAM,GAAG,GAAG,IAAI,MAAM,WAAW,CAAC,WAAW,KAAK,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;IACzG,MAAM,IAAI,GAAG,GAAG,MAAM,KAAK,OAAO,EAAE,CAAC;IAErC,MAAM,WAAW,GAA0B;QACzC,IAAI;KACL,CAAC;IACF,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*!
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Squiz Australia Pty Ltd. All Rights Reserved.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
const en_1 = require("@faker-js/faker/locale/en");
|
|
8
|
+
const SlackClient_1 = require("./SlackClient");
|
|
9
|
+
const SlackClient_types_1 = require("./types/SlackClient.types");
|
|
10
|
+
describe('SlackClient singleton methods', () => {
|
|
11
|
+
let mockRegion;
|
|
12
|
+
let mockEnvironment;
|
|
13
|
+
let mockWebhookUrl;
|
|
14
|
+
let mockApplication;
|
|
15
|
+
let slackClient;
|
|
16
|
+
beforeEach(() => {
|
|
17
|
+
mockRegion = 'us';
|
|
18
|
+
mockEnvironment = 'dev';
|
|
19
|
+
mockWebhookUrl = 'https://example.com';
|
|
20
|
+
mockApplication = 'Job Runner';
|
|
21
|
+
SlackClient_1.SlackClient.initialize(mockEnvironment, mockRegion, mockWebhookUrl, mockApplication);
|
|
22
|
+
slackClient = SlackClient_1.SlackClient.getClient();
|
|
23
|
+
});
|
|
24
|
+
describe('initialize', () => {
|
|
25
|
+
it('should throw an error if environment, region, webhook URL or application are undefined', () => {
|
|
26
|
+
expect(() => SlackClient_1.SlackClient.initialize(undefined, mockRegion, mockWebhookUrl, mockApplication)).toThrowError(new Error('Failed to initialize SlackClient, environment vars not set'));
|
|
27
|
+
expect(() => SlackClient_1.SlackClient.initialize(mockEnvironment, undefined, mockWebhookUrl, mockApplication)).toThrowError(new Error('Failed to initialize SlackClient, environment vars not set'));
|
|
28
|
+
expect(() => SlackClient_1.SlackClient.initialize(mockEnvironment, mockRegion, undefined, mockApplication)).toThrowError(new Error('Failed to initialize SlackClient, environment vars not set'));
|
|
29
|
+
expect(() => SlackClient_1.SlackClient.initialize(mockEnvironment, mockRegion, mockWebhookUrl, undefined)).toThrowError(new Error('Failed to initialize SlackClient, environment vars not set'));
|
|
30
|
+
expect(() => SlackClient_1.SlackClient.initialize()).toThrowError(new Error('Failed to initialize SlackClient, environment vars not set'));
|
|
31
|
+
});
|
|
32
|
+
it('should not throw an error if environment, region, webhook URL and application are defined/valid', () => {
|
|
33
|
+
expect(() => SlackClient_1.SlackClient.initialize(mockEnvironment, mockRegion, mockWebhookUrl, mockApplication)).not.toThrowError();
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
describe('getClient', () => {
|
|
37
|
+
it('should return the existing instance of SlackClient', () => {
|
|
38
|
+
const localSlackClient = SlackClient_1.SlackClient.getClient();
|
|
39
|
+
expect(localSlackClient).toBe(slackClient);
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
describe('getIcon', () => {
|
|
43
|
+
it('should return an icon matching the alert level', () => {
|
|
44
|
+
const errorIcon = SlackClient_1.SlackClient.getIcon(SlackClient_types_1.SLACK_ALERT_LEVEL_ERROR);
|
|
45
|
+
expect(errorIcon).toBe(':alert:');
|
|
46
|
+
const warningIcon = SlackClient_1.SlackClient.getIcon(SlackClient_types_1.SLACK_ALERT_LEVEL_WARNING);
|
|
47
|
+
expect(warningIcon).toBe('⚠️');
|
|
48
|
+
const infoIcon = SlackClient_1.SlackClient.getIcon(SlackClient_types_1.SLACK_ALERT_LEVEL_INFO);
|
|
49
|
+
expect(infoIcon).toBe('ℹ️');
|
|
50
|
+
const successIcon = SlackClient_1.SlackClient.getIcon(SlackClient_types_1.SLACK_ALERT_LEVEL_SUCCESS);
|
|
51
|
+
expect(successIcon).toBe('✅');
|
|
52
|
+
});
|
|
53
|
+
it('should return an "INFO" icon by default', () => {
|
|
54
|
+
const icon = SlackClient_1.SlackClient.getIcon();
|
|
55
|
+
expect(icon).toBe('ℹ️');
|
|
56
|
+
});
|
|
57
|
+
it('should return "null" for unknown alert level', () => {
|
|
58
|
+
const badIcon = SlackClient_1.SlackClient.getIcon('unknown');
|
|
59
|
+
expect(badIcon).toBe(null);
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
describe('getRequestBody', () => {
|
|
63
|
+
it('should generate request body for Slack based on message and alert level', () => {
|
|
64
|
+
const mockMessage = en_1.faker.lorem.sentence();
|
|
65
|
+
const mockLevel = en_1.faker.helpers.arrayElement([
|
|
66
|
+
SlackClient_types_1.SLACK_ALERT_LEVEL_ERROR,
|
|
67
|
+
SlackClient_types_1.SLACK_ALERT_LEVEL_WARNING,
|
|
68
|
+
SlackClient_types_1.SLACK_ALERT_LEVEL_INFO,
|
|
69
|
+
SlackClient_types_1.SLACK_ALERT_LEVEL_SUCCESS,
|
|
70
|
+
]);
|
|
71
|
+
const mockIcon = SlackClient_1.SlackClient.getIcon(mockLevel);
|
|
72
|
+
const requestBody = SlackClient_1.SlackClient.getRequestBody(mockMessage, mockLevel);
|
|
73
|
+
expect(requestBody.text).toContain(mockIcon);
|
|
74
|
+
expect(requestBody.text).toContain(mockMessage);
|
|
75
|
+
expect(requestBody.text).toContain(`${mockEnvironment[0].toUpperCase()}${mockEnvironment.slice(1)}`);
|
|
76
|
+
expect(requestBody.text).toContain(mockRegion.toUpperCase());
|
|
77
|
+
expect(requestBody.text).toContain(mockApplication);
|
|
78
|
+
});
|
|
79
|
+
it('should generate request body for an INFO alert if level not provided', () => {
|
|
80
|
+
const mockMessage = en_1.faker.lorem.sentence();
|
|
81
|
+
const mockInfoIcon = SlackClient_1.SlackClient.getIcon();
|
|
82
|
+
const requestBody = SlackClient_1.SlackClient.getRequestBody(mockMessage);
|
|
83
|
+
expect(requestBody.text).toContain(mockInfoIcon);
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
describe('sendAlert', () => {
|
|
87
|
+
const fetchSpy = jest.spyOn(global, 'fetch');
|
|
88
|
+
let mockMessage;
|
|
89
|
+
beforeEach(() => {
|
|
90
|
+
mockMessage = en_1.faker.lorem.sentence();
|
|
91
|
+
jest.resetAllMocks();
|
|
92
|
+
});
|
|
93
|
+
it('should make a POST request to the Slack webhook URL', async () => {
|
|
94
|
+
fetchSpy.mockImplementation(jest.fn(() => Promise.resolve({
|
|
95
|
+
status: 200,
|
|
96
|
+
json: () => Promise.resolve({}),
|
|
97
|
+
})));
|
|
98
|
+
expect(async () => await slackClient.sendAlert(mockMessage)).not.toThrowError();
|
|
99
|
+
expect(fetchSpy).toHaveBeenCalled();
|
|
100
|
+
});
|
|
101
|
+
it('should throw an error if request fails', async () => {
|
|
102
|
+
fetchSpy.mockImplementation(jest.fn(() => Promise.resolve({
|
|
103
|
+
status: 401,
|
|
104
|
+
headers: new Headers({ 'Content-Type': 'application/json' }),
|
|
105
|
+
json: () => Promise.resolve({ message: 'Unauthorized' }),
|
|
106
|
+
text: () => Promise.resolve('Unauthorized'),
|
|
107
|
+
})));
|
|
108
|
+
const consoleLogSpy = jest.spyOn(console, 'log');
|
|
109
|
+
const mockMessage = 'Test Alert Message';
|
|
110
|
+
await slackClient.sendAlert(mockMessage);
|
|
111
|
+
expect(consoleLogSpy).toBeCalledTimes(1);
|
|
112
|
+
expect(consoleLogSpy).toHaveBeenCalledWith(expect.stringContaining('SlackClient failed with 401 status'));
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
//# sourceMappingURL=SlackClient.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SlackClient.spec.js","sourceRoot":"","sources":["../../../../../src/domains/job/utils/SlackClient/SlackClient.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Squiz Australia Pty Ltd. All Rights Reserved.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* The alert level expected to be sent to Slack Client.
|
|
7
|
+
* @export
|
|
8
|
+
*/
|
|
9
|
+
export type SlackAlertLevel = SlackAlertLevelInfo | SlackAlertLevelError | SlackAlertLevelWarning | SlackAlertLevelSuccess;
|
|
10
|
+
/**
|
|
11
|
+
* The alert level info type.
|
|
12
|
+
* @export
|
|
13
|
+
*/
|
|
14
|
+
export type SlackAlertLevelInfo = typeof SLACK_ALERT_LEVEL_INFO;
|
|
15
|
+
/**
|
|
16
|
+
* The alert level error type.
|
|
17
|
+
* @export
|
|
18
|
+
*/
|
|
19
|
+
export type SlackAlertLevelError = typeof SLACK_ALERT_LEVEL_ERROR;
|
|
20
|
+
/**
|
|
21
|
+
* The alert level warning type.
|
|
22
|
+
* @export
|
|
23
|
+
*/
|
|
24
|
+
export type SlackAlertLevelWarning = typeof SLACK_ALERT_LEVEL_WARNING;
|
|
25
|
+
/**
|
|
26
|
+
* The alert level success type.
|
|
27
|
+
* @export
|
|
28
|
+
*/
|
|
29
|
+
export type SlackAlertLevelSuccess = typeof SLACK_ALERT_LEVEL_SUCCESS;
|
|
30
|
+
/**
|
|
31
|
+
* The alert level info constant.
|
|
32
|
+
* @export
|
|
33
|
+
*/
|
|
34
|
+
export declare const SLACK_ALERT_LEVEL_INFO = "INFO";
|
|
35
|
+
/**
|
|
36
|
+
* The alert level error constant.
|
|
37
|
+
* @export
|
|
38
|
+
*/
|
|
39
|
+
export declare const SLACK_ALERT_LEVEL_ERROR = "ERROR";
|
|
40
|
+
/**
|
|
41
|
+
* The alert level warning constant.
|
|
42
|
+
* @export
|
|
43
|
+
*/
|
|
44
|
+
export declare const SLACK_ALERT_LEVEL_WARNING = "WARNING";
|
|
45
|
+
/**
|
|
46
|
+
* The alert level success constant.
|
|
47
|
+
* @export
|
|
48
|
+
*/
|
|
49
|
+
export declare const SLACK_ALERT_LEVEL_SUCCESS = "SUCCESS";
|
|
50
|
+
/**
|
|
51
|
+
* The request body expected to be sent to Slack Client.
|
|
52
|
+
* @export
|
|
53
|
+
*/
|
|
54
|
+
export type SlackAlertRequestBody = {
|
|
55
|
+
text: string;
|
|
56
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*!
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Squiz Australia Pty Ltd. All Rights Reserved.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.SLACK_ALERT_LEVEL_SUCCESS = exports.SLACK_ALERT_LEVEL_WARNING = exports.SLACK_ALERT_LEVEL_ERROR = exports.SLACK_ALERT_LEVEL_INFO = void 0;
|
|
8
|
+
/**
|
|
9
|
+
* The alert level info constant.
|
|
10
|
+
* @export
|
|
11
|
+
*/
|
|
12
|
+
exports.SLACK_ALERT_LEVEL_INFO = `INFO`;
|
|
13
|
+
/**
|
|
14
|
+
* The alert level error constant.
|
|
15
|
+
* @export
|
|
16
|
+
*/
|
|
17
|
+
exports.SLACK_ALERT_LEVEL_ERROR = `ERROR`;
|
|
18
|
+
/**
|
|
19
|
+
* The alert level warning constant.
|
|
20
|
+
* @export
|
|
21
|
+
*/
|
|
22
|
+
exports.SLACK_ALERT_LEVEL_WARNING = `WARNING`;
|
|
23
|
+
/**
|
|
24
|
+
* The alert level success constant.
|
|
25
|
+
* @export
|
|
26
|
+
*/
|
|
27
|
+
exports.SLACK_ALERT_LEVEL_SUCCESS = `SUCCESS`;
|
|
28
|
+
//# sourceMappingURL=SlackClient.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SlackClient.types.js","sourceRoot":"","sources":["../../../../../../src/domains/job/utils/SlackClient/types/SlackClient.types.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAoCH;;;GAGG;AACU,QAAA,sBAAsB,GAAG,MAAM,CAAC;AAE7C;;;GAGG;AACU,QAAA,uBAAuB,GAAG,OAAO,CAAC;AAE/C;;;GAGG;AACU,QAAA,yBAAyB,GAAG,SAAS,CAAC;AAEnD;;;GAGG;AACU,QAAA,yBAAyB,GAAG,SAAS,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Squiz Australia Pty Ltd. All Rights Reserved.
|
|
4
|
+
*/
|
|
5
|
+
import { JobExecution } from '../../model/JobExecution';
|
|
6
|
+
/**
|
|
7
|
+
* The comparison function to sort job executions by time added to queue (`timeQueued`).
|
|
8
|
+
*/
|
|
9
|
+
export declare const sortByTimeQueued: (a: JobExecution, b: JobExecution) => number;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*!
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Squiz Australia Pty Ltd. All Rights Reserved.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.sortByTimeQueued = void 0;
|
|
8
|
+
/**
|
|
9
|
+
* The comparison function to sort job executions by time added to queue (`timeQueued`).
|
|
10
|
+
*/
|
|
11
|
+
const sortByTimeQueued = (a, b) => {
|
|
12
|
+
if (a.timeQueued < b.timeQueued) {
|
|
13
|
+
return -1;
|
|
14
|
+
}
|
|
15
|
+
if (a.timeQueued > b.timeQueued) {
|
|
16
|
+
return 1;
|
|
17
|
+
}
|
|
18
|
+
return 0;
|
|
19
|
+
};
|
|
20
|
+
exports.sortByTimeQueued = sortByTimeQueued;
|
|
21
|
+
//# sourceMappingURL=SortByTimeQueued.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SortByTimeQueued.js","sourceRoot":"","sources":["../../../../../src/domains/job/utils/SortByTimeQueued/SortByTimeQueued.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAIH;;GAEG;AACI,MAAM,gBAAgB,GAAG,CAAC,CAAe,EAAE,CAAe,EAAU,EAAE;IAC3E,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,EAAE;QAC/B,OAAO,CAAC,CAAC,CAAC;KACX;IAED,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,EAAE;QAC/B,OAAO,CAAC,CAAC;KACV;IAED,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAVW,QAAA,gBAAgB,oBAU3B"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*!
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Squiz Australia Pty Ltd. All Rights Reserved.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
const en_1 = require("@faker-js/faker/locale/en");
|
|
8
|
+
const JobExecution_1 = require("../../model/JobExecution");
|
|
9
|
+
const SortByTimeQueued_1 = require("./SortByTimeQueued");
|
|
10
|
+
describe(`sortByTimeQueued`, () => {
|
|
11
|
+
const earlierExecution = (0, JobExecution_1.createMockJobExecution)({ timeQueued: en_1.faker.date.recent().toISOString() });
|
|
12
|
+
const laterExecution = (0, JobExecution_1.createMockJobExecution)({ timeQueued: en_1.faker.date.soon().toISOString() });
|
|
13
|
+
it(`should return -1 if the first execution comes BEFORE the second execution`, () => {
|
|
14
|
+
const result = (0, SortByTimeQueued_1.sortByTimeQueued)(earlierExecution, laterExecution);
|
|
15
|
+
expect(result).toBe(-1);
|
|
16
|
+
});
|
|
17
|
+
it(`should return 1 if the first execution comes AFTER the second execution`, () => {
|
|
18
|
+
const result = (0, SortByTimeQueued_1.sortByTimeQueued)(laterExecution, earlierExecution);
|
|
19
|
+
expect(result).toBe(1);
|
|
20
|
+
});
|
|
21
|
+
it(`should return 0 if both executions share the same time queued`, () => {
|
|
22
|
+
const result = (0, SortByTimeQueued_1.sortByTimeQueued)(earlierExecution, earlierExecution);
|
|
23
|
+
expect(result).toBe(0);
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=SortByTimeQueued.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SortByTimeQueued.spec.js","sourceRoot":"","sources":["../../../../../src/domains/job/utils/SortByTimeQueued/SortByTimeQueued.spec.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAEH,kDAAkD;AAClD,2DAAkE;AAClE,yDAAsD;AAEtD,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,MAAM,gBAAgB,GAAG,IAAA,qCAAsB,EAAC,EAAE,UAAU,EAAE,UAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACnG,MAAM,cAAc,GAAG,IAAA,qCAAsB,EAAC,EAAE,UAAU,EAAE,UAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAE/F,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;QACnF,MAAM,MAAM,GAAG,IAAA,mCAAgB,EAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;QACjF,MAAM,MAAM,GAAG,IAAA,mCAAgB,EAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,MAAM,GAAG,IAAA,mCAAgB,EAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;QACpE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|