@digitraffic/common 2022.10.25-1 → 2022.10.31-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (283) hide show
  1. package/.editorconfig +9 -0
  2. package/.eslintignore +4 -0
  3. package/.eslintrc.json +27 -0
  4. package/.github/CODEOWNERS +2 -0
  5. package/.github/workflows/build.yml +36 -0
  6. package/.github/workflows/eslint.yml +38 -0
  7. package/.github/workflows/mirror.yml +15 -0
  8. package/.gitignore +29 -0
  9. package/.husky/pre-commit +4 -0
  10. package/.prettierrc.json +10 -0
  11. package/dist/aws/infra/api/integration.js +52 -0
  12. package/dist/aws/infra/api/response.js +61 -0
  13. package/dist/aws/infra/api/responses.js +82 -0
  14. package/dist/aws/infra/api/static-integration.js +54 -0
  15. package/dist/aws/infra/canaries/canary-alarm.js +26 -0
  16. package/dist/aws/infra/canaries/canary-keys.js +7 -0
  17. package/dist/aws/infra/canaries/canary-parameters.js +3 -0
  18. package/dist/aws/infra/canaries/canary-role.js +46 -0
  19. package/dist/aws/infra/canaries/canary.js +32 -0
  20. package/dist/aws/infra/canaries/database-canary.js +70 -0
  21. package/dist/aws/infra/canaries/database-checker.js +103 -0
  22. package/dist/aws/infra/canaries/url-canary.js +47 -0
  23. package/dist/aws/infra/canaries/url-checker.js +252 -0
  24. package/dist/aws/infra/documentation.js +95 -0
  25. package/dist/aws/infra/scheduler.js +31 -0
  26. package/dist/aws/infra/security-rule.js +39 -0
  27. package/dist/aws/infra/sqs-integration.js +93 -0
  28. package/dist/aws/infra/sqs-queue.js +130 -0
  29. package/dist/aws/infra/stack/lambda-configs.js +105 -0
  30. package/dist/aws/infra/stack/monitoredfunction.js +143 -0
  31. package/dist/aws/infra/stack/rest_apis.js +185 -0
  32. package/dist/aws/infra/stack/stack-checking-aspect.js +174 -0
  33. package/dist/aws/infra/stack/stack.js +67 -0
  34. package/dist/aws/infra/stack/subscription.js +42 -0
  35. package/dist/aws/infra/usage-plans.js +42 -0
  36. package/dist/aws/runtime/apikey.js +13 -0
  37. package/dist/aws/runtime/digitraffic-integration-response.js +26 -0
  38. package/dist/aws/runtime/environment.js +12 -0
  39. package/dist/aws/runtime/messaging.js +31 -0
  40. package/dist/aws/runtime/s3.js +30 -0
  41. package/dist/aws/runtime/secrets/dbsecret.js +96 -0
  42. package/dist/aws/runtime/secrets/proxy-holder.js +27 -0
  43. package/dist/aws/runtime/secrets/rds-holder.js +27 -0
  44. package/dist/aws/runtime/secrets/secret-holder.js +76 -0
  45. package/dist/aws/runtime/secrets/secret.js +43 -0
  46. package/dist/aws/types/errors.js +16 -0
  47. package/dist/aws/types/lambda-response.js +33 -0
  48. package/dist/aws/types/mediatypes.js +16 -0
  49. package/dist/aws/types/model-with-reference.js +3 -0
  50. package/dist/aws/types/proxytypes.js +3 -0
  51. package/dist/aws/types/tags.js +7 -0
  52. package/dist/database/cached.js +32 -0
  53. package/dist/database/database.js +70 -0
  54. package/dist/database/last-updated.js +54 -0
  55. package/dist/database/models.js +3 -0
  56. package/dist/marine/id_utils.js +33 -0
  57. package/dist/marine/rtz.js +3 -0
  58. package/dist/test/asserter.js +45 -0
  59. package/dist/test/db-testutils.js +31 -0
  60. package/dist/test/httpserver.js +74 -0
  61. package/dist/test/secret.js +25 -0
  62. package/dist/test/secrets-manager.js +59 -0
  63. package/dist/test/testutils.js +44 -0
  64. package/dist/types/either.js +3 -0
  65. package/dist/types/input-error.js +7 -0
  66. package/dist/types/language.js +10 -0
  67. package/dist/types/traffictype.js +13 -0
  68. package/dist/types/validator.js +14 -0
  69. package/dist/utils/api-model.js +129 -0
  70. package/dist/utils/base64.js +21 -0
  71. package/dist/utils/date-utils.js +34 -0
  72. package/dist/utils/geojson-types.js +18 -0
  73. package/dist/utils/geometry.js +164 -0
  74. package/dist/utils/retry.js +50 -0
  75. package/dist/utils/slack.js +25 -0
  76. package/dist/utils/utils.js +75 -0
  77. package/jest.config.js +15 -0
  78. package/package.json +15 -13
  79. package/src/@types/geojson-validation/index.d.ts +4 -0
  80. package/src/aws/infra/api/integration.ts +73 -0
  81. package/src/aws/infra/api/response.ts +67 -0
  82. package/src/aws/infra/api/responses.ts +124 -0
  83. package/src/aws/infra/api/static-integration.ts +62 -0
  84. package/src/aws/infra/canaries/canary-alarm.ts +31 -0
  85. package/src/aws/infra/canaries/canary-keys.ts +3 -0
  86. package/{aws/infra/canaries/canary-parameters.d.ts → src/aws/infra/canaries/canary-parameters.ts} +7 -6
  87. package/src/aws/infra/canaries/canary-role.ts +47 -0
  88. package/src/aws/infra/canaries/canary.ts +46 -0
  89. package/src/aws/infra/canaries/database-canary.ts +98 -0
  90. package/src/aws/infra/canaries/database-checker.ts +155 -0
  91. package/src/aws/infra/canaries/url-canary.ts +74 -0
  92. package/src/aws/infra/canaries/url-checker.ts +366 -0
  93. package/src/aws/infra/documentation.ts +124 -0
  94. package/src/aws/infra/scheduler.ts +59 -0
  95. package/src/aws/infra/security-rule.ts +38 -0
  96. package/src/aws/infra/sqs-integration.ts +102 -0
  97. package/src/aws/infra/sqs-queue.ts +148 -0
  98. package/src/aws/infra/stack/lambda-configs.ts +207 -0
  99. package/src/aws/infra/stack/monitoredfunction.ts +342 -0
  100. package/src/aws/infra/stack/rest_apis.ts +223 -0
  101. package/src/aws/infra/stack/stack-checking-aspect.ts +279 -0
  102. package/src/aws/infra/stack/stack.ts +145 -0
  103. package/src/aws/infra/stack/subscription.ts +58 -0
  104. package/src/aws/infra/usage-plans.ts +41 -0
  105. package/src/aws/runtime/apikey.ts +9 -0
  106. package/src/aws/runtime/digitraffic-integration-response.ts +28 -0
  107. package/src/aws/runtime/environment.ts +9 -0
  108. package/src/aws/runtime/messaging.ts +26 -0
  109. package/src/aws/runtime/s3.ts +44 -0
  110. package/src/aws/runtime/secrets/dbsecret.ts +116 -0
  111. package/src/aws/runtime/secrets/proxy-holder.ts +37 -0
  112. package/src/aws/runtime/secrets/rds-holder.ts +33 -0
  113. package/src/aws/runtime/secrets/secret-holder.ts +116 -0
  114. package/src/aws/runtime/secrets/secret.ts +50 -0
  115. package/src/aws/types/errors.ts +14 -0
  116. package/src/aws/types/lambda-response.ts +43 -0
  117. package/{aws/types/mediatypes.d.ts → src/aws/types/mediatypes.ts} +4 -3
  118. package/{aws/types/model-with-reference.d.ts → src/aws/types/model-with-reference.ts} +2 -1
  119. package/src/aws/types/proxytypes.ts +27 -0
  120. package/src/aws/types/tags.ts +3 -0
  121. package/src/database/cached.ts +35 -0
  122. package/src/database/database.ts +96 -0
  123. package/src/database/last-updated.ts +59 -0
  124. package/{database/models.d.ts → src/database/models.ts} +1 -0
  125. package/src/marine/id_utils.ts +30 -0
  126. package/src/marine/rtz.ts +57 -0
  127. package/src/test/asserter.ts +48 -0
  128. package/src/test/db-testutils.ts +44 -0
  129. package/src/test/httpserver.ts +96 -0
  130. package/src/test/secret.ts +23 -0
  131. package/src/test/secrets-manager.ts +34 -0
  132. package/src/test/testutils.ts +39 -0
  133. package/src/types/either.ts +3 -0
  134. package/src/types/input-error.ts +2 -0
  135. package/src/types/language.ts +3 -0
  136. package/src/types/traffictype.ts +8 -0
  137. package/src/types/validator.ts +10 -0
  138. package/src/utils/api-model.ts +133 -0
  139. package/src/utils/base64.ts +16 -0
  140. package/src/utils/date-utils.ts +30 -0
  141. package/src/utils/geojson-types.ts +22 -0
  142. package/src/utils/geometry.ts +164 -0
  143. package/src/utils/retry.ts +49 -0
  144. package/src/utils/slack.ts +22 -0
  145. package/src/utils/utils.ts +105 -0
  146. package/test/marine/id_utils.test.ts +57 -0
  147. package/test/promise/promise.test.ts +143 -0
  148. package/test/secrets/dbsecret.test.ts +59 -0
  149. package/test/secrets/secret-holder.test.ts +143 -0
  150. package/test/secrets/secret.test.ts +49 -0
  151. package/test/test/httpserver.test.ts +128 -0
  152. package/test/utils/date-utils.test.ts +28 -0
  153. package/test/utils/geometry.test.ts +29 -0
  154. package/test/utils/utils.test.ts +64 -0
  155. package/tsconfig.eslint.json +4 -0
  156. package/tsconfig.json +22 -0
  157. package/yarn.lock +4060 -0
  158. package/aws/infra/api/integration.d.ts +0 -21
  159. package/aws/infra/api/integration.js +0 -52
  160. package/aws/infra/api/response.d.ts +0 -22
  161. package/aws/infra/api/response.js +0 -61
  162. package/aws/infra/api/responses.d.ts +0 -39
  163. package/aws/infra/api/responses.js +0 -79
  164. package/aws/infra/api/static-integration.d.ts +0 -15
  165. package/aws/infra/api/static-integration.js +0 -54
  166. package/aws/infra/canaries/canary-alarm.d.ts +0 -6
  167. package/aws/infra/canaries/canary-alarm.js +0 -26
  168. package/aws/infra/canaries/canary-parameters.js +0 -3
  169. package/aws/infra/canaries/canary-role.d.ts +0 -6
  170. package/aws/infra/canaries/canary-role.js +0 -46
  171. package/aws/infra/canaries/canary.d.ts +0 -8
  172. package/aws/infra/canaries/canary.js +0 -32
  173. package/aws/infra/canaries/database-canary.d.ts +0 -18
  174. package/aws/infra/canaries/database-canary.js +0 -55
  175. package/aws/infra/canaries/database-checker.d.ts +0 -21
  176. package/aws/infra/canaries/database-checker.js +0 -109
  177. package/aws/infra/canaries/url-canary.d.ts +0 -19
  178. package/aws/infra/canaries/url-canary.js +0 -46
  179. package/aws/infra/canaries/url-checker.d.ts +0 -46
  180. package/aws/infra/canaries/url-checker.js +0 -238
  181. package/aws/infra/documentation.d.ts +0 -56
  182. package/aws/infra/documentation.js +0 -95
  183. package/aws/infra/scheduler.d.ts +0 -12
  184. package/aws/infra/scheduler.js +0 -31
  185. package/aws/infra/security-rule.d.ts +0 -12
  186. package/aws/infra/security-rule.js +0 -39
  187. package/aws/infra/sqs-integration.d.ts +0 -7
  188. package/aws/infra/sqs-integration.js +0 -93
  189. package/aws/infra/sqs-queue.d.ts +0 -16
  190. package/aws/infra/sqs-queue.js +0 -130
  191. package/aws/infra/stack/lambda-configs.d.ts +0 -72
  192. package/aws/infra/stack/lambda-configs.js +0 -93
  193. package/aws/infra/stack/monitoredfunction.d.ts +0 -84
  194. package/aws/infra/stack/monitoredfunction.js +0 -135
  195. package/aws/infra/stack/rest_apis.d.ts +0 -41
  196. package/aws/infra/stack/rest_apis.js +0 -185
  197. package/aws/infra/stack/stack-checking-aspect.d.ts +0 -21
  198. package/aws/infra/stack/stack-checking-aspect.js +0 -174
  199. package/aws/infra/stack/stack.d.ts +0 -44
  200. package/aws/infra/stack/stack.js +0 -60
  201. package/aws/infra/stack/subscription.d.ts +0 -17
  202. package/aws/infra/stack/subscription.js +0 -41
  203. package/aws/infra/usage-plans.d.ts +0 -15
  204. package/aws/infra/usage-plans.js +0 -42
  205. package/aws/runtime/apikey.d.ts +0 -2
  206. package/aws/runtime/apikey.js +0 -13
  207. package/aws/runtime/digitraffic-integration-response.d.ts +0 -8
  208. package/aws/runtime/digitraffic-integration-response.js +0 -26
  209. package/aws/runtime/environment.d.ts +0 -1
  210. package/aws/runtime/environment.js +0 -12
  211. package/aws/runtime/messaging.d.ts +0 -10
  212. package/aws/runtime/messaging.js +0 -31
  213. package/aws/runtime/s3.d.ts +0 -2
  214. package/aws/runtime/s3.js +0 -30
  215. package/aws/runtime/secrets/dbsecret.d.ts +0 -54
  216. package/aws/runtime/secrets/dbsecret.js +0 -96
  217. package/aws/runtime/secrets/proxy-holder.d.ts +0 -9
  218. package/aws/runtime/secrets/proxy-holder.js +0 -26
  219. package/aws/runtime/secrets/rds-holder.d.ts +0 -9
  220. package/aws/runtime/secrets/rds-holder.js +0 -26
  221. package/aws/runtime/secrets/secret-holder.d.ts +0 -26
  222. package/aws/runtime/secrets/secret-holder.js +0 -73
  223. package/aws/runtime/secrets/secret.d.ts +0 -8
  224. package/aws/runtime/secrets/secret.js +0 -43
  225. package/aws/types/errors.d.ts +0 -4
  226. package/aws/types/errors.js +0 -9
  227. package/aws/types/lambda-response.d.ts +0 -12
  228. package/aws/types/lambda-response.js +0 -28
  229. package/aws/types/mediatypes.js +0 -15
  230. package/aws/types/model-with-reference.js +0 -3
  231. package/aws/types/proxytypes.d.ts +0 -26
  232. package/aws/types/proxytypes.js +0 -3
  233. package/aws/types/tags.d.ts +0 -2
  234. package/aws/types/tags.js +0 -7
  235. package/database/cached.d.ts +0 -7
  236. package/database/cached.js +0 -32
  237. package/database/database.d.ts +0 -19
  238. package/database/database.js +0 -62
  239. package/database/last-updated.d.ts +0 -16
  240. package/database/last-updated.js +0 -54
  241. package/database/models.js +0 -3
  242. package/index.d.ts +0 -1
  243. package/index.js +0 -18
  244. package/marine/id_utils.d.ts +0 -3
  245. package/marine/id_utils.js +0 -33
  246. package/marine/rtz.d.ts +0 -48
  247. package/marine/rtz.js +0 -3
  248. package/test/asserter.d.ts +0 -11
  249. package/test/asserter.js +0 -45
  250. package/test/db-testutils.d.ts +0 -2
  251. package/test/db-testutils.js +0 -31
  252. package/test/httpserver.d.ts +0 -18
  253. package/test/httpserver.js +0 -67
  254. package/test/secret.d.ts +0 -3
  255. package/test/secret.js +0 -25
  256. package/test/secrets-manager.d.ts +0 -9
  257. package/test/secrets-manager.js +0 -59
  258. package/test/testutils.d.ts +0 -12
  259. package/test/testutils.js +0 -44
  260. package/types/input-error.d.ts +0 -2
  261. package/types/input-error.js +0 -7
  262. package/types/language.d.ts +0 -5
  263. package/types/language.js +0 -10
  264. package/types/traffictype.d.ts +0 -8
  265. package/types/traffictype.js +0 -13
  266. package/types/validator.d.ts +0 -4
  267. package/types/validator.js +0 -14
  268. package/utils/api-model.d.ts +0 -87
  269. package/utils/api-model.js +0 -129
  270. package/utils/base64.d.ts +0 -12
  271. package/utils/base64.js +0 -21
  272. package/utils/date-utils.d.ts +0 -17
  273. package/utils/date-utils.js +0 -34
  274. package/utils/geojson-types.d.ts +0 -14
  275. package/utils/geojson-types.js +0 -18
  276. package/utils/geometry.d.ts +0 -36
  277. package/utils/geometry.js +0 -140
  278. package/utils/retry.d.ts +0 -13
  279. package/utils/retry.js +0 -50
  280. package/utils/slack.d.ts +0 -5
  281. package/utils/slack.js +0 -25
  282. package/utils/utils.d.ts +0 -30
  283. package/utils/utils.js +0 -64
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getJsonFromCache = exports.updateCachedJson = exports.JSON_CACHE_KEY = void 0;
4
- const pg_promise_1 = require("pg-promise");
5
- const SQL_UPDATE_CACHE_VALUE = `insert into cached_json(cache_id, content, last_updated)
6
- values ($1, $2, now())
7
- on conflict(cache_id) do
8
- update set content = $2, last_updated = now()`;
9
- const SQL_GET_CACHE_VALUE = `select content, last_updated from cached_json
10
- where cache_id = $1`;
11
- const PS_UPDATE_CACHE_VALUE = new pg_promise_1.PreparedStatement({
12
- name: 'update-cache-value',
13
- text: SQL_UPDATE_CACHE_VALUE,
14
- });
15
- const PS_GET_CACHE_VALUE = new pg_promise_1.PreparedStatement({
16
- name: 'get-cache-value',
17
- text: SQL_GET_CACHE_VALUE,
18
- });
19
- var JSON_CACHE_KEY;
20
- (function (JSON_CACHE_KEY) {
21
- JSON_CACHE_KEY["NAUTICAL_WARNINGS_ACTIVE"] = "nautical-warnings-active";
22
- JSON_CACHE_KEY["NAUTICAL_WARNINGS_ARCHIVED"] = "nautical-warnings-archived";
23
- })(JSON_CACHE_KEY = exports.JSON_CACHE_KEY || (exports.JSON_CACHE_KEY = {}));
24
- function updateCachedJson(db, cacheKey, value) {
25
- return db.none(PS_UPDATE_CACHE_VALUE, [cacheKey, value]);
26
- }
27
- exports.updateCachedJson = updateCachedJson;
28
- function getJsonFromCache(db, cacheKey) {
29
- return db.oneOrNone(PS_GET_CACHE_VALUE, [cacheKey]).then(value => value?.content ?? null);
30
- }
31
- exports.getJsonFromCache = getJsonFromCache;
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGFiYXNlL2NhY2hlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBNkM7QUFHN0MsTUFBTSxzQkFBc0IsR0FDeEI7OztrREFHOEMsQ0FBQztBQUVuRCxNQUFNLG1CQUFtQixHQUNyQjt3QkFDb0IsQ0FBQztBQUV6QixNQUFNLHFCQUFxQixHQUFHLElBQUksOEJBQWlCLENBQUM7SUFDaEQsSUFBSSxFQUFFLG9CQUFvQjtJQUMxQixJQUFJLEVBQUUsc0JBQXNCO0NBQy9CLENBQUMsQ0FBQztBQUVILE1BQU0sa0JBQWtCLEdBQUcsSUFBSSw4QkFBaUIsQ0FBQztJQUM3QyxJQUFJLEVBQUUsaUJBQWlCO0lBQ3ZCLElBQUksRUFBRSxtQkFBbUI7Q0FDNUIsQ0FBQyxDQUFDO0FBRUgsSUFBWSxjQUdYO0FBSEQsV0FBWSxjQUFjO0lBQ3RCLHVFQUFxRCxDQUFBO0lBQ3JELDJFQUF5RCxDQUFBO0FBQzdELENBQUMsRUFIVyxjQUFjLEdBQWQsc0JBQWMsS0FBZCxzQkFBYyxRQUd6QjtBQUVELFNBQWdCLGdCQUFnQixDQUFJLEVBQThCLEVBQUUsUUFBd0IsRUFBRSxLQUFRO0lBQ2xHLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQzdELENBQUM7QUFGRCw0Q0FFQztBQUVELFNBQWdCLGdCQUFnQixDQUFJLEVBQThCLEVBQUUsUUFBd0I7SUFDeEYsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDO0FBQzlGLENBQUM7QUFGRCw0Q0FFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UHJlcGFyZWRTdGF0ZW1lbnR9IGZyb20gXCJwZy1wcm9taXNlXCI7XG5pbXBvcnQge0RURGF0YWJhc2UsIERUVHJhbnNhY3Rpb259IGZyb20gXCIuL2RhdGFiYXNlXCI7XG5cbmNvbnN0IFNRTF9VUERBVEVfQ0FDSEVfVkFMVUUgPVxuICAgIGBpbnNlcnQgaW50byBjYWNoZWRfanNvbihjYWNoZV9pZCwgY29udGVudCwgbGFzdF91cGRhdGVkKVxuICAgIHZhbHVlcyAoJDEsICQyLCBub3coKSlcbiAgICBvbiBjb25mbGljdChjYWNoZV9pZCkgZG9cbiAgICB1cGRhdGUgc2V0IGNvbnRlbnQgPSAkMiwgbGFzdF91cGRhdGVkID0gbm93KClgO1xuXG5jb25zdCBTUUxfR0VUX0NBQ0hFX1ZBTFVFID1cbiAgICBgc2VsZWN0IGNvbnRlbnQsIGxhc3RfdXBkYXRlZCBmcm9tIGNhY2hlZF9qc29uXG4gICAgd2hlcmUgY2FjaGVfaWQgPSAkMWA7XG5cbmNvbnN0IFBTX1VQREFURV9DQUNIRV9WQUxVRSA9IG5ldyBQcmVwYXJlZFN0YXRlbWVudCh7XG4gICAgbmFtZTogJ3VwZGF0ZS1jYWNoZS12YWx1ZScsXG4gICAgdGV4dDogU1FMX1VQREFURV9DQUNIRV9WQUxVRSxcbn0pO1xuXG5jb25zdCBQU19HRVRfQ0FDSEVfVkFMVUUgPSBuZXcgUHJlcGFyZWRTdGF0ZW1lbnQoe1xuICAgIG5hbWU6ICdnZXQtY2FjaGUtdmFsdWUnLFxuICAgIHRleHQ6IFNRTF9HRVRfQ0FDSEVfVkFMVUUsXG59KTtcblxuZXhwb3J0IGVudW0gSlNPTl9DQUNIRV9LRVkge1xuICAgIE5BVVRJQ0FMX1dBUk5JTkdTX0FDVElWRSA9ICduYXV0aWNhbC13YXJuaW5ncy1hY3RpdmUnLFxuICAgIE5BVVRJQ0FMX1dBUk5JTkdTX0FSQ0hJVkVEID0gJ25hdXRpY2FsLXdhcm5pbmdzLWFyY2hpdmVkJ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlQ2FjaGVkSnNvbjxUPihkYjogRFREYXRhYmFzZSB8IERUVHJhbnNhY3Rpb24sIGNhY2hlS2V5OiBKU09OX0NBQ0hFX0tFWSwgdmFsdWU6IFQpOiBQcm9taXNlPG51bGw+IHtcbiAgICByZXR1cm4gZGIubm9uZShQU19VUERBVEVfQ0FDSEVfVkFMVUUsIFtjYWNoZUtleSwgdmFsdWVdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEpzb25Gcm9tQ2FjaGU8VD4oZGI6IERURGF0YWJhc2UgfCBEVFRyYW5zYWN0aW9uLCBjYWNoZUtleTogSlNPTl9DQUNIRV9LRVkpOiBQcm9taXNlPFQgfCBudWxsPiB7XG4gICAgcmV0dXJuIGRiLm9uZU9yTm9uZShQU19HRVRfQ0FDSEVfVkFMVUUsIFtjYWNoZUtleV0pLnRoZW4odmFsdWUgPT4gdmFsdWU/LmNvbnRlbnQgPz8gbnVsbCk7XG59XG4iXX0=
@@ -1,19 +0,0 @@
1
- import { IDatabase, ITask } from "pg-promise";
2
- export declare type DTDatabase = IDatabase<unknown>;
3
- export declare type DTTransaction = ITask<unknown>;
4
- /**
5
- * Creates a non-pooling database connection primarily used by Lambdas.
6
- *
7
- * Note! Using this method opens a new RDS connection on every invocation. It is advised to
8
- * use RDS proxy to pool connections transparently.
9
- * https://docs.amazonaws.cn/en_us/AmazonRDS/latest/AuroraUserGuide/rds-proxy.html
10
- * @param username Username
11
- * @param password Password
12
- * @param applicationName name of application
13
- * @param url Connection URL
14
- * @param options pg-promise options
15
- */
16
- export declare function initDbConnection(username: string, password: string, applicationName: string, url: string, options?: object): DTDatabase;
17
- export declare function inTransaction<T>(fn: (db: DTTransaction) => Promise<T>): Promise<T>;
18
- export declare function inDatabase<T>(fn: (db: DTDatabase) => Promise<T>): Promise<T>;
19
- export declare function inDatabaseReadonly<T>(fn: (db: DTDatabase) => Promise<T>): Promise<T>;
@@ -1,62 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.inDatabaseReadonly = exports.inDatabase = exports.inTransaction = exports.initDbConnection = void 0;
4
- const dbsecret_1 = require("../aws/runtime/secrets/dbsecret");
5
- // eslint-disable-next-line @typescript-eslint/no-var-requires
6
- const pgp = require('pg-promise')();
7
- // convert numeric types to number instead of string
8
- pgp.pg.types.setTypeParser(pgp.pg.types.builtins.INT8, (value) => {
9
- return parseInt(value);
10
- });
11
- pgp.pg.types.setTypeParser(pgp.pg.types.builtins.FLOAT8, (value) => {
12
- return parseFloat(value);
13
- });
14
- pgp.pg.types.setTypeParser(pgp.pg.types.builtins.NUMERIC, (value) => {
15
- return parseFloat(value);
16
- });
17
- /**
18
- * Creates a non-pooling database connection primarily used by Lambdas.
19
- *
20
- * Note! Using this method opens a new RDS connection on every invocation. It is advised to
21
- * use RDS proxy to pool connections transparently.
22
- * https://docs.amazonaws.cn/en_us/AmazonRDS/latest/AuroraUserGuide/rds-proxy.html
23
- * @param username Username
24
- * @param password Password
25
- * @param applicationName name of application
26
- * @param url Connection URL
27
- * @param options pg-promise options
28
- */
29
- function initDbConnection(username, password, applicationName, url, options) {
30
- const finalUrl = `postgresql://${username}:${password}@${url}?application_name=${applicationName}`;
31
- return pgp(finalUrl, options);
32
- }
33
- exports.initDbConnection = initDbConnection;
34
- function inTransaction(fn) {
35
- return inDatabase(db => db.tx((t) => fn(t)));
36
- }
37
- exports.inTransaction = inTransaction;
38
- function inDatabase(fn) {
39
- return doInDatabase(false, fn);
40
- }
41
- exports.inDatabase = inDatabase;
42
- function inDatabaseReadonly(fn) {
43
- return doInDatabase(true, fn);
44
- }
45
- exports.inDatabaseReadonly = inDatabaseReadonly;
46
- async function doInDatabase(readonly, fn) {
47
- const db = initDbConnection(process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_USER], process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_PASS], process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_APPLICATION] || 'unknown-cdk-application', (readonly ? process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_RO_URI] : process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_URI]));
48
- try {
49
- // deallocate all prepared statements to allow for connection pooling
50
- // DISCARD instead of DEALLOCATE as it didn't always clean all prepared statements
51
- await db.none('DISCARD ALL');
52
- return await fn(db);
53
- }
54
- catch (e) {
55
- console.error("Error in db:", e);
56
- throw e;
57
- }
58
- finally {
59
- db.$pool.end();
60
- }
61
- }
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YWJhc2UvZGF0YWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsOERBQXdFO0FBRXhFLDhEQUE4RDtBQUM5RCxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztBQUVwQyxvREFBb0Q7QUFDcEQsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFhLEVBQUUsRUFBRTtJQUNyRSxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMzQixDQUFDLENBQUMsQ0FBQztBQUVILEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBYSxFQUFFLEVBQUU7SUFDdkUsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDN0IsQ0FBQyxDQUFDLENBQUM7QUFFSCxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQWEsRUFBRSxFQUFFO0lBQ3hFLE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzdCLENBQUMsQ0FBQyxDQUFDO0FBTUg7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxTQUFnQixnQkFBZ0IsQ0FDNUIsUUFBZ0IsRUFDaEIsUUFBZ0IsRUFDaEIsZUFBdUIsRUFDdkIsR0FBVyxFQUNYLE9BQWdCO0lBRWhCLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixRQUFRLElBQUksUUFBUSxJQUFJLEdBQUcscUJBQXFCLGVBQWUsRUFBRSxDQUFDO0lBRW5HLE9BQU8sR0FBRyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNsQyxDQUFDO0FBVkQsNENBVUM7QUFFRCxTQUFnQixhQUFhLENBQUssRUFBcUM7SUFDbkUsT0FBTyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBZ0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoRSxDQUFDO0FBRkQsc0NBRUM7QUFFRCxTQUFnQixVQUFVLENBQUksRUFBa0M7SUFDNUQsT0FBTyxZQUFZLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ25DLENBQUM7QUFGRCxnQ0FFQztBQUVELFNBQWdCLGtCQUFrQixDQUFJLEVBQWtDO0lBRXBFLE9BQU8sWUFBWSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNsQyxDQUFDO0FBSEQsZ0RBR0M7QUFFRCxLQUFLLFVBQVUsWUFBWSxDQUFJLFFBQWlCLEVBQzVDLEVBQWtDO0lBQ2xDLE1BQU0sRUFBRSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0NBQXVCLENBQUMsT0FBTyxDQUFXLEVBQzlFLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0NBQXVCLENBQUMsT0FBTyxDQUFXLEVBQ3RELE9BQU8sQ0FBQyxHQUFHLENBQUMsa0NBQXVCLENBQUMsY0FBYyxDQUFDLElBQUkseUJBQXlCLEVBQ2hGLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGtDQUF1QixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGtDQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFXLENBQUMsQ0FBQztJQUN6SCxJQUFJO1FBQ0EscUVBQXFFO1FBQ3JFLGtGQUFrRjtRQUNsRixNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDN0IsT0FBTyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztLQUN2QjtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1IsT0FBTyxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDakMsTUFBTSxDQUFDLENBQUM7S0FDWDtZQUFTO1FBQ04sRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztLQUNsQjtBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lEYXRhYmFzZSwgSVRhc2t9IGZyb20gXCJwZy1wcm9taXNlXCI7XG5pbXBvcnQge0RhdGFiYXNlRW52aXJvbm1lbnRLZXlzfSBmcm9tIFwiLi4vYXdzL3J1bnRpbWUvc2VjcmV0cy9kYnNlY3JldFwiO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlc1xuY29uc3QgcGdwID0gcmVxdWlyZSgncGctcHJvbWlzZScpKCk7XG5cbi8vIGNvbnZlcnQgbnVtZXJpYyB0eXBlcyB0byBudW1iZXIgaW5zdGVhZCBvZiBzdHJpbmdcbnBncC5wZy50eXBlcy5zZXRUeXBlUGFyc2VyKHBncC5wZy50eXBlcy5idWlsdGlucy5JTlQ4LCAodmFsdWU6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiBwYXJzZUludCh2YWx1ZSk7XG59KTtcblxucGdwLnBnLnR5cGVzLnNldFR5cGVQYXJzZXIocGdwLnBnLnR5cGVzLmJ1aWx0aW5zLkZMT0FUOCwgKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICByZXR1cm4gcGFyc2VGbG9hdCh2YWx1ZSk7XG59KTtcblxucGdwLnBnLnR5cGVzLnNldFR5cGVQYXJzZXIocGdwLnBnLnR5cGVzLmJ1aWx0aW5zLk5VTUVSSUMsICh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIHBhcnNlRmxvYXQodmFsdWUpO1xufSk7XG5cbmV4cG9ydCB0eXBlIERURGF0YWJhc2UgPSBJRGF0YWJhc2U8dW5rbm93bj47XG5cbmV4cG9ydCB0eXBlIERUVHJhbnNhY3Rpb24gPSBJVGFzazx1bmtub3duPlxuXG4vKipcbiAqIENyZWF0ZXMgYSBub24tcG9vbGluZyBkYXRhYmFzZSBjb25uZWN0aW9uIHByaW1hcmlseSB1c2VkIGJ5IExhbWJkYXMuXG4gKlxuICogTm90ZSEgVXNpbmcgdGhpcyBtZXRob2Qgb3BlbnMgYSBuZXcgUkRTIGNvbm5lY3Rpb24gb24gZXZlcnkgaW52b2NhdGlvbi4gSXQgaXMgYWR2aXNlZCB0b1xuICogdXNlIFJEUyBwcm94eSB0byBwb29sIGNvbm5lY3Rpb25zIHRyYW5zcGFyZW50bHkuXG4gKiBodHRwczovL2RvY3MuYW1hem9uYXdzLmNuL2VuX3VzL0FtYXpvblJEUy9sYXRlc3QvQXVyb3JhVXNlckd1aWRlL3Jkcy1wcm94eS5odG1sXG4gKiBAcGFyYW0gdXNlcm5hbWUgVXNlcm5hbWVcbiAqIEBwYXJhbSBwYXNzd29yZCBQYXNzd29yZFxuICogQHBhcmFtIGFwcGxpY2F0aW9uTmFtZSBuYW1lIG9mIGFwcGxpY2F0aW9uXG4gKiBAcGFyYW0gdXJsIENvbm5lY3Rpb24gVVJMXG4gKiBAcGFyYW0gb3B0aW9ucyBwZy1wcm9taXNlIG9wdGlvbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluaXREYkNvbm5lY3Rpb24oXG4gICAgdXNlcm5hbWU6IHN0cmluZyxcbiAgICBwYXNzd29yZDogc3RyaW5nLFxuICAgIGFwcGxpY2F0aW9uTmFtZTogc3RyaW5nLFxuICAgIHVybDogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBvYmplY3QsXG4pOiBEVERhdGFiYXNlIHtcbiAgICBjb25zdCBmaW5hbFVybCA9IGBwb3N0Z3Jlc3FsOi8vJHt1c2VybmFtZX06JHtwYXNzd29yZH1AJHt1cmx9P2FwcGxpY2F0aW9uX25hbWU9JHthcHBsaWNhdGlvbk5hbWV9YDtcblxuICAgIHJldHVybiBwZ3AoZmluYWxVcmwsIG9wdGlvbnMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5UcmFuc2FjdGlvbjxUPiAoZm46IChkYjogRFRUcmFuc2FjdGlvbikgPT4gUHJvbWlzZTxUPik6IFByb21pc2U8VD4ge1xuICAgIHJldHVybiBpbkRhdGFiYXNlKGRiID0+IGRiLnR4KCh0OiBEVFRyYW5zYWN0aW9uKSA9PiBmbih0KSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5EYXRhYmFzZTxUPihmbjogKGRiOiBEVERhdGFiYXNlKSA9PiBQcm9taXNlPFQ+KTogUHJvbWlzZTxUPiB7XG4gICAgcmV0dXJuIGRvSW5EYXRhYmFzZShmYWxzZSwgZm4pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5EYXRhYmFzZVJlYWRvbmx5PFQ+KGZuOiAoZGI6IERURGF0YWJhc2UpID0+IFByb21pc2U8VD4pOiBQcm9taXNlPFQ+IHtcblxuICAgIHJldHVybiBkb0luRGF0YWJhc2UodHJ1ZSwgZm4pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBkb0luRGF0YWJhc2U8VD4ocmVhZG9ubHk6IGJvb2xlYW4sXG4gICAgZm46IChkYjogRFREYXRhYmFzZSkgPT4gUHJvbWlzZTxUPik6IFByb21pc2U8VD4ge1xuICAgIGNvbnN0IGRiID0gaW5pdERiQ29ubmVjdGlvbihwcm9jZXNzLmVudltEYXRhYmFzZUVudmlyb25tZW50S2V5cy5EQl9VU0VSXSBhcyBzdHJpbmcsXG4gICAgICAgIHByb2Nlc3MuZW52W0RhdGFiYXNlRW52aXJvbm1lbnRLZXlzLkRCX1BBU1NdIGFzIHN0cmluZyxcbiAgICAgICAgcHJvY2Vzcy5lbnZbRGF0YWJhc2VFbnZpcm9ubWVudEtleXMuREJfQVBQTElDQVRJT05dIHx8ICd1bmtub3duLWNkay1hcHBsaWNhdGlvbicsXG4gICAgICAgIChyZWFkb25seSA/IHByb2Nlc3MuZW52W0RhdGFiYXNlRW52aXJvbm1lbnRLZXlzLkRCX1JPX1VSSV0gOiBwcm9jZXNzLmVudltEYXRhYmFzZUVudmlyb25tZW50S2V5cy5EQl9VUkldKSBhcyBzdHJpbmcpO1xuICAgIHRyeSB7XG4gICAgICAgIC8vIGRlYWxsb2NhdGUgYWxsIHByZXBhcmVkIHN0YXRlbWVudHMgdG8gYWxsb3cgZm9yIGNvbm5lY3Rpb24gcG9vbGluZ1xuICAgICAgICAvLyBESVNDQVJEIGluc3RlYWQgb2YgREVBTExPQ0FURSBhcyBpdCBkaWRuJ3QgYWx3YXlzIGNsZWFuIGFsbCBwcmVwYXJlZCBzdGF0ZW1lbnRzXG4gICAgICAgIGF3YWl0IGRiLm5vbmUoJ0RJU0NBUkQgQUxMJyk7XG4gICAgICAgIHJldHVybiBhd2FpdCBmbihkYik7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3IgaW4gZGI6XCIsIGUpO1xuICAgICAgICB0aHJvdyBlO1xuICAgIH0gZmluYWxseSB7XG4gICAgICAgIGRiLiRwb29sLmVuZCgpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,16 +0,0 @@
1
- import { DTDatabase, DTTransaction } from "./database";
2
- export declare enum DataType {
3
- VS_DATEX2 = "VS_DATEX2",
4
- COUNTING_SITES_DATA = "COUNTING_SITES_DATA",
5
- COUNTING_SITES_METADATA = "COUNTING_SITES_METADATA",
6
- COUNTING_SITES_METADATA_CHECK = "COUNTING_SITES_METADATA_CHECK",
7
- MAINTENANCE_TRACKING_DATA_CHECKED = "MAINTENANCE_TRACKING_DATA_CHECKED",
8
- PERMIT_DATA = "PERMIT_DATA",
9
- PERMIT_DATA_CHECK = "PERMIT_DATA_CHECK"
10
- }
11
- export declare function getLastUpdated(db: DTDatabase, datatype: DataType): Promise<Date | null>;
12
- export declare function getLastUpdatedWithSubtype(db: DTDatabase, datatype: DataType, subtype: string): Promise<Date | null>;
13
- export declare function updateLastUpdated(db: DTDatabase | DTTransaction, datatype: DataType, updated: Date): Promise<null>;
14
- export declare function updateLastUpdatedWithSubtype(db: DTDatabase | DTTransaction, datatype: DataType, subtype: string, updated: Date): Promise<null>;
15
- export declare function getUpdatedTimestamp(db: DTDatabase, datatype: string): Promise<Date | null>;
16
- export declare function updateUpdatedTimestamp(db: DTDatabase | DTTransaction, datatype: string, date: Date, by?: string): Promise<null>;
@@ -1,54 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateUpdatedTimestamp = exports.getUpdatedTimestamp = exports.updateLastUpdatedWithSubtype = exports.updateLastUpdated = exports.getLastUpdatedWithSubtype = exports.getLastUpdated = exports.DataType = void 0;
4
- var DataType;
5
- (function (DataType) {
6
- DataType["VS_DATEX2"] = "VS_DATEX2";
7
- DataType["COUNTING_SITES_DATA"] = "COUNTING_SITES_DATA";
8
- DataType["COUNTING_SITES_METADATA"] = "COUNTING_SITES_METADATA";
9
- DataType["COUNTING_SITES_METADATA_CHECK"] = "COUNTING_SITES_METADATA_CHECK";
10
- DataType["MAINTENANCE_TRACKING_DATA_CHECKED"] = "MAINTENANCE_TRACKING_DATA_CHECKED";
11
- DataType["PERMIT_DATA"] = "PERMIT_DATA";
12
- DataType["PERMIT_DATA_CHECK"] = "PERMIT_DATA_CHECK";
13
- })(DataType = exports.DataType || (exports.DataType = {}));
14
- const UNSET_SUBTYPE = '-';
15
- function getLastUpdated(db, datatype) {
16
- return db.oneOrNone("select updated from data_updated where data_type=$(datatype) and subtype=$(subtype)", {
17
- datatype: datatype, subtype: UNSET_SUBTYPE,
18
- }, (x) => x?.updated || null);
19
- }
20
- exports.getLastUpdated = getLastUpdated;
21
- function getLastUpdatedWithSubtype(db, datatype, subtype) {
22
- return db.oneOrNone("SELECT updated FROM data_updated WHERE data_type=$(datatype) AND subtype=$(subtype)", {
23
- datatype: datatype, subtype: subtype,
24
- }, (x) => x?.updated || null);
25
- }
26
- exports.getLastUpdatedWithSubtype = getLastUpdatedWithSubtype;
27
- function updateLastUpdated(db, datatype, updated) {
28
- return db.none(`insert into data_updated(id, data_type, updated)
29
- values(nextval('seq_data_updated'), $(datatype), $(updated))
30
- on conflict (data_type, subtype)
31
- do update set updated = $(updated)`, { updated, datatype });
32
- }
33
- exports.updateLastUpdated = updateLastUpdated;
34
- function updateLastUpdatedWithSubtype(db, datatype, subtype, updated) {
35
- return db.none(`insert into data_updated(id, data_type, subtype, updated)
36
- values(nextval('seq_data_updated'), $(datatype), $(subtype), $(updated))
37
- on conflict (data_type, subtype)
38
- do update set updated = $(updated)`, { updated, subtype, datatype });
39
- }
40
- exports.updateLastUpdatedWithSubtype = updateLastUpdatedWithSubtype;
41
- function getUpdatedTimestamp(db, datatype) {
42
- return db.oneOrNone("select updated_time as updated from updated_timestamp where updated_name=$(datatype)", {
43
- datatype: datatype,
44
- }, (x) => x?.updated || null);
45
- }
46
- exports.getUpdatedTimestamp = getUpdatedTimestamp;
47
- function updateUpdatedTimestamp(db, datatype, date, by = '') {
48
- return db.none(`insert into updated_timestamp(updated_name, updated_time, updated_by)
49
- values($(datatype), $(date), $(by))
50
- on conflict (updated_name)
51
- do update set updated_time = $(date), updated_by = $(by)`, { date, datatype, by });
52
- }
53
- exports.updateUpdatedTimestamp = updateUpdatedTimestamp;
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFzdC11cGRhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGFiYXNlL2xhc3QtdXBkYXRlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxJQUFZLFFBUVg7QUFSRCxXQUFZLFFBQVE7SUFDaEIsbUNBQXFCLENBQUE7SUFDckIsdURBQXlDLENBQUE7SUFDekMsK0RBQWlELENBQUE7SUFDakQsMkVBQTZELENBQUE7SUFDN0QsbUZBQXFFLENBQUE7SUFDckUsdUNBQXlCLENBQUE7SUFDekIsbURBQXFDLENBQUE7QUFDekMsQ0FBQyxFQVJXLFFBQVEsR0FBUixnQkFBUSxLQUFSLGdCQUFRLFFBUW5CO0FBRUQsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDO0FBTTFCLFNBQWdCLGNBQWMsQ0FBQyxFQUFjLEVBQUUsUUFBa0I7SUFDN0QsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLHFGQUFxRixFQUFFO1FBQ3ZHLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLGFBQWE7S0FDN0MsRUFBRSxDQUFDLENBQW1CLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLENBQUM7QUFDcEQsQ0FBQztBQUpELHdDQUlDO0FBRUQsU0FBZ0IseUJBQXlCLENBQUMsRUFBYyxFQUFFLFFBQWtCLEVBQUUsT0FBZTtJQUN6RixPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMscUZBQXFGLEVBQUU7UUFDdkcsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTztLQUN2QyxFQUFFLENBQUMsQ0FBbUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLE9BQU8sSUFBSSxJQUFJLENBQUMsQ0FBQztBQUNwRCxDQUFDO0FBSkQsOERBSUM7QUFFRCxTQUFnQixpQkFBaUIsQ0FBQyxFQUE4QixFQUFFLFFBQWtCLEVBQUUsT0FBYTtJQUMvRixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUM7OztvQ0FHaUIsRUFDaEMsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztBQUMzQixDQUFDO0FBTkQsOENBTUM7QUFFRCxTQUFnQiw0QkFBNEIsQ0FBQyxFQUE4QixFQUFFLFFBQWtCLEVBQUUsT0FBZSxFQUFFLE9BQWE7SUFDM0gsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDOzs7b0NBR2lCLEVBQ2hDLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0FBQ3BDLENBQUM7QUFORCxvRUFNQztBQUVELFNBQWdCLG1CQUFtQixDQUFDLEVBQWMsRUFBRSxRQUFnQjtJQUNoRSxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsc0ZBQXNGLEVBQUU7UUFDeEcsUUFBUSxFQUFFLFFBQVE7S0FDckIsRUFBRSxDQUFDLENBQW1CLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLENBQUM7QUFDcEQsQ0FBQztBQUpELGtEQUlDO0FBRUQsU0FBZ0Isc0JBQXNCLENBQUMsRUFBOEIsRUFBRSxRQUFnQixFQUFFLElBQVUsRUFBRSxFQUFFLEdBQUcsRUFBRTtJQUN4RyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUM7Ozt5REFHc0MsRUFDckQsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDNUIsQ0FBQztBQU5ELHdEQU1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEVERhdGFiYXNlLCBEVFRyYW5zYWN0aW9ufSBmcm9tIFwiLi9kYXRhYmFzZVwiO1xuXG5leHBvcnQgZW51bSBEYXRhVHlwZSB7XG4gICAgVlNfREFURVgyPVwiVlNfREFURVgyXCIsXG4gICAgQ09VTlRJTkdfU0lURVNfREFUQT1cIkNPVU5USU5HX1NJVEVTX0RBVEFcIixcbiAgICBDT1VOVElOR19TSVRFU19NRVRBREFUQT1cIkNPVU5USU5HX1NJVEVTX01FVEFEQVRBXCIsXG4gICAgQ09VTlRJTkdfU0lURVNfTUVUQURBVEFfQ0hFQ0s9XCJDT1VOVElOR19TSVRFU19NRVRBREFUQV9DSEVDS1wiLFxuICAgIE1BSU5URU5BTkNFX1RSQUNLSU5HX0RBVEFfQ0hFQ0tFRD1cIk1BSU5URU5BTkNFX1RSQUNLSU5HX0RBVEFfQ0hFQ0tFRFwiLFxuICAgIFBFUk1JVF9EQVRBPVwiUEVSTUlUX0RBVEFcIixcbiAgICBQRVJNSVRfREFUQV9DSEVDSz1cIlBFUk1JVF9EQVRBX0NIRUNLXCIsXG59XG5cbmNvbnN0IFVOU0VUX1NVQlRZUEUgPSAnLSc7XG5cbnR5cGUgVXBkYXRlZFRpbWVzdGFtcCA9IHtcbiAgICB1cGRhdGVkOiBEYXRlXG59IHwgbnVsbDtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldExhc3RVcGRhdGVkKGRiOiBEVERhdGFiYXNlLCBkYXRhdHlwZTogRGF0YVR5cGUpOiBQcm9taXNlPERhdGUgfCBudWxsPiB7XG4gICAgcmV0dXJuIGRiLm9uZU9yTm9uZShcInNlbGVjdCB1cGRhdGVkIGZyb20gZGF0YV91cGRhdGVkIHdoZXJlIGRhdGFfdHlwZT0kKGRhdGF0eXBlKSBhbmQgc3VidHlwZT0kKHN1YnR5cGUpXCIsIHtcbiAgICAgICAgZGF0YXR5cGU6IGRhdGF0eXBlLCBzdWJ0eXBlOiBVTlNFVF9TVUJUWVBFLFxuICAgIH0sICh4OiBVcGRhdGVkVGltZXN0YW1wKSA9PiB4Py51cGRhdGVkIHx8IG51bGwpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGFzdFVwZGF0ZWRXaXRoU3VidHlwZShkYjogRFREYXRhYmFzZSwgZGF0YXR5cGU6IERhdGFUeXBlLCBzdWJ0eXBlOiBzdHJpbmcpOiBQcm9taXNlPERhdGUgfCBudWxsPiB7XG4gICAgcmV0dXJuIGRiLm9uZU9yTm9uZShcIlNFTEVDVCB1cGRhdGVkIEZST00gZGF0YV91cGRhdGVkIFdIRVJFIGRhdGFfdHlwZT0kKGRhdGF0eXBlKSBBTkQgc3VidHlwZT0kKHN1YnR5cGUpXCIsIHtcbiAgICAgICAgZGF0YXR5cGU6IGRhdGF0eXBlLCBzdWJ0eXBlOiBzdWJ0eXBlLFxuICAgIH0sICh4OiBVcGRhdGVkVGltZXN0YW1wKSA9PiB4Py51cGRhdGVkIHx8IG51bGwpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlTGFzdFVwZGF0ZWQoZGI6IERURGF0YWJhc2UgfCBEVFRyYW5zYWN0aW9uLCBkYXRhdHlwZTogRGF0YVR5cGUsIHVwZGF0ZWQ6IERhdGUpOiBQcm9taXNlPG51bGw+IHtcbiAgICByZXR1cm4gZGIubm9uZShgaW5zZXJ0IGludG8gZGF0YV91cGRhdGVkKGlkLCBkYXRhX3R5cGUsIHVwZGF0ZWQpXG4gdmFsdWVzKG5leHR2YWwoJ3NlcV9kYXRhX3VwZGF0ZWQnKSwgJChkYXRhdHlwZSksICQodXBkYXRlZCkpXG4gb24gY29uZmxpY3QgKGRhdGFfdHlwZSwgc3VidHlwZSlcbiBkbyB1cGRhdGUgc2V0IHVwZGF0ZWQgPSAkKHVwZGF0ZWQpYCxcbiAgICB7IHVwZGF0ZWQsIGRhdGF0eXBlIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlTGFzdFVwZGF0ZWRXaXRoU3VidHlwZShkYjogRFREYXRhYmFzZSB8IERUVHJhbnNhY3Rpb24sIGRhdGF0eXBlOiBEYXRhVHlwZSwgc3VidHlwZTogc3RyaW5nLCB1cGRhdGVkOiBEYXRlKTogUHJvbWlzZTxudWxsPiB7XG4gICAgcmV0dXJuIGRiLm5vbmUoYGluc2VydCBpbnRvIGRhdGFfdXBkYXRlZChpZCwgZGF0YV90eXBlLCBzdWJ0eXBlLCB1cGRhdGVkKVxuIHZhbHVlcyhuZXh0dmFsKCdzZXFfZGF0YV91cGRhdGVkJyksICQoZGF0YXR5cGUpLCAkKHN1YnR5cGUpLCAkKHVwZGF0ZWQpKVxuIG9uIGNvbmZsaWN0IChkYXRhX3R5cGUsIHN1YnR5cGUpXG4gZG8gdXBkYXRlIHNldCB1cGRhdGVkID0gJCh1cGRhdGVkKWAsXG4gICAgeyB1cGRhdGVkLCBzdWJ0eXBlLCBkYXRhdHlwZSB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFVwZGF0ZWRUaW1lc3RhbXAoZGI6IERURGF0YWJhc2UsIGRhdGF0eXBlOiBzdHJpbmcpOiBQcm9taXNlPERhdGUgfCBudWxsPiB7XG4gICAgcmV0dXJuIGRiLm9uZU9yTm9uZShcInNlbGVjdCB1cGRhdGVkX3RpbWUgYXMgdXBkYXRlZCBmcm9tIHVwZGF0ZWRfdGltZXN0YW1wIHdoZXJlIHVwZGF0ZWRfbmFtZT0kKGRhdGF0eXBlKVwiLCB7XG4gICAgICAgIGRhdGF0eXBlOiBkYXRhdHlwZSxcbiAgICB9LCAoeDogVXBkYXRlZFRpbWVzdGFtcCkgPT4geD8udXBkYXRlZCB8fCBudWxsKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZVVwZGF0ZWRUaW1lc3RhbXAoZGI6IERURGF0YWJhc2UgfCBEVFRyYW5zYWN0aW9uLCBkYXRhdHlwZTogc3RyaW5nLCBkYXRlOiBEYXRlLCBieSA9ICcnKTogUHJvbWlzZTxudWxsPiB7XG4gICAgcmV0dXJuIGRiLm5vbmUoYGluc2VydCBpbnRvIHVwZGF0ZWRfdGltZXN0YW1wKHVwZGF0ZWRfbmFtZSwgdXBkYXRlZF90aW1lLCB1cGRhdGVkX2J5KVxudmFsdWVzKCQoZGF0YXR5cGUpLCAkKGRhdGUpLCAkKGJ5KSlcbm9uIGNvbmZsaWN0ICh1cGRhdGVkX25hbWUpXG5kbyB1cGRhdGUgc2V0IHVwZGF0ZWRfdGltZSA9ICQoZGF0ZSksIHVwZGF0ZWRfYnkgPSAkKGJ5KWAsXG4gICAgeyBkYXRlLCBkYXRhdHlwZSwgYnkgfSk7XG59XG4iXX0=
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGFiYXNlL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDb3VudGFibGUge1xuICAgIGNvdW50OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWRlbnRpZmlhYmxlPFQ+IHtcbiAgICBpZDogVDtcbn1cblxuaW50ZXJmYWNlIFVwZGF0ZWREYXRlIHtcbiAgICB1cGRhdGVkX2RhdGU6IERhdGU7XG59XG4iXX0=
package/index.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from "./aws/infra/api/responses";
package/index.js DELETED
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./aws/infra/api/responses"), exports);
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDREQUEwQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2F3cy9pbmZyYS9hcGkvcmVzcG9uc2VzXCI7XG4iXX0=
@@ -1,3 +0,0 @@
1
- export declare function isValidIMO(imo: number): boolean;
2
- export declare function isValidMMSI(mmsi: number): boolean;
3
- export declare function isValidLOCODE(locode: string): boolean;
@@ -1,33 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isValidLOCODE = exports.isValidMMSI = exports.isValidIMO = void 0;
4
- function isValidIMO(imo) {
5
- return imo >= 1000000 && imo <= 9999999 && imoChecksumIsValid(imo);
6
- }
7
- exports.isValidIMO = isValidIMO;
8
- function imoChecksumIsValid(imo) {
9
- const imoStr = imo.toString();
10
- const imoDigit1 = Number(imoStr[0]);
11
- const imoDigit2 = Number(imoStr[1]);
12
- const imoDigit3 = Number(imoStr[2]);
13
- const imoDigit4 = Number(imoStr[3]);
14
- const imoDigit5 = Number(imoStr[4]);
15
- const imoDigit6 = Number(imoStr[5]);
16
- const checkDigit = Number(imoStr[6]);
17
- const checkCalculation = Number(((imoDigit1 * 7) + (imoDigit2 * 6) + (imoDigit3 * 5) + (imoDigit4 * 4) + (imoDigit5 * 3) + (imoDigit6 * 2)));
18
- const checkResult = checkCalculation % 10 === checkDigit;
19
- if (!checkResult) {
20
- console.warn('method=imoChecksumIsValid IMO checksum failed %d', imo);
21
- }
22
- return checkResult;
23
- }
24
- function isValidMMSI(mmsi) {
25
- return mmsi >= 100000000 && mmsi <= 999999999;
26
- }
27
- exports.isValidMMSI = isValidMMSI;
28
- const LocodePattern = /^FI[A-Z]{3}$/i;
29
- function isValidLOCODE(locode) {
30
- return LocodePattern.test(locode);
31
- }
32
- exports.isValidLOCODE = isValidLOCODE;
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRfdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWFyaW5lL2lkX3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLFNBQWdCLFVBQVUsQ0FBQyxHQUFXO0lBQ2xDLE9BQU8sR0FBRyxJQUFJLE9BQU8sSUFBSSxHQUFHLElBQUksT0FBTyxJQUFJLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZFLENBQUM7QUFGRCxnQ0FFQztBQUVELFNBQVMsa0JBQWtCLENBQUMsR0FBVztJQUNuQyxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDOUIsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwQyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwQyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdJLE1BQU0sV0FBVyxHQUFHLGdCQUFnQixHQUFHLEVBQUUsS0FBSyxVQUFVLENBQUM7SUFDekQsSUFBSSxDQUFDLFdBQVcsRUFBRTtRQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0RBQWtELEVBQUUsR0FBRyxDQUFDLENBQUM7S0FDekU7SUFDRCxPQUFPLFdBQVcsQ0FBQztBQUN2QixDQUFDO0FBRUQsU0FBZ0IsV0FBVyxDQUFDLElBQVk7SUFDcEMsT0FBTyxJQUFJLElBQUksU0FBUyxJQUFJLElBQUksSUFBSSxTQUFTLENBQUM7QUFDbEQsQ0FBQztBQUZELGtDQUVDO0FBRUQsTUFBTSxhQUFhLEdBQUcsZUFBZSxDQUFDO0FBRXRDLFNBQWdCLGFBQWEsQ0FBQyxNQUFjO0lBQ3hDLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN0QyxDQUFDO0FBRkQsc0NBRUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gaXNWYWxpZElNTyhpbW86IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpbW8gPj0gMTAwMDAwMCAmJiBpbW8gPD0gOTk5OTk5OSAmJiBpbW9DaGVja3N1bUlzVmFsaWQoaW1vKTtcbn1cblxuZnVuY3Rpb24gaW1vQ2hlY2tzdW1Jc1ZhbGlkKGltbzogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgY29uc3QgaW1vU3RyID0gaW1vLnRvU3RyaW5nKCk7XG4gICAgY29uc3QgaW1vRGlnaXQxID0gTnVtYmVyKGltb1N0clswXSk7XG4gICAgY29uc3QgaW1vRGlnaXQyID0gTnVtYmVyKGltb1N0clsxXSk7XG4gICAgY29uc3QgaW1vRGlnaXQzID0gTnVtYmVyKGltb1N0clsyXSk7XG4gICAgY29uc3QgaW1vRGlnaXQ0ID0gTnVtYmVyKGltb1N0clszXSk7XG4gICAgY29uc3QgaW1vRGlnaXQ1ID0gTnVtYmVyKGltb1N0cls0XSk7XG4gICAgY29uc3QgaW1vRGlnaXQ2ID0gTnVtYmVyKGltb1N0cls1XSk7XG4gICAgY29uc3QgY2hlY2tEaWdpdCA9IE51bWJlcihpbW9TdHJbNl0pO1xuICAgIGNvbnN0IGNoZWNrQ2FsY3VsYXRpb24gPSBOdW1iZXIoKChpbW9EaWdpdDEgKiA3KSArIChpbW9EaWdpdDIgKiA2KSArIChpbW9EaWdpdDMgKiA1KSArIChpbW9EaWdpdDQgKiA0KSArIChpbW9EaWdpdDUgKiAzKSArIChpbW9EaWdpdDYgKiAyKSkpO1xuICAgIGNvbnN0IGNoZWNrUmVzdWx0ID0gY2hlY2tDYWxjdWxhdGlvbiAlIDEwID09PSBjaGVja0RpZ2l0O1xuICAgIGlmICghY2hlY2tSZXN1bHQpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdtZXRob2Q9aW1vQ2hlY2tzdW1Jc1ZhbGlkIElNTyBjaGVja3N1bSBmYWlsZWQgJWQnLCBpbW8pO1xuICAgIH1cbiAgICByZXR1cm4gY2hlY2tSZXN1bHQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkTU1TSShtbXNpOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gbW1zaSA+PSAxMDAwMDAwMDAgJiYgbW1zaSA8PSA5OTk5OTk5OTk7XG59XG5cbmNvbnN0IExvY29kZVBhdHRlcm4gPSAvXkZJW0EtWl17M30kL2k7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkTE9DT0RFKGxvY29kZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIExvY29kZVBhdHRlcm4udGVzdChsb2NvZGUpO1xufVxuIl19
package/marine/rtz.d.ts DELETED
@@ -1,48 +0,0 @@
1
- export declare type RtzPositionCoordinate = {
2
- readonly $: {
3
- readonly lat: number;
4
- readonly lon: number;
5
- };
6
- };
7
- export declare type RtzWaypointPosition = {
8
- readonly position: RtzPositionCoordinate[];
9
- };
10
- export declare type RtzWaypoint = {
11
- readonly waypoint: RtzWaypointPosition[];
12
- };
13
- export declare type RtzScheduleElement = {
14
- readonly $: {
15
- /**
16
- * Date
17
- */
18
- readonly etd?: string;
19
- /**
20
- * Date
21
- */
22
- readonly eta?: string;
23
- };
24
- };
25
- export declare type RtzSchedule = {
26
- readonly scheduleElement: RtzScheduleElement[];
27
- };
28
- export declare type RtzScheduleWrapper = {
29
- readonly manual?: RtzSchedule[];
30
- readonly calculated?: RtzSchedule[];
31
- };
32
- export declare type RtzSchedules = {
33
- readonly schedule: RtzScheduleWrapper[];
34
- };
35
- export declare type RtzRouteInfo = {
36
- readonly $: {
37
- readonly vesselMMSI: string;
38
- readonly vesselIMO: string;
39
- };
40
- };
41
- export declare type RtzRoute = {
42
- readonly routeInfo: RtzRouteInfo[];
43
- readonly waypoints: RtzWaypoint[];
44
- readonly schedules: RtzSchedules[];
45
- };
46
- export declare type RtzVoyagePlan = {
47
- readonly route: RtzRoute;
48
- };
package/marine/rtz.js DELETED
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnR6LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hcmluZS9ydHoudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFJ0elBvc2l0aW9uQ29vcmRpbmF0ZSA9IHtcbiAgICByZWFkb25seSAkOiB7XG4gICAgICAgIHJlYWRvbmx5IGxhdDogbnVtYmVyXG4gICAgICAgIHJlYWRvbmx5IGxvbjogbnVtYmVyXG4gICAgfVxufVxuXG5leHBvcnQgdHlwZSBSdHpXYXlwb2ludFBvc2l0aW9uID0ge1xuICAgIHJlYWRvbmx5IHBvc2l0aW9uOiBSdHpQb3NpdGlvbkNvb3JkaW5hdGVbXVxufVxuXG5leHBvcnQgdHlwZSBSdHpXYXlwb2ludCA9IHtcbiAgICByZWFkb25seSB3YXlwb2ludDogUnR6V2F5cG9pbnRQb3NpdGlvbltdXG59XG5cbmV4cG9ydCB0eXBlIFJ0elNjaGVkdWxlRWxlbWVudCA9IHtcbiAgICByZWFkb25seSAkOiB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBEYXRlXG4gICAgICAgICAqL1xuICAgICAgICByZWFkb25seSBldGQ/OiBzdHJpbmdcbiAgICAgICAgLyoqXG4gICAgICAgICAqIERhdGVcbiAgICAgICAgICovXG4gICAgICAgIHJlYWRvbmx5IGV0YT86IHN0cmluZ1xuICAgIH0sXG59XG5cbmV4cG9ydCB0eXBlIFJ0elNjaGVkdWxlID0ge1xuICAgIHJlYWRvbmx5IHNjaGVkdWxlRWxlbWVudDogUnR6U2NoZWR1bGVFbGVtZW50W11cbn1cblxuZXhwb3J0IHR5cGUgUnR6U2NoZWR1bGVXcmFwcGVyID0ge1xuICAgIHJlYWRvbmx5IG1hbnVhbD86IFJ0elNjaGVkdWxlW11cbiAgICByZWFkb25seSBjYWxjdWxhdGVkPzogUnR6U2NoZWR1bGVbXVxufVxuXG5leHBvcnQgdHlwZSBSdHpTY2hlZHVsZXMgPSB7XG4gICAgcmVhZG9ubHkgc2NoZWR1bGU6IFJ0elNjaGVkdWxlV3JhcHBlcltdXG59XG5cbmV4cG9ydCB0eXBlIFJ0elJvdXRlSW5mbyA9IHtcbiAgICByZWFkb25seSAkOiB7XG4gICAgICAgIHJlYWRvbmx5IHZlc3NlbE1NU0k6IHN0cmluZ1xuICAgICAgICByZWFkb25seSB2ZXNzZWxJTU86IHN0cmluZ1xuICAgIH1cbn1cblxuZXhwb3J0IHR5cGUgUnR6Um91dGUgPSB7XG4gICAgcmVhZG9ubHkgcm91dGVJbmZvOiBSdHpSb3V0ZUluZm9bXVxuICAgIHJlYWRvbmx5IHdheXBvaW50czogUnR6V2F5cG9pbnRbXVxuICAgIHJlYWRvbmx5IHNjaGVkdWxlczogUnR6U2NoZWR1bGVzW11cbn1cblxuZXhwb3J0IHR5cGUgUnR6Vm95YWdlUGxhbiA9IHtcbiAgICByZWFkb25seSByb3V0ZTogUnR6Um91dGVcbn1cbiJdfQ==
@@ -1,11 +0,0 @@
1
- /**
2
- * A simple asserter-class for writing canaries without dependency to testing-libraries.
3
- */
4
- export declare abstract class Asserter {
5
- static assertEquals<T>(value: T, expected: T): void;
6
- static assertTrue<T>(value: T): void;
7
- static assertLength<T>(data: T[], expected: number): void;
8
- static assertLengthGreaterThan<T>(data: T[], expected: number): void;
9
- static assertGreaterThan(value: number, expected: number): void;
10
- static assertToBeCloseTo(value: number, expected: number, delta: number): void;
11
- }
package/test/asserter.js DELETED
@@ -1,45 +0,0 @@
1
- "use strict";
2
- /**
3
- * A simple asserter-class for writing canaries without dependency to testing-libraries.
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Asserter = void 0;
7
- class Asserter {
8
- static assertEquals(value, expected) {
9
- if (value != expected) {
10
- throw new Error(`Given value ${value} was not expected ${expected}`);
11
- }
12
- }
13
- static assertTrue(value) {
14
- if (!value) {
15
- throw new Error(`Given value ${value} was not true`);
16
- }
17
- }
18
- static assertLength(data, expected) {
19
- if (!data) {
20
- throw new Error("Given array was not defined");
21
- }
22
- if (data.length != expected) {
23
- throw new Error(`Given array length ${data.length} was not expected ${expected}`);
24
- }
25
- }
26
- static assertLengthGreaterThan(data, expected) {
27
- if (!data) {
28
- throw new Error("Given array was not defined");
29
- }
30
- if (data.length <= expected) {
31
- throw new Error(`Given array length ${data.length} was not greater than ${expected}`);
32
- }
33
- }
34
- static assertGreaterThan(value, expected) {
35
- if (value <= expected) {
36
- throw new Error(`Value ${value} was expected to be greater than ${expected}`);
37
- }
38
- }
39
- static assertToBeCloseTo(value, expected, delta) {
40
- expect(expected - value).toBeGreaterThanOrEqual(-1 * delta);
41
- expect(expected - value).toBeLessThanOrEqual(delta);
42
- }
43
- }
44
- exports.Asserter = Asserter;
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC9hc3NlcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQUVILE1BQXNCLFFBQVE7SUFDMUIsTUFBTSxDQUFDLFlBQVksQ0FBSSxLQUFRLEVBQUUsUUFBVztRQUN4QyxJQUFJLEtBQUssSUFBSSxRQUFRLEVBQUU7WUFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLEtBQUsscUJBQXFCLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDeEU7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBSSxLQUFRO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDUixNQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsS0FBSyxlQUFlLENBQUMsQ0FBQztTQUN4RDtJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFJLElBQVMsRUFBRSxRQUFnQjtRQUM5QyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1AsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1NBQ2xEO1FBRUQsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLFFBQVEsRUFBRTtZQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixJQUFJLENBQUMsTUFBTSxxQkFBcUIsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUNyRjtJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsdUJBQXVCLENBQUksSUFBUyxFQUFFLFFBQWdCO1FBQ3pELElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7U0FDbEQ7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksUUFBUSxFQUFFO1lBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLElBQUksQ0FBQyxNQUFNLHlCQUF5QixRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQ3pGO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFhLEVBQUUsUUFBZ0I7UUFDcEQsSUFBSSxLQUFLLElBQUksUUFBUSxFQUFFO1lBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMsU0FBUyxLQUFLLG9DQUFvQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQ2pGO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFhLEVBQUUsUUFBZ0IsRUFBRSxLQUFhO1FBQ25FLE1BQU0sQ0FBQyxRQUFRLEdBQUMsS0FBSyxDQUFDLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFDMUQsTUFBTSxDQUFDLFFBQVEsR0FBQyxLQUFLLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0RCxDQUFDO0NBQ0o7QUEzQ0QsNEJBMkNDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBIHNpbXBsZSBhc3NlcnRlci1jbGFzcyBmb3Igd3JpdGluZyBjYW5hcmllcyB3aXRob3V0IGRlcGVuZGVuY3kgdG8gdGVzdGluZy1saWJyYXJpZXMuXG4gKi9cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFzc2VydGVyIHtcbiAgICBzdGF0aWMgYXNzZXJ0RXF1YWxzPFQ+KHZhbHVlOiBULCBleHBlY3RlZDogVCkge1xuICAgICAgICBpZiAodmFsdWUgIT0gZXhwZWN0ZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgR2l2ZW4gdmFsdWUgJHt2YWx1ZX0gd2FzIG5vdCBleHBlY3RlZCAke2V4cGVjdGVkfWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3RhdGljIGFzc2VydFRydWU8VD4odmFsdWU6IFQpIHtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBHaXZlbiB2YWx1ZSAke3ZhbHVlfSB3YXMgbm90IHRydWVgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRpYyBhc3NlcnRMZW5ndGg8VD4oZGF0YTogVFtdLCBleHBlY3RlZDogbnVtYmVyKSB7XG4gICAgICAgIGlmICghZGF0YSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiR2l2ZW4gYXJyYXkgd2FzIG5vdCBkZWZpbmVkXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGRhdGEubGVuZ3RoICE9IGV4cGVjdGVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEdpdmVuIGFycmF5IGxlbmd0aCAke2RhdGEubGVuZ3RofSB3YXMgbm90IGV4cGVjdGVkICR7ZXhwZWN0ZWR9YCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgYXNzZXJ0TGVuZ3RoR3JlYXRlclRoYW48VD4oZGF0YTogVFtdLCBleHBlY3RlZDogbnVtYmVyKSB7XG4gICAgICAgIGlmICghZGF0YSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiR2l2ZW4gYXJyYXkgd2FzIG5vdCBkZWZpbmVkXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGRhdGEubGVuZ3RoIDw9IGV4cGVjdGVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEdpdmVuIGFycmF5IGxlbmd0aCAke2RhdGEubGVuZ3RofSB3YXMgbm90IGdyZWF0ZXIgdGhhbiAke2V4cGVjdGVkfWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3RhdGljIGFzc2VydEdyZWF0ZXJUaGFuKHZhbHVlOiBudW1iZXIsIGV4cGVjdGVkOiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHZhbHVlIDw9IGV4cGVjdGVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFZhbHVlICR7dmFsdWV9IHdhcyBleHBlY3RlZCB0byBiZSBncmVhdGVyIHRoYW4gJHtleHBlY3RlZH1gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRpYyBhc3NlcnRUb0JlQ2xvc2VUbyh2YWx1ZTogbnVtYmVyLCBleHBlY3RlZDogbnVtYmVyLCBkZWx0YTogbnVtYmVyKSB7XG4gICAgICAgIGV4cGVjdChleHBlY3RlZC12YWx1ZSkudG9CZUdyZWF0ZXJUaGFuT3JFcXVhbCgtMSAqIGRlbHRhKTtcbiAgICAgICAgZXhwZWN0KGV4cGVjdGVkLXZhbHVlKS50b0JlTGVzc1RoYW5PckVxdWFsKGRlbHRhKTtcbiAgICB9XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- import { DTDatabase } from "../database/database";
2
- export declare function dbTestBase(fn: (db: DTDatabase) => void, truncateFn: (db: DTDatabase) => Promise<void>, dbUser: string, dbPass: string, dbUri: string): () => void;
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.dbTestBase = void 0;
4
- const database_1 = require("../database/database");
5
- const dbsecret_1 = require("../aws/runtime/secrets/dbsecret");
6
- function dbTestBase(fn, truncateFn, dbUser, dbPass, dbUri) {
7
- const theDbUri = process.env.DB_URI ?? dbUri;
8
- console.log(`Test database URI: ${theDbUri}`);
9
- return () => {
10
- const db = (0, database_1.initDbConnection)(dbUser, dbPass, "test", theDbUri, {
11
- noWarnings: true, // ignore duplicate connection warning for tests
12
- });
13
- beforeAll(async () => {
14
- process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_USER] = dbUser;
15
- process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_PASS] = dbPass;
16
- process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_URI] = theDbUri;
17
- process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_RO_URI] = theDbUri;
18
- await truncateFn(db);
19
- });
20
- afterAll(async () => {
21
- await truncateFn(db);
22
- await db.$pool.end();
23
- });
24
- beforeEach(async () => {
25
- await truncateFn(db);
26
- });
27
- fn(db);
28
- };
29
- }
30
- exports.dbTestBase = dbTestBase;
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGItdGVzdHV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3QvZGItdGVzdHV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUFvRTtBQUNwRSw4REFBMEU7QUFFMUUsU0FBZ0IsVUFBVSxDQUN0QixFQUE0QixFQUM1QixVQUE2QyxFQUM3QyxNQUFjLEVBQ2QsTUFBYyxFQUNkLEtBQWE7SUFFYixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUM7SUFDN0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUU5QyxPQUFPLEdBQUcsRUFBRTtRQUNSLE1BQU0sRUFBRSxHQUFlLElBQUEsMkJBQWdCLEVBQ25DLE1BQU0sRUFDTixNQUFNLEVBQ04sTUFBTSxFQUNOLFFBQVEsRUFDUjtZQUNJLFVBQVUsRUFBRSxJQUFJLEVBQUUsZ0RBQWdEO1NBQ3JFLENBQ0osQ0FBQztRQUVGLFNBQVMsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUNqQixPQUFPLENBQUMsR0FBRyxDQUFDLGtDQUF1QixDQUFDLE9BQU8sQ0FBQyxHQUFHLE1BQU0sQ0FBQztZQUN0RCxPQUFPLENBQUMsR0FBRyxDQUFDLGtDQUF1QixDQUFDLE9BQU8sQ0FBQyxHQUFHLE1BQU0sQ0FBQztZQUN0RCxPQUFPLENBQUMsR0FBRyxDQUFDLGtDQUF1QixDQUFDLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQztZQUN2RCxPQUFPLENBQUMsR0FBRyxDQUFDLGtDQUF1QixDQUFDLFNBQVMsQ0FBQyxHQUFHLFFBQVEsQ0FBQztZQUMxRCxNQUFNLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztRQUVILFFBQVEsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUNoQixNQUFNLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNyQixNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7UUFFSCxVQUFVLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDbEIsTUFBTSxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDWCxDQUFDLENBQUM7QUFDTixDQUFDO0FBeENELGdDQXdDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERURGF0YWJhc2UsIGluaXREYkNvbm5lY3Rpb24gfSBmcm9tIFwiLi4vZGF0YWJhc2UvZGF0YWJhc2VcIjtcbmltcG9ydCB7IERhdGFiYXNlRW52aXJvbm1lbnRLZXlzIH0gZnJvbSBcIi4uL2F3cy9ydW50aW1lL3NlY3JldHMvZGJzZWNyZXRcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGRiVGVzdEJhc2UoXG4gICAgZm46IChkYjogRFREYXRhYmFzZSkgPT4gdm9pZCxcbiAgICB0cnVuY2F0ZUZuOiAoZGI6IERURGF0YWJhc2UpID0+IFByb21pc2U8dm9pZD4sXG4gICAgZGJVc2VyOiBzdHJpbmcsXG4gICAgZGJQYXNzOiBzdHJpbmcsXG4gICAgZGJVcmk6IHN0cmluZ1xuKTogKCkgPT4gdm9pZCB7XG4gICAgY29uc3QgdGhlRGJVcmkgPSBwcm9jZXNzLmVudi5EQl9VUkkgPz8gZGJVcmk7XG4gICAgY29uc29sZS5sb2coYFRlc3QgZGF0YWJhc2UgVVJJOiAke3RoZURiVXJpfWApO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgY29uc3QgZGI6IERURGF0YWJhc2UgPSBpbml0RGJDb25uZWN0aW9uKFxuICAgICAgICAgICAgZGJVc2VyLFxuICAgICAgICAgICAgZGJQYXNzLFxuICAgICAgICAgICAgXCJ0ZXN0XCIsXG4gICAgICAgICAgICB0aGVEYlVyaSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBub1dhcm5pbmdzOiB0cnVlLCAvLyBpZ25vcmUgZHVwbGljYXRlIGNvbm5lY3Rpb24gd2FybmluZyBmb3IgdGVzdHNcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgICBiZWZvcmVBbGwoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgcHJvY2Vzcy5lbnZbRGF0YWJhc2VFbnZpcm9ubWVudEtleXMuREJfVVNFUl0gPSBkYlVzZXI7XG4gICAgICAgICAgICBwcm9jZXNzLmVudltEYXRhYmFzZUVudmlyb25tZW50S2V5cy5EQl9QQVNTXSA9IGRiUGFzcztcbiAgICAgICAgICAgIHByb2Nlc3MuZW52W0RhdGFiYXNlRW52aXJvbm1lbnRLZXlzLkRCX1VSSV0gPSB0aGVEYlVyaTtcbiAgICAgICAgICAgIHByb2Nlc3MuZW52W0RhdGFiYXNlRW52aXJvbm1lbnRLZXlzLkRCX1JPX1VSSV0gPSB0aGVEYlVyaTtcbiAgICAgICAgICAgIGF3YWl0IHRydW5jYXRlRm4oZGIpO1xuICAgICAgICB9KTtcblxuICAgICAgICBhZnRlckFsbChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBhd2FpdCB0cnVuY2F0ZUZuKGRiKTtcbiAgICAgICAgICAgIGF3YWl0IGRiLiRwb29sLmVuZCgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBiZWZvcmVFYWNoKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGF3YWl0IHRydW5jYXRlRm4oZGIpO1xuICAgICAgICB9KTtcblxuICAgICAgICBmbihkYik7XG4gICAgfTtcbn1cbiJdfQ==
@@ -1,18 +0,0 @@
1
- export declare const ERROR_NO_MATCH = "NO MATCH";
2
- export declare const ERRORCODE_NOT_FOUND = 404;
3
- /**
4
- * A mock HTTP server created for testing connections from a Lambda to an outside integration
5
- */
6
- export declare class TestHttpServer {
7
- private server;
8
- private debug;
9
- private messageStack;
10
- getCallCount(): number;
11
- getRequestBody(callNumber: number): string;
12
- listen(port: number, props: ListenProperties, debug?: boolean, statusCode?: number): void;
13
- close(): void;
14
- private debuglog;
15
- }
16
- export interface ListenProperties {
17
- [key: string]: (url?: string, data?: string) => string;
18
- }
@@ -1,67 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TestHttpServer = exports.ERRORCODE_NOT_FOUND = exports.ERROR_NO_MATCH = void 0;
4
- const http_1 = require("http");
5
- exports.ERROR_NO_MATCH = "NO MATCH";
6
- exports.ERRORCODE_NOT_FOUND = 404;
7
- /**
8
- * A mock HTTP server created for testing connections from a Lambda to an outside integration
9
- */
10
- class TestHttpServer {
11
- getCallCount() {
12
- return this.messageStack.length;
13
- }
14
- getRequestBody(callNumber) {
15
- return this.messageStack[callNumber];
16
- }
17
- listen(port, props, debug = false, statusCode = 200) {
18
- this.debug = debug;
19
- this.messageStack = [];
20
- this.debuglog(`Starting test server on port ${port}`);
21
- this.server = (0, http_1.createServer)(((req, res) => {
22
- this.debuglog('Mapped urls: ');
23
- Object.keys(props).forEach(k => this.debuglog(k));
24
- this.debuglog('Received request to url ' + req.url + '..');
25
- // eslint-disable-next-line @typescript-eslint/no-var-requires
26
- const path = require('url').parse(req.url).pathname;
27
- let dataStr = '';
28
- req.on('data', chunk => {
29
- if (chunk) {
30
- dataStr += chunk;
31
- }
32
- });
33
- if (path in props) {
34
- this.debuglog('..url matched');
35
- res.setHeader('Access-Control-Allow-Origin', '*');
36
- res.setHeader('Access-Control-Allow-Headers', 'Authorization,X-User-Id,X-Auth-Token');
37
- res.writeHead(statusCode);
38
- req.on('end', () => {
39
- // assume sent data is in JSON format
40
- this.messageStack[this.messageStack.length] = dataStr;
41
- res.end(props[path](req.url, dataStr));
42
- });
43
- }
44
- else {
45
- this.debuglog('..no match for %' + path);
46
- req.on('end', () => {
47
- // assume sent data is in JSON format
48
- this.messageStack[this.messageStack.length] = exports.ERROR_NO_MATCH;
49
- res.writeHead(exports.ERRORCODE_NOT_FOUND);
50
- res.end(exports.ERROR_NO_MATCH);
51
- });
52
- }
53
- }));
54
- this.server.listen(port);
55
- }
56
- close() {
57
- this.debuglog('Closing test server');
58
- this.server.close();
59
- }
60
- debuglog(str) {
61
- if (this.debug) {
62
- console.debug(str);
63
- }
64
- }
65
- }
66
- exports.TestHttpServer = TestHttpServer;
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cHNlcnZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0L2h0dHBzZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQTBDO0FBRTdCLFFBQUEsY0FBYyxHQUFDLFVBQVUsQ0FBQztBQUMxQixRQUFBLG1CQUFtQixHQUFDLEdBQUcsQ0FBQztBQUVyQzs7R0FFRztBQUNILE1BQWEsY0FBYztJQU12QixZQUFZO1FBQ1IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztJQUNwQyxDQUFDO0lBRUQsY0FBYyxDQUFDLFVBQWtCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQVksRUFBRSxLQUF1QixFQUFFLEtBQUssR0FBRSxLQUFLLEVBQUUsVUFBVSxHQUFHLEdBQUc7UUFDeEUsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQ0FBZ0MsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUEsbUJBQVksRUFBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7WUFFL0IsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLFFBQVEsQ0FBQywwQkFBMEIsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDO1lBQzNELDhEQUE4RDtZQUM5RCxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUM7WUFFcEQsSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2pCLEdBQUcsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFO2dCQUNuQixJQUFJLEtBQUssRUFBRTtvQkFDUCxPQUFPLElBQUksS0FBSyxDQUFDO2lCQUNwQjtZQUNMLENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxJQUFJLElBQUksS0FBSyxFQUFFO2dCQUNmLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQy9CLEdBQUcsQ0FBQyxTQUFTLENBQUMsNkJBQTZCLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ2xELEdBQUcsQ0FBQyxTQUFTLENBQUMsOEJBQThCLEVBQUUsc0NBQXNDLENBQUMsQ0FBQztnQkFDdEYsR0FBRyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFFMUIsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFO29CQUNmLHFDQUFxQztvQkFDckMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQztvQkFDdEQsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUMzQyxDQUFDLENBQUMsQ0FBQzthQUNOO2lCQUFNO2dCQUNILElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLENBQUM7Z0JBQ3pDLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRTtvQkFDZixxQ0FBcUM7b0JBQ3JDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsR0FBRyxzQkFBYyxDQUFDO29CQUM3RCxHQUFHLENBQUMsU0FBUyxDQUFDLDJCQUFtQixDQUFDLENBQUM7b0JBQ25DLEdBQUcsQ0FBQyxHQUFHLENBQUMsc0JBQWMsQ0FBQyxDQUFDO2dCQUM1QixDQUFDLENBQUMsQ0FBQzthQUNOO1FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNKLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxLQUFLO1FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVPLFFBQVEsQ0FBQyxHQUFXO1FBQ3hCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNaLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDdEI7SUFDTCxDQUFDO0NBQ0o7QUFuRUQsd0NBbUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTZXJ2ZXIsIGNyZWF0ZVNlcnZlcn0gZnJvbSAnaHR0cCc7XG5cbmV4cG9ydCBjb25zdCBFUlJPUl9OT19NQVRDSD1cIk5PIE1BVENIXCI7XG5leHBvcnQgY29uc3QgRVJST1JDT0RFX05PVF9GT1VORD00MDQ7XG5cbi8qKlxuICogQSBtb2NrIEhUVFAgc2VydmVyIGNyZWF0ZWQgZm9yIHRlc3RpbmcgY29ubmVjdGlvbnMgZnJvbSBhIExhbWJkYSB0byBhbiBvdXRzaWRlIGludGVncmF0aW9uXG4gKi9cbmV4cG9ydCBjbGFzcyBUZXN0SHR0cFNlcnZlciB7XG4gICAgcHJpdmF0ZSBzZXJ2ZXI6IFNlcnZlcjtcbiAgICBwcml2YXRlIGRlYnVnOiBib29sZWFuO1xuXG4gICAgcHJpdmF0ZSBtZXNzYWdlU3RhY2s6IHN0cmluZ1tdO1xuXG4gICAgZ2V0Q2FsbENvdW50KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm1lc3NhZ2VTdGFjay5sZW5ndGg7XG4gICAgfVxuXG4gICAgZ2V0UmVxdWVzdEJvZHkoY2FsbE51bWJlcjogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWVzc2FnZVN0YWNrW2NhbGxOdW1iZXJdO1xuICAgIH1cblxuICAgIGxpc3Rlbihwb3J0OiBudW1iZXIsIHByb3BzOiBMaXN0ZW5Qcm9wZXJ0aWVzLCBkZWJ1Zz0gZmFsc2UsIHN0YXR1c0NvZGUgPSAyMDApIHtcbiAgICAgICAgdGhpcy5kZWJ1ZyA9IGRlYnVnO1xuICAgICAgICB0aGlzLm1lc3NhZ2VTdGFjayA9IFtdO1xuICAgICAgICB0aGlzLmRlYnVnbG9nKGBTdGFydGluZyB0ZXN0IHNlcnZlciBvbiBwb3J0ICR7cG9ydH1gKTtcbiAgICAgICAgdGhpcy5zZXJ2ZXIgPSBjcmVhdGVTZXJ2ZXIoKChyZXEsIHJlcykgPT4ge1xuICAgICAgICAgICAgdGhpcy5kZWJ1Z2xvZygnTWFwcGVkIHVybHM6ICcpO1xuXG4gICAgICAgICAgICBPYmplY3Qua2V5cyhwcm9wcykuZm9yRWFjaChrID0+IHRoaXMuZGVidWdsb2coaykpO1xuICAgICAgICAgICAgdGhpcy5kZWJ1Z2xvZygnUmVjZWl2ZWQgcmVxdWVzdCB0byB1cmwgJyArIHJlcS51cmwgKyAnLi4nKTtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdmFyLXJlcXVpcmVzXG4gICAgICAgICAgICBjb25zdCBwYXRoID0gcmVxdWlyZSgndXJsJykucGFyc2UocmVxLnVybCkucGF0aG5hbWU7XG5cbiAgICAgICAgICAgIGxldCBkYXRhU3RyID0gJyc7XG4gICAgICAgICAgICByZXEub24oJ2RhdGEnLCBjaHVuayA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGNodW5rKSB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGFTdHIgKz0gY2h1bms7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGlmIChwYXRoIGluIHByb3BzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kZWJ1Z2xvZygnLi51cmwgbWF0Y2hlZCcpO1xuICAgICAgICAgICAgICAgIHJlcy5zZXRIZWFkZXIoJ0FjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbicsICcqJyk7XG4gICAgICAgICAgICAgICAgcmVzLnNldEhlYWRlcignQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycycsICdBdXRob3JpemF0aW9uLFgtVXNlci1JZCxYLUF1dGgtVG9rZW4nKTtcbiAgICAgICAgICAgICAgICByZXMud3JpdGVIZWFkKHN0YXR1c0NvZGUpO1xuXG4gICAgICAgICAgICAgICAgcmVxLm9uKCdlbmQnLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGFzc3VtZSBzZW50IGRhdGEgaXMgaW4gSlNPTiBmb3JtYXRcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlU3RhY2tbdGhpcy5tZXNzYWdlU3RhY2subGVuZ3RoXSA9IGRhdGFTdHI7XG4gICAgICAgICAgICAgICAgICAgIHJlcy5lbmQocHJvcHNbcGF0aF0ocmVxLnVybCwgZGF0YVN0cikpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRlYnVnbG9nKCcuLm5vIG1hdGNoIGZvciAlJyArIHBhdGgpO1xuICAgICAgICAgICAgICAgIHJlcS5vbignZW5kJywgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBhc3N1bWUgc2VudCBkYXRhIGlzIGluIEpTT04gZm9ybWF0XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZVN0YWNrW3RoaXMubWVzc2FnZVN0YWNrLmxlbmd0aF0gPSBFUlJPUl9OT19NQVRDSDtcbiAgICAgICAgICAgICAgICAgICAgcmVzLndyaXRlSGVhZChFUlJPUkNPREVfTk9UX0ZPVU5EKTtcbiAgICAgICAgICAgICAgICAgICAgcmVzLmVuZChFUlJPUl9OT19NQVRDSCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pKTtcbiAgICAgICAgdGhpcy5zZXJ2ZXIubGlzdGVuKHBvcnQpO1xuICAgIH1cblxuICAgIGNsb3NlKCkge1xuICAgICAgICB0aGlzLmRlYnVnbG9nKCdDbG9zaW5nIHRlc3Qgc2VydmVyJyk7XG4gICAgICAgIHRoaXMuc2VydmVyLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZWJ1Z2xvZyhzdHI6IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy5kZWJ1Zykge1xuICAgICAgICAgICAgY29uc29sZS5kZWJ1ZyhzdHIpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RlblByb3BlcnRpZXMge1xuICAgIFtrZXk6c3RyaW5nXTogKHVybD86IHN0cmluZywgZGF0YT86IHN0cmluZykgPT4gc3RyaW5nO1xufVxuIl19
package/test/secret.d.ts DELETED
@@ -1,3 +0,0 @@
1
- import { EmptySecretFunction, SecretFunction } from "../aws/runtime/secrets/dbsecret";
2
- export declare function createSecretFunction<Secret, Response>(secret: Secret): SecretFunction<Secret, Response>;
3
- export declare function createEmptySecretFunction<Response>(): EmptySecretFunction<Response>;
package/test/secret.js DELETED
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createEmptySecretFunction = exports.createSecretFunction = void 0;
4
- const EMPTY_DB_SECRET = {
5
- username: '',
6
- password: '',
7
- host: '',
8
- // eslint-disable-next-line camelcase
9
- ro_host: '',
10
- };
11
- function createSecretFunction(secret) {
12
- // eslint-disable-next-line require-await
13
- return async (secretId, fn) => {
14
- return fn(secret);
15
- };
16
- }
17
- exports.createSecretFunction = createSecretFunction;
18
- function createEmptySecretFunction() {
19
- // eslint-disable-next-line require-await
20
- return async (secretId, fn) => {
21
- return fn(EMPTY_DB_SECRET);
22
- };
23
- }
24
- exports.createEmptySecretFunction = createEmptySecretFunction;
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcmV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3Qvc2VjcmV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLE1BQU0sZUFBZSxHQUFhO0lBQzlCLFFBQVEsRUFBRSxFQUFFO0lBQ1osUUFBUSxFQUFFLEVBQUU7SUFDWixJQUFJLEVBQUUsRUFBRTtJQUNSLHFDQUFxQztJQUNyQyxPQUFPLEVBQUUsRUFBRTtDQUNkLENBQUM7QUFFRixTQUFnQixvQkFBb0IsQ0FBbUIsTUFBYztJQUNqRSx5Q0FBeUM7SUFDekMsT0FBTyxLQUFLLEVBQUUsUUFBZ0IsRUFBRSxFQUE2QyxFQUFFLEVBQUU7UUFDN0UsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEIsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUxELG9EQUtDO0FBRUQsU0FBZ0IseUJBQXlCO0lBQ3JDLHlDQUF5QztJQUN6QyxPQUFPLEtBQUssRUFBRSxRQUFnQixFQUFFLEVBQStDLEVBQUUsRUFBRTtRQUMvRSxPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMvQixDQUFDLENBQUM7QUFDTixDQUFDO0FBTEQsOERBS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RiU2VjcmV0LCBFbXB0eVNlY3JldEZ1bmN0aW9uLCBTZWNyZXRGdW5jdGlvbiwgU2VjcmV0VG9Qcm9taXNlRnVuY3Rpb259IGZyb20gXCIuLi9hd3MvcnVudGltZS9zZWNyZXRzL2Ric2VjcmV0XCI7XG5cbmNvbnN0IEVNUFRZX0RCX1NFQ1JFVDogRGJTZWNyZXQgPSB7XG4gICAgdXNlcm5hbWU6ICcnLFxuICAgIHBhc3N3b3JkOiAnJyxcbiAgICBob3N0OiAnJyxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY2FtZWxjYXNlXG4gICAgcm9faG9zdDogJycsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2VjcmV0RnVuY3Rpb248U2VjcmV0LCBSZXNwb25zZT4oc2VjcmV0OiBTZWNyZXQpOiBTZWNyZXRGdW5jdGlvbjxTZWNyZXQsIFJlc3BvbnNlPiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlcXVpcmUtYXdhaXRcbiAgICByZXR1cm4gYXN5bmMgKHNlY3JldElkOiBzdHJpbmcsIGZuOiBTZWNyZXRUb1Byb21pc2VGdW5jdGlvbjxTZWNyZXQsIFJlc3BvbnNlPikgPT4ge1xuICAgICAgICByZXR1cm4gZm4oc2VjcmV0KTtcbiAgICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRW1wdHlTZWNyZXRGdW5jdGlvbjxSZXNwb25zZT4oKTogRW1wdHlTZWNyZXRGdW5jdGlvbjxSZXNwb25zZT4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZXF1aXJlLWF3YWl0XG4gICAgcmV0dXJuIGFzeW5jIChzZWNyZXRJZDogc3RyaW5nLCBmbjogU2VjcmV0VG9Qcm9taXNlRnVuY3Rpb248RGJTZWNyZXQsIFJlc3BvbnNlPikgPT4ge1xuICAgICAgICByZXR1cm4gZm4oRU1QVFlfREJfU0VDUkVUKTtcbiAgICB9O1xufVxuIl19
@@ -1,9 +0,0 @@
1
- import * as sinon from "sinon";
2
- /**
3
- * Stub Secrets Manager for tests. You must call this
4
- * before you instantiate Secrets Manager(this might happen when you import the function that uses Secrets Manager).
5
- *
6
- * To mock the actual secret, call mockSecret()
7
- */
8
- export declare function stubSecretsManager(): sinon.SinonStub<any[], any>;
9
- export declare function mockSecret<Secret>(secret: Secret): void;