@codiac.io/codiac-cli 1.3.82 → 1.3.83

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (356) hide show
  1. package/README.md +1 -1
  2. package/dist/apis/api-plus-local/api-client-plus-local.d.ts +4 -3
  3. package/dist/apis/api-plus-local/api-client-plus-local.js +3 -3
  4. package/dist/apis/api-plus-local/api-client-plus-local.js.map +1 -1
  5. package/dist/apis/auth-client/common/token-utils.d.ts +11 -0
  6. package/dist/apis/auth-client/common/token-utils.js +84 -0
  7. package/dist/apis/auth-client/common/token-utils.js.map +1 -0
  8. package/dist/apis/auth-client/i-auth-client.d.ts +83 -0
  9. package/dist/apis/auth-client/i-auth-client.js +3 -0
  10. package/dist/apis/auth-client/i-auth-client.js.map +1 -0
  11. package/dist/apis/codiac-api/common/api-client-base.d.ts +11 -0
  12. package/dist/apis/codiac-api/common/api-client-base.js +45 -12
  13. package/dist/apis/codiac-api/common/api-client-base.js.map +1 -1
  14. package/dist/apis/codiac-api/common/api-crud-client-base.js +2 -2
  15. package/dist/apis/codiac-api/common/api-crud-client-base.js.map +1 -1
  16. package/dist/apis/codiac-api/common/token-utils.d.ts +11 -0
  17. package/dist/apis/codiac-api/common/token-utils.js +84 -0
  18. package/dist/apis/codiac-api/common/token-utils.js.map +1 -0
  19. package/dist/apis/codiac-api/gen/client-config.d.ts +2 -2
  20. package/dist/apis/codiac-api/gen/client-config.js +9 -9
  21. package/dist/apis/codiac-api/gen/client-config.js.map +1 -1
  22. package/dist/apis/codiac-api/gen/client.d.ts +17 -12
  23. package/dist/apis/codiac-api/gen/client.js +36 -85
  24. package/dist/apis/codiac-api/gen/client.js.map +1 -1
  25. package/dist/apis/codiac-api/gen/contracts/index.d.ts +1 -0
  26. package/dist/apis/codiac-api/gen/contracts/index.js +6 -0
  27. package/dist/apis/codiac-api/gen/contracts/index.js.map +1 -0
  28. package/dist/apis/codiac-api/gen/contracts/transformers.gen.d.ts +765 -0
  29. package/dist/apis/codiac-api/gen/contracts/transformers.gen.js +7179 -0
  30. package/dist/apis/codiac-api/gen/contracts/transformers.gen.js.map +1 -0
  31. package/dist/apis/codiac-api/gen/contracts/types.gen.d.ts +18382 -0
  32. package/dist/apis/codiac-api/gen/contracts/types.gen.js +350 -0
  33. package/dist/apis/codiac-api/gen/contracts/types.gen.js.map +1 -0
  34. package/dist/apis/codiac-api/i-client.d.ts +2436 -0
  35. package/dist/apis/codiac-api/i-client.js +3 -0
  36. package/dist/apis/codiac-api/i-client.js.map +1 -0
  37. package/dist/apis/codiac-api-nats/common/creds.d.ts +8 -0
  38. package/dist/apis/codiac-api-nats/common/creds.js +19 -0
  39. package/dist/apis/codiac-api-nats/common/creds.js.map +1 -0
  40. package/dist/apis/codiac-api-nats/common/token-utils.d.ts +11 -0
  41. package/dist/apis/codiac-api-nats/common/token-utils.js +84 -0
  42. package/dist/apis/codiac-api-nats/common/token-utils.js.map +1 -0
  43. package/dist/apis/codiac-api-nats/common/token.d.ts +4 -0
  44. package/dist/apis/codiac-api-nats/common/token.js +16 -0
  45. package/dist/apis/codiac-api-nats/common/token.js.map +1 -0
  46. package/dist/apis/codiac-api-nats/common/types.d.ts +8 -0
  47. package/dist/apis/codiac-api-nats/common/types.js +3 -0
  48. package/dist/apis/codiac-api-nats/common/types.js.map +1 -0
  49. package/dist/apis/codiac-api-nats/common/utils.d.ts +56 -0
  50. package/dist/apis/codiac-api-nats/common/utils.js +323 -0
  51. package/dist/apis/codiac-api-nats/common/utils.js.map +1 -0
  52. package/dist/apis/codiac-api-nats/gen/client.d.ts +2571 -0
  53. package/dist/apis/codiac-api-nats/gen/client.js +15776 -0
  54. package/dist/apis/codiac-api-nats/gen/client.js.map +1 -0
  55. package/dist/apis/codiac-api-nats/gen/config.d.ts +17 -0
  56. package/dist/apis/codiac-api-nats/gen/config.js +17 -0
  57. package/dist/apis/codiac-api-nats/gen/config.js.map +1 -0
  58. package/dist/apis/codiac-api-nats/gen/contracts/index.d.ts +1 -0
  59. package/dist/apis/codiac-api-nats/gen/contracts/index.js +6 -0
  60. package/dist/apis/codiac-api-nats/gen/contracts/index.js.map +1 -0
  61. package/dist/apis/codiac-api-nats/gen/contracts/transformers.gen.d.ts +765 -0
  62. package/dist/apis/codiac-api-nats/gen/contracts/transformers.gen.js +7179 -0
  63. package/dist/apis/codiac-api-nats/gen/contracts/transformers.gen.js.map +1 -0
  64. package/dist/apis/codiac-api-nats/gen/contracts/types.gen.d.ts +18388 -0
  65. package/dist/apis/codiac-api-nats/gen/contracts/types.gen.js +350 -0
  66. package/dist/apis/codiac-api-nats/gen/contracts/types.gen.js.map +1 -0
  67. package/dist/apis/{codiac-api/gen/contracts.d.ts → codiac-api-nats/gen/contracts.ng.d.ts} +247 -245
  68. package/dist/apis/{codiac-api/gen/contracts.js → codiac-api-nats/gen/contracts.ng.js} +27 -57
  69. package/dist/apis/codiac-api-nats/gen/contracts.ng.js.map +1 -0
  70. package/dist/apis/codiac-api-nats/index.d.ts +3 -0
  71. package/dist/apis/codiac-api-nats/index.js +7 -0
  72. package/dist/apis/codiac-api-nats/index.js.map +1 -0
  73. package/dist/apis/codiac-relay/common/api-client-base.js +23 -13
  74. package/dist/apis/codiac-relay/common/api-client-base.js.map +1 -1
  75. package/dist/apis/codiac-relay/common/api-crud-client-base.js +2 -2
  76. package/dist/apis/codiac-relay/common/api-crud-client-base.js.map +1 -1
  77. package/dist/apis/codiac-relay/common/api-user-creds.d.ts +2 -2
  78. package/dist/apis/codiac-relay/common/api-user-creds.js +1 -2
  79. package/dist/apis/codiac-relay/common/api-user-creds.js.map +1 -1
  80. package/dist/apis/codiac-relay/common/token-utils.d.ts +11 -0
  81. package/dist/apis/codiac-relay/common/token-utils.js +84 -0
  82. package/dist/apis/codiac-relay/common/token-utils.js.map +1 -0
  83. package/dist/apis/codiac-relay/gen/client.d.ts +22 -9
  84. package/dist/apis/codiac-relay/gen/client.js +37 -9
  85. package/dist/apis/codiac-relay/gen/client.js.map +1 -1
  86. package/dist/apis/codiac-relay/gen/contracts/index.d.ts +1 -0
  87. package/dist/apis/codiac-relay/gen/contracts/index.js +6 -0
  88. package/dist/apis/codiac-relay/gen/contracts/index.js.map +1 -0
  89. package/dist/apis/codiac-relay/gen/contracts/transformers.gen.d.ts +307 -0
  90. package/dist/apis/codiac-relay/gen/contracts/transformers.gen.js +3612 -0
  91. package/dist/apis/codiac-relay/gen/contracts/transformers.gen.js.map +1 -0
  92. package/dist/apis/codiac-relay/gen/contracts/types.gen.d.ts +15725 -0
  93. package/dist/apis/codiac-relay/gen/contracts/types.gen.js +396 -0
  94. package/dist/apis/codiac-relay/gen/contracts/types.gen.js.map +1 -0
  95. package/dist/apis/codiac-relay/gen/contracts-legacy.js +4696 -0
  96. package/dist/apis/codiac-relay/gen/contracts-legacy.js.map +1 -0
  97. package/dist/apis/codiac-relay/i-client.d.ts +883 -0
  98. package/dist/apis/codiac-relay/i-client.js +3 -0
  99. package/dist/apis/codiac-relay/i-client.js.map +1 -0
  100. package/dist/bootstrapper-for-auth-dmz-commands.d.ts +7 -0
  101. package/dist/bootstrapper-for-auth-dmz-commands.js +30 -0
  102. package/dist/bootstrapper-for-auth-dmz-commands.js.map +1 -0
  103. package/dist/bootstrapper-for-codiac-cli.d.ts +8 -0
  104. package/dist/bootstrapper-for-codiac-cli.js +101 -0
  105. package/dist/bootstrapper-for-codiac-cli.js.map +1 -0
  106. package/dist/bootstrapper-for-enterprise-commands.d.ts +7 -0
  107. package/dist/bootstrapper-for-enterprise-commands.js +119 -0
  108. package/dist/bootstrapper-for-enterprise-commands.js.map +1 -0
  109. package/dist/bootstrapper-for-tenantless-commands.d.ts +7 -0
  110. package/dist/bootstrapper-for-tenantless-commands.js +51 -0
  111. package/dist/bootstrapper-for-tenantless-commands.js.map +1 -0
  112. package/dist/cli-common/command-base.d.ts +10 -9
  113. package/dist/cli-common/command-base.js +0 -70
  114. package/dist/cli-common/command-base.js.map +1 -1
  115. package/dist/cli-common/test/tenant-contextualizer.spec.js +4 -4
  116. package/dist/cli-common/test/tenant-contextualizer.spec.js.map +1 -1
  117. package/dist/codiac-entities/asset-request.d.ts +6 -0
  118. package/dist/codiac-entities/asset-request.js +3 -0
  119. package/dist/codiac-entities/asset-request.js.map +1 -0
  120. package/dist/codiac-entities/csp-feature-enum.d.ts +9 -0
  121. package/dist/codiac-entities/csp-feature-enum.js +11 -0
  122. package/dist/codiac-entities/csp-feature-enum.js.map +1 -0
  123. package/dist/codiac-entities/csp-support-map.d.ts +22 -0
  124. package/dist/codiac-entities/csp-support-map.js +7 -0
  125. package/dist/codiac-entities/csp-support-map.js.map +1 -0
  126. package/dist/codiac-entities/ingress-exposure-enum.d.ts +14 -0
  127. package/dist/codiac-entities/ingress-exposure-enum.js +19 -0
  128. package/dist/codiac-entities/ingress-exposure-enum.js.map +1 -0
  129. package/dist/command-base-enterprise.d.ts +14 -5
  130. package/dist/command-base-enterprise.js +43 -94
  131. package/dist/command-base-enterprise.js.map +1 -1
  132. package/dist/command-base-tenantless.d.ts +0 -3
  133. package/dist/command-base-tenantless.js +2 -53
  134. package/dist/command-base-tenantless.js.map +1 -1
  135. package/dist/commands/asset/create.js +2 -2
  136. package/dist/commands/asset/create.js.map +1 -1
  137. package/dist/commands/asset/deploy.d.ts +2 -1
  138. package/dist/commands/asset/deploy.js +4 -2
  139. package/dist/commands/asset/deploy.js.map +1 -1
  140. package/dist/commands/asset/list.js +1 -1
  141. package/dist/commands/asset/list.js.map +1 -1
  142. package/dist/commands/asset/probe/create.js +4 -1
  143. package/dist/commands/asset/probe/create.js.map +1 -1
  144. package/dist/commands/asset/probe/delete.js +2 -1
  145. package/dist/commands/asset/probe/delete.js.map +1 -1
  146. package/dist/commands/asset/probe/list.js +3 -2
  147. package/dist/commands/asset/probe/list.js.map +1 -1
  148. package/dist/commands/asset/undeploy.js.map +1 -1
  149. package/dist/commands/asset/view.js +8 -4
  150. package/dist/commands/asset/view.js.map +1 -1
  151. package/dist/commands/asset/volume/list.js +2 -1
  152. package/dist/commands/asset/volume/list.js.map +1 -1
  153. package/dist/commands/asset/where.d.ts +2 -1
  154. package/dist/commands/asset/where.js.map +1 -1
  155. package/dist/commands/auth/cabinet/allow.js +4 -3
  156. package/dist/commands/auth/cabinet/allow.js.map +1 -1
  157. package/dist/commands/auth/cabinet/allowed.js +8 -7
  158. package/dist/commands/auth/cabinet/allowed.js.map +1 -1
  159. package/dist/commands/auth/enterprise/allow/onEnvironments.js +4 -3
  160. package/dist/commands/auth/enterprise/allow/onEnvironments.js.map +1 -1
  161. package/dist/commands/auth/enterprise/allow.js +4 -3
  162. package/dist/commands/auth/enterprise/allow.js.map +1 -1
  163. package/dist/commands/auth/enterprise/allowed.js +8 -7
  164. package/dist/commands/auth/enterprise/allowed.js.map +1 -1
  165. package/dist/commands/auth/environment/allow/onCabinets.js +4 -3
  166. package/dist/commands/auth/environment/allow/onCabinets.js.map +1 -1
  167. package/dist/commands/auth/environment/allow.js +4 -3
  168. package/dist/commands/auth/environment/allow.js.map +1 -1
  169. package/dist/commands/auth/environment/allowed.js +8 -7
  170. package/dist/commands/auth/environment/allowed.js.map +1 -1
  171. package/dist/commands/auth/register.d.ts +3 -6
  172. package/dist/commands/auth/register.js +11 -38
  173. package/dist/commands/auth/register.js.map +1 -1
  174. package/dist/commands/auth/role/list.js +2 -1
  175. package/dist/commands/auth/role/list.js.map +1 -1
  176. package/dist/commands/auth/user/list.js +2 -1
  177. package/dist/commands/auth/user/list.js.map +1 -1
  178. package/dist/commands/build.js +2 -1
  179. package/dist/commands/build.js.map +1 -1
  180. package/dist/commands/cabinet/list.js +2 -1
  181. package/dist/commands/cabinet/list.js.map +1 -1
  182. package/dist/commands/cabinet/obliterate.js +1 -1
  183. package/dist/commands/cabinet/obliterate.js.map +1 -1
  184. package/dist/commands/cli.d.ts +1 -0
  185. package/dist/commands/cli.js +1 -0
  186. package/dist/commands/cli.js.map +1 -1
  187. package/dist/commands/cluster/scaling/update.js +4 -3
  188. package/dist/commands/cluster/scaling/update.js.map +1 -1
  189. package/dist/commands/config/add.js +4 -3
  190. package/dist/commands/config/add.js.map +1 -1
  191. package/dist/commands/config/delete.js +2 -1
  192. package/dist/commands/config/delete.js.map +1 -1
  193. package/dist/commands/config/settings/get.js +5 -2
  194. package/dist/commands/config/settings/get.js.map +1 -1
  195. package/dist/commands/config/view.js +3 -2
  196. package/dist/commands/config/view.js.map +1 -1
  197. package/dist/commands/csp/login.js +7 -2
  198. package/dist/commands/csp/login.js.map +1 -1
  199. package/dist/commands/csp/logout.js +6 -2
  200. package/dist/commands/csp/logout.js.map +1 -1
  201. package/dist/commands/deploy.js.map +1 -1
  202. package/dist/commands/enterprise/create.js +1 -1
  203. package/dist/commands/enterprise/create.js.map +1 -1
  204. package/dist/commands/enterprise/list.js +2 -1
  205. package/dist/commands/enterprise/list.js.map +1 -1
  206. package/dist/commands/environment/cluster/attach.js.map +1 -1
  207. package/dist/commands/environment/cluster/detach.js.map +1 -1
  208. package/dist/commands/environment/list.js +1 -1
  209. package/dist/commands/environment/list.js.map +1 -1
  210. package/dist/commands/filestore/capture.d.ts +4 -3
  211. package/dist/commands/filestore/capture.js +13 -9
  212. package/dist/commands/filestore/capture.js.map +1 -1
  213. package/dist/commands/filestore/list.js +9 -8
  214. package/dist/commands/filestore/list.js.map +1 -1
  215. package/dist/commands/host/delete.d.ts +1 -0
  216. package/dist/commands/host/delete.js +17 -11
  217. package/dist/commands/host/delete.js.map +1 -1
  218. package/dist/commands/host/list.js +2 -1
  219. package/dist/commands/host/list.js.map +1 -1
  220. package/dist/commands/host/map.d.ts +4 -0
  221. package/dist/commands/host/map.js +68 -7
  222. package/dist/commands/host/map.js.map +1 -1
  223. package/dist/commands/host/view.js +2 -1
  224. package/dist/commands/host/view.js.map +1 -1
  225. package/dist/commands/imageRegistry/capture.js +2 -2
  226. package/dist/commands/imageRegistry/capture.js.map +1 -1
  227. package/dist/commands/imageRegistry/forget.js +1 -1
  228. package/dist/commands/imageRegistry/forget.js.map +1 -1
  229. package/dist/commands/imageRegistry/pullSecret/set.js +6 -6
  230. package/dist/commands/imageRegistry/pullSecret/set.js.map +1 -1
  231. package/dist/commands/imageRegistry/pullSecret/unset.js +1 -1
  232. package/dist/commands/imageRegistry/pullSecret/unset.js.map +1 -1
  233. package/dist/commands/login.d.ts +0 -2
  234. package/dist/commands/login.js +1 -6
  235. package/dist/commands/login.js.map +1 -1
  236. package/dist/commands/noc/cluster/capture.js +1 -1
  237. package/dist/commands/noc/cluster/capture.js.map +1 -1
  238. package/dist/commands/noc/cluster/create.js +9 -8
  239. package/dist/commands/noc/cluster/create.js.map +1 -1
  240. package/dist/commands/noc/cluster/deinit.js +4 -3
  241. package/dist/commands/noc/cluster/deinit.js.map +1 -1
  242. package/dist/commands/noc/cluster/destroy.js +3 -2
  243. package/dist/commands/noc/cluster/destroy.js.map +1 -1
  244. package/dist/commands/noc/cluster/forget.js +1 -1
  245. package/dist/commands/noc/cluster/forget.js.map +1 -1
  246. package/dist/commands/noc/cluster/init.js +4 -3
  247. package/dist/commands/noc/cluster/init.js.map +1 -1
  248. package/dist/commands/noc/cluster/journal.js +2 -1
  249. package/dist/commands/noc/cluster/journal.js.map +1 -1
  250. package/dist/commands/noc/cluster/list.js +3 -1
  251. package/dist/commands/noc/cluster/list.js.map +1 -1
  252. package/dist/commands/noc/cluster/recreate.js +2 -2
  253. package/dist/commands/noc/cluster/recreate.js.map +1 -1
  254. package/dist/commands/secretStore/capture.js +3 -2
  255. package/dist/commands/secretStore/capture.js.map +1 -1
  256. package/dist/commands/secretStore/list.js +6 -4
  257. package/dist/commands/secretStore/list.js.map +1 -1
  258. package/dist/commands/tenant/create.js +1 -1
  259. package/dist/commands/tenant/create.js.map +1 -1
  260. package/dist/commands/tenant/switch.js +1 -1
  261. package/dist/commands/tenant/switch.js.map +1 -1
  262. package/dist/message-contracts/index.d.ts +2 -0
  263. package/dist/message-contracts/index.js +6 -0
  264. package/dist/message-contracts/index.js.map +1 -0
  265. package/dist/message-contracts/workunit-contracts.d.ts +72 -0
  266. package/dist/message-contracts/workunit-contracts.js +26 -0
  267. package/dist/message-contracts/workunit-contracts.js.map +1 -0
  268. package/dist/ops/entities/cli-config.d.ts +10 -0
  269. package/dist/ops/entities/cli-config.js +6 -1
  270. package/dist/ops/entities/cli-config.js.map +1 -1
  271. package/dist/relay/contracts/contracts.d.ts +4 -4
  272. package/dist/relay/contracts/contracts.js +4 -4
  273. package/dist/relay/contracts/index.d.ts +1 -0
  274. package/dist/relay/contracts/index.js +1 -0
  275. package/dist/relay/contracts/index.js.map +1 -1
  276. package/dist/relay/contracts/manual-supplement.d.ts +105 -0
  277. package/dist/relay/contracts/manual-supplement.js +27 -0
  278. package/dist/relay/contracts/manual-supplement.js.map +1 -0
  279. package/dist/relay/relay-container.js +1 -1
  280. package/dist/relay/relay-container.js.map +1 -1
  281. package/dist/sdk/codiac-sdk-for-cli.d.ts +2 -0
  282. package/dist/sdk/codiac-sdk-for-cli.js +19 -0
  283. package/dist/sdk/codiac-sdk-for-cli.js.map +1 -1
  284. package/dist/sdk/i-file-store-configurator.d.ts +1 -1
  285. package/dist/sdk/i-login-configurator.d.ts +2 -2
  286. package/dist/sdk-adapters/artifact-hub/helm-resource-configurator.d.ts +4 -4
  287. package/dist/sdk-adapters/artifact-hub/helm-resource-configurator.js.map +1 -1
  288. package/dist/sdk-adapters/aws/aws-resource-configurator.d.ts +5 -4
  289. package/dist/sdk-adapters/aws/aws-resource-configurator.js +8 -7
  290. package/dist/sdk-adapters/aws/aws-resource-configurator.js.map +1 -1
  291. package/dist/sdk-adapters/azure/az-interactive-login-configurator.d.ts +2 -2
  292. package/dist/sdk-adapters/azure/az-interactive-login-configurator.js.map +1 -1
  293. package/dist/sdk-adapters/azure/azure-resource-configurator.d.ts +3 -3
  294. package/dist/sdk-adapters/azure/azure-resource-configurator.js +9 -8
  295. package/dist/sdk-adapters/azure/azure-resource-configurator.js.map +1 -1
  296. package/dist/sdk-adapters/azure/entities/azure-filestore-def.d.ts +27 -0
  297. package/dist/sdk-adapters/azure/entities/azure-filestore-def.js +3 -0
  298. package/dist/sdk-adapters/azure/entities/azure-filestore-def.js.map +1 -0
  299. package/dist/sdk-adapters/docker-hub/docker-hub-resource-configurator.d.ts +4 -4
  300. package/dist/sdk-adapters/docker-hub/docker-hub-resource-configurator.js +12 -3
  301. package/dist/sdk-adapters/docker-hub/docker-hub-resource-configurator.js.map +1 -1
  302. package/dist/sdk-adapters/local-machine/local-machine-login-configurator.d.ts +2 -2
  303. package/dist/sdk-adapters/local-machine/local-machine-login-configurator.js.map +1 -1
  304. package/dist/sdk-adapters/local-machine/local-machine-resource-configurator.js +4 -4
  305. package/dist/sdk-adapters/local-machine/local-machine-resource-configurator.js.map +1 -1
  306. package/dist/uilogic/cloud-provider-contextualizer.d.ts +2 -2
  307. package/dist/uilogic/cloud-provider-contextualizer.js +2 -2
  308. package/dist/uilogic/cloud-provider-contextualizer.js.map +1 -1
  309. package/dist/uilogic/cloud-resource-configurator-factory.d.ts +9 -2
  310. package/dist/uilogic/cloud-resource-configurator-factory.js +24 -6
  311. package/dist/uilogic/cloud-resource-configurator-factory.js.map +1 -1
  312. package/dist/uilogic/cloud-resource-configurators/unsupported-resource-configurator.d.ts +4 -4
  313. package/dist/uilogic/cloud-resource-configurators/unsupported-resource-configurator.js +3 -5
  314. package/dist/uilogic/cloud-resource-configurators/unsupported-resource-configurator.js.map +1 -1
  315. package/dist/uilogic/config-ui-utils.d.ts +2 -2
  316. package/dist/uilogic/config-ui-utils.js +13 -13
  317. package/dist/uilogic/config-ui-utils.js.map +1 -1
  318. package/dist/uilogic/enterprise-contextualizer.d.ts +2 -2
  319. package/dist/uilogic/enterprise-contextualizer.js +1 -4
  320. package/dist/uilogic/enterprise-contextualizer.js.map +1 -1
  321. package/dist/uilogic/environment-contextualizer.d.ts +2 -2
  322. package/dist/uilogic/environment-contextualizer.js.map +1 -1
  323. package/dist/uilogic/image-configurator.d.ts +4 -5
  324. package/dist/uilogic/image-configurator.js.map +1 -1
  325. package/dist/uilogic/image-contextualizer.js.map +1 -1
  326. package/dist/uilogic/image-registry-contextualizer.d.ts +3 -3
  327. package/dist/uilogic/image-registry-contextualizer.js +2 -6
  328. package/dist/uilogic/image-registry-contextualizer.js.map +1 -1
  329. package/dist/uilogic/lrp-watcher-predef.js +2 -2
  330. package/dist/uilogic/lrp-watcher-predef.js.map +1 -1
  331. package/dist/uilogic/lrp-watcher-utils.d.ts +1 -1
  332. package/dist/uilogic/lrp-watcher-utils.js +4 -4
  333. package/dist/uilogic/lrp-watcher-utils.js.map +1 -1
  334. package/dist/uilogic/lrp-watcher.d.ts +1 -1
  335. package/dist/uilogic/lrp-watcher.js +4 -3
  336. package/dist/uilogic/lrp-watcher.js.map +1 -1
  337. package/dist/uilogic/rootmap-ui-utils.d.ts +2 -5
  338. package/dist/uilogic/rootmap-ui-utils.js.map +1 -1
  339. package/dist/uilogic/tenant-contextualizer.d.ts +2 -2
  340. package/dist/uilogic/tenant-contextualizer.js +41 -29
  341. package/dist/uilogic/tenant-contextualizer.js.map +1 -1
  342. package/dist/uilogic/type-safety-utils.d.ts +12 -1
  343. package/dist/uilogic/type-safety-utils.js +19 -1
  344. package/dist/uilogic/type-safety-utils.js.map +1 -1
  345. package/dist/user-context-loader.d.ts +2 -2
  346. package/dist/user-context-loader.js +5 -4
  347. package/dist/user-context-loader.js.map +1 -1
  348. package/oclif.manifest.json +21 -21
  349. package/package.json +15 -11
  350. package/dist/apis/codiac-api/gen/contracts.js.map +0 -1
  351. package/dist/apis/codiac-relay/gen/contracts.d.ts +0 -4792
  352. package/dist/apis/codiac-relay/gen/contracts.js +0 -635
  353. package/dist/apis/codiac-relay/gen/contracts.js.map +0 -1
  354. package/dist/cli-common/ImagesList.js +0 -67
  355. package/dist/cli-common/ImagesList.js.map +0 -1
  356. /package/dist/{cli-common/ImagesList.d.ts → apis/codiac-relay/gen/contracts-legacy.d.ts} +0 -0
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=i-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i-client.js","sourceRoot":"","sources":["../../../src/apis/codiac-api/i-client.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import * as Nats from "@nats-io/nats-core";
2
+ /**
3
+ *
4
+ */
5
+ export declare class NatsCreds {
6
+ authenticator: Nats.Authenticator[] | Nats.Authenticator | undefined;
7
+ constructor(authenticators?: Nats.Authenticator[]);
8
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NatsCreds = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const inversify_1 = require("inversify");
6
+ /**
7
+ *
8
+ */
9
+ let NatsCreds = class NatsCreds {
10
+ constructor(authenticators) {
11
+ this.authenticator = authenticators !== null && authenticators !== void 0 ? authenticators : undefined;
12
+ }
13
+ };
14
+ NatsCreds = tslib_1.__decorate([
15
+ (0, inversify_1.injectable)(),
16
+ tslib_1.__metadata("design:paramtypes", [Array])
17
+ ], NatsCreds);
18
+ exports.NatsCreds = NatsCreds;
19
+ //# sourceMappingURL=creds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"creds.js","sourceRoot":"","sources":["../../../../src/apis/codiac-api-nats/common/creds.ts"],"names":[],"mappings":";;;;AAAA,yCAAuC;AAGvC;;GAEG;AAEI,IAAM,SAAS,GAAf,MAAM,SAAS;IAIpB,YAAY,cAAqC;QAC/C,IAAI,CAAC,aAAa,GAAG,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,SAAS,CAAA;IAClD,CAAC;CACF,CAAA;AAPY,SAAS;IADrB,IAAA,sBAAU,GAAE;;GACA,SAAS,CAOrB;AAPY,8BAAS"}
@@ -0,0 +1,11 @@
1
+ import { IBetterLogger } from "@codiac.io/codiac-common";
2
+ export declare class TokenUtils {
3
+ private logger;
4
+ constructor(logger: IBetterLogger);
5
+ /** Determines whether the given token is expired.
6
+ * @param throwOnError throws any encountered errors, including token parsing errors.
7
+ */
8
+ isExpired(token: string, throwOnError?: boolean): boolean;
9
+ extractTokenExpiration(token: string): Date | undefined;
10
+ extractRoles(token: string): string[] | undefined;
11
+ }
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TokenUtils = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const codiac_common_1 = require("@codiac.io/codiac-common");
6
+ const contracts_1 = require("@codiac.io/codiac-common/contracts");
7
+ const jwt_lib_1 = require("@codiac.io/jwt-lib");
8
+ const inversify_1 = require("inversify");
9
+ let TokenUtils = class TokenUtils {
10
+ constructor(logger) {
11
+ this.logger = logger;
12
+ }
13
+ /** Determines whether the given token is expired.
14
+ * @param throwOnError throws any encountered errors, including token parsing errors.
15
+ */
16
+ isExpired(token, throwOnError = false) {
17
+ try {
18
+ const exp = this.extractTokenExpiration(token);
19
+ return (exp == undefined) || !(0, codiac_common_1.isFuture)(exp);
20
+ }
21
+ catch (err) {
22
+ let newErr = new contracts_1.CodiacError(`Error determining expiry status: ${err.message || ""}`, err);
23
+ this.logger.detail(newErr.message);
24
+ if (throwOnError) {
25
+ throw newErr;
26
+ }
27
+ else {
28
+ return true;
29
+ }
30
+ }
31
+ }
32
+ extractTokenExpiration(token) {
33
+ let exp;
34
+ try {
35
+ const encoder = new jwt_lib_1.JwtEncoder();
36
+ const tokenObj = encoder.tryDecode(token);
37
+ const CLAIM_KEY_FOR_EXPIRATION = "exp"; // this is just a standard claim so it ought to come from the jwt lib
38
+ const rawExp = tokenObj === null || tokenObj === void 0 ? void 0 : tokenObj.payload[CLAIM_KEY_FOR_EXPIRATION];
39
+ if (rawExp) {
40
+ try {
41
+ exp = new Date(rawExp);
42
+ this.logger.trace(`Exracted token expiration (utc): ${(exp === null || exp === void 0 ? void 0 : exp.toUTCString()) || "undefined"}`);
43
+ }
44
+ catch (_a) {
45
+ this.logger.trace(`Invalid date format in token expiration: [${rawExp}]`);
46
+ }
47
+ }
48
+ return exp;
49
+ }
50
+ catch (err) {
51
+ throw new Error(`Error parsing expiration from token: ${err.message}`);
52
+ }
53
+ }
54
+ extractRoles(token) {
55
+ var _a;
56
+ let roles;
57
+ try {
58
+ const encoder = new jwt_lib_1.JwtEncoder();
59
+ const tokenObj = encoder.tryDecode(token);
60
+ const CLAIM_KEY_FOR_ROLES = "roles"; // this is just a standard claim so it ought to come from the jwt lib
61
+ const rawValue = tokenObj === null || tokenObj === void 0 ? void 0 : tokenObj.payload[CLAIM_KEY_FOR_ROLES];
62
+ if (rawValue) {
63
+ try {
64
+ roles = rawValue.split(",");
65
+ this.logger.trace(`Extracted roles: ${rawValue || "undefined"}`);
66
+ }
67
+ catch (err) {
68
+ this.logger.trace(`Error parsing roles from claim: [${(_a = err.message) !== null && _a !== void 0 ? _a : "no details available"}]`);
69
+ }
70
+ }
71
+ return roles;
72
+ }
73
+ catch (err) {
74
+ throw new Error(`Error parsing expiration from token: ${err.message}`);
75
+ }
76
+ }
77
+ };
78
+ TokenUtils = tslib_1.__decorate([
79
+ (0, inversify_1.injectable)(),
80
+ tslib_1.__param(0, (0, inversify_1.inject)(codiac_common_1.INTERFACES.IBetterLogger)),
81
+ tslib_1.__metadata("design:paramtypes", [Object])
82
+ ], TokenUtils);
83
+ exports.TokenUtils = TokenUtils;
84
+ //# sourceMappingURL=token-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-utils.js","sourceRoot":"","sources":["../../../../src/apis/codiac-api-nats/common/token-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare class TokenCreds {
2
+ jwtToken: string;
3
+ constructor(jwtToken: string);
4
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TokenCreds = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const inversify_1 = require("inversify");
6
+ let TokenCreds = class TokenCreds {
7
+ constructor(jwtToken) {
8
+ this.jwtToken = jwtToken;
9
+ }
10
+ };
11
+ TokenCreds = tslib_1.__decorate([
12
+ (0, inversify_1.injectable)(),
13
+ tslib_1.__metadata("design:paramtypes", [String])
14
+ ], TokenCreds);
15
+ exports.TokenCreds = TokenCreds;
16
+ //# sourceMappingURL=token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../../../../src/apis/codiac-api-nats/common/token.ts"],"names":[],"mappings":";;;;AAAA,yCAAuC;AAGhC,IAAM,UAAU,GAAhB,MAAM,UAAU;IACrB,YAAmB,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;IAAG,CAAC;CACxC,CAAA;AAFY,UAAU;IADtB,IAAA,sBAAU,GAAE;;GACA,UAAU,CAEtB;AAFY,gCAAU"}
@@ -0,0 +1,8 @@
1
+ import { IRepoOptions } from "@codiac.io/codiac-common";
2
+ export interface IThrowingRepoOptions extends IRepoOptions {
3
+ throwNotFound?: boolean;
4
+ }
5
+ export interface UpdatePartialWhereRequest<T, TCriteria> {
6
+ criteria: TCriteria;
7
+ operation: Partial<T>;
8
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/apis/codiac-api-nats/common/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,56 @@
1
+ import { IRepoOptions } from "@codiac.io/codiac-common";
2
+ import { classDef, stringDictionary, ISerializer, typeRef } from "@codiac.io/codiac-common";
3
+ import { IBetterLogger } from '@codiac.io/codiac-common/IBetterLogger';
4
+ export declare class TypeName {
5
+ static endpointSpec<T>(entityType: classDef<T> | string): string;
6
+ static arrayOf<T>(entityType: classDef<T> | string): string;
7
+ static criteriaFor<T>(entityType: classDef<T> | string): string;
8
+ }
9
+ /** Returns the instantiated object or array.
10
+ * Returns undefined for both an empty or missing source file.
11
+ * Uses JSON.parse and does not perform any explicit casting.
12
+ * Throws encountered exceptions. Resolves tilde (~) path prefixes.
13
+ * @param pathName Fully qualified path and filename of the json file.
14
+ * @param allowComments (default: false) Flag to use a json comment parser to support comments in the json file.
15
+ */
16
+ export declare function deserializeJsonFile<T>(pathName: string, allowComments?: boolean): T | undefined;
17
+ /** Uses JSON.stringify() to write the given object to a file. Resolves tilde (~) path prefixes.
18
+ * @param subject The object to serialize.
19
+ * @param pathName Fully-qualified path and filename (eg "/users/JoeCool/.config/app-config.json").
20
+ * @param allowComments (default: false) Flag to use a json comment parser to support comments in the json file.
21
+ */
22
+ export declare function serializeJsonFile(subject: any, pathName: string, allowComments?: boolean): void;
23
+ /** Replaces the leading tilde (~) in the given file path
24
+ * with the absolute path to the os.homedir (eg: "/Users/JoeCool").
25
+ * NOTE: Relative paths will slide through this function untouched:
26
+ * this function does not necessarily return an absolute path! */
27
+ export declare function resolveHomeDir(pathName: string): string;
28
+ /** */
29
+ export declare function smashMergeConfg<TSettings>(defaults: TSettings, configsInPriorityOrder?: Partial<TSettings>[]): TSettings;
30
+ export declare function headersFrom(options: IRepoOptions | undefined, existingHeaders?: {
31
+ [key: string]: string;
32
+ } | undefined): {
33
+ [key: string]: string;
34
+ } | undefined;
35
+ export declare function extractPrimitiveProperties(remaining: any): any;
36
+ export declare function omit(entity: any, paths: string[]): any;
37
+ export declare function buildUrl(route: string, request: any, applyRemainingToQuerystring?: boolean): string;
38
+ /** Injects any property values from the request into subject parameters by name.
39
+ *
40
+ * This method DOES NOT mutate the request object. */
41
+ export declare function hydrateSubjectParams(subject: string, request: any): string;
42
+ export declare function applyPropertySerializers(entity: any, serializerMap: stringDictionary): any;
43
+ /** Returns undefined when no serializer has been registered for the given valueType. */
44
+ export declare function getSerializerFor(valueType: typeRef | string): ISerializer | undefined;
45
+ /** For special serializers (eg: StringFilter, etc).
46
+ * Maps the given serializer for use on the given type
47
+ * when later converting input to an http request.
48
+ * NOTE: a default serializer will be used if reqd and none has been registered here.
49
+ */
50
+ export declare function registerSerializerFor<T>(valueType: classDef<T> | string, serializer: ISerializer): void;
51
+ export declare function initialize(endpointsJson: any[], logger?: IBetterLogger): void;
52
+ /** Produces the value for the "Authorization" http header in an RFC 2617 Basic Authentication scheme.
53
+ * Consists of the string "Basic " followed by a colon-separated, base64 encoded string of the username and password.
54
+ * eg: for userid "Aladdin" and password "open sesame", this function will return "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==".
55
+ * @see https://tools.ietf.org/html/rfc2617#page-4 RFC 2617 HTTP Authentication - Assembling the header value for a basic authentication request. */
56
+ export declare function buildBasicAuthenticationHeader(userName: string, passwordOrApiKey: string): string;
@@ -0,0 +1,323 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildBasicAuthenticationHeader = exports.initialize = exports.registerSerializerFor = exports.getSerializerFor = exports.applyPropertySerializers = exports.hydrateSubjectParams = exports.buildUrl = exports.omit = exports.extractPrimitiveProperties = exports.headersFrom = exports.smashMergeConfg = exports.resolveHomeDir = exports.serializeJsonFile = exports.deserializeJsonFile = exports.TypeName = void 0;
4
+ const path = require("path");
5
+ const fs = require("fs");
6
+ const os = require("os");
7
+ const commentJson = require("comment-json");
8
+ const querystring = require("querystring");
9
+ const contracts = require("@codiac.io/codiac-common/contracts");
10
+ const _ = require("lodash");
11
+ const urlPattern = require("url-pattern");
12
+ const inversify_1 = require("inversify");
13
+ const codiac_common_1 = require("@codiac.io/codiac-common");
14
+ const contracts_1 = require("@codiac.io/codiac-common/contracts");
15
+ class TypeName {
16
+ static endpointSpec(entityType) {
17
+ if (typeof entityType == "string") {
18
+ return `endpointSpec<${entityType}>`;
19
+ }
20
+ else {
21
+ return `endpointSpec<${(0, codiac_common_1.typeNameOf)(entityType)}>`;
22
+ }
23
+ }
24
+ // TODO: Promote this to a common/shared library
25
+ static arrayOf(entityType) {
26
+ if (typeof entityType == "string") {
27
+ return `Array<${entityType}>`;
28
+ }
29
+ else {
30
+ return `Array<${(0, codiac_common_1.typeNameOf)(entityType)}>`;
31
+ }
32
+ }
33
+ static criteriaFor(entityType) {
34
+ if (typeof entityType == "string") {
35
+ return `ICriteria<${entityType}>`;
36
+ }
37
+ else {
38
+ return `ICriteria<${(0, codiac_common_1.typeNameOf)(entityType)}>`;
39
+ }
40
+ }
41
+ }
42
+ exports.TypeName = TypeName;
43
+ const endpointSpecs = new inversify_1.Container();
44
+ const serializers = new inversify_1.Container();
45
+ // TODO: Promote this to a shared pkg
46
+ /** Returns the instantiated object or array.
47
+ * Returns undefined for both an empty or missing source file.
48
+ * Uses JSON.parse and does not perform any explicit casting.
49
+ * Throws encountered exceptions. Resolves tilde (~) path prefixes.
50
+ * @param pathName Fully qualified path and filename of the json file.
51
+ * @param allowComments (default: false) Flag to use a json comment parser to support comments in the json file.
52
+ */
53
+ function deserializeJsonFile(pathName, allowComments = false) {
54
+ try {
55
+ let targetPathName = resolveHomeDir(pathName);
56
+ if (!path.isAbsolute(targetPathName)) {
57
+ throw new Error(`Cannot deserialize: the pathName [${pathName}] is not a fully qualified path.`);
58
+ }
59
+ if (fs.existsSync(targetPathName)) {
60
+ let json = fs.readFileSync(targetPathName, { encoding: 'utf-8' });
61
+ if (allowComments) {
62
+ let obj = commentJson.parse(json); // TSC error forced <unknown>
63
+ return obj;
64
+ }
65
+ else {
66
+ let obj = JSON.parse(json);
67
+ return obj;
68
+ }
69
+ }
70
+ else {
71
+ return undefined;
72
+ }
73
+ }
74
+ catch (err) {
75
+ throw err;
76
+ }
77
+ }
78
+ exports.deserializeJsonFile = deserializeJsonFile;
79
+ /** Uses JSON.stringify() to write the given object to a file. Resolves tilde (~) path prefixes.
80
+ * @param subject The object to serialize.
81
+ * @param pathName Fully-qualified path and filename (eg "/users/JoeCool/.config/app-config.json").
82
+ * @param allowComments (default: false) Flag to use a json comment parser to support comments in the json file.
83
+ */
84
+ function serializeJsonFile(subject, pathName, allowComments = false) {
85
+ let targetPathName = resolveHomeDir(pathName);
86
+ if (!path.isAbsolute(targetPathName)) {
87
+ throw new Error(`Cannot serialize: the pathName [${pathName}] is not a fully qaulified path`);
88
+ }
89
+ if (allowComments) {
90
+ commentJson.stringify(subject, undefined, ' ');
91
+ }
92
+ else {
93
+ fs.writeFileSync(targetPathName, JSON.stringify(subject, undefined, ' '));
94
+ }
95
+ }
96
+ exports.serializeJsonFile = serializeJsonFile;
97
+ /** Replaces the leading tilde (~) in the given file path
98
+ * with the absolute path to the os.homedir (eg: "/Users/JoeCool").
99
+ * NOTE: Relative paths will slide through this function untouched:
100
+ * this function does not necessarily return an absolute path! */
101
+ function resolveHomeDir(pathName) {
102
+ if (pathName.startsWith("~")) {
103
+ return path.join(os.homedir(), pathName.slice(2));
104
+ }
105
+ else {
106
+ return pathName;
107
+ }
108
+ }
109
+ exports.resolveHomeDir = resolveHomeDir;
110
+ /** */
111
+ function smashMergeConfg(defaults, configsInPriorityOrder) {
112
+ if (!configsInPriorityOrder || configsInPriorityOrder.length == 0)
113
+ return defaults;
114
+ else {
115
+ let ultimate = _.assignIn(defaults, ...configsInPriorityOrder.reverse());
116
+ return ultimate;
117
+ }
118
+ }
119
+ exports.smashMergeConfg = smashMergeConfg;
120
+ function headersFrom(options, existingHeaders) {
121
+ let output;
122
+ // FROM the api base...
123
+ /** The name of the http header used to designate the csv list of properties to include in the output signature */
124
+ const HEADER_KEY_PROJECTION_INCLUDES = "output-includes";
125
+ /** The name of the http header used to designate the csv list of properties to include in the output signature */
126
+ const HEADER_KEY_PROJECTION_EXCLUDES = "output-excludes";
127
+ if (options === null || options === void 0 ? void 0 : options.projection) {
128
+ output = Object.assign({}, (existingHeaders !== null && existingHeaders !== void 0 ? existingHeaders : {}));
129
+ output[HEADER_KEY_PROJECTION_INCLUDES] = options.projection.pathsIncluded.join(",");
130
+ output[HEADER_KEY_PROJECTION_EXCLUDES] = options.projection.pathsExcluded.join(",");
131
+ }
132
+ return output;
133
+ }
134
+ exports.headersFrom = headersFrom;
135
+ function extractPrimitiveProperties(remaining) {
136
+ if (remaining == undefined)
137
+ return undefined;
138
+ let prim = {};
139
+ for (let prop in remaining) {
140
+ if (remaining[prop] === null || (typeof remaining[prop] !== 'object' && typeof remaining[prop] !== 'function')) {
141
+ prim[prop] = remaining[prop];
142
+ }
143
+ }
144
+ return prim;
145
+ }
146
+ exports.extractPrimitiveProperties = extractPrimitiveProperties;
147
+ function omit(entity, paths) {
148
+ let output = Object.assign({}, entity);
149
+ for (let path of paths) {
150
+ if (output[path]) {
151
+ delete output[path];
152
+ }
153
+ }
154
+ return output;
155
+ }
156
+ exports.omit = omit;
157
+ function buildUrl(route, request, applyRemainingToQuerystring = false) {
158
+ let pattern = new urlPattern(route, { segmentValueCharset: 'a-zA-Z0-9-_~ %.@' });
159
+ let url = pattern.stringify(request);
160
+ // Remove the properties of the request that are
161
+ // already tokenized in the route
162
+ let tokenPattern = /(?!:)\w+/gi; // /(:[^/]\w+)/g
163
+ let rx = new RegExp(tokenPattern, "g");
164
+ let matches = rx.exec(route);
165
+ let remaining = Object.assign({}, request);
166
+ let tokens = [];
167
+ while (matches) {
168
+ // let tokens = matches.map(t => t.slice(1));
169
+ tokens.push(...matches);
170
+ // TODO: Revisit this to remove token modifiers ()
171
+ // This does not remove the modifiers to a token. It assumes tokens are all in format ":property"
172
+ remaining = omit(remaining, tokens);
173
+ matches = rx.exec(route);
174
+ }
175
+ let qs;
176
+ if (applyRemainingToQuerystring) {
177
+ // By now we must already have applied any applicable serializers.
178
+ // Whatever properties still remain unserialized are meant for the body,
179
+ // and cannot occur in the querystring,
180
+ // so we dont add anything to the querystring that isnt already a primitive,
181
+ // or this method will empty it out, eg: "?myval="
182
+ let natives = extractPrimitiveProperties(remaining);
183
+ qs = querystring.stringify(natives);
184
+ }
185
+ if (qs) {
186
+ url = url.concat("?", qs);
187
+ }
188
+ return url;
189
+ }
190
+ exports.buildUrl = buildUrl;
191
+ /** Injects any property values from the request into subject parameters by name.
192
+ *
193
+ * This method DOES NOT mutate the request object. */
194
+ function hydrateSubjectParams(subject, request) {
195
+ var _a;
196
+ let pattern = new urlPattern(subject, { segmentValueCharset: 'a-zA-Z0-9-_~ %.@' });
197
+ let url = pattern.stringify(request);
198
+ if (request == undefined)
199
+ return subject;
200
+ /** prefix indicating that a subject segment is a variable/parameter.
201
+ * eg: `the.doctor.said.my.:blank.looks.unhealthy` */
202
+ const PARAM_PREFIX = ":";
203
+ if (!subject.includes(PARAM_PREFIX)) {
204
+ return subject;
205
+ }
206
+ else {
207
+ const segments = subject.split(".");
208
+ for (let index = 0; index < segments.length; index++) {
209
+ if ((_a = segments[index]) === null || _a === void 0 ? void 0 : _a.startsWith(PARAM_PREFIX)) {
210
+ let propertyName = segments[index].substring(PARAM_PREFIX.length); // remove the prefix
211
+ if (propertyName != "")
212
+ segments[index] = request[propertyName];
213
+ }
214
+ }
215
+ return segments.join(".");
216
+ }
217
+ }
218
+ exports.hydrateSubjectParams = hydrateSubjectParams;
219
+ function applyPropertySerializers(entity, serializerMap) {
220
+ let output = entity;
221
+ for (let prop in serializerMap) {
222
+ let propType = serializerMap[prop];
223
+ if (propType && entity[prop]) {
224
+ let ser = getSerializerFor(propType);
225
+ if (ser) {
226
+ output[prop] = ser.serialize(entity[prop]);
227
+ }
228
+ }
229
+ }
230
+ return output;
231
+ }
232
+ exports.applyPropertySerializers = applyPropertySerializers;
233
+ /** Returns undefined when no serializer has been registered for the given valueType. */
234
+ function getSerializerFor(valueType) {
235
+ let typeKey = "";
236
+ if (typeof valueType == "string") {
237
+ typeKey = valueType;
238
+ }
239
+ else {
240
+ typeKey = (0, codiac_common_1.typeNameOf)(valueType);
241
+ }
242
+ let ser;
243
+ if (serializers.isBoundNamed(codiac_common_1.INTERFACES.ISerializer, typeKey)) {
244
+ ser = serializers.getNamed(codiac_common_1.INTERFACES.ISerializer, typeKey);
245
+ }
246
+ return ser;
247
+ }
248
+ exports.getSerializerFor = getSerializerFor;
249
+ /** For special serializers (eg: StringFilter, etc).
250
+ * Maps the given serializer for use on the given type
251
+ * when later converting input to an http request.
252
+ * NOTE: a default serializer will be used if reqd and none has been registered here.
253
+ */
254
+ function registerSerializerFor(valueType, serializer) {
255
+ let typeKey = "";
256
+ if (typeof valueType == "string") {
257
+ typeKey = valueType;
258
+ }
259
+ else {
260
+ typeKey = (0, codiac_common_1.typeNameOf)(valueType);
261
+ }
262
+ // All this bc inversify's bind command wont overwrite and results in ambiguous bindings
263
+ if (serializers.isBoundNamed(codiac_common_1.INTERFACES.ISerializer, typeKey)) {
264
+ // I think this DROPS ALL the other named bindings for this service identifier...
265
+ serializers.rebind(codiac_common_1.INTERFACES.ISerializer)
266
+ .toConstantValue(serializer)
267
+ .whenTargetNamed(typeKey);
268
+ }
269
+ else {
270
+ serializers.bind(codiac_common_1.INTERFACES.ISerializer)
271
+ .toConstantValue(serializer)
272
+ .whenTargetNamed(typeKey);
273
+ }
274
+ }
275
+ exports.registerSerializerFor = registerSerializerFor;
276
+ function initialize(endpointsJson, logger) {
277
+ // MarkStartHere("This may be the only part of this class that makes this client unique. \
278
+ // Perhaps this should be loaded form a json file? Can we pass types in that way?");
279
+ // // We can do it like this
280
+ // this.endpointSpecs.bind<endpointSpec<Asset>>(TypeName.endpointSpec(Asset)).toConstantValue(
281
+ // new endpointSpec<Asset>(Asset, httpRestVerb.POST, "/assets/new")
282
+ // );
283
+ // // or we can do it like this
284
+ // let createMany = {
285
+ // entityType: Array,
286
+ // httpMethod: httpRestVerb.POST,
287
+ // route: "/assets"
288
+ // };
289
+ // // TODO: this isnt binding by httpRestVerb - it needs to be - perhaps use named bindings?
290
+ // let typeName = TypeName.endpointSpec(TypeName.arrayOf(Asset));
291
+ // this.endpointSpecs.bind<endpointSpec<Array<Asset>>>(typeName).toConstantValue(createMany);
292
+ // // can we do it like this? (this would let us keep it all in a generated or even retrieved json file)
293
+ // let updateJson = '{ "entityType": "Asset", "httpMethod": "POST", "route": "/assets" }';
294
+ // let update = JSON.parse(updateJson);
295
+ // this.endpointSpecs.bind(TypeName.endpointSpec(update.entityType)).toConstantValue(update);
296
+ registerSerializerFor(contracts.StringFilter, new contracts_1.StringFilterExpressionSerializer(true));
297
+ // this.registerSerializerFor<contracts.StringListFilter>(contracts.StringListFilter, contracts.StringListFilter.toExpression);
298
+ // this.registerSerializerFor<contracts.NumericFilter>(contracts.NumericFilter, contracts.NumericFilter.toExpression);
299
+ // this.registerSerializerFor<contracts.NumericListFilter>(contracts.NumericListFilter, contracts.NumericListFilter.toExpression);
300
+ for (let index in endpointsJson) {
301
+ let spec = endpointsJson[index]; // This is dodging type safety and assumes data integrity in the json file. We should cast
302
+ let nameKey = spec.httpMethod.toLowerCase();
303
+ if (logger)
304
+ logger.trace(`Adding endpoint spec to client endpoint registry: ${spec.entityType}, '${nameKey} ${spec.route}'`);
305
+ endpointSpecs
306
+ .bind(TypeName.endpointSpec(spec.entityType)) // Consider .properBind()
307
+ .toConstantValue(spec)
308
+ .whenTargetNamed(nameKey);
309
+ }
310
+ }
311
+ exports.initialize = initialize;
312
+ /** Produces the value for the "Authorization" http header in an RFC 2617 Basic Authentication scheme.
313
+ * Consists of the string "Basic " followed by a colon-separated, base64 encoded string of the username and password.
314
+ * eg: for userid "Aladdin" and password "open sesame", this function will return "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==".
315
+ * @see https://tools.ietf.org/html/rfc2617#page-4 RFC 2617 HTTP Authentication - Assembling the header value for a basic authentication request. */
316
+ function buildBasicAuthenticationHeader(userName, passwordOrApiKey) {
317
+ let creds = [userName, passwordOrApiKey].join(":");
318
+ let credsEncoded = Buffer.from(creds).toString('base64');
319
+ let headerValue = `Basic ${credsEncoded}`;
320
+ return headerValue;
321
+ }
322
+ exports.buildBasicAuthenticationHeader = buildBasicAuthenticationHeader;
323
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/apis/codiac-api-nats/common/utils.ts"],"names":[],"mappings":"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"}