@codiac.io/codiac-cli 1.2.167 → 1.2.169
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/README.md +3326 -45
- package/bin/dev +16 -16
- package/bin/dev.cmd +2 -2
- package/bin/run +3 -3
- package/bin/run.cmd +3 -3
- package/codiac.json +9 -9
- package/lib/api-command-base.d.ts +0 -0
- package/lib/api-command-base.js +52 -0
- package/lib/api-command-base.js.map +1 -0
- package/lib/apis/codiac-api/common/api-client-base.d.ts +165 -165
- package/lib/apis/codiac-api/common/api-client-base.js +547 -547
- package/lib/apis/codiac-api/common/api-user-creds.d.ts +7 -7
- package/lib/apis/codiac-api/common/api-user-creds.js +18 -18
- package/lib/apis/codiac-api/common/config-loader.d.ts +6 -6
- package/lib/apis/codiac-api/common/config-loader.js +18 -18
- package/lib/apis/codiac-api/common/endpoint-spec.d.ts +17 -17
- package/lib/apis/codiac-api/common/endpoint-spec.js +27 -27
- package/lib/apis/codiac-api/common/security/api-auth-methods-legacy.d.ts +87 -87
- package/lib/apis/codiac-api/common/security/api-auth-methods-legacy.js +367 -367
- package/lib/apis/codiac-api/common/security/auth-constants.d.ts +15 -15
- package/lib/apis/codiac-api/common/security/auth-constants.js +21 -21
- package/lib/apis/codiac-api/common/security/i-auth-client.d.ts +44 -44
- package/lib/apis/codiac-api/common/security/i-auth-client.js +2 -2
- package/lib/apis/codiac-api/common/security/token-holder.d.ts +13 -13
- package/lib/apis/codiac-api/common/security/token-holder.js +17 -17
- package/lib/apis/codiac-api/common/utils.d.ts +23 -23
- package/lib/apis/codiac-api/common/utils.js +82 -82
- package/lib/apis/codiac-api/contracts/index.d.ts +1 -1
- package/lib/apis/codiac-api/contracts/index.js +4 -4
- package/lib/apis/codiac-api/gen/client-config.d.ts +10 -10
- package/lib/apis/codiac-api/gen/client-config.js +28 -28
- package/lib/apis/codiac-api/gen/client.d.ts +1663 -1663
- package/lib/apis/codiac-api/gen/client.js +15629 -15629
- package/lib/apis/codiac-api/gen/contracts.d.ts +2722 -2722
- package/lib/apis/codiac-api/gen/contracts.js +402 -402
- package/lib/apis/codiac-api/index.d.ts +3 -3
- package/lib/apis/codiac-api/index.js +8 -8
- package/lib/apis/codiac-relay/common/api-client-base.d.ts +165 -165
- package/lib/apis/codiac-relay/common/api-client-base.js +547 -547
- package/lib/apis/codiac-relay/common/api-user-creds.d.ts +7 -7
- package/lib/apis/codiac-relay/common/api-user-creds.js +18 -18
- package/lib/apis/codiac-relay/common/config-loader.d.ts +6 -6
- package/lib/apis/codiac-relay/common/config-loader.js +18 -18
- package/lib/apis/codiac-relay/common/endpoint-spec.d.ts +17 -17
- package/lib/apis/codiac-relay/common/endpoint-spec.js +27 -27
- package/lib/apis/codiac-relay/common/security/api-auth-methods-legacy.d.ts +87 -87
- package/lib/apis/codiac-relay/common/security/api-auth-methods-legacy.js +367 -367
- package/lib/apis/codiac-relay/common/security/auth-constants.d.ts +15 -15
- package/lib/apis/codiac-relay/common/security/auth-constants.js +21 -21
- package/lib/apis/codiac-relay/common/security/i-auth-client.d.ts +44 -44
- package/lib/apis/codiac-relay/common/security/i-auth-client.js +2 -2
- package/lib/apis/codiac-relay/common/security/token-holder.d.ts +13 -13
- package/lib/apis/codiac-relay/common/security/token-holder.js +17 -17
- package/lib/apis/codiac-relay/common/utils.d.ts +23 -23
- package/lib/apis/codiac-relay/common/utils.js +82 -82
- package/lib/apis/codiac-relay/contracts/index.d.ts +1 -1
- package/lib/apis/codiac-relay/contracts/index.js +4 -4
- package/lib/apis/codiac-relay/gen/client-config.d.ts +10 -10
- package/lib/apis/codiac-relay/gen/client-config.js +28 -28
- package/lib/apis/codiac-relay/gen/client.d.ts +244 -244
- package/lib/apis/codiac-relay/gen/client.js +1862 -1862
- package/lib/apis/codiac-relay/gen/contracts.d.ts +3111 -3111
- package/lib/apis/codiac-relay/gen/contracts.js +434 -434
- package/lib/apis/codiac-relay/index.d.ts +3 -3
- package/lib/apis/codiac-relay/index.js +8 -8
- package/lib/azure-rest-client.d.ts +6 -0
- package/lib/azure-rest-client.js +36 -0
- package/lib/azure-rest-client.js.map +1 -0
- package/lib/cli-common/ImagesList.js +66 -66
- package/lib/cli-common/argument-manager.d.ts +28 -28
- package/lib/cli-common/argument-manager.js +194 -194
- package/lib/cli-common/built-in-cli-user-input.d.ts +18 -18
- package/lib/cli-common/built-in-cli-user-input.js +309 -309
- package/lib/cli-common/cli-interfaces.js +6 -6
- package/lib/cli-common/command-base.d.ts +72 -72
- package/lib/cli-common/command-base.js +181 -181
- package/lib/cli-common/entities/index.d.ts +1 -1
- package/lib/cli-common/entities/index.js +4 -4
- package/lib/cli-common/entities/prompt-choice.d.ts +7 -7
- package/lib/cli-common/entities/prompt-choice.js +2 -2
- package/lib/cli-common/file-selector.d.ts +48 -48
- package/lib/cli-common/file-selector.js +186 -186
- package/lib/cli-common/i-user-input-provider.js +18 -18
- package/lib/cli-common/index.d.ts +4 -4
- package/lib/cli-common/index.js +10 -10
- package/lib/cli-common/mock-ui.d.ts +27 -27
- package/lib/cli-common/mock-ui.js +82 -82
- package/lib/cli-common/prompt-select-fuzzy.d.ts +19 -19
- package/lib/cli-common/prompt-select-fuzzy.js +118 -118
- package/lib/cli-common/tenant-contextualizer.js +435 -435
- package/lib/cli-common/test/tenant-contextualizer.spec.js +142 -142
- package/lib/cli-entities/output-format-enum.d.ts +7 -7
- package/lib/cli-entities/output-format-enum.js +11 -11
- package/lib/cli-entities/prompt-choice.js +5 -5
- package/lib/codiac-constants.d.ts +35 -35
- package/lib/codiac-constants.js +40 -40
- package/lib/codiac-entities/asset-binding.d.ts +12 -12
- package/lib/codiac-entities/asset-binding.js +17 -17
- package/lib/codiac-entities/azure-container-registry.d.ts +4 -4
- package/lib/codiac-entities/azure-container-registry.js +2 -2
- package/lib/codiac-entities/azure-service-principal.d.ts +23 -23
- package/lib/codiac-entities/azure-service-principal.js +23 -23
- package/lib/codiac-entities/cloud-account-ref.d.ts +28 -28
- package/lib/codiac-entities/cloud-account-ref.js +36 -36
- package/lib/codiac-entities/deployment-temp.js +132 -132
- package/lib/codiac-entities/i-cloud-account-ref.d.ts +5 -5
- package/lib/codiac-entities/i-cloud-account-ref.js +2 -2
- package/lib/command-base-enterprise.d.ts +121 -121
- package/lib/command-base-enterprise.js +523 -523
- package/lib/command-base-tenantless.d.ts +44 -44
- package/lib/command-base-tenantless.js +172 -172
- package/lib/commands/asset/create.d.ts +42 -42
- package/lib/commands/asset/create.js +466 -466
- package/lib/commands/asset/destroy.d.ts +20 -20
- package/lib/commands/asset/destroy.js +128 -128
- package/lib/commands/asset/helm.d.ts +23 -23
- package/lib/commands/asset/helm.js +152 -152
- package/lib/commands/asset/list.d.ts +28 -28
- package/lib/commands/asset/list.js +171 -171
- package/lib/commands/asset/probe/create.d.ts +38 -38
- package/lib/commands/asset/probe/create.js +186 -186
- package/lib/commands/asset/recycle.d.ts +23 -23
- package/lib/commands/asset/recycle.js +174 -174
- package/lib/commands/asset/view.d.ts +188 -188
- package/lib/commands/asset/view.js +1364 -1364
- package/lib/commands/asset/volume/create.d.ts +23 -23
- package/lib/commands/asset/volume/create.js +175 -175
- package/lib/commands/asset/volume/delete.d.ts +19 -19
- package/lib/commands/asset/volume/delete.js +111 -111
- package/lib/commands/asset/volume/list.d.ts +19 -19
- package/lib/commands/asset/volume/list.js +69 -69
- package/lib/commands/branch/current.d.ts +10 -10
- package/lib/commands/branch/current.js +33 -33
- package/lib/commands/branch/list.d.ts +15 -15
- package/lib/commands/branch/list.js +55 -55
- package/lib/commands/branch.d.ts +12 -12
- package/lib/commands/branch.js +41 -41
- package/lib/commands/build.d.ts +37 -37
- package/lib/commands/build.js +118 -118
- package/lib/commands/cabinet/create.d.ts +21 -21
- package/lib/commands/cabinet/create.js +107 -107
- package/lib/commands/cabinet/list.d.ts +23 -23
- package/lib/commands/cabinet/list.js +133 -133
- package/lib/commands/cabinet/obliterate.d.ts +20 -20
- package/lib/commands/cabinet/obliterate.js +82 -82
- package/lib/commands/cli.d.ts +10 -10
- package/lib/commands/cli.js +99 -99
- package/lib/commands/commit.d.ts +11 -11
- package/lib/commands/commit.js +39 -39
- package/lib/commands/config/add.d.ts +78 -78
- package/lib/commands/config/add.js +559 -559
- package/lib/commands/config/delete.d.ts +18 -18
- package/lib/commands/config/delete.js +118 -118
- package/lib/commands/config/deploy.d.ts +22 -22
- package/lib/commands/config/deploy.js +124 -124
- package/lib/commands/config/import.d.ts +27 -27
- package/lib/commands/config/import.js +195 -195
- package/lib/commands/config/view.d.ts +25 -25
- package/lib/commands/config/view.js +120 -120
- package/lib/commands/csp/login.d.ts +18 -18
- package/lib/commands/csp/login.js +108 -108
- package/lib/commands/csp/logout.d.ts +15 -15
- package/lib/commands/csp/logout.js +73 -73
- package/lib/commands/dep/create.d.ts +13 -13
- package/lib/commands/dep/create.js +40 -40
- package/lib/commands/dep/install.d.ts +9 -9
- package/lib/commands/dep/install.js +29 -29
- package/lib/commands/dep/list.d.ts +55 -55
- package/lib/commands/dep/list.js +97 -97
- package/lib/commands/dep/remove.d.ts +12 -12
- package/lib/commands/dep/remove.js +61 -61
- package/lib/commands/dep/source.d.ts +13 -13
- package/lib/commands/dep/source.js +82 -82
- package/lib/commands/dep/syncup.d.ts +11 -11
- package/lib/commands/dep/syncup.js +53 -53
- package/lib/commands/dep/unsource.d.ts +14 -14
- package/lib/commands/dep/unsource.js +67 -67
- package/lib/commands/dep/upgrade.d.ts +44 -44
- package/lib/commands/dep/upgrade.js +243 -243
- package/lib/commands/dep.d.ts +12 -12
- package/lib/commands/dep.js +50 -50
- package/lib/commands/deploy.d.ts +38 -38
- package/lib/commands/deploy.js +382 -382
- package/lib/commands/enterprise/create.d.ts +20 -20
- package/lib/commands/enterprise/create.js +97 -97
- package/lib/commands/enterprise/list.d.ts +14 -14
- package/lib/commands/enterprise/list.js +83 -83
- package/lib/commands/env/add.d.ts +22 -22
- package/lib/commands/env/add.js +199 -199
- package/lib/commands/environment/create.d.ts +19 -19
- package/lib/commands/environment/create.js +88 -88
- package/lib/commands/environment/list.d.ts +25 -25
- package/lib/commands/environment/list.js +157 -157
- package/lib/commands/filestore/capture.d.ts +31 -31
- package/lib/commands/filestore/capture.js +341 -341
- package/lib/commands/host/map.d.ts +33 -33
- package/lib/commands/host/map.js +346 -346
- package/lib/commands/identity/delete.d.ts +15 -15
- package/lib/commands/identity/delete.js +82 -82
- package/lib/commands/identity/list.d.ts +11 -11
- package/lib/commands/identity/list.js +42 -42
- package/lib/commands/identity.d.ts +22 -22
- package/lib/commands/identity.js +76 -76
- package/lib/commands/imageRegistry/capture.d.ts +27 -27
- package/lib/commands/imageRegistry/capture.js +159 -159
- package/lib/commands/imageRegistry/forget.d.ts +23 -23
- package/lib/commands/imageRegistry/forget.js +160 -160
- package/lib/commands/imageRegistry/pullSecret/set.d.ts +27 -27
- package/lib/commands/imageRegistry/pullSecret/set.js +299 -299
- package/lib/commands/imageRegistry/pullSecret/unset.d.ts +24 -24
- package/lib/commands/imageRegistry/pullSecret/unset.js +242 -242
- package/lib/commands/images/add.d.ts +25 -25
- package/lib/commands/images/add.js +75 -75
- package/lib/commands/images/list.d.ts +14 -14
- package/lib/commands/images/list.js +71 -71
- package/lib/commands/images/patch.d.ts +14 -14
- package/lib/commands/images/patch.js +92 -92
- package/lib/commands/images/remove.d.ts +12 -12
- package/lib/commands/images/remove.js +37 -37
- package/lib/commands/images/version.d.ts +16 -16
- package/lib/commands/images/version.js +64 -64
- package/lib/commands/init.d.ts +17 -17
- package/lib/commands/init.js +130 -130
- package/lib/commands/kit/create.d.ts +25 -25
- package/lib/commands/kit/create.js +141 -141
- package/lib/commands/login.d.ts +22 -22
- package/lib/commands/login.js +92 -92
- package/lib/commands/logout.d.ts +8 -8
- package/lib/commands/logout.js +36 -36
- package/lib/commands/merge.d.ts +12 -12
- package/lib/commands/merge.js +42 -42
- package/lib/commands/noc/cluster/create.d.ts +28 -28
- package/lib/commands/noc/cluster/create.js +132 -132
- package/lib/commands/noc/cluster/deinit.d.ts +17 -17
- package/lib/commands/noc/cluster/deinit.js +116 -116
- package/lib/commands/noc/cluster/destroy.d.ts +20 -20
- package/lib/commands/noc/cluster/destroy.js +137 -137
- package/lib/commands/noc/cluster/forget.d.ts +16 -16
- package/lib/commands/noc/cluster/forget.js +136 -136
- package/lib/commands/noc/cluster/grant.d.ts +24 -24
- package/lib/commands/noc/cluster/grant.js +159 -159
- package/lib/commands/noc/cluster/init.d.ts +17 -17
- package/lib/commands/noc/cluster/init.js +116 -116
- package/lib/commands/noc/cluster/list.d.ts +21 -21
- package/lib/commands/noc/cluster/list.js +83 -83
- package/lib/commands/noc/cluster/recreate.d.ts +28 -28
- package/lib/commands/noc/cluster/recreate.js +185 -185
- package/lib/commands/pkg/add.d.ts +15 -15
- package/lib/commands/pkg/add.js +42 -42
- package/lib/commands/pkg/list.d.ts +9 -9
- package/lib/commands/pkg/list.js +32 -32
- package/lib/commands/pkg/patch.d.ts +13 -13
- package/lib/commands/pkg/patch.js +78 -78
- package/lib/commands/pkg/remove.d.ts +12 -12
- package/lib/commands/pkg/remove.js +69 -69
- package/lib/commands/portal.d.ts +11 -11
- package/lib/commands/portal.js +81 -81
- package/lib/commands/publish.d.ts +21 -21
- package/lib/commands/publish.js +51 -51
- package/lib/commands/pull.d.ts +13 -13
- package/lib/commands/pull.js +29 -29
- package/lib/commands/push.d.ts +13 -13
- package/lib/commands/push.js +29 -29
- package/lib/commands/run.d.ts +35 -35
- package/lib/commands/run.js +193 -193
- package/lib/commands/secretStore/capture.d.ts +27 -27
- package/lib/commands/secretStore/capture.js +174 -174
- package/lib/commands/secretStore/forget.d.ts +20 -20
- package/lib/commands/secretStore/forget.js +146 -146
- package/lib/commands/stage.d.ts +13 -13
- package/lib/commands/stage.js +64 -64
- package/lib/commands/stash.d.ts +13 -13
- package/lib/commands/stash.js +30 -30
- package/lib/commands/status.d.ts +12 -12
- package/lib/commands/status.js +48 -48
- package/lib/commands/stop.d.ts +10 -10
- package/lib/commands/stop.js +51 -51
- package/lib/commands/switch.d.ts +11 -11
- package/lib/commands/switch.js +41 -41
- package/lib/commands/sync.d.ts +14 -14
- package/lib/commands/sync.js +20 -20
- package/lib/commands/tenant/create.d.ts +27 -27
- package/lib/commands/tenant/create.js +119 -119
- package/lib/commands/tenant/switch.d.ts +24 -24
- package/lib/commands/tenant/switch.js +108 -108
- package/lib/commands/unstage.d.ts +12 -12
- package/lib/commands/unstage.js +57 -57
- package/lib/commands/view/dashboard.d.ts +17 -0
- package/lib/commands/view/dashboard.js +88 -0
- package/lib/commands/view/dashboard.js.map +1 -0
- package/lib/commands/view/pods.d.ts +14 -0
- package/lib/commands/view/pods.js +88 -0
- package/lib/commands/view/pods.js.map +1 -0
- package/lib/commands/whereami.d.ts +15 -15
- package/lib/commands/whereami.js +122 -122
- package/lib/commands/whoami.d.ts +8 -8
- package/lib/commands/whoami.js +39 -39
- package/lib/deployment.d.ts +2 -0
- package/lib/deployment.js +7 -0
- package/lib/deployment.js.map +1 -0
- package/lib/errors/NoMembershipError.d.ts +8 -8
- package/lib/errors/NoMembershipError.js +14 -14
- package/lib/index.d.ts +1 -1
- package/lib/index.js +16 -16
- package/lib/k8s-command-base.d.ts +60 -0
- package/lib/k8s-command-base.js +204 -0
- package/lib/k8s-command-base.js.map +1 -0
- package/lib/log-update-wrapper.d.ts +24 -24
- package/lib/log-update-wrapper.js +28 -28
- package/lib/log4js-logger.d.ts +26 -26
- package/lib/log4js-logger.js +137 -137
- package/lib/ops/INTERFACES_CLI.d.ts +3 -3
- package/lib/ops/INTERFACES_CLI.js +7 -7
- package/lib/ops/LocalOps.d.ts +444 -444
- package/lib/ops/LocalOps.js +3183 -3183
- package/lib/ops/azure-container-registry-client/azure-container-registry-client.js +147 -147
- package/lib/ops/cli-path-walker.js +54 -54
- package/lib/ops/codiac-entities/dependency.d.ts +5 -5
- package/lib/ops/codiac-entities/dependency.js +10 -10
- package/lib/ops/codiac-entities/index.d.ts +1 -1
- package/lib/ops/codiac-entities/index.js +4 -4
- package/lib/ops/composite-image-registry-client.js +73 -73
- package/lib/ops/data/cli-context-repo.d.ts +61 -61
- package/lib/ops/data/cli-context-repo.js +269 -269
- package/lib/ops/data/index.d.ts +2 -2
- package/lib/ops/data/index.js +5 -5
- package/lib/ops/data/npm-config-repo.d.ts +13 -13
- package/lib/ops/data/npm-config-repo.js +64 -64
- package/lib/ops/docker-config.js +130 -130
- package/lib/ops/docker-constants.js +21 -21
- package/lib/ops/docker-credentials-store.js +237 -237
- package/lib/ops/docker-registry-api-client/docker-registry-api-client.js +288 -288
- package/lib/ops/docker-registry-api-client/entities/blob-sum.d.ts +7 -7
- package/lib/ops/docker-registry-api-client/entities/blob-sum.js +12 -12
- package/lib/ops/docker-registry-api-client/entities/docker-access-actions-enum.d.ts +5 -5
- package/lib/ops/docker-registry-api-client/entities/docker-access-actions-enum.js +9 -9
- package/lib/ops/docker-registry-api-client/entities/docker-auth-token-criteria.d.ts +30 -30
- package/lib/ops/docker-registry-api-client/entities/docker-auth-token-criteria.js +35 -35
- package/lib/ops/docker-registry-api-client/entities/i-docker-error-response.d.ts +55 -55
- package/lib/ops/docker-registry-api-client/entities/i-docker-error-response.js +51 -51
- package/lib/ops/docker-registry-api-client/entities/i-docker-list-response.d.ts +7 -7
- package/lib/ops/docker-registry-api-client/entities/i-docker-list-response.js +2 -2
- package/lib/ops/docker-registry-api-client/entities/image-repository.d.ts +31 -31
- package/lib/ops/docker-registry-api-client/entities/image-repository.js +29 -29
- package/lib/ops/docker-registry-api-client/entities/image-tag-criteria.d.ts +8 -8
- package/lib/ops/docker-registry-api-client/entities/image-tag-criteria.js +13 -13
- package/lib/ops/docker-registry-api-client/entities/image-tag-list.d.ts +7 -7
- package/lib/ops/docker-registry-api-client/entities/image-tag-list.js +12 -12
- package/lib/ops/docker-registry-api-client/entities/manifest-criteria.d.ts +9 -9
- package/lib/ops/docker-registry-api-client/entities/manifest-criteria.js +14 -14
- package/lib/ops/docker-registry-api-client/entities/manifest.d.ts +15 -15
- package/lib/ops/docker-registry-api-client/entities/manifest.js +20 -20
- package/lib/ops/docker-registry-api-client/entities/repository-criteria.d.ts +16 -16
- package/lib/ops/docker-registry-api-client/entities/repository-criteria.js +23 -23
- package/lib/ops/docker-registry-api-client/entities/token-response.d.ts +15 -15
- package/lib/ops/docker-registry-api-client/entities/token-response.js +14 -14
- package/lib/ops/docker-registry-api-client/entities/token.d.ts +17 -17
- package/lib/ops/docker-registry-api-client/entities/token.js +21 -21
- package/lib/ops/docker-registry-api-client/entities/version-check-criteria.d.ts +4 -4
- package/lib/ops/docker-registry-api-client/entities/version-check-criteria.js +9 -9
- package/lib/ops/dx-constants.d.ts +26 -26
- package/lib/ops/dx-constants.js +42 -42
- package/lib/ops/entities/ImageBuildContext.d.ts +12 -12
- package/lib/ops/entities/ImageBuildContext.js +18 -18
- package/lib/ops/entities/PipelineContext.d.ts +21 -21
- package/lib/ops/entities/PipelineContext.js +22 -22
- package/lib/ops/entities/TenantContext.d.ts +10 -10
- package/lib/ops/entities/TenantContext.js +15 -15
- package/lib/ops/entities/ThaulConfig.js +29 -29
- package/lib/ops/entities/azure-service-principal.d.ts +23 -23
- package/lib/ops/entities/azure-service-principal.js +23 -23
- package/lib/ops/entities/better-logger.js +1 -1
- package/lib/ops/entities/branch.d.ts +13 -13
- package/lib/ops/entities/branch.js +15 -15
- package/lib/ops/entities/cli-config.d.ts +48 -48
- package/lib/ops/entities/cli-config.js +60 -60
- package/lib/ops/entities/docker-image.d.ts +60 -60
- package/lib/ops/entities/docker-image.js +2 -2
- package/lib/ops/entities/helm-spec.d.ts +15 -15
- package/lib/ops/entities/helm-spec.js +22 -22
- package/lib/ops/entities/index.d.ts +4 -4
- package/lib/ops/entities/index.js +11 -11
- package/lib/ops/entities/operation-meta.d.ts +8 -8
- package/lib/ops/entities/operation-meta.js +18 -18
- package/lib/ops/entities/scaffolding.d.ts +19 -19
- package/lib/ops/entities/scaffolding.js +20 -20
- package/lib/ops/extensions/azart-identity-adapter.d.ts +19 -19
- package/lib/ops/extensions/azart-identity-adapter.js +96 -96
- package/lib/ops/extensions/npm-identity-adapter-base.d.ts +13 -13
- package/lib/ops/extensions/npm-identity-adapter-base.js +2 -2
- package/lib/ops/extensions/npmjs-identity-adapter.d.ts +13 -13
- package/lib/ops/extensions/npmjs-identity-adapter.js +63 -63
- package/lib/ops/git-ops.d.ts +8 -8
- package/lib/ops/git-ops.js +13 -13
- package/lib/ops/i-client-for-image-registry.js +16 -16
- package/lib/ops/i-identity-handler.d.ts +33 -33
- package/lib/ops/i-identity-handler.js +164 -164
- package/lib/ops/i-output-styler.js +16 -16
- package/lib/ops/index.d.ts +12 -12
- package/lib/ops/index.js +14 -14
- package/lib/ops/json-utils.js +58 -58
- package/lib/ops/no-style-output-styler.js +29 -29
- package/lib/ops/oauth2-client.ts/oauth2-client.d.ts +23 -23
- package/lib/ops/oauth2-client.ts/oauth2-client.js +63 -63
- package/lib/ops/project-initializer.d.ts +36 -36
- package/lib/ops/project-initializer.js +218 -218
- package/lib/ops/scaffolding/base-scaffolding.d.ts +7 -7
- package/lib/ops/scaffolding/base-scaffolding.js +20 -20
- package/lib/ops/scaffolding/codiac-api-scaffolding.d.ts +7 -7
- package/lib/ops/scaffolding/codiac-api-scaffolding.js +63 -63
- package/lib/ops/scaffolding/typescript-scaffolding.d.ts +15 -15
- package/lib/ops/scaffolding/typescript-scaffolding.js +162 -162
- package/lib/ops/test/mock-ui.d.ts +26 -26
- package/lib/ops/test/mock-ui.js +87 -87
- package/lib/ops/test/test-extensions.d.ts +13 -13
- package/lib/ops/test/test-extensions.js +70 -70
- package/lib/ops/test/when-a-recursive-file-search-is-run.spec.d.ts +2 -2
- package/lib/ops/test/when-a-recursive-file-search-is-run.spec.js +54 -54
- package/lib/ops/test/when-git-branchline-is-attempted.spec.d.ts +2 -2
- package/lib/ops/test/when-git-branchline-is-attempted.spec.js +37 -37
- package/lib/ops/test/when-versions-are-parsed.spec.d.ts +2 -2
- package/lib/ops/test/when-versions-are-parsed.spec.js +59 -59
- package/lib/ops/throwing-user-input-provider.js +36 -36
- package/lib/prettify.d.ts +7 -7
- package/lib/prettify.js +23 -23
- package/lib/read-stdin.d.ts +2 -2
- package/lib/read-stdin.js +28 -28
- package/lib/relay/contracts/contracts.d.ts +207 -207
- package/lib/relay/contracts/contracts.js +229 -229
- package/lib/relay/data/aws-k8s-versions.d.ts +6 -0
- package/lib/relay/data/aws-k8s-versions.js +16 -0
- package/lib/relay/data/aws-k8s-versions.js.map +1 -0
- package/lib/relay/data/aws-node-types.d.ts +37 -0
- package/lib/relay/data/aws-node-types.js +4246 -0
- package/lib/relay/data/aws-node-types.js.map +1 -0
- package/lib/relay/data/aws-regions.d.ts +6 -0
- package/lib/relay/data/aws-regions.js +34 -0
- package/lib/relay/data/aws-regions.js.map +1 -0
- package/lib/relay/extended-relay-client.d.ts +27 -27
- package/lib/relay/extended-relay-client.js +27 -27
- package/lib/relay/relay-container.d.ts +41 -41
- package/lib/relay/relay-container.js +297 -297
- package/lib/relay/wsclient/relay-socket-listener.d.ts +68 -68
- package/lib/relay/wsclient/relay-socket-listener.js +164 -164
- package/lib/relay/wsclient/relay-websocket-client.d.ts +33 -33
- package/lib/relay/wsclient/relay-websocket-client.js +178 -178
- package/lib/relay/wsclient/rx-websocket-subject.d.ts +25 -25
- package/lib/relay/wsclient/rx-websocket-subject.js +133 -133
- package/lib/relay/wsclient/socket-contracts.d.ts +22 -22
- package/lib/relay/wsclient/socket-contracts.js +2 -2
- package/lib/standard-probes.d.ts +5 -5
- package/lib/standard-probes.js +21 -21
- package/lib/uilogic/build-configurator.d.ts +21 -21
- package/lib/uilogic/build-configurator.js +110 -110
- package/lib/uilogic/cloud-provider-contextualizer.d.ts +46 -46
- package/lib/uilogic/cloud-provider-contextualizer.js +193 -193
- package/lib/uilogic/cloud-resource-configurator-factory.d.ts +41 -41
- package/lib/uilogic/cloud-resource-configurator-factory.js +157 -157
- package/lib/uilogic/cloud-resource-configurators/aws-k8s-versions.d.ts +11 -0
- package/lib/uilogic/cloud-resource-configurators/aws-k8s-versions.js +16 -0
- package/lib/uilogic/cloud-resource-configurators/aws-k8s-versions.js.map +1 -0
- package/lib/uilogic/cloud-resource-configurators/aws-node-types.d.ts +5 -0
- package/lib/uilogic/cloud-resource-configurators/aws-node-types.js +536 -0
- package/lib/uilogic/cloud-resource-configurators/aws-node-types.js.map +1 -0
- package/lib/uilogic/cloud-resource-configurators/aws-regions.d.ts +10 -0
- package/lib/uilogic/cloud-resource-configurators/aws-regions.js +34 -0
- package/lib/uilogic/cloud-resource-configurators/aws-regions.js.map +1 -0
- package/lib/uilogic/cloud-resource-configurators/aws-resource-configurator.d.ts +38 -38
- package/lib/uilogic/cloud-resource-configurators/aws-resource-configurator.js +347 -347
- package/lib/uilogic/cloud-resource-configurators/az-acr-cli-authenticator.js +77 -77
- package/lib/uilogic/cloud-resource-configurators/az-interactive-login-configurator.d.ts +42 -42
- package/lib/uilogic/cloud-resource-configurators/az-interactive-login-configurator.js +247 -247
- package/lib/uilogic/cloud-resource-configurators/azure-resource-configurator.d.ts +110 -110
- package/lib/uilogic/cloud-resource-configurators/azure-resource-configurator.js +781 -781
- package/lib/uilogic/cloud-resource-configurators/azure-types.js +9 -9
- package/lib/uilogic/cloud-resource-configurators/docker-hub-resource-configurator.d.ts +24 -24
- package/lib/uilogic/cloud-resource-configurators/docker-hub-resource-configurator.js +105 -105
- package/lib/uilogic/cloud-resource-configurators/helm-resource-configurator.d.ts +16 -16
- package/lib/uilogic/cloud-resource-configurators/helm-resource-configurator.js +44 -44
- package/lib/uilogic/cloud-resource-configurators/unsupported-resource-configurator.d.ts +18 -18
- package/lib/uilogic/cloud-resource-configurators/unsupported-resource-configurator.js +61 -61
- package/lib/uilogic/enterprise-contextualizer.d.ts +76 -76
- package/lib/uilogic/enterprise-contextualizer.js +670 -670
- package/lib/uilogic/environment-contextualizer.d.ts +15 -15
- package/lib/uilogic/environment-contextualizer.js +42 -42
- package/lib/uilogic/i-cluster-configurator.d.ts +9 -9
- package/lib/uilogic/i-cluster-configurator.js +2 -2
- package/lib/uilogic/i-login-configurator.d.ts +6 -6
- package/lib/uilogic/i-login-configurator.js +2 -2
- package/lib/uilogic/i-registry-configurator.d.ts +6 -6
- package/lib/uilogic/i-registry-configurator.js +2 -2
- package/lib/uilogic/i-secret-store-configurator.d.ts +7 -7
- package/lib/uilogic/i-secret-store-configurator.js +2 -2
- package/lib/uilogic/image-configurator.d.ts +133 -133
- package/lib/uilogic/image-configurator.js +577 -577
- package/lib/uilogic/image-contextualizer.d.ts +24 -24
- package/lib/uilogic/image-contextualizer.js +89 -89
- package/lib/uilogic/image-registry-contextualizer.d.ts +28 -28
- package/lib/uilogic/image-registry-contextualizer.js +126 -126
- package/lib/uilogic/index.d.ts +9 -9
- package/lib/uilogic/index.js +13 -13
- package/lib/uilogic/prompt-select-fuzzy.js +138 -138
- package/lib/uilogic/render-methods.d.ts +12 -12
- package/lib/uilogic/render-methods.js +64 -64
- package/lib/uilogic/tenant-contextualizer.d.ts +79 -79
- package/lib/uilogic/tenant-contextualizer.js +573 -573
- package/lib/user-context-loader.d.ts +60 -60
- package/lib/user-context-loader.js +183 -183
- package/oclif.manifest.json +45 -1
- package/package.json +150 -150
- package/scaffolding/api/.gitignore-scaffolding +68 -68
- package/scaffolding/api/.vscode/launch.json +16 -16
- package/scaffolding/api/.vscode/settings.json +7 -7
- package/scaffolding/api/.vscode/tasks.json +15 -15
- package/scaffolding/api/src/app-config.json +2 -2
- package/scaffolding/api/src/index.ts-scaffolding +13 -13
- package/scaffolding/api/src/myApiDef.ts-scaffolding +25 -25
- package/scaffolding/default/.gitignore-scaffolding +2 -2
- package/scaffolding/typescript/.gitignore-scaffolding +69 -69
- package/scaffolding/typescript/.vscode/launch.json +16 -16
- package/scaffolding/typescript/.vscode/settings.json +7 -7
- package/scaffolding/typescript/.vscode/tasks.json +15 -15
package/bin/dev
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
const oclif = require('@oclif/core')
|
|
4
|
-
|
|
5
|
-
const path = require('path')
|
|
6
|
-
const project = path.join(__dirname, '..', 'tsconfig.json')
|
|
7
|
-
|
|
8
|
-
// In dev mode -> use ts-node and dev plugins
|
|
9
|
-
process.env.NODE_ENV = 'development'
|
|
10
|
-
|
|
11
|
-
require('ts-node').register({ project })
|
|
12
|
-
|
|
13
|
-
// In dev mode, always show stack traces
|
|
14
|
-
oclif.settings.debug = true;
|
|
15
|
-
|
|
16
|
-
// Start the CLI
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const oclif = require('@oclif/core')
|
|
4
|
+
|
|
5
|
+
const path = require('path')
|
|
6
|
+
const project = path.join(__dirname, '..', 'tsconfig.json')
|
|
7
|
+
|
|
8
|
+
// In dev mode -> use ts-node and dev plugins
|
|
9
|
+
process.env.NODE_ENV = 'development'
|
|
10
|
+
|
|
11
|
+
require('ts-node').register({ project })
|
|
12
|
+
|
|
13
|
+
// In dev mode, always show stack traces
|
|
14
|
+
oclif.settings.debug = true;
|
|
15
|
+
|
|
16
|
+
// Start the CLI
|
|
17
17
|
oclif.run().then(oclif.flush).catch(oclif.Errors.handle)
|
package/bin/dev.cmd
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
@echo off
|
|
2
|
-
|
|
1
|
+
@echo off
|
|
2
|
+
|
|
3
3
|
node "%~dp0\dev" %*
|
package/bin/run
CHANGED
package/bin/run.cmd
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
@echo off
|
|
2
|
-
|
|
3
|
-
node "%~dp0\run" %*
|
|
1
|
+
@echo off
|
|
2
|
+
|
|
3
|
+
node "%~dp0\run" %*
|
package/codiac.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "cli",
|
|
3
|
-
"tenantCode": "cod",
|
|
4
|
-
"codeVersion": "0.0.0-mcf-probes-2.1",
|
|
5
|
-
"buildDef": [
|
|
6
|
-
"npm run build"
|
|
7
|
-
],
|
|
8
|
-
"buildIncludes": [],
|
|
9
|
-
"submodules": []
|
|
1
|
+
{
|
|
2
|
+
"name": "cli",
|
|
3
|
+
"tenantCode": "cod",
|
|
4
|
+
"codeVersion": "0.0.0-mcf-probes-2.1",
|
|
5
|
+
"buildDef": [
|
|
6
|
+
"npm run build"
|
|
7
|
+
],
|
|
8
|
+
"buildIncludes": [],
|
|
9
|
+
"submodules": []
|
|
10
10
|
}
|
|
File without changes
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// import { CodiacClient } from '@codiac.io/codiac-api-client';
|
|
3
|
+
// import { commandBase } from '@codiac.io/codiac-cli-common';
|
|
4
|
+
// import { UserContext } from "@codiac.io/codiac-relay-contracts";
|
|
5
|
+
// import { DxConstants } from '@codiac.io/codiac-ops-tenantless';
|
|
6
|
+
// import { BetterConsoleLogger } from '@codiac.io/codiac-common/better-logger';
|
|
7
|
+
// export abstract class ApiCommandBase extends commandBase {
|
|
8
|
+
// constructor(argv: string[], config: IConfig) {
|
|
9
|
+
// super(argv, config);
|
|
10
|
+
// let codiacApiUrl = (this._cliCfg) ? this._cliCfg.codiacApiBaseUrl : undefined;
|
|
11
|
+
// this._userCntx = this._cfgRepo.loadUserContext(this._projCfg.tenantCode);
|
|
12
|
+
// // Commented out bc this should be handled by the cfgRepo instead.
|
|
13
|
+
// // this.preventAlienTenantContext();
|
|
14
|
+
// let authToken = (this._userCntx) ? this._userCntx.currentToken : undefined;
|
|
15
|
+
// CodiacClient.bootstrap();
|
|
16
|
+
// this._codiacApi = CodiacClient.create(new BetterConsoleLogger(), codiacApiUrl, authToken);
|
|
17
|
+
// }
|
|
18
|
+
// protected _userCntx: UserContext | undefined;
|
|
19
|
+
// protected _codiacApi: CodiacClient;
|
|
20
|
+
// /** Trap a tenant code mismatch */
|
|
21
|
+
// // TODO: This should belong to a contextualizer
|
|
22
|
+
// protected preventAlienTenantContext() {
|
|
23
|
+
// if (this._projCfg.tenantCode == DxConstants.UNREGISTERED_TENANT_CODE) {
|
|
24
|
+
// // Ensure principal context
|
|
25
|
+
// if (this._userCntx
|
|
26
|
+
// && this._userCntx.currentTenantCode
|
|
27
|
+
// && this._userCntx.currentTenantCode != this._projCfg.tenantCode) {
|
|
28
|
+
// this.logger.debug(`Mismatched TenantUser context in an unregistered project. Switching to principal context.`)
|
|
29
|
+
// // Strip it of
|
|
30
|
+
// this._userCntx.currentTenantCode = undefined;
|
|
31
|
+
// this._userCntx.currentToken = undefined; // TODO: We should check for a principal token and switch to that.
|
|
32
|
+
// }
|
|
33
|
+
// } else {
|
|
34
|
+
// // Find a mismatch
|
|
35
|
+
// if (this._userCntx && this._userCntx.currentTenantCode != this._projCfg.tenantCode) {
|
|
36
|
+
// // try to switch to this tenant
|
|
37
|
+
// let tokenForThisTenant = this._userCntx.tokens[this._projCfg.tenantCode];
|
|
38
|
+
// if (tokenForThisTenant) {
|
|
39
|
+
// this._userCntx.currentToken = tokenForThisTenant;
|
|
40
|
+
// this._userCntx.currentTenantCode = this._projCfg.tenantCode;
|
|
41
|
+
// this.logger.debug(`Mismatched TenantUser context. Switched to [${this._projCfg.tenantCode}].`);
|
|
42
|
+
// } else {
|
|
43
|
+
// // No token in profile at the moment, so strip the foreign one.
|
|
44
|
+
// this._userCntx.currentTenantCode = undefined;
|
|
45
|
+
// this._userCntx.currentToken = undefined; // TODO: We should check for a principal token and switch to that.
|
|
46
|
+
// this.logger.debug(`Mismatched TenantUser context. Switched to principal context.`);
|
|
47
|
+
// }
|
|
48
|
+
// }
|
|
49
|
+
// }
|
|
50
|
+
// }
|
|
51
|
+
// }
|
|
52
|
+
//# sourceMappingURL=api-command-base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-command-base.js","sourceRoot":"","sources":["../src/api-command-base.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,8DAA8D;AAE9D,mEAAmE;AACnE,kEAAkE;AAClE,gFAAgF;AAGhF,6DAA6D;AAE7D,qDAAqD;AACrD,+BAA+B;AAE/B,yFAAyF;AACzF,oFAAoF;AAEpF,6EAA6E;AAC7E,+CAA+C;AAE/C,sFAAsF;AACtF,oCAAoC;AACpC,qGAAqG;AAErG,QAAQ;AAER,oDAAoD;AACpD,0CAA0C;AAG1C,yCAAyC;AACzC,sDAAsD;AACtD,8CAA8C;AAE9C,kFAAkF;AAClF,0CAA0C;AAC1C,iCAAiC;AACjC,sDAAsD;AACtD,qFAAqF;AACrF,kIAAkI;AAClI,iCAAiC;AACjC,gEAAgE;AAChE,+HAA+H;AAC/H,gBAAgB;AAChB,mBAAmB;AACnB,iCAAiC;AACjC,oGAAoG;AACpG,kDAAkD;AAClD,4FAA4F;AAC5F,4CAA4C;AAC5C,wEAAwE;AACxE,mFAAmF;AACnF,sHAAsH;AACtH,2BAA2B;AAC3B,sFAAsF;AACtF,oEAAoE;AACpE,mIAAmI;AACnI,2GAA2G;AAC3G,oBAAoB;AACpB,gBAAgB;AAChB,YAAY;AACZ,QAAQ;AAER,IAAI"}
|
|
@@ -1,165 +1,165 @@
|
|
|
1
|
-
import { AxiosResponse } from "axios";
|
|
2
|
-
import { Container } from "inversify";
|
|
3
|
-
import { classDef, stringDictionary, ISerializer, typeRef, httpRestVerb } from "@codiac.io/codiac-common";
|
|
4
|
-
import { IBetterLogger } from '@codiac.io/codiac-common/IBetterLogger';
|
|
5
|
-
import { endpointSpec } from './endpoint-spec';
|
|
6
|
-
export declare class TypeName {
|
|
7
|
-
static endpointSpec<T>(entityType: classDef<T> | string): string;
|
|
8
|
-
static arrayOf<T>(entityType: classDef<T> | string): string;
|
|
9
|
-
static criteriaFor<T>(entityType: classDef<T> | string): string;
|
|
10
|
-
}
|
|
11
|
-
export declare abstract class ApiClientBase {
|
|
12
|
-
authToken?: string | undefined;
|
|
13
|
-
static endpointSpecs: Container;
|
|
14
|
-
static serializers: Container;
|
|
15
|
-
static bootstrap_base(endpointsJson: any[], logger?: IBetterLogger): void;
|
|
16
|
-
/** For special serializers (eg: StringFilter, etc).
|
|
17
|
-
* Maps the given serializer for use on the given type
|
|
18
|
-
* when later converting input to an http request.
|
|
19
|
-
* NOTE: a default serializer will be used if reqd and none has been registered here.
|
|
20
|
-
*/
|
|
21
|
-
static registerSerializerFor<T>(valueType: classDef<T> | string, serializer: ISerializer): void;
|
|
22
|
-
/** Returns undefined when no serializer has been registered for the given valueType. */
|
|
23
|
-
static getSerializerFor(valueType: typeRef | string): ISerializer | undefined;
|
|
24
|
-
/** Applied to this.tokenHeaderParam in the ctor.
|
|
25
|
-
* Typical name of the http request header that declares the authentication token for the request. */
|
|
26
|
-
static DEFAULT_TOKEN_HEADER_PARAM: string;
|
|
27
|
-
/** Local interface for a remote Api.
|
|
28
|
-
* @param apiRootUrl Override for this.GetDefaultRootUrl(). Fully qualified base url of the api. That is, prepending it to any individual endpoint route will yield the fully qualified url for that endpoint.
|
|
29
|
-
* @param authToken User token for the api this client is targeting.
|
|
30
|
-
* NOTE: Also must get hydrated if child class runs successful attempts of authenticate / refreshToken / switchTenant / registerTenant.
|
|
31
|
-
*/
|
|
32
|
-
constructor(logger: IBetterLogger, apiRootUrl?: string, authToken?: string | undefined);
|
|
33
|
-
readonly apiRootUrl: string;
|
|
34
|
-
/** The name of the http request header that declares the authentication token for the request.
|
|
35
|
-
* NOTE: This gets set to DEFAULT_TOKEN_HEADER_NAME in the ctor of ApiClientBase,
|
|
36
|
-
* so child classes can override it in their own ctor AFTER calling super(). */
|
|
37
|
-
protected tokenHeaderName: string;
|
|
38
|
-
/** Applied when apiRootUrl is not passed to the ApiClientBase ctor.
|
|
39
|
-
* The fully qualified url to use as the base for all endpoint paths in the api,
|
|
40
|
-
* SUGGESTION: Try to load the root url from a config file,
|
|
41
|
-
* and default to a hard-coded publicly available test environment for the api,
|
|
42
|
-
* and ship with a config file pointing to the production url. */
|
|
43
|
-
protected abstract GetDefaultRootUrl(): string;
|
|
44
|
-
protected logger: IBetterLogger;
|
|
45
|
-
/** Sets the user context to impersonate in requests made to the api. */
|
|
46
|
-
setUserToken(token: string): void;
|
|
47
|
-
/** Retrieves the registered endpoint spec for the given request type and httpMethod.
|
|
48
|
-
* Throws exception if the given entity type and http method are not found.
|
|
49
|
-
*/
|
|
50
|
-
getEndpointFor<TRequest>(entityType: classDef<TRequest> | string, httpMethod: httpRestVerb): endpointSpec<TRequest>;
|
|
51
|
-
/** Produces the value for the "Authorization" http header in an RFC 2617 Basic Authentication scheme.
|
|
52
|
-
* Consists of the string "Basic " followed by a colon-separated, base64 encoded string of the username and password.
|
|
53
|
-
* eg: for userid "Aladdin" and password "open sesame", this function will return "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==".
|
|
54
|
-
* @see https://tools.ietf.org/html/rfc2617#page-4 RFC 2617 HTTP Authentication - Assembling the header value for a basic authentication request. */
|
|
55
|
-
protected static buildBasicAuthenticationHeader(userName: string, passwordOrApiKey: string): string;
|
|
56
|
-
/** Fires off an http request to the remote api.
|
|
57
|
-
* Throws any encountered exceptions
|
|
58
|
-
* (api exceptions dont get raised: they get passed back in the response envelope).
|
|
59
|
-
*
|
|
60
|
-
* @param httpVerb
|
|
61
|
-
* @param url Can be relative to this.apiBaseUrl or fully qualified.
|
|
62
|
-
* @param req
|
|
63
|
-
* @param headers
|
|
64
|
-
*/
|
|
65
|
-
makeHttpCall<TRequest, TResponse>(httpVerb: httpRestVerb, url: string, req?: Object, headers?: {
|
|
66
|
-
[key: string]: string;
|
|
67
|
-
}): Promise<TResponse>;
|
|
68
|
-
/** Fires off an http request to the remote api,
|
|
69
|
-
* AND RETURNS THE ENTIRE AXIOS RESPONSE.
|
|
70
|
-
* Throws any encountered exceptions
|
|
71
|
-
* (api exceptions dont get raised: they get passed back in the response envelope).
|
|
72
|
-
*
|
|
73
|
-
* @param httpVerb
|
|
74
|
-
* @param url Can be relative to this.apiBaseUrl or fully qualified.
|
|
75
|
-
* @param req
|
|
76
|
-
* @param headers
|
|
77
|
-
*/
|
|
78
|
-
makeRawHttpCall<TRequest, TResponse>(httpVerb: httpRestVerb, url: string, req: Object, headers?: {
|
|
79
|
-
[key: string]: string;
|
|
80
|
-
}): Promise<AxiosResponse<TResponse>>;
|
|
81
|
-
/** Performs replacements on the route using
|
|
82
|
-
* the matching values from the given request object
|
|
83
|
-
* @param route The relative url path for the endpoint including route tokens.
|
|
84
|
-
* @param applyRemainingToQuerystring (default: false) When set, adds querystring params
|
|
85
|
-
* for every property on the entity that was not already applied to a route token.
|
|
86
|
-
* */
|
|
87
|
-
buildUrl(route: string, request: any, applyRemainingToQuerystring?: boolean): string;
|
|
88
|
-
/** Returns an object containing only properties with primitive values;
|
|
89
|
-
* no objects, or functions.
|
|
90
|
-
*
|
|
91
|
-
* NOTE: DOES include null values (which javascript still considers objects)
|
|
92
|
-
*
|
|
93
|
-
* @see [The world picking up the slack on this failure](https://stackoverflow.com/questions/8511281/check-if-a-value-is-an-object-in-javascript/8511350#8511350)
|
|
94
|
-
*/
|
|
95
|
-
private extractPrimitiveProperties;
|
|
96
|
-
/** Serializes property values of the given entity
|
|
97
|
-
* whose types have a registered serializer. */
|
|
98
|
-
applyPropertySerializers(entity: any, serializerMap: stringDictionary): any;
|
|
99
|
-
/** Safe to blindly append this to an existing url tat does not yet have a querystring.
|
|
100
|
-
* Returns "?" character if the given obj has properties.
|
|
101
|
-
* Returns "" if the given obj is undefined or empty. */
|
|
102
|
-
private createQueryStringFrom;
|
|
103
|
-
/** Creates a new object from the given object without the given property paths */
|
|
104
|
-
private omit;
|
|
105
|
-
/** Very generic method for executing a POST operation against the api
|
|
106
|
-
* from an endpoint definition in the registered endpoints collection.
|
|
107
|
-
* Hydrates any route parameters or required headers for the endpoint
|
|
108
|
-
* from the given requestContract and routeValues objects.
|
|
109
|
-
* Throws any exceptions
|
|
110
|
-
* (because it cant guarantee a response envelope that declares
|
|
111
|
-
* errors and successes, it cant implement a "try" pattern).
|
|
112
|
-
* @param routeValues Additional key value pairs (beyond the requestContract) to apply to any route parameters for the endpoint.
|
|
113
|
-
*/
|
|
114
|
-
post<TRequest extends Object, TResponse>(requestType: classDef<TRequest>, requestContract: TRequest, routeValues?: any): Promise<TResponse>;
|
|
115
|
-
/** Very generic method for executing a PUT operation against the api
|
|
116
|
-
* from an endpoint definition in the registered endpoints collection.
|
|
117
|
-
* Hydrates any route parameters or required headers for the endpoint
|
|
118
|
-
* from the given requestContract and routeValues objects.
|
|
119
|
-
* Throws any exceptions
|
|
120
|
-
* (because it cant guarantee a response envelope that declares
|
|
121
|
-
* errors and successes, it cant implement a "try" pattern).
|
|
122
|
-
* @param routeValues Additional key value pairs (beyond the requestContract) to apply to any route parameters for the endpoint.
|
|
123
|
-
*/
|
|
124
|
-
put<TRequest extends Object, TResponse>(requestType: classDef<TRequest>, requestContract: TRequest, routeValues?: any): Promise<TResponse>;
|
|
125
|
-
/** Very generic method for executing a GET operation against the api
|
|
126
|
-
* from an endpoint definition in the registered endpoints collection.
|
|
127
|
-
* Hydrates any route parameters or required headers for the endpoint
|
|
128
|
-
* from the given requestContract and routeValues objects.
|
|
129
|
-
* Throws any exceptions
|
|
130
|
-
* (because it cant guarantee a response envelope that declares
|
|
131
|
-
* errors and successes, it cant implement a "try" pattern).
|
|
132
|
-
* @param routeValues Additional key value pairs (beyond the requestContract) to apply to any route parameters for the endpoint.
|
|
133
|
-
*/
|
|
134
|
-
get<TRequest extends Object, TResponse>(requestType: classDef<TRequest>, requestContract: TRequest, routeValues?: any): Promise<TResponse>;
|
|
135
|
-
/** Very generic method for executing a PATCH operation against the api
|
|
136
|
-
* from an endpoint definition in the registered endpoints collection.
|
|
137
|
-
* Hydrates any route parameters or required headers for the endpoint
|
|
138
|
-
* from the given requestContract and routeValues objects.
|
|
139
|
-
* Throws any exceptions
|
|
140
|
-
* (because it cant guarantee a response envelope that declares
|
|
141
|
-
* errors and successes, it cant implement a "try" pattern).
|
|
142
|
-
* @param routeValues Additional key value pairs (beyond the requestContract) to apply to any route parameters for the endpoint.
|
|
143
|
-
*/
|
|
144
|
-
patch<TRequest extends Object, TResponse>(requestType: classDef<TRequest>, requestContract: TRequest, routeValues?: any): Promise<TResponse>;
|
|
145
|
-
/** Very generic method for executing a DELETE operation against the api
|
|
146
|
-
* from an endpoint definition in the registered endpoints collection.
|
|
147
|
-
* Hydrates any route parameters or required headers for the endpoint
|
|
148
|
-
* from the given requestContract and routeValues objects.
|
|
149
|
-
* Throws any exceptions
|
|
150
|
-
* (because it cant guarantee a response envelope that declares
|
|
151
|
-
* errors and successes, it cant implement a "try" pattern).
|
|
152
|
-
* @param routeValues Additional key value pairs (beyond the requestContract) to apply to any route parameters for the endpoint.
|
|
153
|
-
*/
|
|
154
|
-
delete<TRequest extends Object, TResponse>(requestType: classDef<TRequest>, requestContract: TRequest, routeValues?: any): Promise<TResponse>;
|
|
155
|
-
/** Very generic method for executing an http operation against the api
|
|
156
|
-
* from an endpoint definition in the registered endpoints collection.
|
|
157
|
-
* Hydrates any route parameters or required headers for the endpoint
|
|
158
|
-
* from the given requestContract and routeValues objects.
|
|
159
|
-
* Throws any exceptions
|
|
160
|
-
* (because it cant guarantee a response envelope that declares
|
|
161
|
-
* errors and successes, it cant implement a "try" pattern).
|
|
162
|
-
* @param routeValues Additional key value pairs (beyond the requestContract) to apply to any route parameters for the endpoint.
|
|
163
|
-
*/
|
|
164
|
-
protected hitConfiguredEndpoint<TRequest extends Object, TResponse>(requestType: classDef<TRequest>, httpVerb: httpRestVerb, requestContract: TRequest, routeValues?: any): Promise<TResponse>;
|
|
165
|
-
}
|
|
1
|
+
import { AxiosResponse } from "axios";
|
|
2
|
+
import { Container } from "inversify";
|
|
3
|
+
import { classDef, stringDictionary, ISerializer, typeRef, httpRestVerb } from "@codiac.io/codiac-common";
|
|
4
|
+
import { IBetterLogger } from '@codiac.io/codiac-common/IBetterLogger';
|
|
5
|
+
import { endpointSpec } from './endpoint-spec';
|
|
6
|
+
export declare class TypeName {
|
|
7
|
+
static endpointSpec<T>(entityType: classDef<T> | string): string;
|
|
8
|
+
static arrayOf<T>(entityType: classDef<T> | string): string;
|
|
9
|
+
static criteriaFor<T>(entityType: classDef<T> | string): string;
|
|
10
|
+
}
|
|
11
|
+
export declare abstract class ApiClientBase {
|
|
12
|
+
authToken?: string | undefined;
|
|
13
|
+
static endpointSpecs: Container;
|
|
14
|
+
static serializers: Container;
|
|
15
|
+
static bootstrap_base(endpointsJson: any[], logger?: IBetterLogger): void;
|
|
16
|
+
/** For special serializers (eg: StringFilter, etc).
|
|
17
|
+
* Maps the given serializer for use on the given type
|
|
18
|
+
* when later converting input to an http request.
|
|
19
|
+
* NOTE: a default serializer will be used if reqd and none has been registered here.
|
|
20
|
+
*/
|
|
21
|
+
static registerSerializerFor<T>(valueType: classDef<T> | string, serializer: ISerializer): void;
|
|
22
|
+
/** Returns undefined when no serializer has been registered for the given valueType. */
|
|
23
|
+
static getSerializerFor(valueType: typeRef | string): ISerializer | undefined;
|
|
24
|
+
/** Applied to this.tokenHeaderParam in the ctor.
|
|
25
|
+
* Typical name of the http request header that declares the authentication token for the request. */
|
|
26
|
+
static DEFAULT_TOKEN_HEADER_PARAM: string;
|
|
27
|
+
/** Local interface for a remote Api.
|
|
28
|
+
* @param apiRootUrl Override for this.GetDefaultRootUrl(). Fully qualified base url of the api. That is, prepending it to any individual endpoint route will yield the fully qualified url for that endpoint.
|
|
29
|
+
* @param authToken User token for the api this client is targeting.
|
|
30
|
+
* NOTE: Also must get hydrated if child class runs successful attempts of authenticate / refreshToken / switchTenant / registerTenant.
|
|
31
|
+
*/
|
|
32
|
+
constructor(logger: IBetterLogger, apiRootUrl?: string, authToken?: string | undefined);
|
|
33
|
+
readonly apiRootUrl: string;
|
|
34
|
+
/** The name of the http request header that declares the authentication token for the request.
|
|
35
|
+
* NOTE: This gets set to DEFAULT_TOKEN_HEADER_NAME in the ctor of ApiClientBase,
|
|
36
|
+
* so child classes can override it in their own ctor AFTER calling super(). */
|
|
37
|
+
protected tokenHeaderName: string;
|
|
38
|
+
/** Applied when apiRootUrl is not passed to the ApiClientBase ctor.
|
|
39
|
+
* The fully qualified url to use as the base for all endpoint paths in the api,
|
|
40
|
+
* SUGGESTION: Try to load the root url from a config file,
|
|
41
|
+
* and default to a hard-coded publicly available test environment for the api,
|
|
42
|
+
* and ship with a config file pointing to the production url. */
|
|
43
|
+
protected abstract GetDefaultRootUrl(): string;
|
|
44
|
+
protected logger: IBetterLogger;
|
|
45
|
+
/** Sets the user context to impersonate in requests made to the api. */
|
|
46
|
+
setUserToken(token: string): void;
|
|
47
|
+
/** Retrieves the registered endpoint spec for the given request type and httpMethod.
|
|
48
|
+
* Throws exception if the given entity type and http method are not found.
|
|
49
|
+
*/
|
|
50
|
+
getEndpointFor<TRequest>(entityType: classDef<TRequest> | string, httpMethod: httpRestVerb): endpointSpec<TRequest>;
|
|
51
|
+
/** Produces the value for the "Authorization" http header in an RFC 2617 Basic Authentication scheme.
|
|
52
|
+
* Consists of the string "Basic " followed by a colon-separated, base64 encoded string of the username and password.
|
|
53
|
+
* eg: for userid "Aladdin" and password "open sesame", this function will return "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==".
|
|
54
|
+
* @see https://tools.ietf.org/html/rfc2617#page-4 RFC 2617 HTTP Authentication - Assembling the header value for a basic authentication request. */
|
|
55
|
+
protected static buildBasicAuthenticationHeader(userName: string, passwordOrApiKey: string): string;
|
|
56
|
+
/** Fires off an http request to the remote api.
|
|
57
|
+
* Throws any encountered exceptions
|
|
58
|
+
* (api exceptions dont get raised: they get passed back in the response envelope).
|
|
59
|
+
*
|
|
60
|
+
* @param httpVerb
|
|
61
|
+
* @param url Can be relative to this.apiBaseUrl or fully qualified.
|
|
62
|
+
* @param req
|
|
63
|
+
* @param headers
|
|
64
|
+
*/
|
|
65
|
+
makeHttpCall<TRequest, TResponse>(httpVerb: httpRestVerb, url: string, req?: Object, headers?: {
|
|
66
|
+
[key: string]: string;
|
|
67
|
+
}): Promise<TResponse>;
|
|
68
|
+
/** Fires off an http request to the remote api,
|
|
69
|
+
* AND RETURNS THE ENTIRE AXIOS RESPONSE.
|
|
70
|
+
* Throws any encountered exceptions
|
|
71
|
+
* (api exceptions dont get raised: they get passed back in the response envelope).
|
|
72
|
+
*
|
|
73
|
+
* @param httpVerb
|
|
74
|
+
* @param url Can be relative to this.apiBaseUrl or fully qualified.
|
|
75
|
+
* @param req
|
|
76
|
+
* @param headers
|
|
77
|
+
*/
|
|
78
|
+
makeRawHttpCall<TRequest, TResponse>(httpVerb: httpRestVerb, url: string, req: Object, headers?: {
|
|
79
|
+
[key: string]: string;
|
|
80
|
+
}): Promise<AxiosResponse<TResponse>>;
|
|
81
|
+
/** Performs replacements on the route using
|
|
82
|
+
* the matching values from the given request object
|
|
83
|
+
* @param route The relative url path for the endpoint including route tokens.
|
|
84
|
+
* @param applyRemainingToQuerystring (default: false) When set, adds querystring params
|
|
85
|
+
* for every property on the entity that was not already applied to a route token.
|
|
86
|
+
* */
|
|
87
|
+
buildUrl(route: string, request: any, applyRemainingToQuerystring?: boolean): string;
|
|
88
|
+
/** Returns an object containing only properties with primitive values;
|
|
89
|
+
* no objects, or functions.
|
|
90
|
+
*
|
|
91
|
+
* NOTE: DOES include null values (which javascript still considers objects)
|
|
92
|
+
*
|
|
93
|
+
* @see [The world picking up the slack on this failure](https://stackoverflow.com/questions/8511281/check-if-a-value-is-an-object-in-javascript/8511350#8511350)
|
|
94
|
+
*/
|
|
95
|
+
private extractPrimitiveProperties;
|
|
96
|
+
/** Serializes property values of the given entity
|
|
97
|
+
* whose types have a registered serializer. */
|
|
98
|
+
applyPropertySerializers(entity: any, serializerMap: stringDictionary): any;
|
|
99
|
+
/** Safe to blindly append this to an existing url tat does not yet have a querystring.
|
|
100
|
+
* Returns "?" character if the given obj has properties.
|
|
101
|
+
* Returns "" if the given obj is undefined or empty. */
|
|
102
|
+
private createQueryStringFrom;
|
|
103
|
+
/** Creates a new object from the given object without the given property paths */
|
|
104
|
+
private omit;
|
|
105
|
+
/** Very generic method for executing a POST operation against the api
|
|
106
|
+
* from an endpoint definition in the registered endpoints collection.
|
|
107
|
+
* Hydrates any route parameters or required headers for the endpoint
|
|
108
|
+
* from the given requestContract and routeValues objects.
|
|
109
|
+
* Throws any exceptions
|
|
110
|
+
* (because it cant guarantee a response envelope that declares
|
|
111
|
+
* errors and successes, it cant implement a "try" pattern).
|
|
112
|
+
* @param routeValues Additional key value pairs (beyond the requestContract) to apply to any route parameters for the endpoint.
|
|
113
|
+
*/
|
|
114
|
+
post<TRequest extends Object, TResponse>(requestType: classDef<TRequest>, requestContract: TRequest, routeValues?: any): Promise<TResponse>;
|
|
115
|
+
/** Very generic method for executing a PUT operation against the api
|
|
116
|
+
* from an endpoint definition in the registered endpoints collection.
|
|
117
|
+
* Hydrates any route parameters or required headers for the endpoint
|
|
118
|
+
* from the given requestContract and routeValues objects.
|
|
119
|
+
* Throws any exceptions
|
|
120
|
+
* (because it cant guarantee a response envelope that declares
|
|
121
|
+
* errors and successes, it cant implement a "try" pattern).
|
|
122
|
+
* @param routeValues Additional key value pairs (beyond the requestContract) to apply to any route parameters for the endpoint.
|
|
123
|
+
*/
|
|
124
|
+
put<TRequest extends Object, TResponse>(requestType: classDef<TRequest>, requestContract: TRequest, routeValues?: any): Promise<TResponse>;
|
|
125
|
+
/** Very generic method for executing a GET operation against the api
|
|
126
|
+
* from an endpoint definition in the registered endpoints collection.
|
|
127
|
+
* Hydrates any route parameters or required headers for the endpoint
|
|
128
|
+
* from the given requestContract and routeValues objects.
|
|
129
|
+
* Throws any exceptions
|
|
130
|
+
* (because it cant guarantee a response envelope that declares
|
|
131
|
+
* errors and successes, it cant implement a "try" pattern).
|
|
132
|
+
* @param routeValues Additional key value pairs (beyond the requestContract) to apply to any route parameters for the endpoint.
|
|
133
|
+
*/
|
|
134
|
+
get<TRequest extends Object, TResponse>(requestType: classDef<TRequest>, requestContract: TRequest, routeValues?: any): Promise<TResponse>;
|
|
135
|
+
/** Very generic method for executing a PATCH operation against the api
|
|
136
|
+
* from an endpoint definition in the registered endpoints collection.
|
|
137
|
+
* Hydrates any route parameters or required headers for the endpoint
|
|
138
|
+
* from the given requestContract and routeValues objects.
|
|
139
|
+
* Throws any exceptions
|
|
140
|
+
* (because it cant guarantee a response envelope that declares
|
|
141
|
+
* errors and successes, it cant implement a "try" pattern).
|
|
142
|
+
* @param routeValues Additional key value pairs (beyond the requestContract) to apply to any route parameters for the endpoint.
|
|
143
|
+
*/
|
|
144
|
+
patch<TRequest extends Object, TResponse>(requestType: classDef<TRequest>, requestContract: TRequest, routeValues?: any): Promise<TResponse>;
|
|
145
|
+
/** Very generic method for executing a DELETE operation against the api
|
|
146
|
+
* from an endpoint definition in the registered endpoints collection.
|
|
147
|
+
* Hydrates any route parameters or required headers for the endpoint
|
|
148
|
+
* from the given requestContract and routeValues objects.
|
|
149
|
+
* Throws any exceptions
|
|
150
|
+
* (because it cant guarantee a response envelope that declares
|
|
151
|
+
* errors and successes, it cant implement a "try" pattern).
|
|
152
|
+
* @param routeValues Additional key value pairs (beyond the requestContract) to apply to any route parameters for the endpoint.
|
|
153
|
+
*/
|
|
154
|
+
delete<TRequest extends Object, TResponse>(requestType: classDef<TRequest>, requestContract: TRequest, routeValues?: any): Promise<TResponse>;
|
|
155
|
+
/** Very generic method for executing an http operation against the api
|
|
156
|
+
* from an endpoint definition in the registered endpoints collection.
|
|
157
|
+
* Hydrates any route parameters or required headers for the endpoint
|
|
158
|
+
* from the given requestContract and routeValues objects.
|
|
159
|
+
* Throws any exceptions
|
|
160
|
+
* (because it cant guarantee a response envelope that declares
|
|
161
|
+
* errors and successes, it cant implement a "try" pattern).
|
|
162
|
+
* @param routeValues Additional key value pairs (beyond the requestContract) to apply to any route parameters for the endpoint.
|
|
163
|
+
*/
|
|
164
|
+
protected hitConfiguredEndpoint<TRequest extends Object, TResponse>(requestType: classDef<TRequest>, httpVerb: httpRestVerb, requestContract: TRequest, routeValues?: any): Promise<TResponse>;
|
|
165
|
+
}
|