@digitraffic/common 2022.10.5 → 2022.10.7-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 (92) hide show
  1. package/README.md +49 -0
  2. package/aws/index.d.ts +1 -0
  3. package/aws/index.js +18 -0
  4. package/aws/infra/api/index.d.ts +1 -0
  5. package/aws/infra/api/index.js +18 -0
  6. package/aws/infra/api/responses.js +1 -1
  7. package/aws/infra/stack/lambda-configs.js +1 -1
  8. package/aws/infra/stack/rest_apis.d.ts +1 -0
  9. package/aws/infra/stack/rest_apis.js +8 -2
  10. package/aws/infra/stack/stack.d.ts +4 -1
  11. package/aws/infra/stack/stack.js +1 -1
  12. package/aws/infra/usage-plans.js +1 -1
  13. package/aws/types/errors.js +1 -1
  14. package/aws/types/tags.js +1 -1
  15. package/database/last-updated.js +10 -10
  16. package/package.json +27 -13
  17. package/test/httpserver.js +1 -1
  18. package/types/index.d.ts +1 -0
  19. package/types/index.js +18 -0
  20. package/types/language.js +1 -1
  21. package/utils/geometry.js +1 -1
  22. package/src/aws/infra/api/integration.js +0 -52
  23. package/src/aws/infra/api/response.js +0 -61
  24. package/src/aws/infra/api/responses.js +0 -79
  25. package/src/aws/infra/api/static-integration.js +0 -54
  26. package/src/aws/infra/canaries/canary-alarm.js +0 -26
  27. package/src/aws/infra/canaries/canary-parameters.js +0 -3
  28. package/src/aws/infra/canaries/canary-role.js +0 -46
  29. package/src/aws/infra/canaries/canary.js +0 -29
  30. package/src/aws/infra/canaries/database-canary.js +0 -55
  31. package/src/aws/infra/canaries/database-checker.js +0 -109
  32. package/src/aws/infra/canaries/url-canary.js +0 -46
  33. package/src/aws/infra/canaries/url-checker.js +0 -238
  34. package/src/aws/infra/documentation.js +0 -95
  35. package/src/aws/infra/scheduler.js +0 -31
  36. package/src/aws/infra/security-rule.js +0 -39
  37. package/src/aws/infra/sqs-integration.js +0 -93
  38. package/src/aws/infra/sqs-queue.js +0 -130
  39. package/src/aws/infra/stack/lambda-configs.js +0 -93
  40. package/src/aws/infra/stack/monitoredfunction.js +0 -135
  41. package/src/aws/infra/stack/rest_apis.js +0 -179
  42. package/src/aws/infra/stack/stack-checking-aspect.js +0 -163
  43. package/src/aws/infra/stack/stack.js +0 -58
  44. package/src/aws/infra/stack/subscription.js +0 -41
  45. package/src/aws/infra/usage-plans.js +0 -42
  46. package/src/aws/runtime/apikey.js +0 -13
  47. package/src/aws/runtime/digitraffic-integration-response.js +0 -26
  48. package/src/aws/runtime/messaging.js +0 -31
  49. package/src/aws/runtime/s3.js +0 -30
  50. package/src/aws/runtime/secrets/dbsecret.js +0 -96
  51. package/src/aws/runtime/secrets/proxy-holder.js +0 -26
  52. package/src/aws/runtime/secrets/rds-holder.js +0 -26
  53. package/src/aws/runtime/secrets/secret-holder.js +0 -73
  54. package/src/aws/runtime/secrets/secret.js +0 -43
  55. package/src/aws/types/errors.js +0 -9
  56. package/src/aws/types/lambda-response.js +0 -28
  57. package/src/aws/types/mediatypes.js +0 -15
  58. package/src/aws/types/model-with-reference.js +0 -3
  59. package/src/aws/types/proxytypes.js +0 -3
  60. package/src/aws/types/tags.js +0 -7
  61. package/src/database/cached.js +0 -32
  62. package/src/database/database.js +0 -62
  63. package/src/database/last-updated.js +0 -54
  64. package/src/marine/id_utils.js +0 -33
  65. package/src/marine/rtz.js +0 -3
  66. package/src/test/asserter.js +0 -45
  67. package/src/test/db-testutils.js +0 -31
  68. package/src/test/httpserver.js +0 -67
  69. package/src/test/secret.js +0 -25
  70. package/src/test/secrets-manager.js +0 -59
  71. package/src/test/testutils.js +0 -44
  72. package/src/types/input-error.js +0 -7
  73. package/src/types/language.js +0 -10
  74. package/src/types/traffictype.js +0 -13
  75. package/src/types/validator.js +0 -14
  76. package/src/utils/api-model.js +0 -129
  77. package/src/utils/base64.js +0 -21
  78. package/src/utils/date-utils.js +0 -34
  79. package/src/utils/geojson-types.js +0 -18
  80. package/src/utils/geometry.js +0 -140
  81. package/src/utils/retry.js +0 -50
  82. package/src/utils/slack.js +0 -25
  83. package/src/utils/utils.js +0 -40
  84. package/test/marine/id_utils.test.js +0 -69
  85. package/test/promise/promise.test.js +0 -125
  86. package/test/secrets/dbsecret.test.js +0 -71
  87. package/test/secrets/secret-holder.test.js +0 -124
  88. package/test/secrets/secret.test.js +0 -66
  89. package/test/test/httpserver.test.js +0 -87
  90. package/test/utils/date-utils.test.js +0 -51
  91. package/test/utils/geometry.test.js +0 -49
  92. package/test/utils/utils.test.js +0 -49
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFzdC11cGRhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RhdGFiYXNlL2xhc3QtdXBkYXRlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxJQUFZLFFBUVg7QUFSRCxXQUFZLFFBQVE7SUFDaEIsbUNBQXFCLENBQUE7SUFDckIsdURBQXlDLENBQUE7SUFDekMsK0RBQWlELENBQUE7SUFDakQsMkVBQTZELENBQUE7SUFDN0QsbUZBQXFFLENBQUE7SUFDckUsdUNBQXlCLENBQUE7SUFDekIsbURBQXFDLENBQUE7QUFDekMsQ0FBQyxFQVJXLFFBQVEsR0FBUixnQkFBUSxLQUFSLGdCQUFRLFFBUW5CO0FBRUQsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDO0FBTTFCLFNBQWdCLGNBQWMsQ0FBQyxFQUFjLEVBQUUsUUFBa0I7SUFDN0QsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLHFGQUFxRixFQUFFO1FBQ3ZHLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLGFBQWE7S0FDN0MsRUFBRSxDQUFDLENBQW1CLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLENBQUM7QUFDcEQsQ0FBQztBQUpELHdDQUlDO0FBRUQsU0FBZ0IseUJBQXlCLENBQUMsRUFBYyxFQUFFLFFBQWtCLEVBQUUsT0FBZTtJQUN6RixPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMscUZBQXFGLEVBQUU7UUFDdkcsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTztLQUN2QyxFQUFFLENBQUMsQ0FBbUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLE9BQU8sSUFBSSxJQUFJLENBQUMsQ0FBQztBQUNwRCxDQUFDO0FBSkQsOERBSUM7QUFFRCxTQUFnQixpQkFBaUIsQ0FBQyxFQUE4QixFQUFFLFFBQWtCLEVBQUUsT0FBYTtJQUMvRixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUM7OztvQ0FHaUIsRUFDaEMsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztBQUMzQixDQUFDO0FBTkQsOENBTUM7QUFFRCxTQUFnQiw0QkFBNEIsQ0FBQyxFQUE4QixFQUFFLFFBQWtCLEVBQUUsT0FBZSxFQUFFLE9BQWE7SUFDM0gsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDOzs7b0NBR2lCLEVBQ2hDLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0FBQ3BDLENBQUM7QUFORCxvRUFNQztBQUVELFNBQWdCLG1CQUFtQixDQUFDLEVBQWMsRUFBRSxRQUFnQjtJQUNoRSxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsc0ZBQXNGLEVBQUU7UUFDeEcsUUFBUSxFQUFFLFFBQVE7S0FDckIsRUFBRSxDQUFDLENBQW1CLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLENBQUM7QUFDcEQsQ0FBQztBQUpELGtEQUlDO0FBRUQsU0FBZ0Isc0JBQXNCLENBQUMsRUFBOEIsRUFBRSxRQUFnQixFQUFFLElBQVUsRUFBRSxFQUFFLEdBQUcsRUFBRTtJQUN4RyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUM7Ozt5REFHc0MsRUFDckQsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDNUIsQ0FBQztBQU5ELHdEQU1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEVERhdGFiYXNlLCBEVFRyYW5zYWN0aW9ufSBmcm9tIFwiLi9kYXRhYmFzZVwiO1xyXG5cclxuZXhwb3J0IGVudW0gRGF0YVR5cGUge1xyXG4gICAgVlNfREFURVgyPVwiVlNfREFURVgyXCIsXHJcbiAgICBDT1VOVElOR19TSVRFU19EQVRBPVwiQ09VTlRJTkdfU0lURVNfREFUQVwiLFxyXG4gICAgQ09VTlRJTkdfU0lURVNfTUVUQURBVEE9XCJDT1VOVElOR19TSVRFU19NRVRBREFUQVwiLFxyXG4gICAgQ09VTlRJTkdfU0lURVNfTUVUQURBVEFfQ0hFQ0s9XCJDT1VOVElOR19TSVRFU19NRVRBREFUQV9DSEVDS1wiLFxyXG4gICAgTUFJTlRFTkFOQ0VfVFJBQ0tJTkdfREFUQV9DSEVDS0VEPVwiTUFJTlRFTkFOQ0VfVFJBQ0tJTkdfREFUQV9DSEVDS0VEXCIsXHJcbiAgICBQRVJNSVRfREFUQT1cIlBFUk1JVF9EQVRBXCIsXHJcbiAgICBQRVJNSVRfREFUQV9DSEVDSz1cIlBFUk1JVF9EQVRBX0NIRUNLXCIsXHJcbn1cclxuXHJcbmNvbnN0IFVOU0VUX1NVQlRZUEUgPSAnLSc7XHJcblxyXG50eXBlIFVwZGF0ZWRUaW1lc3RhbXAgPSB7XHJcbiAgICB1cGRhdGVkOiBEYXRlXHJcbn0gfCBudWxsO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldExhc3RVcGRhdGVkKGRiOiBEVERhdGFiYXNlLCBkYXRhdHlwZTogRGF0YVR5cGUpOiBQcm9taXNlPERhdGUgfCBudWxsPiB7XHJcbiAgICByZXR1cm4gZGIub25lT3JOb25lKFwic2VsZWN0IHVwZGF0ZWQgZnJvbSBkYXRhX3VwZGF0ZWQgd2hlcmUgZGF0YV90eXBlPSQoZGF0YXR5cGUpIGFuZCBzdWJ0eXBlPSQoc3VidHlwZSlcIiwge1xyXG4gICAgICAgIGRhdGF0eXBlOiBkYXRhdHlwZSwgc3VidHlwZTogVU5TRVRfU1VCVFlQRSxcclxuICAgIH0sICh4OiBVcGRhdGVkVGltZXN0YW1wKSA9PiB4Py51cGRhdGVkIHx8IG51bGwpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGFzdFVwZGF0ZWRXaXRoU3VidHlwZShkYjogRFREYXRhYmFzZSwgZGF0YXR5cGU6IERhdGFUeXBlLCBzdWJ0eXBlOiBzdHJpbmcpOiBQcm9taXNlPERhdGUgfCBudWxsPiB7XHJcbiAgICByZXR1cm4gZGIub25lT3JOb25lKFwiU0VMRUNUIHVwZGF0ZWQgRlJPTSBkYXRhX3VwZGF0ZWQgV0hFUkUgZGF0YV90eXBlPSQoZGF0YXR5cGUpIEFORCBzdWJ0eXBlPSQoc3VidHlwZSlcIiwge1xyXG4gICAgICAgIGRhdGF0eXBlOiBkYXRhdHlwZSwgc3VidHlwZTogc3VidHlwZSxcclxuICAgIH0sICh4OiBVcGRhdGVkVGltZXN0YW1wKSA9PiB4Py51cGRhdGVkIHx8IG51bGwpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlTGFzdFVwZGF0ZWQoZGI6IERURGF0YWJhc2UgfCBEVFRyYW5zYWN0aW9uLCBkYXRhdHlwZTogRGF0YVR5cGUsIHVwZGF0ZWQ6IERhdGUpOiBQcm9taXNlPG51bGw+IHtcclxuICAgIHJldHVybiBkYi5ub25lKGBpbnNlcnQgaW50byBkYXRhX3VwZGF0ZWQoaWQsIGRhdGFfdHlwZSwgdXBkYXRlZClcclxuIHZhbHVlcyhuZXh0dmFsKCdzZXFfZGF0YV91cGRhdGVkJyksICQoZGF0YXR5cGUpLCAkKHVwZGF0ZWQpKVxyXG4gb24gY29uZmxpY3QgKGRhdGFfdHlwZSwgc3VidHlwZSlcclxuIGRvIHVwZGF0ZSBzZXQgdXBkYXRlZCA9ICQodXBkYXRlZClgLFxyXG4gICAgeyB1cGRhdGVkLCBkYXRhdHlwZSB9KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZUxhc3RVcGRhdGVkV2l0aFN1YnR5cGUoZGI6IERURGF0YWJhc2UgfCBEVFRyYW5zYWN0aW9uLCBkYXRhdHlwZTogRGF0YVR5cGUsIHN1YnR5cGU6IHN0cmluZywgdXBkYXRlZDogRGF0ZSk6IFByb21pc2U8bnVsbD4ge1xyXG4gICAgcmV0dXJuIGRiLm5vbmUoYGluc2VydCBpbnRvIGRhdGFfdXBkYXRlZChpZCwgZGF0YV90eXBlLCBzdWJ0eXBlLCB1cGRhdGVkKVxyXG4gdmFsdWVzKG5leHR2YWwoJ3NlcV9kYXRhX3VwZGF0ZWQnKSwgJChkYXRhdHlwZSksICQoc3VidHlwZSksICQodXBkYXRlZCkpXHJcbiBvbiBjb25mbGljdCAoZGF0YV90eXBlLCBzdWJ0eXBlKVxyXG4gZG8gdXBkYXRlIHNldCB1cGRhdGVkID0gJCh1cGRhdGVkKWAsXHJcbiAgICB7IHVwZGF0ZWQsIHN1YnR5cGUsIGRhdGF0eXBlIH0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0VXBkYXRlZFRpbWVzdGFtcChkYjogRFREYXRhYmFzZSwgZGF0YXR5cGU6IHN0cmluZyk6IFByb21pc2U8RGF0ZSB8IG51bGw+IHtcclxuICAgIHJldHVybiBkYi5vbmVPck5vbmUoXCJzZWxlY3QgdXBkYXRlZF90aW1lIGFzIHVwZGF0ZWQgZnJvbSB1cGRhdGVkX3RpbWVzdGFtcCB3aGVyZSB1cGRhdGVkX25hbWU9JChkYXRhdHlwZSlcIiwge1xyXG4gICAgICAgIGRhdGF0eXBlOiBkYXRhdHlwZSxcclxuICAgIH0sICh4OiBVcGRhdGVkVGltZXN0YW1wKSA9PiB4Py51cGRhdGVkIHx8IG51bGwpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlVXBkYXRlZFRpbWVzdGFtcChkYjogRFREYXRhYmFzZSB8IERUVHJhbnNhY3Rpb24sIGRhdGF0eXBlOiBzdHJpbmcsIGRhdGU6IERhdGUsIGJ5ID0gJycpOiBQcm9taXNlPG51bGw+IHtcclxuICAgIHJldHVybiBkYi5ub25lKGBpbnNlcnQgaW50byB1cGRhdGVkX3RpbWVzdGFtcCh1cGRhdGVkX25hbWUsIHVwZGF0ZWRfdGltZSwgdXBkYXRlZF9ieSlcclxudmFsdWVzKCQoZGF0YXR5cGUpLCAkKGRhdGUpLCAkKGJ5KSlcclxub24gY29uZmxpY3QgKHVwZGF0ZWRfbmFtZSlcclxuZG8gdXBkYXRlIHNldCB1cGRhdGVkX3RpbWUgPSAkKGRhdGUpLCB1cGRhdGVkX2J5ID0gJChieSlgLFxyXG4gICAgeyBkYXRlLCBkYXRhdHlwZSwgYnkgfSk7XHJcbn1cclxuIl19
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRfdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWFyaW5lL2lkX3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLFNBQWdCLFVBQVUsQ0FBQyxHQUFXO0lBQ2xDLE9BQU8sR0FBRyxJQUFJLE9BQU8sSUFBSSxHQUFHLElBQUksT0FBTyxJQUFJLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZFLENBQUM7QUFGRCxnQ0FFQztBQUVELFNBQVMsa0JBQWtCLENBQUMsR0FBVztJQUNuQyxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDOUIsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwQyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwQyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdJLE1BQU0sV0FBVyxHQUFHLGdCQUFnQixHQUFHLEVBQUUsS0FBSyxVQUFVLENBQUM7SUFDekQsSUFBSSxDQUFDLFdBQVcsRUFBRTtRQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0RBQWtELEVBQUUsR0FBRyxDQUFDLENBQUM7S0FDekU7SUFDRCxPQUFPLFdBQVcsQ0FBQztBQUN2QixDQUFDO0FBRUQsU0FBZ0IsV0FBVyxDQUFDLElBQVk7SUFDcEMsT0FBTyxJQUFJLElBQUksU0FBUyxJQUFJLElBQUksSUFBSSxTQUFTLENBQUM7QUFDbEQsQ0FBQztBQUZELGtDQUVDO0FBRUQsTUFBTSxhQUFhLEdBQUcsZUFBZSxDQUFDO0FBRXRDLFNBQWdCLGFBQWEsQ0FBQyxNQUFjO0lBQ3hDLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN0QyxDQUFDO0FBRkQsc0NBRUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gaXNWYWxpZElNTyhpbW86IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpbW8gPj0gMTAwMDAwMCAmJiBpbW8gPD0gOTk5OTk5OSAmJiBpbW9DaGVja3N1bUlzVmFsaWQoaW1vKTtcbn1cblxuZnVuY3Rpb24gaW1vQ2hlY2tzdW1Jc1ZhbGlkKGltbzogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgY29uc3QgaW1vU3RyID0gaW1vLnRvU3RyaW5nKCk7XG4gICAgY29uc3QgaW1vRGlnaXQxID0gTnVtYmVyKGltb1N0clswXSk7XG4gICAgY29uc3QgaW1vRGlnaXQyID0gTnVtYmVyKGltb1N0clsxXSk7XG4gICAgY29uc3QgaW1vRGlnaXQzID0gTnVtYmVyKGltb1N0clsyXSk7XG4gICAgY29uc3QgaW1vRGlnaXQ0ID0gTnVtYmVyKGltb1N0clszXSk7XG4gICAgY29uc3QgaW1vRGlnaXQ1ID0gTnVtYmVyKGltb1N0cls0XSk7XG4gICAgY29uc3QgaW1vRGlnaXQ2ID0gTnVtYmVyKGltb1N0cls1XSk7XG4gICAgY29uc3QgY2hlY2tEaWdpdCA9IE51bWJlcihpbW9TdHJbNl0pO1xuICAgIGNvbnN0IGNoZWNrQ2FsY3VsYXRpb24gPSBOdW1iZXIoKChpbW9EaWdpdDEgKiA3KSArIChpbW9EaWdpdDIgKiA2KSArIChpbW9EaWdpdDMgKiA1KSArIChpbW9EaWdpdDQgKiA0KSArIChpbW9EaWdpdDUgKiAzKSArIChpbW9EaWdpdDYgKiAyKSkpO1xuICAgIGNvbnN0IGNoZWNrUmVzdWx0ID0gY2hlY2tDYWxjdWxhdGlvbiAlIDEwID09PSBjaGVja0RpZ2l0O1xuICAgIGlmICghY2hlY2tSZXN1bHQpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdtZXRob2Q9aW1vQ2hlY2tzdW1Jc1ZhbGlkIElNTyBjaGVja3N1bSBmYWlsZWQgJWQnLCBpbW8pO1xuICAgIH1cbiAgICByZXR1cm4gY2hlY2tSZXN1bHQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkTU1TSShtbXNpOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gbW1zaSA+PSAxMDAwMDAwMDAgJiYgbW1zaSA8PSA5OTk5OTk5OTk7XG59XG5cbmNvbnN0IExvY29kZVBhdHRlcm4gPSAvXkZJW0EtWl17M30kL2k7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkTE9DT0RFKGxvY29kZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIExvY29kZVBhdHRlcm4udGVzdChsb2NvZGUpO1xufVxuIl19
package/src/marine/rtz.js DELETED
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnR6LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21hcmluZS9ydHoudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFJ0elBvc2l0aW9uQ29vcmRpbmF0ZSA9IHtcbiAgICByZWFkb25seSAkOiB7XG4gICAgICAgIHJlYWRvbmx5IGxhdDogbnVtYmVyXG4gICAgICAgIHJlYWRvbmx5IGxvbjogbnVtYmVyXG4gICAgfVxufVxuXG5leHBvcnQgdHlwZSBSdHpXYXlwb2ludFBvc2l0aW9uID0ge1xuICAgIHJlYWRvbmx5IHBvc2l0aW9uOiBSdHpQb3NpdGlvbkNvb3JkaW5hdGVbXVxufVxuXG5leHBvcnQgdHlwZSBSdHpXYXlwb2ludCA9IHtcbiAgICByZWFkb25seSB3YXlwb2ludDogUnR6V2F5cG9pbnRQb3NpdGlvbltdXG59XG5cbmV4cG9ydCB0eXBlIFJ0elNjaGVkdWxlRWxlbWVudCA9IHtcbiAgICByZWFkb25seSAkOiB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBEYXRlXG4gICAgICAgICAqL1xuICAgICAgICByZWFkb25seSBldGQ/OiBzdHJpbmdcbiAgICAgICAgLyoqXG4gICAgICAgICAqIERhdGVcbiAgICAgICAgICovXG4gICAgICAgIHJlYWRvbmx5IGV0YT86IHN0cmluZ1xuICAgIH0sXG59XG5cbmV4cG9ydCB0eXBlIFJ0elNjaGVkdWxlID0ge1xuICAgIHJlYWRvbmx5IHNjaGVkdWxlRWxlbWVudDogUnR6U2NoZWR1bGVFbGVtZW50W11cbn1cblxuZXhwb3J0IHR5cGUgUnR6U2NoZWR1bGVXcmFwcGVyID0ge1xuICAgIHJlYWRvbmx5IG1hbnVhbD86IFJ0elNjaGVkdWxlW11cbiAgICByZWFkb25seSBjYWxjdWxhdGVkPzogUnR6U2NoZWR1bGVbXVxufVxuXG5leHBvcnQgdHlwZSBSdHpTY2hlZHVsZXMgPSB7XG4gICAgcmVhZG9ubHkgc2NoZWR1bGU6IFJ0elNjaGVkdWxlV3JhcHBlcltdXG59XG5cbmV4cG9ydCB0eXBlIFJ0elJvdXRlSW5mbyA9IHtcbiAgICByZWFkb25seSAkOiB7XG4gICAgICAgIHJlYWRvbmx5IHZlc3NlbE1NU0k6IHN0cmluZ1xuICAgICAgICByZWFkb25seSB2ZXNzZWxJTU86IHN0cmluZ1xuICAgIH1cbn1cblxuZXhwb3J0IHR5cGUgUnR6Um91dGUgPSB7XG4gICAgcmVhZG9ubHkgcm91dGVJbmZvOiBSdHpSb3V0ZUluZm9bXVxuICAgIHJlYWRvbmx5IHdheXBvaW50czogUnR6V2F5cG9pbnRbXVxuICAgIHJlYWRvbmx5IHNjaGVkdWxlczogUnR6U2NoZWR1bGVzW11cbn1cblxuZXhwb3J0IHR5cGUgUnR6Vm95YWdlUGxhbiA9IHtcbiAgICByZWFkb25seSByb3V0ZTogUnR6Um91dGVcbn1cbiJdfQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGVzdC9hc3NlcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQUVILE1BQXNCLFFBQVE7SUFDMUIsTUFBTSxDQUFDLFlBQVksQ0FBSSxLQUFRLEVBQUUsUUFBVztRQUN4QyxJQUFJLEtBQUssSUFBSSxRQUFRLEVBQUU7WUFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLEtBQUsscUJBQXFCLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDeEU7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBSSxLQUFRO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDUixNQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsS0FBSyxlQUFlLENBQUMsQ0FBQztTQUN4RDtJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFJLElBQVMsRUFBRSxRQUFnQjtRQUM5QyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1AsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1NBQ2xEO1FBRUQsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLFFBQVEsRUFBRTtZQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixJQUFJLENBQUMsTUFBTSxxQkFBcUIsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUNyRjtJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsdUJBQXVCLENBQUksSUFBUyxFQUFFLFFBQWdCO1FBQ3pELElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7U0FDbEQ7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksUUFBUSxFQUFFO1lBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLElBQUksQ0FBQyxNQUFNLHlCQUF5QixRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQ3pGO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFhLEVBQUUsUUFBZ0I7UUFDcEQsSUFBSSxLQUFLLElBQUksUUFBUSxFQUFFO1lBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMsU0FBUyxLQUFLLG9DQUFvQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQ2pGO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFhLEVBQUUsUUFBZ0IsRUFBRSxLQUFhO1FBQ25FLE1BQU0sQ0FBQyxRQUFRLEdBQUMsS0FBSyxDQUFDLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFDMUQsTUFBTSxDQUFDLFFBQVEsR0FBQyxLQUFLLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0RCxDQUFDO0NBQ0o7QUEzQ0QsNEJBMkNDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBIHNpbXBsZSBhc3NlcnRlci1jbGFzcyBmb3Igd3JpdGluZyBjYW5hcmllcyB3aXRob3V0IGRlcGVuZGVuY3kgdG8gdGVzdGluZy1saWJyYXJpZXMuXG4gKi9cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFzc2VydGVyIHtcbiAgICBzdGF0aWMgYXNzZXJ0RXF1YWxzPFQ+KHZhbHVlOiBULCBleHBlY3RlZDogVCkge1xuICAgICAgICBpZiAodmFsdWUgIT0gZXhwZWN0ZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgR2l2ZW4gdmFsdWUgJHt2YWx1ZX0gd2FzIG5vdCBleHBlY3RlZCAke2V4cGVjdGVkfWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3RhdGljIGFzc2VydFRydWU8VD4odmFsdWU6IFQpIHtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBHaXZlbiB2YWx1ZSAke3ZhbHVlfSB3YXMgbm90IHRydWVgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRpYyBhc3NlcnRMZW5ndGg8VD4oZGF0YTogVFtdLCBleHBlY3RlZDogbnVtYmVyKSB7XG4gICAgICAgIGlmICghZGF0YSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiR2l2ZW4gYXJyYXkgd2FzIG5vdCBkZWZpbmVkXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGRhdGEubGVuZ3RoICE9IGV4cGVjdGVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEdpdmVuIGFycmF5IGxlbmd0aCAke2RhdGEubGVuZ3RofSB3YXMgbm90IGV4cGVjdGVkICR7ZXhwZWN0ZWR9YCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgYXNzZXJ0TGVuZ3RoR3JlYXRlclRoYW48VD4oZGF0YTogVFtdLCBleHBlY3RlZDogbnVtYmVyKSB7XG4gICAgICAgIGlmICghZGF0YSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiR2l2ZW4gYXJyYXkgd2FzIG5vdCBkZWZpbmVkXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGRhdGEubGVuZ3RoIDw9IGV4cGVjdGVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEdpdmVuIGFycmF5IGxlbmd0aCAke2RhdGEubGVuZ3RofSB3YXMgbm90IGdyZWF0ZXIgdGhhbiAke2V4cGVjdGVkfWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3RhdGljIGFzc2VydEdyZWF0ZXJUaGFuKHZhbHVlOiBudW1iZXIsIGV4cGVjdGVkOiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHZhbHVlIDw9IGV4cGVjdGVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFZhbHVlICR7dmFsdWV9IHdhcyBleHBlY3RlZCB0byBiZSBncmVhdGVyIHRoYW4gJHtleHBlY3RlZH1gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRpYyBhc3NlcnRUb0JlQ2xvc2VUbyh2YWx1ZTogbnVtYmVyLCBleHBlY3RlZDogbnVtYmVyLCBkZWx0YTogbnVtYmVyKSB7XG4gICAgICAgIGV4cGVjdChleHBlY3RlZC12YWx1ZSkudG9CZUdyZWF0ZXJUaGFuT3JFcXVhbCgtMSAqIGRlbHRhKTtcbiAgICAgICAgZXhwZWN0KGV4cGVjdGVkLXZhbHVlKS50b0JlTGVzc1RoYW5PckVxdWFsKGRlbHRhKTtcbiAgICB9XG59XG4iXX0=
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGItdGVzdHV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Rlc3QvZGItdGVzdHV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUFrRTtBQUNsRSw4REFBd0U7QUFFeEUsU0FBZ0IsVUFBVSxDQUN0QixFQUE0QixFQUM1QixVQUFvQyxFQUNwQyxNQUFjLEVBQ2QsTUFBYyxFQUNkLEtBQWE7SUFHYixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUM7SUFDN0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUU5QyxPQUFPLEdBQUcsRUFBRTtRQUNSLE1BQU0sRUFBRSxHQUFlLElBQUEsMkJBQWdCLEVBQ25DLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRTtZQUM5QixVQUFVLEVBQUUsSUFBSSxFQUFFLGdEQUFnRDtTQUNyRSxDQUNKLENBQUM7UUFFRixTQUFTLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDakIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQ0FBdUIsQ0FBQyxPQUFPLENBQUMsR0FBRyxNQUFNLENBQUM7WUFDdEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQ0FBdUIsQ0FBQyxPQUFPLENBQUMsR0FBRyxNQUFNLENBQUM7WUFDdEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQ0FBdUIsQ0FBQyxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUM7WUFDdkQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQ0FBdUIsQ0FBQyxTQUFTLENBQUMsR0FBRyxRQUFRLENBQUM7WUFDMUQsTUFBTSxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7UUFFSCxRQUFRLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDaEIsTUFBTSxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDckIsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO1FBRUgsVUFBVSxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ2xCLE1BQU0sVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ1gsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQXJDRCxnQ0FxQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RURGF0YWJhc2UsIGluaXREYkNvbm5lY3Rpb259IGZyb20gXCIuLi9kYXRhYmFzZS9kYXRhYmFzZVwiO1xuaW1wb3J0IHtEYXRhYmFzZUVudmlyb25tZW50S2V5c30gZnJvbSBcIi4uL2F3cy9ydW50aW1lL3NlY3JldHMvZGJzZWNyZXRcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGRiVGVzdEJhc2UoXG4gICAgZm46IChkYjogRFREYXRhYmFzZSkgPT4gdm9pZCxcbiAgICB0cnVuY2F0ZUZuOiAoZGI6IERURGF0YWJhc2UpID0+IHZvaWQsXG4gICAgZGJVc2VyOiBzdHJpbmcsXG4gICAgZGJQYXNzOiBzdHJpbmcsXG4gICAgZGJVcmk6IHN0cmluZyxcbik6ICgpID0+IHZvaWQge1xuXG4gICAgY29uc3QgdGhlRGJVcmkgPSBwcm9jZXNzLmVudi5EQl9VUkkgPz8gZGJVcmk7XG4gICAgY29uc29sZS5sb2coYFRlc3QgZGF0YWJhc2UgVVJJOiAke3RoZURiVXJpfWApO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgY29uc3QgZGI6IERURGF0YWJhc2UgPSBpbml0RGJDb25uZWN0aW9uKFxuICAgICAgICAgICAgZGJVc2VyLCBkYlBhc3MsICd0ZXN0JywgdGhlRGJVcmksIHtcbiAgICAgICAgICAgICAgICBub1dhcm5pbmdzOiB0cnVlLCAvLyBpZ25vcmUgZHVwbGljYXRlIGNvbm5lY3Rpb24gd2FybmluZyBmb3IgdGVzdHNcbiAgICAgICAgICAgIH0sXG4gICAgICAgICk7XG5cbiAgICAgICAgYmVmb3JlQWxsKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIHByb2Nlc3MuZW52W0RhdGFiYXNlRW52aXJvbm1lbnRLZXlzLkRCX1VTRVJdID0gZGJVc2VyO1xuICAgICAgICAgICAgcHJvY2Vzcy5lbnZbRGF0YWJhc2VFbnZpcm9ubWVudEtleXMuREJfUEFTU10gPSBkYlBhc3M7XG4gICAgICAgICAgICBwcm9jZXNzLmVudltEYXRhYmFzZUVudmlyb25tZW50S2V5cy5EQl9VUkldID0gdGhlRGJVcmk7XG4gICAgICAgICAgICBwcm9jZXNzLmVudltEYXRhYmFzZUVudmlyb25tZW50S2V5cy5EQl9ST19VUkldID0gdGhlRGJVcmk7XG4gICAgICAgICAgICBhd2FpdCB0cnVuY2F0ZUZuKGRiKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgYWZ0ZXJBbGwoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgYXdhaXQgdHJ1bmNhdGVGbihkYik7XG4gICAgICAgICAgICBhd2FpdCBkYi4kcG9vbC5lbmQoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgYmVmb3JlRWFjaChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBhd2FpdCB0cnVuY2F0ZUZuKGRiKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZm4oZGIpO1xuICAgIH07XG59XG4iXX0=
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cHNlcnZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZXN0L2h0dHBzZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQTBDO0FBRTdCLFFBQUEsY0FBYyxHQUFDLFVBQVUsQ0FBQztBQUMxQixRQUFBLG1CQUFtQixHQUFDLEdBQUcsQ0FBQztBQUVyQzs7R0FFRztBQUNILE1BQWEsY0FBYztJQU12QixZQUFZO1FBQ1IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztJQUNwQyxDQUFDO0lBRUQsY0FBYyxDQUFDLFVBQWtCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQVksRUFBRSxLQUF1QixFQUFFLEtBQUssR0FBRSxLQUFLLEVBQUUsVUFBVSxHQUFHLEdBQUc7UUFDeEUsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQ0FBZ0MsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUEsbUJBQVksRUFBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7WUFFL0IsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLFFBQVEsQ0FBQywwQkFBMEIsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDO1lBQzNELDhEQUE4RDtZQUM5RCxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUM7WUFFcEQsSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2pCLEdBQUcsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFO2dCQUNuQixJQUFJLEtBQUssRUFBRTtvQkFDUCxPQUFPLElBQUksS0FBSyxDQUFDO2lCQUNwQjtZQUNMLENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxJQUFJLElBQUksS0FBSyxFQUFFO2dCQUNmLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQy9CLEdBQUcsQ0FBQyxTQUFTLENBQUMsNkJBQTZCLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ2xELEdBQUcsQ0FBQyxTQUFTLENBQUMsOEJBQThCLEVBQUUsc0NBQXNDLENBQUMsQ0FBQztnQkFDdEYsR0FBRyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFFMUIsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFO29CQUNmLHFDQUFxQztvQkFDckMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQztvQkFDdEQsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUMzQyxDQUFDLENBQUMsQ0FBQzthQUNOO2lCQUFNO2dCQUNILElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLENBQUM7Z0JBQ3pDLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRTtvQkFDZixxQ0FBcUM7b0JBQ3JDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsR0FBRyxzQkFBYyxDQUFDO29CQUM3RCxHQUFHLENBQUMsU0FBUyxDQUFDLDJCQUFtQixDQUFDLENBQUM7b0JBQ25DLEdBQUcsQ0FBQyxHQUFHLENBQUMsc0JBQWMsQ0FBQyxDQUFDO2dCQUM1QixDQUFDLENBQUMsQ0FBQzthQUNOO1FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNKLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxLQUFLO1FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVPLFFBQVEsQ0FBQyxHQUFXO1FBQ3hCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNaLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDdEI7SUFDTCxDQUFDO0NBQ0o7QUFuRUQsd0NBbUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTZXJ2ZXIsIGNyZWF0ZVNlcnZlcn0gZnJvbSAnaHR0cCc7XHJcblxyXG5leHBvcnQgY29uc3QgRVJST1JfTk9fTUFUQ0g9XCJOTyBNQVRDSFwiO1xyXG5leHBvcnQgY29uc3QgRVJST1JDT0RFX05PVF9GT1VORD00MDQ7XHJcblxyXG4vKipcclxuICogQSBtb2NrIEhUVFAgc2VydmVyIGNyZWF0ZWQgZm9yIHRlc3RpbmcgY29ubmVjdGlvbnMgZnJvbSBhIExhbWJkYSB0byBhbiBvdXRzaWRlIGludGVncmF0aW9uXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgVGVzdEh0dHBTZXJ2ZXIge1xyXG4gICAgcHJpdmF0ZSBzZXJ2ZXI6IFNlcnZlcjtcclxuICAgIHByaXZhdGUgZGVidWc6IGJvb2xlYW47XHJcblxyXG4gICAgcHJpdmF0ZSBtZXNzYWdlU3RhY2s6IHN0cmluZ1tdO1xyXG5cclxuICAgIGdldENhbGxDb3VudCgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm1lc3NhZ2VTdGFjay5sZW5ndGg7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UmVxdWVzdEJvZHkoY2FsbE51bWJlcjogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5tZXNzYWdlU3RhY2tbY2FsbE51bWJlcl07XHJcbiAgICB9XHJcblxyXG4gICAgbGlzdGVuKHBvcnQ6IG51bWJlciwgcHJvcHM6IExpc3RlblByb3BlcnRpZXMsIGRlYnVnPSBmYWxzZSwgc3RhdHVzQ29kZSA9IDIwMCkge1xyXG4gICAgICAgIHRoaXMuZGVidWcgPSBkZWJ1ZztcclxuICAgICAgICB0aGlzLm1lc3NhZ2VTdGFjayA9IFtdO1xyXG4gICAgICAgIHRoaXMuZGVidWdsb2coYFN0YXJ0aW5nIHRlc3Qgc2VydmVyIG9uIHBvcnQgJHtwb3J0fWApO1xyXG4gICAgICAgIHRoaXMuc2VydmVyID0gY3JlYXRlU2VydmVyKCgocmVxLCByZXMpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5kZWJ1Z2xvZygnTWFwcGVkIHVybHM6ICcpO1xyXG5cclxuICAgICAgICAgICAgT2JqZWN0LmtleXMocHJvcHMpLmZvckVhY2goayA9PiB0aGlzLmRlYnVnbG9nKGspKTtcclxuICAgICAgICAgICAgdGhpcy5kZWJ1Z2xvZygnUmVjZWl2ZWQgcmVxdWVzdCB0byB1cmwgJyArIHJlcS51cmwgKyAnLi4nKTtcclxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby12YXItcmVxdWlyZXNcclxuICAgICAgICAgICAgY29uc3QgcGF0aCA9IHJlcXVpcmUoJ3VybCcpLnBhcnNlKHJlcS51cmwpLnBhdGhuYW1lO1xyXG5cclxuICAgICAgICAgICAgbGV0IGRhdGFTdHIgPSAnJztcclxuICAgICAgICAgICAgcmVxLm9uKCdkYXRhJywgY2h1bmsgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGNodW5rKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YVN0ciArPSBjaHVuaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICBpZiAocGF0aCBpbiBwcm9wcykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kZWJ1Z2xvZygnLi51cmwgbWF0Y2hlZCcpO1xyXG4gICAgICAgICAgICAgICAgcmVzLnNldEhlYWRlcignQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luJywgJyonKTtcclxuICAgICAgICAgICAgICAgIHJlcy5zZXRIZWFkZXIoJ0FjY2Vzcy1Db250cm9sLUFsbG93LUhlYWRlcnMnLCAnQXV0aG9yaXphdGlvbixYLVVzZXItSWQsWC1BdXRoLVRva2VuJyk7XHJcbiAgICAgICAgICAgICAgICByZXMud3JpdGVIZWFkKHN0YXR1c0NvZGUpO1xyXG5cclxuICAgICAgICAgICAgICAgIHJlcS5vbignZW5kJywgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGFzc3VtZSBzZW50IGRhdGEgaXMgaW4gSlNPTiBmb3JtYXRcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VTdGFja1t0aGlzLm1lc3NhZ2VTdGFjay5sZW5ndGhdID0gZGF0YVN0cjtcclxuICAgICAgICAgICAgICAgICAgICByZXMuZW5kKHByb3BzW3BhdGhdKHJlcS51cmwsIGRhdGFTdHIpKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kZWJ1Z2xvZygnLi5ubyBtYXRjaCBmb3IgJScgKyBwYXRoKTtcclxuICAgICAgICAgICAgICAgIHJlcS5vbignZW5kJywgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGFzc3VtZSBzZW50IGRhdGEgaXMgaW4gSlNPTiBmb3JtYXRcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VTdGFja1t0aGlzLm1lc3NhZ2VTdGFjay5sZW5ndGhdID0gRVJST1JfTk9fTUFUQ0g7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzLndyaXRlSGVhZChFUlJPUkNPREVfTk9UX0ZPVU5EKTtcclxuICAgICAgICAgICAgICAgICAgICByZXMuZW5kKEVSUk9SX05PX01BVENIKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSkpO1xyXG4gICAgICAgIHRoaXMuc2VydmVyLmxpc3Rlbihwb3J0KTtcclxuICAgIH1cclxuXHJcbiAgICBjbG9zZSgpIHtcclxuICAgICAgICB0aGlzLmRlYnVnbG9nKCdDbG9zaW5nIHRlc3Qgc2VydmVyJyk7XHJcbiAgICAgICAgdGhpcy5zZXJ2ZXIuY2xvc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGRlYnVnbG9nKHN0cjogc3RyaW5nKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZGVidWcpIHtcclxuICAgICAgICAgICAgY29uc29sZS5kZWJ1ZyhzdHIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMaXN0ZW5Qcm9wZXJ0aWVzIHtcclxuICAgIFtrZXk6c3RyaW5nXTogKHVybD86IHN0cmluZywgZGF0YT86IHN0cmluZykgPT4gc3RyaW5nO1xyXG59XHJcbiJdfQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcmV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Rlc3Qvc2VjcmV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLE1BQU0sZUFBZSxHQUFhO0lBQzlCLFFBQVEsRUFBRSxFQUFFO0lBQ1osUUFBUSxFQUFFLEVBQUU7SUFDWixJQUFJLEVBQUUsRUFBRTtJQUNSLHFDQUFxQztJQUNyQyxPQUFPLEVBQUUsRUFBRTtDQUNkLENBQUM7QUFFRixTQUFnQixvQkFBb0IsQ0FBbUIsTUFBYztJQUNqRSx5Q0FBeUM7SUFDekMsT0FBTyxLQUFLLEVBQUUsUUFBZ0IsRUFBRSxFQUE2QyxFQUFFLEVBQUU7UUFDN0UsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEIsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUxELG9EQUtDO0FBRUQsU0FBZ0IseUJBQXlCO0lBQ3JDLHlDQUF5QztJQUN6QyxPQUFPLEtBQUssRUFBRSxRQUFnQixFQUFFLEVBQStDLEVBQUUsRUFBRTtRQUMvRSxPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMvQixDQUFDLENBQUM7QUFDTixDQUFDO0FBTEQsOERBS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RiU2VjcmV0LCBFbXB0eVNlY3JldEZ1bmN0aW9uLCBTZWNyZXRGdW5jdGlvbiwgU2VjcmV0VG9Qcm9taXNlRnVuY3Rpb259IGZyb20gXCIuLi9hd3MvcnVudGltZS9zZWNyZXRzL2Ric2VjcmV0XCI7XG5cbmNvbnN0IEVNUFRZX0RCX1NFQ1JFVDogRGJTZWNyZXQgPSB7XG4gICAgdXNlcm5hbWU6ICcnLFxuICAgIHBhc3N3b3JkOiAnJyxcbiAgICBob3N0OiAnJyxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY2FtZWxjYXNlXG4gICAgcm9faG9zdDogJycsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2VjcmV0RnVuY3Rpb248U2VjcmV0LCBSZXNwb25zZT4oc2VjcmV0OiBTZWNyZXQpOiBTZWNyZXRGdW5jdGlvbjxTZWNyZXQsIFJlc3BvbnNlPiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlcXVpcmUtYXdhaXRcbiAgICByZXR1cm4gYXN5bmMgKHNlY3JldElkOiBzdHJpbmcsIGZuOiBTZWNyZXRUb1Byb21pc2VGdW5jdGlvbjxTZWNyZXQsIFJlc3BvbnNlPikgPT4ge1xuICAgICAgICByZXR1cm4gZm4oc2VjcmV0KTtcbiAgICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRW1wdHlTZWNyZXRGdW5jdGlvbjxSZXNwb25zZT4oKTogRW1wdHlTZWNyZXRGdW5jdGlvbjxSZXNwb25zZT4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZXF1aXJlLWF3YWl0XG4gICAgcmV0dXJuIGFzeW5jIChzZWNyZXRJZDogc3RyaW5nLCBmbjogU2VjcmV0VG9Qcm9taXNlRnVuY3Rpb248RGJTZWNyZXQsIFJlc3BvbnNlPikgPT4ge1xuICAgICAgICByZXR1cm4gZm4oRU1QVFlfREJfU0VDUkVUKTtcbiAgICB9O1xufVxuIl19
@@ -1,59 +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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.mockSecret = exports.stubSecretsManager = void 0;
27
- const AWS = require("aws-sdk");
28
- const sinon = __importStar(require("sinon"));
29
- const secretValue = sinon.stub();
30
- /**
31
- * Stub Secrets Manager for tests. You must call this
32
- * before you instantiate Secrets Manager(this might happen when you import the function that uses Secrets Manager).
33
- *
34
- * To mock the actual secret, call mockSecret()
35
- */
36
- function stubSecretsManager() {
37
- const smStub = {
38
- getSecretValue: secretValue,
39
- };
40
- sinon.stub(AWS, 'SecretsManager').returns(smStub);
41
- return smStub.getSecretValue;
42
- }
43
- exports.stubSecretsManager = stubSecretsManager;
44
- function mockSecret(secret) {
45
- if (!secret) {
46
- secretValue.returns({
47
- promise: sinon.stub().returns({}),
48
- });
49
- }
50
- else {
51
- secretValue.returns({
52
- promise: sinon.stub().returns({
53
- SecretString: JSON.stringify(secret),
54
- }),
55
- });
56
- }
57
- }
58
- exports.mockSecret = mockSecret;
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcmV0cy1tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Rlc3Qvc2VjcmV0cy1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQWdDO0FBQ2hDLDZDQUErQjtBQUUvQixNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7QUFFakM7Ozs7O0dBS0c7QUFDSCxTQUFnQixrQkFBa0I7SUFDOUIsTUFBTSxNQUFNLEdBQUc7UUFDWCxjQUFjLEVBQUUsV0FBVztLQUM5QixDQUFDO0lBRUYsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFbEQsT0FBTyxNQUFNLENBQUMsY0FBYyxDQUFDO0FBQ2pDLENBQUM7QUFSRCxnREFRQztBQUVELFNBQWdCLFVBQVUsQ0FBUyxNQUFjO0lBQzdDLElBQUksQ0FBQyxNQUFNLEVBQUU7UUFDVCxXQUFXLENBQUMsT0FBTyxDQUFDO1lBQ2hCLE9BQU8sRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztTQUNwQyxDQUFDLENBQUM7S0FDTjtTQUFNO1FBQ0gsV0FBVyxDQUFDLE9BQU8sQ0FBQztZQUNoQixPQUFPLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQztnQkFDMUIsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO2FBQ3ZDLENBQUM7U0FDTCxDQUFDLENBQUM7S0FDTjtBQUNMLENBQUM7QUFaRCxnQ0FZQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBBV1MgPSByZXF1aXJlKCdhd3Mtc2RrJyk7XG5pbXBvcnQgKiBhcyBzaW5vbiBmcm9tIFwic2lub25cIjtcblxuY29uc3Qgc2VjcmV0VmFsdWUgPSBzaW5vbi5zdHViKCk7XG5cbi8qKlxuICogU3R1YiBTZWNyZXRzIE1hbmFnZXIgZm9yIHRlc3RzLiAgWW91IG11c3QgY2FsbCB0aGlzXG4gKiBiZWZvcmUgeW91IGluc3RhbnRpYXRlIFNlY3JldHMgTWFuYWdlcih0aGlzIG1pZ2h0IGhhcHBlbiB3aGVuIHlvdSBpbXBvcnQgdGhlIGZ1bmN0aW9uIHRoYXQgdXNlcyBTZWNyZXRzIE1hbmFnZXIpLlxuICpcbiAqIFRvIG1vY2sgdGhlIGFjdHVhbCBzZWNyZXQsIGNhbGwgbW9ja1NlY3JldCgpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdHViU2VjcmV0c01hbmFnZXIoKSB7XG4gICAgY29uc3Qgc21TdHViID0ge1xuICAgICAgICBnZXRTZWNyZXRWYWx1ZTogc2VjcmV0VmFsdWUsXG4gICAgfTtcblxuICAgIHNpbm9uLnN0dWIoQVdTLCAnU2VjcmV0c01hbmFnZXInKS5yZXR1cm5zKHNtU3R1Yik7XG5cbiAgICByZXR1cm4gc21TdHViLmdldFNlY3JldFZhbHVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbW9ja1NlY3JldDxTZWNyZXQ+KHNlY3JldDogU2VjcmV0KSB7XG4gICAgaWYgKCFzZWNyZXQpIHtcbiAgICAgICAgc2VjcmV0VmFsdWUucmV0dXJucyh7XG4gICAgICAgICAgICBwcm9taXNlOiBzaW5vbi5zdHViKCkucmV0dXJucyh7fSksXG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHNlY3JldFZhbHVlLnJldHVybnMoe1xuICAgICAgICAgICAgcHJvbWlzZTogc2lub24uc3R1YigpLnJldHVybnMoe1xuICAgICAgICAgICAgICAgIFNlY3JldFN0cmluZzogSlNPTi5zdHJpbmdpZnkoc2VjcmV0KSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.shuffle = exports.randomBoolean = exports.getRandomBigInt = exports.getRandomIntegerAsString = exports.getRandomInteger = exports.getRandomNumberAsString = exports.getRandomNumber = exports.randomString = void 0;
4
- function randomString() {
5
- return Math.random().toString(36).substring(2);
6
- }
7
- exports.randomString = randomString;
8
- function getRandomNumber(min, max) {
9
- return Math.random() * (max - min) + min;
10
- }
11
- exports.getRandomNumber = getRandomNumber;
12
- function getRandomNumberAsString(min, max) {
13
- return getRandomNumber(min, max).toString();
14
- }
15
- exports.getRandomNumberAsString = getRandomNumberAsString;
16
- function getRandomInteger(min, max) {
17
- return Math.round(getRandomNumber(min, max));
18
- }
19
- exports.getRandomInteger = getRandomInteger;
20
- function getRandomIntegerAsString(min, max) {
21
- return Math.round(getRandomInteger(min, max)).toString();
22
- }
23
- exports.getRandomIntegerAsString = getRandomIntegerAsString;
24
- function getRandomBigInt(min, max) {
25
- return BigInt(getRandomInteger(min, max));
26
- }
27
- exports.getRandomBigInt = getRandomBigInt;
28
- function randomBoolean() {
29
- return Math.random() < 0.5;
30
- }
31
- exports.randomBoolean = randomBoolean;
32
- /**
33
- * Returns a new copy of an array, shuffled using Math.random()
34
- * @param array Array
35
- */
36
- function shuffle(array) {
37
- // pretty fast way to copy an array, not necessarily the fastest
38
- const newArray = array.slice(0);
39
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
40
- newArray.sort((x) => 0.5 - Math.random());
41
- return newArray;
42
- }
43
- exports.shuffle = shuffle;
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdHV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Rlc3QvdGVzdHV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLFNBQWdCLFlBQVk7SUFDeEIsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuRCxDQUFDO0FBRkQsb0NBRUM7QUFFRCxTQUFnQixlQUFlLENBQUMsR0FBVyxFQUFHLEdBQVc7SUFDckQsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDO0FBQzdDLENBQUM7QUFGRCwwQ0FFQztBQUVELFNBQWdCLHVCQUF1QixDQUFDLEdBQVcsRUFBRyxHQUFXO0lBQzdELE9BQU8sZUFBZSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUNoRCxDQUFDO0FBRkQsMERBRUM7QUFFRCxTQUFnQixnQkFBZ0IsQ0FBQyxHQUFXLEVBQUcsR0FBVztJQUN0RCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ2pELENBQUM7QUFGRCw0Q0FFQztBQUVELFNBQWdCLHdCQUF3QixDQUFDLEdBQVcsRUFBRyxHQUFXO0lBQzlELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUM3RCxDQUFDO0FBRkQsNERBRUM7QUFFRCxTQUFnQixlQUFlLENBQUMsR0FBVyxFQUFHLEdBQVc7SUFDckQsT0FBTyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDOUMsQ0FBQztBQUZELDBDQUVDO0FBRUQsU0FBZ0IsYUFBYTtJQUN6QixPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUM7QUFDL0IsQ0FBQztBQUZELHNDQUVDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBZ0IsT0FBTyxDQUFJLEtBQVU7SUFDakMsZ0VBQWdFO0lBQ2hFLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEMsNkRBQTZEO0lBQzdELFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUMxQyxPQUFPLFFBQVEsQ0FBQztBQUNwQixDQUFDO0FBTkQsMEJBTUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gcmFuZG9tU3RyaW5nKCkgOiBzdHJpbmcge1xuICAgIHJldHVybiBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSYW5kb21OdW1iZXIobWluOiBudW1iZXIgLCBtYXg6IG51bWJlcikgOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLnJhbmRvbSgpICogKG1heCAtIG1pbikgKyBtaW47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSYW5kb21OdW1iZXJBc1N0cmluZyhtaW46IG51bWJlciAsIG1heDogbnVtYmVyKSA6IHN0cmluZyB7XG4gICAgcmV0dXJuIGdldFJhbmRvbU51bWJlcihtaW4sIG1heCkudG9TdHJpbmcoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJhbmRvbUludGVnZXIobWluOiBudW1iZXIgLCBtYXg6IG51bWJlcikgOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLnJvdW5kKGdldFJhbmRvbU51bWJlcihtaW4sIG1heCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmFuZG9tSW50ZWdlckFzU3RyaW5nKG1pbjogbnVtYmVyICwgbWF4OiBudW1iZXIpIDogc3RyaW5nIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZChnZXRSYW5kb21JbnRlZ2VyKG1pbiwgbWF4KSkudG9TdHJpbmcoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJhbmRvbUJpZ0ludChtaW46IG51bWJlciAsIG1heDogbnVtYmVyKSA6IGJpZ2ludCB7XG4gICAgcmV0dXJuIEJpZ0ludChnZXRSYW5kb21JbnRlZ2VyKG1pbiwgbWF4KSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByYW5kb21Cb29sZWFuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBNYXRoLnJhbmRvbSgpIDwgMC41O1xufVxuXG4vKipcbiAqIFJldHVybnMgYSBuZXcgY29weSBvZiBhbiBhcnJheSwgc2h1ZmZsZWQgdXNpbmcgTWF0aC5yYW5kb20oKVxuICogQHBhcmFtIGFycmF5IEFycmF5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaHVmZmxlPFQ+KGFycmF5OiBUW10pOiBUW10ge1xuICAgIC8vIHByZXR0eSBmYXN0IHdheSB0byBjb3B5IGFuIGFycmF5LCBub3QgbmVjZXNzYXJpbHkgdGhlIGZhc3Rlc3RcbiAgICBjb25zdCBuZXdBcnJheSA9IGFycmF5LnNsaWNlKDApO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICBuZXdBcnJheS5zb3J0KCh4KSA9PiAwLjUgLSBNYXRoLnJhbmRvbSgpKTtcbiAgICByZXR1cm4gbmV3QXJyYXk7XG59XG4iXX0=
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InputError = void 0;
4
- class InputError extends Error {
5
- }
6
- exports.InputError = InputError;
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvaW5wdXQtZXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsTUFBYSxVQUFXLFNBQVEsS0FBSztDQUNwQztBQURELGdDQUNDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIElucHV0RXJyb3IgZXh0ZW5kcyBFcnJvciB7XG59XG4iXX0=
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Language = void 0;
4
- var Language;
5
- (function (Language) {
6
- Language["FI"] = "fi";
7
- Language["EN"] = "en";
8
- Language["SV"] = "sv";
9
- })(Language = exports.Language || (exports.Language = {}));
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvbGFuZ3VhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSxRQUVYO0FBRkQsV0FBWSxRQUFRO0lBQ2hCLHFCQUFTLENBQUE7SUFBRSxxQkFBUyxDQUFBO0lBQUUscUJBQVMsQ0FBQTtBQUNuQyxDQUFDLEVBRlcsUUFBUSxHQUFSLGdCQUFRLEtBQVIsZ0JBQVEsUUFFbkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBMYW5ndWFnZSB7XHJcbiAgICBGSSA9ICdmaScsIEVOID0gJ2VuJywgU1YgPSAnc3YnXHJcbn1cclxuIl19
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TrafficType = void 0;
4
- var TrafficType;
5
- (function (TrafficType) {
6
- TrafficType["ROAD"] = "Road";
7
- TrafficType["MARINE"] = "Marine";
8
- TrafficType["RAIL"] = "Rail";
9
- TrafficType["AVIATION"] = "Aviation";
10
- TrafficType["MCP"] = "MCP";
11
- TrafficType["OTHER"] = "Other";
12
- })(TrafficType = exports.TrafficType || (exports.TrafficType = {}));
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhZmZpY3R5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvdHJhZmZpY3R5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSxXQU9YO0FBUEQsV0FBWSxXQUFXO0lBQ25CLDRCQUFhLENBQUE7SUFDYixnQ0FBaUIsQ0FBQTtJQUNqQiw0QkFBYSxDQUFBO0lBQ2Isb0NBQXFCLENBQUE7SUFDckIsMEJBQVcsQ0FBQTtJQUNYLDhCQUFlLENBQUE7QUFDbkIsQ0FBQyxFQVBXLFdBQVcsR0FBWCxtQkFBVyxLQUFYLG1CQUFXLFFBT3RCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gVHJhZmZpY1R5cGUge1xuICAgIFJPQUQgPSAnUm9hZCcsXG4gICAgTUFSSU5FID0gJ01hcmluZScsXG4gICAgUkFJTCA9ICdSYWlsJyxcbiAgICBBVklBVElPTiA9ICdBdmlhdGlvbicsXG4gICAgTUNQID0gJ01DUCcsXG4gICAgT1RIRVIgPSAnT3RoZXInXG59XG4iXX0=
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateMonth = exports.validateYear = exports.MAX_YEAR = exports.MIN_YEAR = void 0;
4
- exports.MIN_YEAR = 1900;
5
- exports.MAX_YEAR = 2100;
6
- function validateYear(year, minYear = exports.MIN_YEAR, maxYear = exports.MAX_YEAR) {
7
- return year >= minYear && year <= maxYear;
8
- }
9
- exports.validateYear = validateYear;
10
- function validateMonth(month) {
11
- return month > 0 && month < 13;
12
- }
13
- exports.validateMonth = validateMonth;
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLFFBQVEsR0FBRyxJQUFJLENBQUM7QUFDaEIsUUFBQSxRQUFRLEdBQUcsSUFBSSxDQUFDO0FBRTdCLFNBQWdCLFlBQVksQ0FBQyxJQUFZLEVBQUUsT0FBTyxHQUFHLGdCQUFRLEVBQUUsT0FBTyxHQUFHLGdCQUFRO0lBQzdFLE9BQU8sSUFBSSxJQUFJLE9BQU8sSUFBSSxJQUFJLElBQUksT0FBTyxDQUFDO0FBQzlDLENBQUM7QUFGRCxvQ0FFQztBQUVELFNBQWdCLGFBQWEsQ0FBQyxLQUFhO0lBQ3ZDLE9BQU8sS0FBSyxHQUFHLENBQUMsSUFBSSxLQUFLLEdBQUcsRUFBRSxDQUFDO0FBQ25DLENBQUM7QUFGRCxzQ0FFQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBNSU5fWUVBUiA9IDE5MDA7XG5leHBvcnQgY29uc3QgTUFYX1lFQVIgPSAyMTAwO1xuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVZZWFyKHllYXI6IG51bWJlciwgbWluWWVhciA9IE1JTl9ZRUFSLCBtYXhZZWFyID0gTUFYX1lFQVIpIHtcbiAgICByZXR1cm4geWVhciA+PSBtaW5ZZWFyICYmIHllYXIgPD0gbWF4WWVhcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlTW9udGgobW9udGg6IG51bWJlcikge1xuICAgIHJldHVybiBtb250aCA+IDAgJiYgbW9udGggPCAxMztcbn1cbiJdfQ==
@@ -1,129 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.geojsonSchema = exports.featureSchema = exports.createArraySchema = exports.addSimpleServiceModel = exports.addServiceModel = exports.addDefaultValidator = exports.getModelReference = void 0;
4
- const aws_apigateway_1 = require("aws-cdk-lib/aws-apigateway");
5
- /**
6
- * Get a reference to an OpenAPI model object in a REST API.
7
- * Can be used to supply a reference to properties of a GeoJSON feature.
8
- * @param modelId Id of the referenced object
9
- * @param restApiId Id of the REST API
10
- */
11
- function getModelReference(modelId, restApiId) {
12
- return `https://apigateway.amazonaws.com/restapis/${restApiId}/models/${modelId}`;
13
- }
14
- exports.getModelReference = getModelReference;
15
- /**
16
- * Adds a request validator to a REST API to enforce request parameters/body requirements.
17
- * https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-request-validation.html
18
- * @param api REST API
19
- */
20
- function addDefaultValidator(api) {
21
- return api.addRequestValidator('DefaultValidator', {
22
- validateRequestParameters: true,
23
- validateRequestBody: true,
24
- });
25
- }
26
- exports.addDefaultValidator = addDefaultValidator;
27
- /**
28
- * Adds a JSON Schema model to an API Gateway API. Can be used later to generate OpenAPI specifications.
29
- * This method adds a schema for _a single object._
30
- * @param name Name of the model
31
- * @param api REST API
32
- * @param schema JSON Schema
33
- * @return ModelWithReference A model object with a reference to an API Gateway model object.
34
- */
35
- function addServiceModel(modelName, api, schema) {
36
- const mwr = api.addModel(modelName, {
37
- contentType: 'application/json',
38
- modelName,
39
- schema,
40
- });
41
- mwr.modelReference = getModelReference(mwr.modelId, api.restApiId);
42
- return mwr;
43
- }
44
- exports.addServiceModel = addServiceModel;
45
- /**
46
- * Add an empty JSON schema model to an API Gateway API.
47
- * Usable for example if the incoming data is in XML format but some template transformation is necessary.
48
- * @param modelName
49
- * @param api
50
- * @param contentType
51
- */
52
- function addSimpleServiceModel(modelName, api, contentType = 'application/xml') {
53
- return api.addModel(modelName, {
54
- contentType,
55
- modelName,
56
- schema: {},
57
- });
58
- }
59
- exports.addSimpleServiceModel = addSimpleServiceModel;
60
- /**
61
- * Adds a JSON Schema model to an API Gateway API. Can be used later to generate OpenAPI specifications.
62
- * This method adds a schema for _an array._
63
- * @param model
64
- * @param api
65
- */
66
- function createArraySchema(model, api) {
67
- return {
68
- type: aws_apigateway_1.JsonSchemaType.ARRAY,
69
- items: {
70
- ref: getModelReference(model.modelId, api.restApiId),
71
- },
72
- };
73
- }
74
- exports.createArraySchema = createArraySchema;
75
- /**
76
- * Creates a JSON Schema for a GeoJSON Feature. Can be used to generate OpenAPI descriptions.
77
- * @param modelReference Reference to a model object
78
- */
79
- function featureSchema(modelReference) {
80
- return {
81
- schema: aws_apigateway_1.JsonSchemaVersion.DRAFT4,
82
- type: aws_apigateway_1.JsonSchemaType.OBJECT,
83
- description: 'GeoJson Feature',
84
- required: ['type', 'properties', 'geometry'],
85
- properties: {
86
- type: {
87
- type: aws_apigateway_1.JsonSchemaType.STRING,
88
- description: 'Feature',
89
- enum: ['Feature'],
90
- },
91
- properties: {
92
- ref: modelReference,
93
- },
94
- geometry: {
95
- type: aws_apigateway_1.JsonSchemaType.OBJECT,
96
- description: 'GeoJSON geometry',
97
- },
98
- },
99
- };
100
- }
101
- exports.featureSchema = featureSchema;
102
- /**
103
- *
104
- * Creates a JSON Schema for a GeoJSON Feature Collection. Can be used to generate OpenAPI descriptions.
105
- * @param modelReference Reference to a model object, in this case Features.
106
- */
107
- function geojsonSchema(modelReference) {
108
- return {
109
- schema: aws_apigateway_1.JsonSchemaVersion.DRAFT4,
110
- type: aws_apigateway_1.JsonSchemaType.OBJECT,
111
- description: 'GeoJson FeatureCollection',
112
- required: ['type', 'features'],
113
- properties: {
114
- type: {
115
- type: aws_apigateway_1.JsonSchemaType.STRING,
116
- description: 'FeatureCollection',
117
- enum: ['FeatureCollection'],
118
- },
119
- features: {
120
- type: aws_apigateway_1.JsonSchemaType.ARRAY,
121
- items: {
122
- ref: modelReference,
123
- },
124
- },
125
- },
126
- };
127
- }
128
- exports.geojsonSchema = geojsonSchema;
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2FwaS1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrREFPb0M7QUFHcEM7Ozs7O0dBS0c7QUFDSCxTQUFnQixpQkFBaUIsQ0FBQyxPQUFlLEVBQUUsU0FBaUI7SUFDaEUsT0FBTyw2Q0FBNkMsU0FBUyxXQUFXLE9BQU8sRUFBRSxDQUFDO0FBQ3RGLENBQUM7QUFGRCw4Q0FFQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixtQkFBbUIsQ0FBQyxHQUFZO0lBQzVDLE9BQU8sR0FBRyxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixFQUFFO1FBQy9DLHlCQUF5QixFQUFFLElBQUk7UUFDL0IsbUJBQW1CLEVBQUUsSUFBSTtLQUM1QixDQUFDLENBQUM7QUFDUCxDQUFDO0FBTEQsa0RBS0M7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsU0FBZ0IsZUFBZSxDQUFDLFNBQWlCLEVBQUUsR0FBWSxFQUFFLE1BQWtCO0lBQy9FLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFO1FBQ2hDLFdBQVcsRUFBRSxrQkFBa0I7UUFDL0IsU0FBUztRQUNULE1BQU07S0FDVCxDQUF1QixDQUFDO0lBQ3pCLEdBQUcsQ0FBQyxjQUFjLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbkUsT0FBTyxHQUFHLENBQUM7QUFDZixDQUFDO0FBUkQsMENBUUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFnQixxQkFBcUIsQ0FBQyxTQUFpQixFQUFFLEdBQVksRUFBRSxXQUFXLEdBQUcsaUJBQWlCO0lBQ2xHLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUU7UUFDM0IsV0FBVztRQUNYLFNBQVM7UUFDVCxNQUFNLEVBQUUsRUFBRTtLQUNiLENBQUMsQ0FBQztBQUNQLENBQUM7QUFORCxzREFNQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsaUJBQWlCLENBQUMsS0FBWSxFQUFFLEdBQVk7SUFDeEQsT0FBTztRQUNILElBQUksRUFBRSwrQkFBYyxDQUFDLEtBQUs7UUFDMUIsS0FBSyxFQUFFO1lBQ0gsR0FBRyxFQUFFLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLFNBQVMsQ0FBQztTQUN2RDtLQUNKLENBQUM7QUFDTixDQUFDO0FBUEQsOENBT0M7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixhQUFhLENBQUMsY0FBc0I7SUFDaEQsT0FBTztRQUNILE1BQU0sRUFBRSxrQ0FBaUIsQ0FBQyxNQUFNO1FBQ2hDLElBQUksRUFBRSwrQkFBYyxDQUFDLE1BQU07UUFDM0IsV0FBVyxFQUFFLGlCQUFpQjtRQUM5QixRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQztRQUM1QyxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUU7Z0JBQ0YsSUFBSSxFQUFFLCtCQUFjLENBQUMsTUFBTTtnQkFDM0IsV0FBVyxFQUFFLFNBQVM7Z0JBQ3RCLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQzthQUNwQjtZQUNELFVBQVUsRUFBRTtnQkFDUixHQUFHLEVBQUUsY0FBYzthQUN0QjtZQUNELFFBQVEsRUFBRTtnQkFDTixJQUFJLEVBQUUsK0JBQWMsQ0FBQyxNQUFNO2dCQUMzQixXQUFXLEVBQUUsa0JBQWtCO2FBQ2xDO1NBQ0o7S0FDSixDQUFDO0FBQ04sQ0FBQztBQXJCRCxzQ0FxQkM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsYUFBYSxDQUFDLGNBQXNCO0lBQ2hELE9BQU87UUFDSCxNQUFNLEVBQUUsa0NBQWlCLENBQUMsTUFBTTtRQUNoQyxJQUFJLEVBQUUsK0JBQWMsQ0FBQyxNQUFNO1FBQzNCLFdBQVcsRUFBRSwyQkFBMkI7UUFDeEMsUUFBUSxFQUFFLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQztRQUM5QixVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUU7Z0JBQ0YsSUFBSSxFQUFFLCtCQUFjLENBQUMsTUFBTTtnQkFDM0IsV0FBVyxFQUFFLG1CQUFtQjtnQkFDaEMsSUFBSSxFQUFFLENBQUMsbUJBQW1CLENBQUM7YUFDOUI7WUFDRCxRQUFRLEVBQUU7Z0JBQ04sSUFBSSxFQUFFLCtCQUFjLENBQUMsS0FBSztnQkFDMUIsS0FBSyxFQUFFO29CQUNILEdBQUcsRUFBRSxjQUFjO2lCQUN0QjthQUNKO1NBQ0o7S0FDSixDQUFDO0FBQ04sQ0FBQztBQXBCRCxzQ0FvQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIFJlc3RBcGksXG4gICAgTW9kZWwsXG4gICAgSnNvblNjaGVtYSxcbiAgICBSZXF1ZXN0VmFsaWRhdG9yLFxuICAgIEpzb25TY2hlbWFUeXBlLFxuICAgIEpzb25TY2hlbWFWZXJzaW9uLFxufSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtYXBpZ2F0ZXdheSc7XG5pbXBvcnQge01vZGVsV2l0aFJlZmVyZW5jZX0gZnJvbSBcIi4uL2F3cy90eXBlcy9tb2RlbC13aXRoLXJlZmVyZW5jZVwiO1xuXG4vKipcbiAqIEdldCBhIHJlZmVyZW5jZSB0byBhbiBPcGVuQVBJIG1vZGVsIG9iamVjdCBpbiBhIFJFU1QgQVBJLlxuICogQ2FuIGJlIHVzZWQgdG8gc3VwcGx5IGEgcmVmZXJlbmNlIHRvIHByb3BlcnRpZXMgb2YgYSBHZW9KU09OIGZlYXR1cmUuXG4gKiBAcGFyYW0gbW9kZWxJZCBJZCBvZiB0aGUgcmVmZXJlbmNlZCBvYmplY3RcbiAqIEBwYXJhbSByZXN0QXBpSWQgSWQgb2YgdGhlIFJFU1QgQVBJXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRNb2RlbFJlZmVyZW5jZShtb2RlbElkOiBzdHJpbmcsIHJlc3RBcGlJZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGBodHRwczovL2FwaWdhdGV3YXkuYW1hem9uYXdzLmNvbS9yZXN0YXBpcy8ke3Jlc3RBcGlJZH0vbW9kZWxzLyR7bW9kZWxJZH1gO1xufVxuXG4vKipcbiAqIEFkZHMgYSByZXF1ZXN0IHZhbGlkYXRvciB0byBhIFJFU1QgQVBJIHRvIGVuZm9yY2UgcmVxdWVzdCBwYXJhbWV0ZXJzL2JvZHkgcmVxdWlyZW1lbnRzLlxuICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FwaWdhdGV3YXkvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL2FwaS1nYXRld2F5LW1ldGhvZC1yZXF1ZXN0LXZhbGlkYXRpb24uaHRtbFxuICogQHBhcmFtIGFwaSBSRVNUIEFQSVxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkRGVmYXVsdFZhbGlkYXRvcihhcGk6IFJlc3RBcGkpOiBSZXF1ZXN0VmFsaWRhdG9yIHtcbiAgICByZXR1cm4gYXBpLmFkZFJlcXVlc3RWYWxpZGF0b3IoJ0RlZmF1bHRWYWxpZGF0b3InLCB7XG4gICAgICAgIHZhbGlkYXRlUmVxdWVzdFBhcmFtZXRlcnM6IHRydWUsXG4gICAgICAgIHZhbGlkYXRlUmVxdWVzdEJvZHk6IHRydWUsXG4gICAgfSk7XG59XG5cbi8qKlxuICogQWRkcyBhIEpTT04gU2NoZW1hIG1vZGVsIHRvIGFuIEFQSSBHYXRld2F5IEFQSS4gQ2FuIGJlIHVzZWQgbGF0ZXIgdG8gZ2VuZXJhdGUgT3BlbkFQSSBzcGVjaWZpY2F0aW9ucy5cbiAqIFRoaXMgbWV0aG9kIGFkZHMgYSBzY2hlbWEgZm9yIF9hIHNpbmdsZSBvYmplY3QuX1xuICogQHBhcmFtIG5hbWUgTmFtZSBvZiB0aGUgbW9kZWxcbiAqIEBwYXJhbSBhcGkgUkVTVCBBUElcbiAqIEBwYXJhbSBzY2hlbWEgSlNPTiBTY2hlbWFcbiAqIEByZXR1cm4gTW9kZWxXaXRoUmVmZXJlbmNlIEEgbW9kZWwgb2JqZWN0IHdpdGggYSByZWZlcmVuY2UgdG8gYW4gQVBJIEdhdGV3YXkgbW9kZWwgb2JqZWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkU2VydmljZU1vZGVsKG1vZGVsTmFtZTogc3RyaW5nLCBhcGk6IFJlc3RBcGksIHNjaGVtYTogSnNvblNjaGVtYSk6IE1vZGVsV2l0aFJlZmVyZW5jZSB7XG4gICAgY29uc3QgbXdyID0gYXBpLmFkZE1vZGVsKG1vZGVsTmFtZSwge1xuICAgICAgICBjb250ZW50VHlwZTogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICBtb2RlbE5hbWUsXG4gICAgICAgIHNjaGVtYSxcbiAgICB9KSBhcyBNb2RlbFdpdGhSZWZlcmVuY2U7XG4gICAgbXdyLm1vZGVsUmVmZXJlbmNlID0gZ2V0TW9kZWxSZWZlcmVuY2UobXdyLm1vZGVsSWQsIGFwaS5yZXN0QXBpSWQpO1xuICAgIHJldHVybiBtd3I7XG59XG5cbi8qKlxuICogQWRkIGFuIGVtcHR5IEpTT04gc2NoZW1hIG1vZGVsIHRvIGFuIEFQSSBHYXRld2F5IEFQSS5cbiAqIFVzYWJsZSBmb3IgZXhhbXBsZSBpZiB0aGUgaW5jb21pbmcgZGF0YSBpcyBpbiBYTUwgZm9ybWF0IGJ1dCBzb21lIHRlbXBsYXRlIHRyYW5zZm9ybWF0aW9uIGlzIG5lY2Vzc2FyeS5cbiAqIEBwYXJhbSBtb2RlbE5hbWVcbiAqIEBwYXJhbSBhcGlcbiAqIEBwYXJhbSBjb250ZW50VHlwZVxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkU2ltcGxlU2VydmljZU1vZGVsKG1vZGVsTmFtZTogc3RyaW5nLCBhcGk6IFJlc3RBcGksIGNvbnRlbnRUeXBlID0gJ2FwcGxpY2F0aW9uL3htbCcpOiBNb2RlbCB7XG4gICAgcmV0dXJuIGFwaS5hZGRNb2RlbChtb2RlbE5hbWUsIHtcbiAgICAgICAgY29udGVudFR5cGUsXG4gICAgICAgIG1vZGVsTmFtZSxcbiAgICAgICAgc2NoZW1hOiB7fSxcbiAgICB9KTtcbn1cblxuLyoqXG4gKiBBZGRzIGEgSlNPTiBTY2hlbWEgbW9kZWwgdG8gYW4gQVBJIEdhdGV3YXkgQVBJLiBDYW4gYmUgdXNlZCBsYXRlciB0byBnZW5lcmF0ZSBPcGVuQVBJIHNwZWNpZmljYXRpb25zLlxuICogVGhpcyBtZXRob2QgYWRkcyBhIHNjaGVtYSBmb3IgX2FuIGFycmF5Ll9cbiAqIEBwYXJhbSBtb2RlbFxuICogQHBhcmFtIGFwaVxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQXJyYXlTY2hlbWEobW9kZWw6IE1vZGVsLCBhcGk6IFJlc3RBcGkpOiBKc29uU2NoZW1hIHtcbiAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiBKc29uU2NoZW1hVHlwZS5BUlJBWSxcbiAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICAgIHJlZjogZ2V0TW9kZWxSZWZlcmVuY2UobW9kZWwubW9kZWxJZCwgYXBpLnJlc3RBcGlJZCksXG4gICAgICAgIH0sXG4gICAgfTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgSlNPTiBTY2hlbWEgZm9yIGEgR2VvSlNPTiBGZWF0dXJlLiBDYW4gYmUgdXNlZCB0byBnZW5lcmF0ZSBPcGVuQVBJIGRlc2NyaXB0aW9ucy5cbiAqIEBwYXJhbSBtb2RlbFJlZmVyZW5jZSBSZWZlcmVuY2UgdG8gYSBtb2RlbCBvYmplY3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZlYXR1cmVTY2hlbWEobW9kZWxSZWZlcmVuY2U6IHN0cmluZykge1xuICAgIHJldHVybiB7XG4gICAgICAgIHNjaGVtYTogSnNvblNjaGVtYVZlcnNpb24uRFJBRlQ0LFxuICAgICAgICB0eXBlOiBKc29uU2NoZW1hVHlwZS5PQkpFQ1QsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnR2VvSnNvbiBGZWF0dXJlJyxcbiAgICAgICAgcmVxdWlyZWQ6IFsndHlwZScsICdwcm9wZXJ0aWVzJywgJ2dlb21ldHJ5J10sXG4gICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIHR5cGU6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiBKc29uU2NoZW1hVHlwZS5TVFJJTkcsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdGZWF0dXJlJyxcbiAgICAgICAgICAgICAgICBlbnVtOiBbJ0ZlYXR1cmUnXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgICAgcmVmOiBtb2RlbFJlZmVyZW5jZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZW9tZXRyeToge1xuICAgICAgICAgICAgICAgIHR5cGU6IEpzb25TY2hlbWFUeXBlLk9CSkVDVCxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0dlb0pTT04gZ2VvbWV0cnknLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICB9O1xufVxuXG4vKipcbiAqXG4gKiBDcmVhdGVzIGEgSlNPTiBTY2hlbWEgZm9yIGEgR2VvSlNPTiBGZWF0dXJlIENvbGxlY3Rpb24uIENhbiBiZSB1c2VkIHRvIGdlbmVyYXRlIE9wZW5BUEkgZGVzY3JpcHRpb25zLlxuICogQHBhcmFtIG1vZGVsUmVmZXJlbmNlIFJlZmVyZW5jZSB0byBhIG1vZGVsIG9iamVjdCwgaW4gdGhpcyBjYXNlIEZlYXR1cmVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VvanNvblNjaGVtYShtb2RlbFJlZmVyZW5jZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgc2NoZW1hOiBKc29uU2NoZW1hVmVyc2lvbi5EUkFGVDQsXG4gICAgICAgIHR5cGU6IEpzb25TY2hlbWFUeXBlLk9CSkVDVCxcbiAgICAgICAgZGVzY3JpcHRpb246ICdHZW9Kc29uIEZlYXR1cmVDb2xsZWN0aW9uJyxcbiAgICAgICAgcmVxdWlyZWQ6IFsndHlwZScsICdmZWF0dXJlcyddLFxuICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICB0eXBlOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogSnNvblNjaGVtYVR5cGUuU1RSSU5HLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRmVhdHVyZUNvbGxlY3Rpb24nLFxuICAgICAgICAgICAgICAgIGVudW06IFsnRmVhdHVyZUNvbGxlY3Rpb24nXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBmZWF0dXJlczoge1xuICAgICAgICAgICAgICAgIHR5cGU6IEpzb25TY2hlbWFUeXBlLkFSUkFZLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiB7XG4gICAgICAgICAgICAgICAgICAgIHJlZjogbW9kZWxSZWZlcmVuY2UsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgfTtcbn1cbiJdfQ==