@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.
- package/.editorconfig +9 -0
- package/.eslintignore +4 -0
- package/.eslintrc.json +27 -0
- package/.github/CODEOWNERS +2 -0
- package/.github/workflows/build.yml +36 -0
- package/.github/workflows/eslint.yml +38 -0
- package/.github/workflows/mirror.yml +15 -0
- package/.gitignore +29 -0
- package/.husky/pre-commit +4 -0
- package/.prettierrc.json +10 -0
- package/dist/aws/infra/api/integration.js +52 -0
- package/dist/aws/infra/api/response.js +61 -0
- package/dist/aws/infra/api/responses.js +82 -0
- package/dist/aws/infra/api/static-integration.js +54 -0
- package/dist/aws/infra/canaries/canary-alarm.js +26 -0
- package/dist/aws/infra/canaries/canary-keys.js +7 -0
- package/dist/aws/infra/canaries/canary-parameters.js +3 -0
- package/dist/aws/infra/canaries/canary-role.js +46 -0
- package/dist/aws/infra/canaries/canary.js +32 -0
- package/dist/aws/infra/canaries/database-canary.js +70 -0
- package/dist/aws/infra/canaries/database-checker.js +103 -0
- package/dist/aws/infra/canaries/url-canary.js +47 -0
- package/dist/aws/infra/canaries/url-checker.js +252 -0
- package/dist/aws/infra/documentation.js +95 -0
- package/dist/aws/infra/scheduler.js +31 -0
- package/dist/aws/infra/security-rule.js +39 -0
- package/dist/aws/infra/sqs-integration.js +93 -0
- package/dist/aws/infra/sqs-queue.js +130 -0
- package/dist/aws/infra/stack/lambda-configs.js +105 -0
- package/dist/aws/infra/stack/monitoredfunction.js +143 -0
- package/dist/aws/infra/stack/rest_apis.js +185 -0
- package/dist/aws/infra/stack/stack-checking-aspect.js +174 -0
- package/dist/aws/infra/stack/stack.js +67 -0
- package/dist/aws/infra/stack/subscription.js +42 -0
- package/dist/aws/infra/usage-plans.js +42 -0
- package/dist/aws/runtime/apikey.js +13 -0
- package/dist/aws/runtime/digitraffic-integration-response.js +26 -0
- package/dist/aws/runtime/environment.js +12 -0
- package/dist/aws/runtime/messaging.js +31 -0
- package/dist/aws/runtime/s3.js +30 -0
- package/dist/aws/runtime/secrets/dbsecret.js +96 -0
- package/dist/aws/runtime/secrets/proxy-holder.js +27 -0
- package/dist/aws/runtime/secrets/rds-holder.js +27 -0
- package/dist/aws/runtime/secrets/secret-holder.js +76 -0
- package/dist/aws/runtime/secrets/secret.js +43 -0
- package/dist/aws/types/errors.js +16 -0
- package/dist/aws/types/lambda-response.js +33 -0
- package/dist/aws/types/mediatypes.js +16 -0
- package/dist/aws/types/model-with-reference.js +3 -0
- package/dist/aws/types/proxytypes.js +3 -0
- package/dist/aws/types/tags.js +7 -0
- package/dist/database/cached.js +32 -0
- package/dist/database/database.js +70 -0
- package/dist/database/last-updated.js +54 -0
- package/dist/database/models.js +3 -0
- package/dist/marine/id_utils.js +33 -0
- package/dist/marine/rtz.js +3 -0
- package/dist/test/asserter.js +45 -0
- package/dist/test/db-testutils.js +31 -0
- package/dist/test/httpserver.js +74 -0
- package/dist/test/secret.js +25 -0
- package/dist/test/secrets-manager.js +59 -0
- package/dist/test/testutils.js +44 -0
- package/dist/types/either.js +3 -0
- package/dist/types/input-error.js +7 -0
- package/dist/types/language.js +10 -0
- package/dist/types/traffictype.js +13 -0
- package/dist/types/validator.js +14 -0
- package/dist/utils/api-model.js +129 -0
- package/dist/utils/base64.js +21 -0
- package/dist/utils/date-utils.js +34 -0
- package/dist/utils/geojson-types.js +18 -0
- package/dist/utils/geometry.js +164 -0
- package/dist/utils/retry.js +50 -0
- package/dist/utils/slack.js +25 -0
- package/dist/utils/utils.js +75 -0
- package/jest.config.js +15 -0
- package/package.json +15 -13
- package/src/@types/geojson-validation/index.d.ts +4 -0
- package/src/aws/infra/api/integration.ts +73 -0
- package/src/aws/infra/api/response.ts +67 -0
- package/src/aws/infra/api/responses.ts +124 -0
- package/src/aws/infra/api/static-integration.ts +62 -0
- package/src/aws/infra/canaries/canary-alarm.ts +31 -0
- package/src/aws/infra/canaries/canary-keys.ts +3 -0
- package/{aws/infra/canaries/canary-parameters.d.ts → src/aws/infra/canaries/canary-parameters.ts} +7 -6
- package/src/aws/infra/canaries/canary-role.ts +47 -0
- package/src/aws/infra/canaries/canary.ts +46 -0
- package/src/aws/infra/canaries/database-canary.ts +98 -0
- package/src/aws/infra/canaries/database-checker.ts +155 -0
- package/src/aws/infra/canaries/url-canary.ts +74 -0
- package/src/aws/infra/canaries/url-checker.ts +366 -0
- package/src/aws/infra/documentation.ts +124 -0
- package/src/aws/infra/scheduler.ts +59 -0
- package/src/aws/infra/security-rule.ts +38 -0
- package/src/aws/infra/sqs-integration.ts +102 -0
- package/src/aws/infra/sqs-queue.ts +148 -0
- package/src/aws/infra/stack/lambda-configs.ts +207 -0
- package/src/aws/infra/stack/monitoredfunction.ts +342 -0
- package/src/aws/infra/stack/rest_apis.ts +223 -0
- package/src/aws/infra/stack/stack-checking-aspect.ts +279 -0
- package/src/aws/infra/stack/stack.ts +145 -0
- package/src/aws/infra/stack/subscription.ts +58 -0
- package/src/aws/infra/usage-plans.ts +41 -0
- package/src/aws/runtime/apikey.ts +9 -0
- package/src/aws/runtime/digitraffic-integration-response.ts +28 -0
- package/src/aws/runtime/environment.ts +9 -0
- package/src/aws/runtime/messaging.ts +26 -0
- package/src/aws/runtime/s3.ts +44 -0
- package/src/aws/runtime/secrets/dbsecret.ts +116 -0
- package/src/aws/runtime/secrets/proxy-holder.ts +37 -0
- package/src/aws/runtime/secrets/rds-holder.ts +33 -0
- package/src/aws/runtime/secrets/secret-holder.ts +116 -0
- package/src/aws/runtime/secrets/secret.ts +50 -0
- package/src/aws/types/errors.ts +14 -0
- package/src/aws/types/lambda-response.ts +43 -0
- package/{aws/types/mediatypes.d.ts → src/aws/types/mediatypes.ts} +4 -3
- package/{aws/types/model-with-reference.d.ts → src/aws/types/model-with-reference.ts} +2 -1
- package/src/aws/types/proxytypes.ts +27 -0
- package/src/aws/types/tags.ts +3 -0
- package/src/database/cached.ts +35 -0
- package/src/database/database.ts +96 -0
- package/src/database/last-updated.ts +59 -0
- package/{database/models.d.ts → src/database/models.ts} +1 -0
- package/src/marine/id_utils.ts +30 -0
- package/src/marine/rtz.ts +57 -0
- package/src/test/asserter.ts +48 -0
- package/src/test/db-testutils.ts +44 -0
- package/src/test/httpserver.ts +96 -0
- package/src/test/secret.ts +23 -0
- package/src/test/secrets-manager.ts +34 -0
- package/src/test/testutils.ts +39 -0
- package/src/types/either.ts +3 -0
- package/src/types/input-error.ts +2 -0
- package/src/types/language.ts +3 -0
- package/src/types/traffictype.ts +8 -0
- package/src/types/validator.ts +10 -0
- package/src/utils/api-model.ts +133 -0
- package/src/utils/base64.ts +16 -0
- package/src/utils/date-utils.ts +30 -0
- package/src/utils/geojson-types.ts +22 -0
- package/src/utils/geometry.ts +164 -0
- package/src/utils/retry.ts +49 -0
- package/src/utils/slack.ts +22 -0
- package/src/utils/utils.ts +105 -0
- package/test/marine/id_utils.test.ts +57 -0
- package/test/promise/promise.test.ts +143 -0
- package/test/secrets/dbsecret.test.ts +59 -0
- package/test/secrets/secret-holder.test.ts +143 -0
- package/test/secrets/secret.test.ts +49 -0
- package/test/test/httpserver.test.ts +128 -0
- package/test/utils/date-utils.test.ts +28 -0
- package/test/utils/geometry.test.ts +29 -0
- package/test/utils/utils.test.ts +64 -0
- package/tsconfig.eslint.json +4 -0
- package/tsconfig.json +22 -0
- package/yarn.lock +4060 -0
- package/aws/infra/api/integration.d.ts +0 -21
- package/aws/infra/api/integration.js +0 -52
- package/aws/infra/api/response.d.ts +0 -22
- package/aws/infra/api/response.js +0 -61
- package/aws/infra/api/responses.d.ts +0 -39
- package/aws/infra/api/responses.js +0 -79
- package/aws/infra/api/static-integration.d.ts +0 -15
- package/aws/infra/api/static-integration.js +0 -54
- package/aws/infra/canaries/canary-alarm.d.ts +0 -6
- package/aws/infra/canaries/canary-alarm.js +0 -26
- package/aws/infra/canaries/canary-parameters.js +0 -3
- package/aws/infra/canaries/canary-role.d.ts +0 -6
- package/aws/infra/canaries/canary-role.js +0 -46
- package/aws/infra/canaries/canary.d.ts +0 -8
- package/aws/infra/canaries/canary.js +0 -32
- package/aws/infra/canaries/database-canary.d.ts +0 -18
- package/aws/infra/canaries/database-canary.js +0 -55
- package/aws/infra/canaries/database-checker.d.ts +0 -21
- package/aws/infra/canaries/database-checker.js +0 -109
- package/aws/infra/canaries/url-canary.d.ts +0 -19
- package/aws/infra/canaries/url-canary.js +0 -46
- package/aws/infra/canaries/url-checker.d.ts +0 -46
- package/aws/infra/canaries/url-checker.js +0 -238
- package/aws/infra/documentation.d.ts +0 -56
- package/aws/infra/documentation.js +0 -95
- package/aws/infra/scheduler.d.ts +0 -12
- package/aws/infra/scheduler.js +0 -31
- package/aws/infra/security-rule.d.ts +0 -12
- package/aws/infra/security-rule.js +0 -39
- package/aws/infra/sqs-integration.d.ts +0 -7
- package/aws/infra/sqs-integration.js +0 -93
- package/aws/infra/sqs-queue.d.ts +0 -16
- package/aws/infra/sqs-queue.js +0 -130
- package/aws/infra/stack/lambda-configs.d.ts +0 -72
- package/aws/infra/stack/lambda-configs.js +0 -93
- package/aws/infra/stack/monitoredfunction.d.ts +0 -84
- package/aws/infra/stack/monitoredfunction.js +0 -135
- package/aws/infra/stack/rest_apis.d.ts +0 -41
- package/aws/infra/stack/rest_apis.js +0 -185
- package/aws/infra/stack/stack-checking-aspect.d.ts +0 -21
- package/aws/infra/stack/stack-checking-aspect.js +0 -174
- package/aws/infra/stack/stack.d.ts +0 -44
- package/aws/infra/stack/stack.js +0 -60
- package/aws/infra/stack/subscription.d.ts +0 -17
- package/aws/infra/stack/subscription.js +0 -41
- package/aws/infra/usage-plans.d.ts +0 -15
- package/aws/infra/usage-plans.js +0 -42
- package/aws/runtime/apikey.d.ts +0 -2
- package/aws/runtime/apikey.js +0 -13
- package/aws/runtime/digitraffic-integration-response.d.ts +0 -8
- package/aws/runtime/digitraffic-integration-response.js +0 -26
- package/aws/runtime/environment.d.ts +0 -1
- package/aws/runtime/environment.js +0 -12
- package/aws/runtime/messaging.d.ts +0 -10
- package/aws/runtime/messaging.js +0 -31
- package/aws/runtime/s3.d.ts +0 -2
- package/aws/runtime/s3.js +0 -30
- package/aws/runtime/secrets/dbsecret.d.ts +0 -54
- package/aws/runtime/secrets/dbsecret.js +0 -96
- package/aws/runtime/secrets/proxy-holder.d.ts +0 -9
- package/aws/runtime/secrets/proxy-holder.js +0 -26
- package/aws/runtime/secrets/rds-holder.d.ts +0 -9
- package/aws/runtime/secrets/rds-holder.js +0 -26
- package/aws/runtime/secrets/secret-holder.d.ts +0 -26
- package/aws/runtime/secrets/secret-holder.js +0 -73
- package/aws/runtime/secrets/secret.d.ts +0 -8
- package/aws/runtime/secrets/secret.js +0 -43
- package/aws/types/errors.d.ts +0 -4
- package/aws/types/errors.js +0 -9
- package/aws/types/lambda-response.d.ts +0 -12
- package/aws/types/lambda-response.js +0 -28
- package/aws/types/mediatypes.js +0 -15
- package/aws/types/model-with-reference.js +0 -3
- package/aws/types/proxytypes.d.ts +0 -26
- package/aws/types/proxytypes.js +0 -3
- package/aws/types/tags.d.ts +0 -2
- package/aws/types/tags.js +0 -7
- package/database/cached.d.ts +0 -7
- package/database/cached.js +0 -32
- package/database/database.d.ts +0 -19
- package/database/database.js +0 -62
- package/database/last-updated.d.ts +0 -16
- package/database/last-updated.js +0 -54
- package/database/models.js +0 -3
- package/index.d.ts +0 -1
- package/index.js +0 -18
- package/marine/id_utils.d.ts +0 -3
- package/marine/id_utils.js +0 -33
- package/marine/rtz.d.ts +0 -48
- package/marine/rtz.js +0 -3
- package/test/asserter.d.ts +0 -11
- package/test/asserter.js +0 -45
- package/test/db-testutils.d.ts +0 -2
- package/test/db-testutils.js +0 -31
- package/test/httpserver.d.ts +0 -18
- package/test/httpserver.js +0 -67
- package/test/secret.d.ts +0 -3
- package/test/secret.js +0 -25
- package/test/secrets-manager.d.ts +0 -9
- package/test/secrets-manager.js +0 -59
- package/test/testutils.d.ts +0 -12
- package/test/testutils.js +0 -44
- package/types/input-error.d.ts +0 -2
- package/types/input-error.js +0 -7
- package/types/language.d.ts +0 -5
- package/types/language.js +0 -10
- package/types/traffictype.d.ts +0 -8
- package/types/traffictype.js +0 -13
- package/types/validator.d.ts +0 -4
- package/types/validator.js +0 -14
- package/utils/api-model.d.ts +0 -87
- package/utils/api-model.js +0 -129
- package/utils/base64.d.ts +0 -12
- package/utils/base64.js +0 -21
- package/utils/date-utils.d.ts +0 -17
- package/utils/date-utils.js +0 -34
- package/utils/geojson-types.d.ts +0 -14
- package/utils/geojson-types.js +0 -18
- package/utils/geometry.d.ts +0 -36
- package/utils/geometry.js +0 -140
- package/utils/retry.d.ts +0 -13
- package/utils/retry.js +0 -50
- package/utils/slack.d.ts +0 -5
- package/utils/slack.js +0 -25
- package/utils/utils.d.ts +0 -30
- package/utils/utils.js +0 -64
package/aws/runtime/s3.js
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.uploadToS3 = void 0;
|
4
|
-
const aws_sdk_1 = require("aws-sdk");
|
5
|
-
async function uploadToS3(bucketName, body, objectName, cannedAcl, contentType) {
|
6
|
-
const s3 = new aws_sdk_1.S3();
|
7
|
-
try {
|
8
|
-
await doUpload(s3, bucketName, body, objectName, cannedAcl, contentType);
|
9
|
-
}
|
10
|
-
catch (error) {
|
11
|
-
console.warn('method=uploadToS3 retrying upload to bucket %s', bucketName);
|
12
|
-
try {
|
13
|
-
await doUpload(s3, bucketName, body, objectName, cannedAcl, contentType);
|
14
|
-
}
|
15
|
-
catch (e2) {
|
16
|
-
console.error('method=uploadToS3 failed retrying upload to bucket %s', bucketName);
|
17
|
-
}
|
18
|
-
}
|
19
|
-
}
|
20
|
-
exports.uploadToS3 = uploadToS3;
|
21
|
-
function doUpload(s3, bucketName, body, filename, cannedAcl, contentType) {
|
22
|
-
return s3.upload({
|
23
|
-
Bucket: bucketName,
|
24
|
-
Body: body,
|
25
|
-
Key: filename,
|
26
|
-
ACL: cannedAcl,
|
27
|
-
ContentType: contentType,
|
28
|
-
}).promise();
|
29
|
-
}
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiczMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL3J1bnRpbWUvczMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUNBQTJCO0FBRXBCLEtBQUssVUFBVSxVQUFVLENBQzVCLFVBQWtCLEVBQ2xCLElBQVUsRUFDVixVQUFrQixFQUNsQixTQUFrQixFQUNsQixXQUFvQjtJQUdwQixNQUFNLEVBQUUsR0FBRyxJQUFJLFlBQUUsRUFBRSxDQUFDO0lBQ3BCLElBQUk7UUFDQSxNQUFNLFFBQVEsQ0FDVixFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FDM0QsQ0FBQztLQUNMO0lBQUMsT0FBTyxLQUFLLEVBQUU7UUFDWixPQUFPLENBQUMsSUFBSSxDQUFDLGdEQUFnRCxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzNFLElBQUk7WUFDQSxNQUFNLFFBQVEsQ0FDVixFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FDM0QsQ0FBQztTQUNMO1FBQUMsT0FBTyxFQUFFLEVBQUU7WUFDVCxPQUFPLENBQUMsS0FBSyxDQUFDLHVEQUF1RCxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQ3RGO0tBQ0o7QUFDTCxDQUFDO0FBdkJELGdDQXVCQztBQUVELFNBQVMsUUFBUSxDQUNiLEVBQU0sRUFDTixVQUFrQixFQUNsQixJQUFVLEVBQ1YsUUFBZ0IsRUFDaEIsU0FBa0IsRUFDbEIsV0FBb0I7SUFHcEIsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ2IsTUFBTSxFQUFFLFVBQVU7UUFDbEIsSUFBSSxFQUFFLElBQUk7UUFDVixHQUFHLEVBQUUsUUFBUTtRQUNiLEdBQUcsRUFBRSxTQUFTO1FBQ2QsV0FBVyxFQUFFLFdBQVc7S0FDM0IsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1MzfSBmcm9tIFwiYXdzLXNka1wiO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdXBsb2FkVG9TMzxCb2R5IGV4dGVuZHMgUzMuQm9keSB8IHVuZGVmaW5lZD4oXG4gICAgYnVja2V0TmFtZTogc3RyaW5nLFxuICAgIGJvZHk6IEJvZHksXG4gICAgb2JqZWN0TmFtZTogc3RyaW5nLFxuICAgIGNhbm5lZEFjbD86IHN0cmluZyxcbiAgICBjb250ZW50VHlwZT86IHN0cmluZyxcbikge1xuXG4gICAgY29uc3QgczMgPSBuZXcgUzMoKTtcbiAgICB0cnkge1xuICAgICAgICBhd2FpdCBkb1VwbG9hZChcbiAgICAgICAgICAgIHMzLCBidWNrZXROYW1lLCBib2R5LCBvYmplY3ROYW1lLCBjYW5uZWRBY2wsIGNvbnRlbnRUeXBlLFxuICAgICAgICApO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUud2FybignbWV0aG9kPXVwbG9hZFRvUzMgcmV0cnlpbmcgdXBsb2FkIHRvIGJ1Y2tldCAlcycsIGJ1Y2tldE5hbWUpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgZG9VcGxvYWQoXG4gICAgICAgICAgICAgICAgczMsIGJ1Y2tldE5hbWUsIGJvZHksIG9iamVjdE5hbWUsIGNhbm5lZEFjbCwgY29udGVudFR5cGUsXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGNhdGNoIChlMikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignbWV0aG9kPXVwbG9hZFRvUzMgZmFpbGVkIHJldHJ5aW5nIHVwbG9hZCB0byBidWNrZXQgJXMnLCBidWNrZXROYW1lKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZnVuY3Rpb24gZG9VcGxvYWQ8Qm9keSBleHRlbmRzIFMzLkJvZHkgfCB1bmRlZmluZWQ+KFxuICAgIHMzOiBTMyxcbiAgICBidWNrZXROYW1lOiBzdHJpbmcsXG4gICAgYm9keTogQm9keSxcbiAgICBmaWxlbmFtZTogc3RyaW5nLFxuICAgIGNhbm5lZEFjbD86IHN0cmluZyxcbiAgICBjb250ZW50VHlwZT86IHN0cmluZyxcbikge1xuXG4gICAgcmV0dXJuIHMzLnVwbG9hZCh7XG4gICAgICAgIEJ1Y2tldDogYnVja2V0TmFtZSxcbiAgICAgICAgQm9keTogYm9keSxcbiAgICAgICAgS2V5OiBmaWxlbmFtZSxcbiAgICAgICAgQUNMOiBjYW5uZWRBY2wsXG4gICAgICAgIENvbnRlbnRUeXBlOiBjb250ZW50VHlwZSxcbiAgICB9KS5wcm9taXNlKCk7XG59XG4iXX0=
|
@@ -1,54 +0,0 @@
|
|
1
|
-
export declare type DbSecret = {
|
2
|
-
readonly username: string;
|
3
|
-
readonly password: string;
|
4
|
-
readonly host: string;
|
5
|
-
readonly ro_host: string;
|
6
|
-
};
|
7
|
-
export declare enum RdsProxySecretKey {
|
8
|
-
username = "username",
|
9
|
-
password = "password",
|
10
|
-
proxy_host = "proxy_host",
|
11
|
-
proxy_ro_host = "proxy_ro_host"
|
12
|
-
}
|
13
|
-
export declare enum RdsSecretKey {
|
14
|
-
username = "username",
|
15
|
-
password = "password",
|
16
|
-
host = "host",
|
17
|
-
ro_host = "ro_host"
|
18
|
-
}
|
19
|
-
export declare type RdsProxySecret = Record<RdsProxySecretKey, string>;
|
20
|
-
export declare type RdsSecret = Record<RdsSecretKey, string>;
|
21
|
-
export declare enum DatabaseEnvironmentKeys {
|
22
|
-
DB_USER = "DB_USER",
|
23
|
-
DB_PASS = "DB_PASS",
|
24
|
-
DB_URI = "DB_URI",
|
25
|
-
DB_RO_URI = "DB_RO_URI",
|
26
|
-
DB_APPLICATION = "DB_APPLICATION"
|
27
|
-
}
|
28
|
-
/**
|
29
|
-
* You can give the following options for retrieving a secret:
|
30
|
-
*
|
31
|
-
* expectedKeys: the list of keys the secret must include. If not, an error will be thrown.
|
32
|
-
* prefix: a prefix that's included in retrieved secret's keys. Only keys begining with the prefix will be included.
|
33
|
-
* The secret that is passed to the given function will not include the prefix in it's keys.
|
34
|
-
|
35
|
-
*/
|
36
|
-
export declare type SecretOptions = {
|
37
|
-
readonly expectedKeys?: string[];
|
38
|
-
readonly prefix?: string;
|
39
|
-
};
|
40
|
-
export declare type SecretToPromiseFunction<Secret, Response = void> = (secret: Secret) => Promise<Response> | void;
|
41
|
-
export declare type SecretFunction<Secret, Response = void> = (secretId: string, fn: SecretToPromiseFunction<Secret, Response>, options?: SecretOptions) => Promise<Response | void>;
|
42
|
-
export declare type EmptySecretFunction<Response = void> = SecretFunction<DbSecret, Response>;
|
43
|
-
/**
|
44
|
-
* Run the given function with secret retrieved from Secrets Manager. Also injects database-credentials into environment.
|
45
|
-
*
|
46
|
-
* @deprecated use SecretHolder & ProxyHolder
|
47
|
-
* @see SecretOptions
|
48
|
-
*
|
49
|
-
* @param {string} secretId
|
50
|
-
* @param {function} fn
|
51
|
-
* @param {SecretOptions} options
|
52
|
-
*/
|
53
|
-
export declare function withDbSecret<Secret, Response>(secretId: string, fn: SecretToPromiseFunction<Secret, Response>, options?: SecretOptions): Promise<Response | void>;
|
54
|
-
export declare function checkExpectedSecretKeys<Secret>(keys: string[], secret: Secret): void;
|
@@ -1,96 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.checkExpectedSecretKeys = exports.withDbSecret = exports.DatabaseEnvironmentKeys = exports.RdsSecretKey = exports.RdsProxySecretKey = void 0;
|
4
|
-
const secret_1 = require("./secret");
|
5
|
-
var RdsProxySecretKey;
|
6
|
-
(function (RdsProxySecretKey) {
|
7
|
-
RdsProxySecretKey["username"] = "username";
|
8
|
-
RdsProxySecretKey["password"] = "password";
|
9
|
-
RdsProxySecretKey["proxy_host"] = "proxy_host";
|
10
|
-
RdsProxySecretKey["proxy_ro_host"] = "proxy_ro_host";
|
11
|
-
})(RdsProxySecretKey = exports.RdsProxySecretKey || (exports.RdsProxySecretKey = {}));
|
12
|
-
var RdsSecretKey;
|
13
|
-
(function (RdsSecretKey) {
|
14
|
-
RdsSecretKey["username"] = "username";
|
15
|
-
RdsSecretKey["password"] = "password";
|
16
|
-
RdsSecretKey["host"] = "host";
|
17
|
-
RdsSecretKey["ro_host"] = "ro_host";
|
18
|
-
})(RdsSecretKey = exports.RdsSecretKey || (exports.RdsSecretKey = {}));
|
19
|
-
var DatabaseEnvironmentKeys;
|
20
|
-
(function (DatabaseEnvironmentKeys) {
|
21
|
-
DatabaseEnvironmentKeys["DB_USER"] = "DB_USER";
|
22
|
-
DatabaseEnvironmentKeys["DB_PASS"] = "DB_PASS";
|
23
|
-
DatabaseEnvironmentKeys["DB_URI"] = "DB_URI";
|
24
|
-
DatabaseEnvironmentKeys["DB_RO_URI"] = "DB_RO_URI";
|
25
|
-
DatabaseEnvironmentKeys["DB_APPLICATION"] = "DB_APPLICATION";
|
26
|
-
})(DatabaseEnvironmentKeys = exports.DatabaseEnvironmentKeys || (exports.DatabaseEnvironmentKeys = {}));
|
27
|
-
function setDbSecret(secret) {
|
28
|
-
process.env[DatabaseEnvironmentKeys.DB_USER] = secret.username;
|
29
|
-
process.env[DatabaseEnvironmentKeys.DB_PASS] = secret.password;
|
30
|
-
process.env[DatabaseEnvironmentKeys.DB_URI] = secret.host;
|
31
|
-
process.env[DatabaseEnvironmentKeys.DB_RO_URI] = secret.ro_host;
|
32
|
-
}
|
33
|
-
// cached at Lambda container level
|
34
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
35
|
-
let cachedSecret;
|
36
|
-
const missingSecretErrorText = 'Missing or empty secretId';
|
37
|
-
/**
|
38
|
-
* Run the given function with secret retrieved from Secrets Manager. Also injects database-credentials into environment.
|
39
|
-
*
|
40
|
-
* @deprecated use SecretHolder & ProxyHolder
|
41
|
-
* @see SecretOptions
|
42
|
-
*
|
43
|
-
* @param {string} secretId
|
44
|
-
* @param {function} fn
|
45
|
-
* @param {SecretOptions} options
|
46
|
-
*/
|
47
|
-
async function withDbSecret(secretId, fn, options) {
|
48
|
-
if (!secretId) {
|
49
|
-
console.error(missingSecretErrorText);
|
50
|
-
return Promise.reject(missingSecretErrorText);
|
51
|
-
}
|
52
|
-
if (!cachedSecret) {
|
53
|
-
// if prefix is given, first set db values and then fetch secret
|
54
|
-
if (options?.prefix) {
|
55
|
-
// first set db values
|
56
|
-
await (0, secret_1.withSecret)(secretId, (fetchedSecret) => {
|
57
|
-
setDbSecret(fetchedSecret);
|
58
|
-
});
|
59
|
-
// then actual secret
|
60
|
-
await (0, secret_1.withSecretAndPrefix)(secretId, options.prefix, (fetchedSecret) => {
|
61
|
-
cachedSecret = fetchedSecret;
|
62
|
-
});
|
63
|
-
}
|
64
|
-
else {
|
65
|
-
await (0, secret_1.withSecret)(secretId, (fetchedSecret) => {
|
66
|
-
setDbSecret(fetchedSecret);
|
67
|
-
cachedSecret = fetchedSecret;
|
68
|
-
});
|
69
|
-
}
|
70
|
-
}
|
71
|
-
try {
|
72
|
-
if (options?.expectedKeys?.length) {
|
73
|
-
checkExpectedSecretKeys(options.expectedKeys, cachedSecret);
|
74
|
-
}
|
75
|
-
return fn(cachedSecret);
|
76
|
-
}
|
77
|
-
catch (error) {
|
78
|
-
console.error('method=withDbSecret Caught an error, refreshing secret', error);
|
79
|
-
// try to refetch secret in case it has changed
|
80
|
-
await (0, secret_1.withSecret)(secretId, (fetchedSecret) => {
|
81
|
-
setDbSecret(fetchedSecret);
|
82
|
-
cachedSecret = fetchedSecret;
|
83
|
-
});
|
84
|
-
return fn(cachedSecret);
|
85
|
-
}
|
86
|
-
}
|
87
|
-
exports.withDbSecret = withDbSecret;
|
88
|
-
function checkExpectedSecretKeys(keys, secret) {
|
89
|
-
const missingKeys = keys.filter(key => !(key in secret));
|
90
|
-
if (missingKeys.length) {
|
91
|
-
console.error(`method=checkExpectedSecretKeys secret didn't contain the key(s) ${missingKeys}`);
|
92
|
-
throw new Error('Expected keys were not found');
|
93
|
-
}
|
94
|
-
}
|
95
|
-
exports.checkExpectedSecretKeys = checkExpectedSecretKeys;
|
96
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGJzZWNyZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXdzL3J1bnRpbWUvc2VjcmV0cy9kYnNlY3JldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQ0FBeUQ7QUFTekQsSUFBWSxpQkFFWDtBQUZELFdBQVksaUJBQWlCO0lBQ3pCLDBDQUFxQixDQUFBO0lBQUUsMENBQXFCLENBQUE7SUFBRSw4Q0FBeUIsQ0FBQTtJQUFFLG9EQUErQixDQUFBO0FBQzVHLENBQUMsRUFGVyxpQkFBaUIsR0FBakIseUJBQWlCLEtBQWpCLHlCQUFpQixRQUU1QjtBQUVELElBQVksWUFFWDtBQUZELFdBQVksWUFBWTtJQUNwQixxQ0FBcUIsQ0FBQTtJQUFFLHFDQUFxQixDQUFBO0lBQUUsNkJBQWEsQ0FBQTtJQUFFLG1DQUFtQixDQUFBO0FBQ3BGLENBQUMsRUFGVyxZQUFZLEdBQVosb0JBQVksS0FBWixvQkFBWSxRQUV2QjtBQUtELElBQVksdUJBTVg7QUFORCxXQUFZLHVCQUF1QjtJQUMvQiw4Q0FBbUIsQ0FBQTtJQUNuQiw4Q0FBbUIsQ0FBQTtJQUNuQiw0Q0FBaUIsQ0FBQTtJQUNqQixrREFBdUIsQ0FBQTtJQUN2Qiw0REFBaUMsQ0FBQTtBQUNyQyxDQUFDLEVBTlcsdUJBQXVCLEdBQXZCLCtCQUF1QixLQUF2QiwrQkFBdUIsUUFNbEM7QUFFRCxTQUFTLFdBQVcsQ0FBQyxNQUFnQjtJQUNqQyxPQUFPLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7SUFDL0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO0lBQy9ELE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztJQUMxRCxPQUFPLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7QUFDcEUsQ0FBQztBQUVELG1DQUFtQztBQUNuQyw4REFBOEQ7QUFDOUQsSUFBSSxZQUFpQixDQUFDO0FBRXRCLE1BQU0sc0JBQXNCLEdBQUcsMkJBQTJCLENBQUM7QUFtQjNEOzs7Ozs7Ozs7R0FTRztBQUNJLEtBQUssVUFBVSxZQUFZLENBQW1CLFFBQWdCLEVBQUUsRUFBNkMsRUFBRSxPQUF1QjtJQUN6SSxJQUFJLENBQUMsUUFBUSxFQUFFO1FBQ1gsT0FBTyxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0tBQ2pEO0lBRUQsSUFBSSxDQUFDLFlBQVksRUFBRTtRQUNmLGdFQUFnRTtRQUNoRSxJQUFJLE9BQU8sRUFBRSxNQUFNLEVBQUU7WUFDakIsc0JBQXNCO1lBQ3RCLE1BQU0sSUFBQSxtQkFBVSxFQUFDLFFBQVEsRUFBRSxDQUFDLGFBQXVCLEVBQUUsRUFBRTtnQkFDbkQsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQy9CLENBQUMsQ0FBQyxDQUFDO1lBRUgscUJBQXFCO1lBQ3JCLE1BQU0sSUFBQSw0QkFBbUIsRUFBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLGFBQXFCLEVBQUUsRUFBRTtnQkFDMUUsWUFBWSxHQUFHLGFBQWEsQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FBQztTQUNOO2FBQU07WUFDSCxNQUFNLElBQUEsbUJBQVUsRUFBQyxRQUFRLEVBQUUsQ0FBQyxhQUF1QixFQUFFLEVBQUU7Z0JBQ25ELFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDM0IsWUFBWSxHQUFHLGFBQWEsQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FBQztTQUNOO0tBQ0o7SUFDRCxJQUFJO1FBQ0EsSUFBSSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRTtZQUMvQix1QkFBdUIsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFDO1NBQy9EO1FBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUM7S0FDM0I7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNaLE9BQU8sQ0FBQyxLQUFLLENBQUMsd0RBQXdELEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDL0UsK0NBQStDO1FBQy9DLE1BQU0sSUFBQSxtQkFBVSxFQUFDLFFBQVEsRUFBRSxDQUFDLGFBQXVCLEVBQUUsRUFBRTtZQUNuRCxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDM0IsWUFBWSxHQUFHLGFBQWEsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDO0tBQzNCO0FBQ0wsQ0FBQztBQXZDRCxvQ0F1Q0M7QUFFRCxTQUFnQix1QkFBdUIsQ0FBUyxJQUFjLEVBQUUsTUFBYztJQUMxRSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3pELElBQUksV0FBVyxDQUFDLE1BQU0sRUFBRTtRQUNwQixPQUFPLENBQUMsS0FBSyxDQUFDLG1FQUFtRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ2hHLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQztLQUNuRDtBQUNMLENBQUM7QUFORCwwREFNQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7d2l0aFNlY3JldCwgd2l0aFNlY3JldEFuZFByZWZpeH0gZnJvbSBcIi4vc2VjcmV0XCI7XG5cbmV4cG9ydCB0eXBlIERiU2VjcmV0ID0ge1xuICAgIHJlYWRvbmx5IHVzZXJuYW1lOiBzdHJpbmdcbiAgICByZWFkb25seSBwYXNzd29yZDogc3RyaW5nXG4gICAgcmVhZG9ubHkgaG9zdDogc3RyaW5nXG4gICAgcmVhZG9ubHkgcm9faG9zdDogc3RyaW5nXG59O1xuXG5leHBvcnQgZW51bSBSZHNQcm94eVNlY3JldEtleSB7XG4gICAgdXNlcm5hbWUgPSBcInVzZXJuYW1lXCIsIHBhc3N3b3JkID0gXCJwYXNzd29yZFwiLCBwcm94eV9ob3N0ID0gXCJwcm94eV9ob3N0XCIsIHByb3h5X3JvX2hvc3QgPSBcInByb3h5X3JvX2hvc3RcIlxufVxuXG5leHBvcnQgZW51bSBSZHNTZWNyZXRLZXkge1xuICAgIHVzZXJuYW1lID0gXCJ1c2VybmFtZVwiLCBwYXNzd29yZCA9IFwicGFzc3dvcmRcIiwgaG9zdCA9IFwiaG9zdFwiLCByb19ob3N0ID0gXCJyb19ob3N0XCJcbn1cblxuZXhwb3J0IHR5cGUgUmRzUHJveHlTZWNyZXQgPSBSZWNvcmQ8UmRzUHJveHlTZWNyZXRLZXksIHN0cmluZz47XG5leHBvcnQgdHlwZSBSZHNTZWNyZXQgPSBSZWNvcmQ8UmRzU2VjcmV0S2V5LCBzdHJpbmc+O1xuXG5leHBvcnQgZW51bSBEYXRhYmFzZUVudmlyb25tZW50S2V5cyB7XG4gICAgREJfVVNFUiA9IFwiREJfVVNFUlwiLFxuICAgIERCX1BBU1MgPSBcIkRCX1BBU1NcIixcbiAgICBEQl9VUkkgPSBcIkRCX1VSSVwiLFxuICAgIERCX1JPX1VSSSA9IFwiREJfUk9fVVJJXCIsXG4gICAgREJfQVBQTElDQVRJT04gPSBcIkRCX0FQUExJQ0FUSU9OXCIsXG59XG5cbmZ1bmN0aW9uIHNldERiU2VjcmV0KHNlY3JldDogRGJTZWNyZXQpIHtcbiAgICBwcm9jZXNzLmVudltEYXRhYmFzZUVudmlyb25tZW50S2V5cy5EQl9VU0VSXSA9IHNlY3JldC51c2VybmFtZTtcbiAgICBwcm9jZXNzLmVudltEYXRhYmFzZUVudmlyb25tZW50S2V5cy5EQl9QQVNTXSA9IHNlY3JldC5wYXNzd29yZDtcbiAgICBwcm9jZXNzLmVudltEYXRhYmFzZUVudmlyb25tZW50S2V5cy5EQl9VUkldID0gc2VjcmV0Lmhvc3Q7XG4gICAgcHJvY2Vzcy5lbnZbRGF0YWJhc2VFbnZpcm9ubWVudEtleXMuREJfUk9fVVJJXSA9IHNlY3JldC5yb19ob3N0O1xufVxuXG4vLyBjYWNoZWQgYXQgTGFtYmRhIGNvbnRhaW5lciBsZXZlbFxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbmxldCBjYWNoZWRTZWNyZXQ6IGFueTtcblxuY29uc3QgbWlzc2luZ1NlY3JldEVycm9yVGV4dCA9ICdNaXNzaW5nIG9yIGVtcHR5IHNlY3JldElkJztcblxuLyoqXG4gKiBZb3UgY2FuIGdpdmUgdGhlIGZvbGxvd2luZyBvcHRpb25zIGZvciByZXRyaWV2aW5nIGEgc2VjcmV0OlxuICpcbiAqIGV4cGVjdGVkS2V5czogdGhlIGxpc3Qgb2Yga2V5cyB0aGUgc2VjcmV0IG11c3QgaW5jbHVkZS4gIElmIG5vdCwgYW4gZXJyb3Igd2lsbCBiZSB0aHJvd24uXG4gKiBwcmVmaXg6IGEgcHJlZml4IHRoYXQncyBpbmNsdWRlZCBpbiByZXRyaWV2ZWQgc2VjcmV0J3Mga2V5cy4gIE9ubHkga2V5cyBiZWdpbmluZyB3aXRoIHRoZSBwcmVmaXggd2lsbCBiZSBpbmNsdWRlZC5cbiAqIFRoZSBzZWNyZXQgdGhhdCBpcyBwYXNzZWQgdG8gdGhlIGdpdmVuIGZ1bmN0aW9uIHdpbGwgbm90IGluY2x1ZGUgdGhlIHByZWZpeCBpbiBpdCdzIGtleXMuXG5cbiAqL1xuZXhwb3J0IHR5cGUgU2VjcmV0T3B0aW9ucyA9IHtcbiAgICByZWFkb25seSBleHBlY3RlZEtleXM/OiBzdHJpbmdbXSxcbiAgICByZWFkb25seSBwcmVmaXg/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgU2VjcmV0VG9Qcm9taXNlRnVuY3Rpb248U2VjcmV0LCBSZXNwb25zZSA9IHZvaWQ+ID0gKHNlY3JldDogU2VjcmV0KSA9PiBQcm9taXNlPFJlc3BvbnNlPiB8IHZvaWQ7XG5leHBvcnQgdHlwZSBTZWNyZXRGdW5jdGlvbjxTZWNyZXQsIFJlc3BvbnNlID0gdm9pZD4gPSAoc2VjcmV0SWQ6IHN0cmluZywgZm46IFNlY3JldFRvUHJvbWlzZUZ1bmN0aW9uPFNlY3JldCwgUmVzcG9uc2U+LCBvcHRpb25zPzogU2VjcmV0T3B0aW9ucykgPT4gUHJvbWlzZTxSZXNwb25zZSB8IHZvaWQ+O1xuZXhwb3J0IHR5cGUgRW1wdHlTZWNyZXRGdW5jdGlvbjxSZXNwb25zZSA9IHZvaWQ+ID0gU2VjcmV0RnVuY3Rpb248RGJTZWNyZXQsIFJlc3BvbnNlPjtcblxuLyoqXG4gKiBSdW4gdGhlIGdpdmVuIGZ1bmN0aW9uIHdpdGggc2VjcmV0IHJldHJpZXZlZCBmcm9tIFNlY3JldHMgTWFuYWdlci4gIEFsc28gaW5qZWN0cyBkYXRhYmFzZS1jcmVkZW50aWFscyBpbnRvIGVudmlyb25tZW50LlxuICpcbiAqIEBkZXByZWNhdGVkIHVzZSBTZWNyZXRIb2xkZXIgJiBQcm94eUhvbGRlclxuICogQHNlZSBTZWNyZXRPcHRpb25zXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHNlY3JldElkXG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSBmblxuICogQHBhcmFtIHtTZWNyZXRPcHRpb25zfSBvcHRpb25zXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3aXRoRGJTZWNyZXQ8U2VjcmV0LCBSZXNwb25zZT4oc2VjcmV0SWQ6IHN0cmluZywgZm46IFNlY3JldFRvUHJvbWlzZUZ1bmN0aW9uPFNlY3JldCwgUmVzcG9uc2U+LCBvcHRpb25zPzogU2VjcmV0T3B0aW9ucyk6IFByb21pc2U8UmVzcG9uc2UgfCB2b2lkPiB7XG4gICAgaWYgKCFzZWNyZXRJZCkge1xuICAgICAgICBjb25zb2xlLmVycm9yKG1pc3NpbmdTZWNyZXRFcnJvclRleHQpO1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobWlzc2luZ1NlY3JldEVycm9yVGV4dCk7XG4gICAgfVxuXG4gICAgaWYgKCFjYWNoZWRTZWNyZXQpIHtcbiAgICAgICAgLy8gaWYgcHJlZml4IGlzIGdpdmVuLCBmaXJzdCBzZXQgZGIgdmFsdWVzIGFuZCB0aGVuIGZldGNoIHNlY3JldFxuICAgICAgICBpZiAob3B0aW9ucz8ucHJlZml4KSB7XG4gICAgICAgICAgICAvLyBmaXJzdCBzZXQgZGIgdmFsdWVzXG4gICAgICAgICAgICBhd2FpdCB3aXRoU2VjcmV0KHNlY3JldElkLCAoZmV0Y2hlZFNlY3JldDogRGJTZWNyZXQpID0+IHtcbiAgICAgICAgICAgICAgICBzZXREYlNlY3JldChmZXRjaGVkU2VjcmV0KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAvLyB0aGVuIGFjdHVhbCBzZWNyZXRcbiAgICAgICAgICAgIGF3YWl0IHdpdGhTZWNyZXRBbmRQcmVmaXgoc2VjcmV0SWQsIG9wdGlvbnMucHJlZml4LCAoZmV0Y2hlZFNlY3JldDogU2VjcmV0KSA9PiB7XG4gICAgICAgICAgICAgICAgY2FjaGVkU2VjcmV0ID0gZmV0Y2hlZFNlY3JldDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYXdhaXQgd2l0aFNlY3JldChzZWNyZXRJZCwgKGZldGNoZWRTZWNyZXQ6IERiU2VjcmV0KSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0RGJTZWNyZXQoZmV0Y2hlZFNlY3JldCk7XG4gICAgICAgICAgICAgICAgY2FjaGVkU2VjcmV0ID0gZmV0Y2hlZFNlY3JldDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIGlmIChvcHRpb25zPy5leHBlY3RlZEtleXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgY2hlY2tFeHBlY3RlZFNlY3JldEtleXMob3B0aW9ucy5leHBlY3RlZEtleXMsIGNhY2hlZFNlY3JldCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZuKGNhY2hlZFNlY3JldCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignbWV0aG9kPXdpdGhEYlNlY3JldCBDYXVnaHQgYW4gZXJyb3IsIHJlZnJlc2hpbmcgc2VjcmV0JywgZXJyb3IpO1xuICAgICAgICAvLyB0cnkgdG8gcmVmZXRjaCBzZWNyZXQgaW4gY2FzZSBpdCBoYXMgY2hhbmdlZFxuICAgICAgICBhd2FpdCB3aXRoU2VjcmV0KHNlY3JldElkLCAoZmV0Y2hlZFNlY3JldDogRGJTZWNyZXQpID0+IHtcbiAgICAgICAgICAgIHNldERiU2VjcmV0KGZldGNoZWRTZWNyZXQpO1xuICAgICAgICAgICAgY2FjaGVkU2VjcmV0ID0gZmV0Y2hlZFNlY3JldDtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBmbihjYWNoZWRTZWNyZXQpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrRXhwZWN0ZWRTZWNyZXRLZXlzPFNlY3JldD4oa2V5czogc3RyaW5nW10sIHNlY3JldDogU2VjcmV0KSB7XG4gICAgY29uc3QgbWlzc2luZ0tleXMgPSBrZXlzLmZpbHRlcihrZXkgPT4gIShrZXkgaW4gc2VjcmV0KSk7XG4gICAgaWYgKG1pc3NpbmdLZXlzLmxlbmd0aCkge1xuICAgICAgICBjb25zb2xlLmVycm9yKGBtZXRob2Q9Y2hlY2tFeHBlY3RlZFNlY3JldEtleXMgc2VjcmV0IGRpZG4ndCBjb250YWluIHRoZSBrZXkocykgJHttaXNzaW5nS2V5c31gKTtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBrZXlzIHdlcmUgbm90IGZvdW5kJyk7XG4gICAgfVxufVxuIl19
|
@@ -1,26 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.ProxyHolder = void 0;
|
4
|
-
const secret_holder_1 = require("./secret-holder");
|
5
|
-
const dbsecret_1 = require("./dbsecret");
|
6
|
-
const RDS_PROXY_SECRET_KEYS = Object.values(dbsecret_1.RdsProxySecretKey);
|
7
|
-
/**
|
8
|
-
* Holds credentials for RDS Proxy access.
|
9
|
-
*/
|
10
|
-
class ProxyHolder {
|
11
|
-
constructor(secretId) {
|
12
|
-
this.secretHolder = new secret_holder_1.SecretHolder(secretId, '', RDS_PROXY_SECRET_KEYS);
|
13
|
-
}
|
14
|
-
static create() {
|
15
|
-
return new ProxyHolder(process.env.SECRET_ID);
|
16
|
-
}
|
17
|
-
async setCredentials() {
|
18
|
-
const secret = await this.secretHolder.get();
|
19
|
-
process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_USER] = secret.username;
|
20
|
-
process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_PASS] = secret.password;
|
21
|
-
process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_URI] = secret.proxy_host;
|
22
|
-
process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_RO_URI] = secret.proxy_ro_host;
|
23
|
-
}
|
24
|
-
}
|
25
|
-
exports.ProxyHolder = ProxyHolder;
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJveHktaG9sZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F3cy9ydW50aW1lL3NlY3JldHMvcHJveHktaG9sZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUE2QztBQUM3Qyx5Q0FBc0Y7QUFFdEYsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLDRCQUFpQixDQUFDLENBQUM7QUFFL0Q7O0dBRUc7QUFDSCxNQUFhLFdBQVc7SUFHcEIsWUFBWSxRQUFnQjtRQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksNEJBQVksQ0FBaUIsUUFBUSxFQUFFLEVBQUUsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0lBQzlGLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTTtRQUNULE9BQU8sSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFtQixDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVNLEtBQUssQ0FBQyxjQUFjO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUU3QyxPQUFPLENBQUMsR0FBRyxDQUFDLGtDQUF1QixDQUFDLE9BQU8sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDL0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQ0FBdUIsQ0FBQyxPQUFPLENBQUMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQy9ELE9BQU8sQ0FBQyxHQUFHLENBQUMsa0NBQXVCLENBQUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUNoRSxPQUFPLENBQUMsR0FBRyxDQUFDLGtDQUF1QixDQUFDLFNBQVMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUM7SUFDMUUsQ0FBQztDQUNKO0FBbkJELGtDQW1CQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2VjcmV0SG9sZGVyfSBmcm9tIFwiLi9zZWNyZXQtaG9sZGVyXCI7XG5pbXBvcnQge0RhdGFiYXNlRW52aXJvbm1lbnRLZXlzLCBSZHNQcm94eVNlY3JldEtleSwgUmRzUHJveHlTZWNyZXR9IGZyb20gXCIuL2Ric2VjcmV0XCI7XG5cbmNvbnN0IFJEU19QUk9YWV9TRUNSRVRfS0VZUyA9IE9iamVjdC52YWx1ZXMoUmRzUHJveHlTZWNyZXRLZXkpO1xuXG4vKipcbiAqIEhvbGRzIGNyZWRlbnRpYWxzIGZvciBSRFMgUHJveHkgYWNjZXNzLlxuICovXG5leHBvcnQgY2xhc3MgUHJveHlIb2xkZXIge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VjcmV0SG9sZGVyO1xuXG4gICAgY29uc3RydWN0b3Ioc2VjcmV0SWQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLnNlY3JldEhvbGRlciA9IG5ldyBTZWNyZXRIb2xkZXI8UmRzUHJveHlTZWNyZXQ+KHNlY3JldElkLCAnJywgUkRTX1BST1hZX1NFQ1JFVF9LRVlTKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgY3JlYXRlKCkge1xuICAgICAgICByZXR1cm4gbmV3IFByb3h5SG9sZGVyKHByb2Nlc3MuZW52LlNFQ1JFVF9JRCBhcyBzdHJpbmcpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBzZXRDcmVkZW50aWFscygpIHtcbiAgICAgICAgY29uc3Qgc2VjcmV0ID0gYXdhaXQgdGhpcy5zZWNyZXRIb2xkZXIuZ2V0KCk7XG5cbiAgICAgICAgcHJvY2Vzcy5lbnZbRGF0YWJhc2VFbnZpcm9ubWVudEtleXMuREJfVVNFUl0gPSBzZWNyZXQudXNlcm5hbWU7XG4gICAgICAgIHByb2Nlc3MuZW52W0RhdGFiYXNlRW52aXJvbm1lbnRLZXlzLkRCX1BBU1NdID0gc2VjcmV0LnBhc3N3b3JkO1xuICAgICAgICBwcm9jZXNzLmVudltEYXRhYmFzZUVudmlyb25tZW50S2V5cy5EQl9VUkldID0gc2VjcmV0LnByb3h5X2hvc3Q7XG4gICAgICAgIHByb2Nlc3MuZW52W0RhdGFiYXNlRW52aXJvbm1lbnRLZXlzLkRCX1JPX1VSSV0gPSBzZWNyZXQucHJveHlfcm9faG9zdDtcbiAgICB9XG59XG4iXX0=
|
@@ -1,26 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.RdsHolder = void 0;
|
4
|
-
const secret_holder_1 = require("./secret-holder");
|
5
|
-
const dbsecret_1 = require("./dbsecret");
|
6
|
-
const RDS_SECRET_KEYS = Object.values(dbsecret_1.RdsSecretKey);
|
7
|
-
/**
|
8
|
-
* Holds credentials for RDS access.
|
9
|
-
*/
|
10
|
-
class RdsHolder {
|
11
|
-
constructor(secretId) {
|
12
|
-
this.secretHolder = new secret_holder_1.SecretHolder(secretId, '', RDS_SECRET_KEYS);
|
13
|
-
}
|
14
|
-
static create() {
|
15
|
-
return new RdsHolder(process.env.SECRET_ID);
|
16
|
-
}
|
17
|
-
async setCredentials() {
|
18
|
-
const secret = await this.secretHolder.get();
|
19
|
-
process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_USER] = secret.username;
|
20
|
-
process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_PASS] = secret.password;
|
21
|
-
process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_URI] = secret.host;
|
22
|
-
process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_RO_URI] = secret.ro_host;
|
23
|
-
}
|
24
|
-
}
|
25
|
-
exports.RdsHolder = RdsHolder;
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmRzLWhvbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hd3MvcnVudGltZS9zZWNyZXRzL3Jkcy1ob2xkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQTZDO0FBQzdDLHlDQUE0RTtBQUU1RSxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLHVCQUFZLENBQUMsQ0FBQztBQUVwRDs7R0FFRztBQUNILE1BQWEsU0FBUztJQUdsQixZQUFZLFFBQWdCO1FBQ3hCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSw0QkFBWSxDQUFZLFFBQVEsRUFBRSxFQUFFLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNO1FBQ1QsT0FBTyxJQUFJLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQW1CLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU0sS0FBSyxDQUFDLGNBQWM7UUFDdkIsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBRTdDLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0NBQXVCLENBQUMsT0FBTyxDQUFDLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUMvRCxPQUFPLENBQUMsR0FBRyxDQUFDLGtDQUF1QixDQUFDLE9BQU8sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDL0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQ0FBdUIsQ0FBQyxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQzFELE9BQU8sQ0FBQyxHQUFHLENBQUMsa0NBQXVCLENBQUMsU0FBUyxDQUFDLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztJQUNwRSxDQUFDO0NBQ0o7QUFuQkQsOEJBbUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTZWNyZXRIb2xkZXJ9IGZyb20gXCIuL3NlY3JldC1ob2xkZXJcIjtcbmltcG9ydCB7RGF0YWJhc2VFbnZpcm9ubWVudEtleXMsIFJkc1NlY3JldCwgUmRzU2VjcmV0S2V5fSBmcm9tIFwiLi9kYnNlY3JldFwiO1xuXG5jb25zdCBSRFNfU0VDUkVUX0tFWVMgPSBPYmplY3QudmFsdWVzKFJkc1NlY3JldEtleSk7XG5cbi8qKlxuICogSG9sZHMgY3JlZGVudGlhbHMgZm9yIFJEUyBhY2Nlc3MuXG4gKi9cbmV4cG9ydCBjbGFzcyBSZHNIb2xkZXIge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VjcmV0SG9sZGVyO1xuXG4gICAgY29uc3RydWN0b3Ioc2VjcmV0SWQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLnNlY3JldEhvbGRlciA9IG5ldyBTZWNyZXRIb2xkZXI8UmRzU2VjcmV0PihzZWNyZXRJZCwgJycsIFJEU19TRUNSRVRfS0VZUyk7XG4gICAgfVxuXG4gICAgc3RhdGljIGNyZWF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBSZHNIb2xkZXIocHJvY2Vzcy5lbnYuU0VDUkVUX0lEIGFzIHN0cmluZyk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHNldENyZWRlbnRpYWxzKCkge1xuICAgICAgICBjb25zdCBzZWNyZXQgPSBhd2FpdCB0aGlzLnNlY3JldEhvbGRlci5nZXQoKTtcblxuICAgICAgICBwcm9jZXNzLmVudltEYXRhYmFzZUVudmlyb25tZW50S2V5cy5EQl9VU0VSXSA9IHNlY3JldC51c2VybmFtZTtcbiAgICAgICAgcHJvY2Vzcy5lbnZbRGF0YWJhc2VFbnZpcm9ubWVudEtleXMuREJfUEFTU10gPSBzZWNyZXQucGFzc3dvcmQ7XG4gICAgICAgIHByb2Nlc3MuZW52W0RhdGFiYXNlRW52aXJvbm1lbnRLZXlzLkRCX1VSSV0gPSBzZWNyZXQuaG9zdDtcbiAgICAgICAgcHJvY2Vzcy5lbnZbRGF0YWJhc2VFbnZpcm9ubWVudEtleXMuREJfUk9fVVJJXSA9IHNlY3JldC5yb19ob3N0O1xuICAgIH1cbn1cbiJdfQ==
|
@@ -1,26 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Utility class for getting secrets from Secret Manager.
|
3
|
-
* Supports prefix for secrets, checking of expected keys and ttl-configuration.
|
4
|
-
*
|
5
|
-
* By default, secrets are cached for 5 minutes and then reread from the Secrets Manager(This can be overridden with configuration).
|
6
|
-
*
|
7
|
-
* Supports setting the database environment paramaters from the secret too.
|
8
|
-
*/
|
9
|
-
export declare class SecretHolder<Secret> {
|
10
|
-
private readonly secretId;
|
11
|
-
private readonly prefix;
|
12
|
-
private readonly expectedKeys;
|
13
|
-
private readonly secretCache;
|
14
|
-
constructor(secretId: string, prefix?: string, expectedKeys?: string[], configuration?: {
|
15
|
-
ttl: number;
|
16
|
-
});
|
17
|
-
private initSecret;
|
18
|
-
static create<S>(prefix?: string, expectedKeys?: string[]): SecretHolder<S>;
|
19
|
-
get(): Promise<Secret>;
|
20
|
-
private parseSecret;
|
21
|
-
private getSecret;
|
22
|
-
/**
|
23
|
-
* @deprecated Use ProxyHolder
|
24
|
-
*/
|
25
|
-
setDatabaseCredentials(): Promise<void>;
|
26
|
-
}
|
@@ -1,73 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.SecretHolder = void 0;
|
4
|
-
const secret_1 = require("./secret");
|
5
|
-
const dbsecret_1 = require("./dbsecret");
|
6
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
7
|
-
const NodeTtl = require('node-ttl');
|
8
|
-
const DEFAULT_PREFIX = '';
|
9
|
-
const DEFAULT_SECRET_KEY = 'SECRET';
|
10
|
-
const DEFAULT_CONFIGURATION = {
|
11
|
-
ttl: 5 * 60, // timeout secrets in 5 minutes
|
12
|
-
};
|
13
|
-
/**
|
14
|
-
* Utility class for getting secrets from Secret Manager.
|
15
|
-
* Supports prefix for secrets, checking of expected keys and ttl-configuration.
|
16
|
-
*
|
17
|
-
* By default, secrets are cached for 5 minutes and then reread from the Secrets Manager(This can be overridden with configuration).
|
18
|
-
*
|
19
|
-
* Supports setting the database environment paramaters from the secret too.
|
20
|
-
*/
|
21
|
-
class SecretHolder {
|
22
|
-
constructor(secretId, prefix = '', expectedKeys = [], configuration = DEFAULT_CONFIGURATION) {
|
23
|
-
this.secretId = secretId;
|
24
|
-
this.prefix = prefix;
|
25
|
-
this.expectedKeys = expectedKeys;
|
26
|
-
this.secretCache = new NodeTtl(configuration);
|
27
|
-
}
|
28
|
-
async initSecret() {
|
29
|
-
const secretValue = await (0, secret_1.getSecret)(this.secretId);
|
30
|
-
console.info("refreshing secret " + this.secretId);
|
31
|
-
this.secretCache.push(DEFAULT_SECRET_KEY, secretValue);
|
32
|
-
}
|
33
|
-
static create(prefix = DEFAULT_PREFIX, expectedKeys = []) {
|
34
|
-
return new SecretHolder(process.env.SECRET_ID, prefix, expectedKeys);
|
35
|
-
}
|
36
|
-
async get() {
|
37
|
-
const secret = await this.getSecret();
|
38
|
-
const parsedSecret = this.prefix === DEFAULT_PREFIX ? secret : this.parseSecret(secret, `${this.prefix}.`);
|
39
|
-
if (this.expectedKeys.length > 0) {
|
40
|
-
(0, dbsecret_1.checkExpectedSecretKeys)(this.expectedKeys, parsedSecret);
|
41
|
-
}
|
42
|
-
return parsedSecret;
|
43
|
-
}
|
44
|
-
parseSecret(secret, prefix) {
|
45
|
-
const parsed = {};
|
46
|
-
const skip = prefix.length;
|
47
|
-
for (const key in secret) {
|
48
|
-
if (key.startsWith(prefix)) {
|
49
|
-
parsed[key.substring(skip)] = secret[key];
|
50
|
-
}
|
51
|
-
}
|
52
|
-
return parsed;
|
53
|
-
}
|
54
|
-
async getSecret() {
|
55
|
-
const secret = this.secretCache.get(DEFAULT_SECRET_KEY);
|
56
|
-
if (!secret) {
|
57
|
-
await this.initSecret();
|
58
|
-
}
|
59
|
-
return secret || this.secretCache.get(DEFAULT_SECRET_KEY);
|
60
|
-
}
|
61
|
-
/**
|
62
|
-
* @deprecated Use ProxyHolder
|
63
|
-
*/
|
64
|
-
async setDatabaseCredentials() {
|
65
|
-
const secret = await this.getSecret();
|
66
|
-
process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_USER] = secret.username;
|
67
|
-
process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_PASS] = secret.password;
|
68
|
-
process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_URI] = secret.host;
|
69
|
-
process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_RO_URI] = secret.ro_host;
|
70
|
-
}
|
71
|
-
}
|
72
|
-
exports.SecretHolder = SecretHolder;
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcmV0LWhvbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hd3MvcnVudGltZS9zZWNyZXRzL3NlY3JldC1ob2xkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUNBQWtEO0FBQ2xELHlDQUFzRjtBQUV0Riw4REFBOEQ7QUFDOUQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBRXBDLE1BQU0sY0FBYyxHQUFHLEVBQUUsQ0FBQztBQUMxQixNQUFNLGtCQUFrQixHQUFHLFFBQVEsQ0FBQztBQUNwQyxNQUFNLHFCQUFxQixHQUFHO0lBQzFCLEdBQUcsRUFBRSxDQUFDLEdBQUMsRUFBRSxFQUFFLCtCQUErQjtDQUM3QyxDQUFDO0FBRUY7Ozs7Ozs7R0FPRztBQUNILE1BQWEsWUFBWTtJQU9yQixZQUFZLFFBQWdCLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBRSxlQUF5QixFQUFFLEVBQUUsYUFBYSxHQUFHLHFCQUFxQjtRQUN6RyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUVqQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTyxLQUFLLENBQUMsVUFBVTtRQUNwQixNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUEsa0JBQVMsRUFBUyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFM0QsT0FBTyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFbkQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVNLE1BQU0sQ0FBQyxNQUFNLENBQUksTUFBTSxHQUFHLGNBQWMsRUFBRSxlQUF5QixFQUFFO1FBQ3hFLE9BQU8sSUFBSSxZQUFZLENBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFtQixFQUFFLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRU0sS0FBSyxDQUFDLEdBQUc7UUFDWixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQVUsQ0FBQztRQUM5QyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxLQUFLLGNBQWMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQWtDLEVBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUV4SSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUM5QixJQUFBLGtDQUF1QixFQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLENBQUM7U0FDNUQ7UUFFRCxPQUFPLFlBQVksQ0FBQztJQUN4QixDQUFDO0lBRU8sV0FBVyxDQUFDLE1BQXFCLEVBQUUsTUFBYztRQUNyRCxNQUFNLE1BQU0sR0FBa0IsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFFM0IsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLEVBQUU7WUFDdEIsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUN4QixNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUM3QztTQUNKO1FBRUQsT0FBTyxNQUEyQixDQUFDO0lBQ3ZDLENBQUM7SUFHTyxLQUFLLENBQUMsU0FBUztRQUNuQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRXhELElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxNQUFNLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUMzQjtRQUVELE9BQU8sTUFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLHNCQUFzQjtRQUMvQixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQVksQ0FBQztRQUVoRCxPQUFPLENBQUMsR0FBRyxDQUFDLGtDQUF1QixDQUFDLE9BQU8sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDL0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQ0FBdUIsQ0FBQyxPQUFPLENBQUMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQy9ELE9BQU8sQ0FBQyxHQUFHLENBQUMsa0NBQXVCLENBQUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUMxRCxPQUFPLENBQUMsR0FBRyxDQUFDLGtDQUF1QixDQUFDLFNBQVMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7SUFDcEUsQ0FBQztDQUNKO0FBekVELG9DQXlFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7R2VuZXJpY1NlY3JldCwgZ2V0U2VjcmV0fSBmcm9tIFwiLi9zZWNyZXRcIjtcbmltcG9ydCB7Y2hlY2tFeHBlY3RlZFNlY3JldEtleXMsIERhdGFiYXNlRW52aXJvbm1lbnRLZXlzLCBEYlNlY3JldH0gZnJvbSBcIi4vZGJzZWNyZXRcIjtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby12YXItcmVxdWlyZXNcbmNvbnN0IE5vZGVUdGwgPSByZXF1aXJlKCdub2RlLXR0bCcpO1xuXG5jb25zdCBERUZBVUxUX1BSRUZJWCA9ICcnO1xuY29uc3QgREVGQVVMVF9TRUNSRVRfS0VZID0gJ1NFQ1JFVCc7XG5jb25zdCBERUZBVUxUX0NPTkZJR1VSQVRJT04gPSB7XG4gICAgdHRsOiA1KjYwLCAvLyB0aW1lb3V0IHNlY3JldHMgaW4gNSBtaW51dGVzXG59O1xuXG4vKipcbiAqIFV0aWxpdHkgY2xhc3MgZm9yIGdldHRpbmcgc2VjcmV0cyBmcm9tIFNlY3JldCBNYW5hZ2VyLlxuICogU3VwcG9ydHMgcHJlZml4IGZvciBzZWNyZXRzLCBjaGVja2luZyBvZiBleHBlY3RlZCBrZXlzIGFuZCB0dGwtY29uZmlndXJhdGlvbi5cbiAqXG4gKiBCeSBkZWZhdWx0LCBzZWNyZXRzIGFyZSBjYWNoZWQgZm9yIDUgbWludXRlcyBhbmQgdGhlbiByZXJlYWQgZnJvbSB0aGUgU2VjcmV0cyBNYW5hZ2VyKFRoaXMgY2FuIGJlIG92ZXJyaWRkZW4gd2l0aCBjb25maWd1cmF0aW9uKS5cbiAqXG4gKiBTdXBwb3J0cyBzZXR0aW5nIHRoZSBkYXRhYmFzZSBlbnZpcm9ubWVudCBwYXJhbWF0ZXJzIGZyb20gdGhlIHNlY3JldCB0b28uXG4gKi9cbmV4cG9ydCBjbGFzcyBTZWNyZXRIb2xkZXI8U2VjcmV0PiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWNyZXRJZDogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJlZml4OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBleHBlY3RlZEtleXM6IHN0cmluZ1tdO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWNyZXRDYWNoZTtcblxuICAgIGNvbnN0cnVjdG9yKHNlY3JldElkOiBzdHJpbmcsIHByZWZpeCA9ICcnLCBleHBlY3RlZEtleXM6IHN0cmluZ1tdID0gW10sIGNvbmZpZ3VyYXRpb24gPSBERUZBVUxUX0NPTkZJR1VSQVRJT04pIHtcbiAgICAgICAgdGhpcy5zZWNyZXRJZCA9IHNlY3JldElkO1xuICAgICAgICB0aGlzLnByZWZpeCA9IHByZWZpeDtcbiAgICAgICAgdGhpcy5leHBlY3RlZEtleXMgPSBleHBlY3RlZEtleXM7XG5cbiAgICAgICAgdGhpcy5zZWNyZXRDYWNoZSA9IG5ldyBOb2RlVHRsKGNvbmZpZ3VyYXRpb24pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgaW5pdFNlY3JldCgpIHtcbiAgICAgICAgY29uc3Qgc2VjcmV0VmFsdWUgPSBhd2FpdCBnZXRTZWNyZXQ8U2VjcmV0Pih0aGlzLnNlY3JldElkKTtcblxuICAgICAgICBjb25zb2xlLmluZm8oXCJyZWZyZXNoaW5nIHNlY3JldCBcIiArIHRoaXMuc2VjcmV0SWQpO1xuXG4gICAgICAgIHRoaXMuc2VjcmV0Q2FjaGUucHVzaChERUZBVUxUX1NFQ1JFVF9LRVksIHNlY3JldFZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZTxTPihwcmVmaXggPSBERUZBVUxUX1BSRUZJWCwgZXhwZWN0ZWRLZXlzOiBzdHJpbmdbXSA9IFtdKSB7XG4gICAgICAgIHJldHVybiBuZXcgU2VjcmV0SG9sZGVyPFM+KHByb2Nlc3MuZW52LlNFQ1JFVF9JRCBhcyBzdHJpbmcsIHByZWZpeCwgZXhwZWN0ZWRLZXlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0KCk6IFByb21pc2U8U2VjcmV0PiB7XG4gICAgICAgIGNvbnN0IHNlY3JldCA9IGF3YWl0IHRoaXMuZ2V0U2VjcmV0PFNlY3JldD4oKTtcbiAgICAgICAgY29uc3QgcGFyc2VkU2VjcmV0ID0gdGhpcy5wcmVmaXggPT09IERFRkFVTFRfUFJFRklYID8gc2VjcmV0IDogdGhpcy5wYXJzZVNlY3JldChzZWNyZXQgYXMgdW5rbm93biBhcyBHZW5lcmljU2VjcmV0LCAgYCR7dGhpcy5wcmVmaXh9LmApO1xuXG4gICAgICAgIGlmICh0aGlzLmV4cGVjdGVkS2V5cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjaGVja0V4cGVjdGVkU2VjcmV0S2V5cyh0aGlzLmV4cGVjdGVkS2V5cywgcGFyc2VkU2VjcmV0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwYXJzZWRTZWNyZXQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwYXJzZVNlY3JldChzZWNyZXQ6IEdlbmVyaWNTZWNyZXQsIHByZWZpeDogc3RyaW5nKTogU2VjcmV0IHtcbiAgICAgICAgY29uc3QgcGFyc2VkOiBHZW5lcmljU2VjcmV0ID0ge307XG4gICAgICAgIGNvbnN0IHNraXAgPSBwcmVmaXgubGVuZ3RoO1xuXG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIHNlY3JldCkge1xuICAgICAgICAgICAgaWYgKGtleS5zdGFydHNXaXRoKHByZWZpeCkpIHtcbiAgICAgICAgICAgICAgICBwYXJzZWRba2V5LnN1YnN0cmluZyhza2lwKV0gPSBzZWNyZXRba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwYXJzZWQgYXMgdW5rbm93biBhcyBTZWNyZXQ7XG4gICAgfVxuXG5cbiAgICBwcml2YXRlIGFzeW5jIGdldFNlY3JldDxTPigpOiBQcm9taXNlPFM+IHtcbiAgICAgICAgY29uc3Qgc2VjcmV0ID0gdGhpcy5zZWNyZXRDYWNoZS5nZXQoREVGQVVMVF9TRUNSRVRfS0VZKTtcblxuICAgICAgICBpZiAoIXNlY3JldCkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5pbml0U2VjcmV0KCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gc2VjcmV0IHx8IHRoaXMuc2VjcmV0Q2FjaGUuZ2V0KERFRkFVTFRfU0VDUkVUX0tFWSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgVXNlIFByb3h5SG9sZGVyXG4gICAgICovXG4gICAgcHVibGljIGFzeW5jIHNldERhdGFiYXNlQ3JlZGVudGlhbHMoKSB7XG4gICAgICAgIGNvbnN0IHNlY3JldCA9IGF3YWl0IHRoaXMuZ2V0U2VjcmV0PERiU2VjcmV0PigpO1xuXG4gICAgICAgIHByb2Nlc3MuZW52W0RhdGFiYXNlRW52aXJvbm1lbnRLZXlzLkRCX1VTRVJdID0gc2VjcmV0LnVzZXJuYW1lO1xuICAgICAgICBwcm9jZXNzLmVudltEYXRhYmFzZUVudmlyb25tZW50S2V5cy5EQl9QQVNTXSA9IHNlY3JldC5wYXNzd29yZDtcbiAgICAgICAgcHJvY2Vzcy5lbnZbRGF0YWJhc2VFbnZpcm9ubWVudEtleXMuREJfVVJJXSA9IHNlY3JldC5ob3N0O1xuICAgICAgICBwcm9jZXNzLmVudltEYXRhYmFzZUVudmlyb25tZW50S2V5cy5EQl9ST19VUkldID0gc2VjcmV0LnJvX2hvc3Q7XG4gICAgfVxufVxuIl19
|
@@ -1,8 +0,0 @@
|
|
1
|
-
import { SecretToPromiseFunction } from "./dbsecret";
|
2
|
-
export declare type GenericSecret = Record<string, string>;
|
3
|
-
/**
|
4
|
-
@deprecated use SecretHolder & ProxyHolder
|
5
|
-
*/
|
6
|
-
export declare function withSecret<Secret, Response>(secretId: string, fn: SecretToPromiseFunction<Secret, Response>): Promise<Response | void>;
|
7
|
-
export declare function getSecret<Secret>(secretId: string, prefix?: string): Promise<Secret>;
|
8
|
-
export declare function withSecretAndPrefix<Secret, Response>(secretId: string, prefix: string, fn: SecretToPromiseFunction<Secret, Response>): Promise<Response | void>;
|
@@ -1,43 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.withSecretAndPrefix = exports.getSecret = exports.withSecret = void 0;
|
4
|
-
const aws_sdk_1 = require("aws-sdk");
|
5
|
-
const smClient = new aws_sdk_1.SecretsManager({
|
6
|
-
region: process.env.AWS_REGION,
|
7
|
-
});
|
8
|
-
/**
|
9
|
-
@deprecated use SecretHolder & ProxyHolder
|
10
|
-
*/
|
11
|
-
async function withSecret(secretId, fn) {
|
12
|
-
return fn(await getSecret(secretId));
|
13
|
-
}
|
14
|
-
exports.withSecret = withSecret;
|
15
|
-
async function getSecret(secretId, prefix = '') {
|
16
|
-
const secretObj = await smClient.getSecretValue({
|
17
|
-
SecretId: secretId,
|
18
|
-
}).promise();
|
19
|
-
if (!secretObj.SecretString) {
|
20
|
-
throw new Error('No secret found!');
|
21
|
-
}
|
22
|
-
const secret = JSON.parse(secretObj.SecretString);
|
23
|
-
if (prefix === '') {
|
24
|
-
return secret;
|
25
|
-
}
|
26
|
-
return parseSecret(secret, `${prefix}.`);
|
27
|
-
}
|
28
|
-
exports.getSecret = getSecret;
|
29
|
-
function parseSecret(secret, prefix) {
|
30
|
-
const parsed = {};
|
31
|
-
const skip = prefix.length;
|
32
|
-
for (const key in secret) {
|
33
|
-
if (key.startsWith(prefix)) {
|
34
|
-
parsed[key.substring(skip)] = secret[key];
|
35
|
-
}
|
36
|
-
}
|
37
|
-
return parsed;
|
38
|
-
}
|
39
|
-
async function withSecretAndPrefix(secretId, prefix, fn) {
|
40
|
-
return fn(await getSecret(secretId, prefix));
|
41
|
-
}
|
42
|
-
exports.withSecretAndPrefix = withSecretAndPrefix;
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcmV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F3cy9ydW50aW1lL3NlY3JldHMvc2VjcmV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFDQUF1QztBQUd2QyxNQUFNLFFBQVEsR0FBRyxJQUFJLHdCQUFjLENBQUM7SUFDaEMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVTtDQUNqQyxDQUFDLENBQUM7QUFJSDs7R0FFRztBQUNJLEtBQUssVUFBVSxVQUFVLENBQW1CLFFBQWdCLEVBQUUsRUFBNkM7SUFDOUcsT0FBTyxFQUFFLENBQUMsTUFBTSxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FBRkQsZ0NBRUM7QUFFTSxLQUFLLFVBQVUsU0FBUyxDQUFTLFFBQWdCLEVBQUUsTUFBTSxHQUFHLEVBQUU7SUFDakUsTUFBTSxTQUFTLEdBQUcsTUFBTSxRQUFRLENBQUMsY0FBYyxDQUFDO1FBQzVDLFFBQVEsRUFBRSxRQUFRO0tBQ3JCLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUViLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFO1FBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztLQUN2QztJQUVELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBRWxELElBQUksTUFBTSxLQUFLLEVBQUUsRUFBRTtRQUNmLE9BQU8sTUFBTSxDQUFDO0tBQ2pCO0lBRUQsT0FBTyxXQUFXLENBQUMsTUFBTSxFQUFFLEdBQUcsTUFBTSxHQUFHLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBaEJELDhCQWdCQztBQUVELFNBQVMsV0FBVyxDQUFTLE1BQXFCLEVBQUUsTUFBYztJQUM5RCxNQUFNLE1BQU0sR0FBa0IsRUFBRSxDQUFDO0lBQ2pDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFFM0IsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLEVBQUU7UUFDdEIsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3hCLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzdDO0tBQ0o7SUFFRCxPQUFPLE1BQTJCLENBQUM7QUFDdkMsQ0FBQztBQUVNLEtBQUssVUFBVSxtQkFBbUIsQ0FBbUIsUUFBZ0IsRUFBRSxNQUFjLEVBQUUsRUFBNkM7SUFDdkksT0FBTyxFQUFFLENBQUMsTUFBTSxTQUFTLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDakQsQ0FBQztBQUZELGtEQUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTZWNyZXRzTWFuYWdlcn0gZnJvbSAnYXdzLXNkayc7XG5pbXBvcnQge1NlY3JldFRvUHJvbWlzZUZ1bmN0aW9ufSBmcm9tIFwiLi9kYnNlY3JldFwiO1xuXG5jb25zdCBzbUNsaWVudCA9IG5ldyBTZWNyZXRzTWFuYWdlcih7XG4gICAgcmVnaW9uOiBwcm9jZXNzLmVudi5BV1NfUkVHSU9OLFxufSk7XG5cbmV4cG9ydCB0eXBlIEdlbmVyaWNTZWNyZXQgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4vKipcbiBAZGVwcmVjYXRlZCB1c2UgU2VjcmV0SG9sZGVyICYgUHJveHlIb2xkZXJcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdpdGhTZWNyZXQ8U2VjcmV0LCBSZXNwb25zZT4oc2VjcmV0SWQ6IHN0cmluZywgZm46IFNlY3JldFRvUHJvbWlzZUZ1bmN0aW9uPFNlY3JldCwgUmVzcG9uc2U+KTogUHJvbWlzZTxSZXNwb25zZSB8IHZvaWQ+IHtcbiAgICByZXR1cm4gZm4oYXdhaXQgZ2V0U2VjcmV0KHNlY3JldElkKSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRTZWNyZXQ8U2VjcmV0PihzZWNyZXRJZDogc3RyaW5nLCBwcmVmaXggPSAnJyk6IFByb21pc2U8U2VjcmV0PiB7XG4gICAgY29uc3Qgc2VjcmV0T2JqID0gYXdhaXQgc21DbGllbnQuZ2V0U2VjcmV0VmFsdWUoe1xuICAgICAgICBTZWNyZXRJZDogc2VjcmV0SWQsXG4gICAgfSkucHJvbWlzZSgpO1xuXG4gICAgaWYgKCFzZWNyZXRPYmouU2VjcmV0U3RyaW5nKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gc2VjcmV0IGZvdW5kIScpO1xuICAgIH1cblxuICAgIGNvbnN0IHNlY3JldCA9IEpTT04ucGFyc2Uoc2VjcmV0T2JqLlNlY3JldFN0cmluZyk7XG5cbiAgICBpZiAocHJlZml4ID09PSAnJykge1xuICAgICAgICByZXR1cm4gc2VjcmV0O1xuICAgIH1cblxuICAgIHJldHVybiBwYXJzZVNlY3JldChzZWNyZXQsIGAke3ByZWZpeH0uYCk7XG59XG5cbmZ1bmN0aW9uIHBhcnNlU2VjcmV0PFNlY3JldD4oc2VjcmV0OiBHZW5lcmljU2VjcmV0LCBwcmVmaXg6IHN0cmluZyk6IFNlY3JldCB7XG4gICAgY29uc3QgcGFyc2VkOiBHZW5lcmljU2VjcmV0ID0ge307XG4gICAgY29uc3Qgc2tpcCA9IHByZWZpeC5sZW5ndGg7XG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiBzZWNyZXQpIHtcbiAgICAgICAgaWYgKGtleS5zdGFydHNXaXRoKHByZWZpeCkpIHtcbiAgICAgICAgICAgIHBhcnNlZFtrZXkuc3Vic3RyaW5nKHNraXApXSA9IHNlY3JldFtrZXldO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcnNlZCBhcyB1bmtub3duIGFzIFNlY3JldDtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdpdGhTZWNyZXRBbmRQcmVmaXg8U2VjcmV0LCBSZXNwb25zZT4oc2VjcmV0SWQ6IHN0cmluZywgcHJlZml4OiBzdHJpbmcsIGZuOiBTZWNyZXRUb1Byb21pc2VGdW5jdGlvbjxTZWNyZXQsIFJlc3BvbnNlPik6IFByb21pc2U8UmVzcG9uc2UgfCB2b2lkPiB7XG4gICAgcmV0dXJuIGZuKGF3YWl0IGdldFNlY3JldChzZWNyZXRJZCwgcHJlZml4KSk7XG59XG4iXX0=
|
package/aws/types/errors.d.ts
DELETED
package/aws/types/errors.js
DELETED
@@ -1,9 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.BAD_REQUEST_MESSAGE = exports.OK_MESSAGE = exports.ERROR_MESSAGE = exports.NOT_FOUND_MESSAGE = void 0;
|
4
|
-
// DEPRECATED, remove this!
|
5
|
-
exports.NOT_FOUND_MESSAGE = 'NOT_FOUND';
|
6
|
-
exports.ERROR_MESSAGE = 'ERROR';
|
7
|
-
exports.OK_MESSAGE = 'OK';
|
8
|
-
exports.BAD_REQUEST_MESSAGE = 'BAD REQUEST';
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy90eXBlcy9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkJBQTJCO0FBQ2QsUUFBQSxpQkFBaUIsR0FBRyxXQUFXLENBQUM7QUFDaEMsUUFBQSxhQUFhLEdBQUcsT0FBTyxDQUFDO0FBQ3hCLFFBQUEsVUFBVSxHQUFHLElBQUksQ0FBQztBQUNsQixRQUFBLG1CQUFtQixHQUFHLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIERFUFJFQ0FURUQsIHJlbW92ZSB0aGlzIVxuZXhwb3J0IGNvbnN0IE5PVF9GT1VORF9NRVNTQUdFID0gJ05PVF9GT1VORCc7XG5leHBvcnQgY29uc3QgRVJST1JfTUVTU0FHRSA9ICdFUlJPUic7XG5leHBvcnQgY29uc3QgT0tfTUVTU0FHRSA9ICdPSyc7XG5leHBvcnQgY29uc3QgQkFEX1JFUVVFU1RfTUVTU0FHRSA9ICdCQUQgUkVRVUVTVCc7XG4iXX0=
|
@@ -1,12 +0,0 @@
|
|
1
|
-
export declare class LambdaResponse<T> {
|
2
|
-
readonly status: number;
|
3
|
-
readonly body: T;
|
4
|
-
readonly fileName?: string;
|
5
|
-
static ok<S>(body: S, fileName?: string): Promise<LambdaResponse<S>>;
|
6
|
-
static okJson<S>(json: S, fileName?: string): Promise<LambdaResponse<string>>;
|
7
|
-
static badRequest(body: string): Promise<LambdaResponse<string>>;
|
8
|
-
static notFound(): Promise<LambdaResponse<string>>;
|
9
|
-
static internalError(): Promise<LambdaResponse<string>>;
|
10
|
-
static notImplemented(): Promise<LambdaResponse<string>>;
|
11
|
-
static create<S>(status: number, body: S, fileName?: string): Promise<LambdaResponse<S>>;
|
12
|
-
}
|
@@ -1,28 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.LambdaResponse = void 0;
|
4
|
-
class LambdaResponse {
|
5
|
-
static ok(body, fileName) {
|
6
|
-
return this.create(200, body, fileName);
|
7
|
-
}
|
8
|
-
static okJson(json, fileName) {
|
9
|
-
return this.create(200, JSON.stringify(json, null, 2), fileName);
|
10
|
-
}
|
11
|
-
static badRequest(body) {
|
12
|
-
return this.create(400, body);
|
13
|
-
}
|
14
|
-
static notFound() {
|
15
|
-
return this.create(404, 'Not found');
|
16
|
-
}
|
17
|
-
static internalError() {
|
18
|
-
return this.create(500, 'Internal error');
|
19
|
-
}
|
20
|
-
static notImplemented() {
|
21
|
-
return this.create(501, 'Not implemented');
|
22
|
-
}
|
23
|
-
static create(status, body, fileName) {
|
24
|
-
return Promise.resolve({ status, body, fileName });
|
25
|
-
}
|
26
|
-
}
|
27
|
-
exports.LambdaResponse = LambdaResponse;
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFtYmRhLXJlc3BvbnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy90eXBlcy9sYW1iZGEtcmVzcG9uc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsTUFBYSxjQUFjO0lBS3ZCLE1BQU0sQ0FBQyxFQUFFLENBQUksSUFBTyxFQUFFLFFBQWlCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFJLElBQU8sRUFBRSxRQUFpQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFZO1FBQzFCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRO1FBQ1gsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsTUFBTSxDQUFDLGFBQWE7UUFDaEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYztRQUNqQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNLENBQUksTUFBYyxFQUFFLElBQU8sRUFBRSxRQUFpQjtRQUN2RCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztDQUNKO0FBaENELHdDQWdDQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBMYW1iZGFSZXNwb25zZTxUPiB7XG4gICAgcmVhZG9ubHkgc3RhdHVzOiBudW1iZXI7XG4gICAgcmVhZG9ubHkgYm9keTogVDtcbiAgICByZWFkb25seSBmaWxlTmFtZT86IHN0cmluZztcblxuICAgIHN0YXRpYyBvazxTPihib2R5OiBTLCBmaWxlTmFtZT86IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGUoMjAwLCBib2R5LCBmaWxlTmFtZSk7XG4gICAgfVxuXG4gICAgc3RhdGljIG9rSnNvbjxTPihqc29uOiBTLCBmaWxlTmFtZT86IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGUoMjAwLCBKU09OLnN0cmluZ2lmeShqc29uLCBudWxsLCAyKSwgZmlsZU5hbWUpO1xuICAgIH1cblxuICAgIHN0YXRpYyBiYWRSZXF1ZXN0KGJvZHk6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGUoNDAwLCBib2R5KTtcbiAgICB9XG5cbiAgICBzdGF0aWMgbm90Rm91bmQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZSg0MDQsICdOb3QgZm91bmQnKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgaW50ZXJuYWxFcnJvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlKDUwMCwgJ0ludGVybmFsIGVycm9yJyk7XG4gICAgfVxuXG4gICAgc3RhdGljIG5vdEltcGxlbWVudGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGUoNTAxLCAnTm90IGltcGxlbWVudGVkJyk7XG4gICAgfVxuXG4gICAgc3RhdGljIGNyZWF0ZTxTPihzdGF0dXM6IG51bWJlciwgYm9keTogUywgZmlsZU5hbWU/OiBzdHJpbmcpOiBQcm9taXNlPExhbWJkYVJlc3BvbnNlPFM+PiB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyBzdGF0dXMsIGJvZHksIGZpbGVOYW1lIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
package/aws/types/mediatypes.js
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.MediaType = void 0;
|
4
|
-
var MediaType;
|
5
|
-
(function (MediaType) {
|
6
|
-
MediaType["APPLICATION_JSON"] = "application/json";
|
7
|
-
MediaType["APPLICATION_XML"] = "application/xml";
|
8
|
-
MediaType["APPLICATION_GEOJSON"] = "application/geo+json;charset=UTF-8";
|
9
|
-
MediaType["IMAGE_SVG"] = "image/svg+xml";
|
10
|
-
MediaType["IMAGE_JPEG"] = "image/jpeg";
|
11
|
-
MediaType["TEXT_PLAIN"] = "text/plain";
|
12
|
-
MediaType["TEXT_HTML"] = "text/html";
|
13
|
-
MediaType["TEXT_CSV"] = "text/csv";
|
14
|
-
})(MediaType = exports.MediaType || (exports.MediaType = {}));
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWF0eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3MvdHlwZXMvbWVkaWF0eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFZLFNBU1g7QUFURCxXQUFZLFNBQVM7SUFDakIsa0RBQXFDLENBQUE7SUFDckMsZ0RBQW1DLENBQUE7SUFDbkMsdUVBQTBELENBQUE7SUFDMUQsd0NBQTJCLENBQUE7SUFDM0Isc0NBQXlCLENBQUE7SUFDekIsc0NBQXlCLENBQUE7SUFDekIsb0NBQXVCLENBQUE7SUFDdkIsa0NBQXFCLENBQUE7QUFDekIsQ0FBQyxFQVRXLFNBQVMsR0FBVCxpQkFBUyxLQUFULGlCQUFTLFFBU3BCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gTWVkaWFUeXBlIHtcbiAgICBBUFBMSUNBVElPTl9KU09OID0gJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgIEFQUExJQ0FUSU9OX1hNTCA9ICdhcHBsaWNhdGlvbi94bWwnLFxuICAgIEFQUExJQ0FUSU9OX0dFT0pTT04gPSAnYXBwbGljYXRpb24vZ2VvK2pzb247Y2hhcnNldD1VVEYtOCcsXG4gICAgSU1BR0VfU1ZHID0gJ2ltYWdlL3N2Zyt4bWwnLFxuICAgIElNQUdFX0pQRUcgPSAnaW1hZ2UvanBlZycsXG4gICAgVEVYVF9QTEFJTiA9ICd0ZXh0L3BsYWluJyxcbiAgICBURVhUX0hUTUwgPSAndGV4dC9odG1sJyxcbiAgICBURVhUX0NTViA9ICd0ZXh0L2NzdicsXG59XG4iXX0=
|
@@ -1,3 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtd2l0aC1yZWZlcmVuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL3R5cGVzL21vZGVsLXdpdGgtcmVmZXJlbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01vZGVsfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWFwaWdhdGV3YXlcIjtcblxuLyoqXG4gKiBNb2RlbCBvYmplY3Qgd2l0aCBhIHJlZmVyZW5jZSB0byBhbiBBUEkgR2F0ZXdheSBtb2RlbCBvYmplY3QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTW9kZWxXaXRoUmVmZXJlbmNlIGV4dGVuZHMgTW9kZWwge1xuICAgIG1vZGVsUmVmZXJlbmNlOiBzdHJpbmc7XG59XG4iXX0=
|
@@ -1,26 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html#api-gateway-simple-proxy-for-lambda-output-format
|
3
|
-
*
|
4
|
-
* Not fully described, extend if necessary.
|
5
|
-
*/
|
6
|
-
export declare type ProxyLambdaResponse = {
|
7
|
-
readonly statusCode: number;
|
8
|
-
readonly body: string;
|
9
|
-
readonly headers?: Record<string, string>;
|
10
|
-
readonly multiValueHeaders?: Record<string, string[]>;
|
11
|
-
};
|
12
|
-
/**
|
13
|
-
* https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html#api-gateway-simple-proxy-for-lambda-input-format
|
14
|
-
*
|
15
|
-
* Not fully described, extend if necessary.
|
16
|
-
*/
|
17
|
-
export declare type ProxyLambdaRequest = {
|
18
|
-
readonly resource: string;
|
19
|
-
readonly path: string;
|
20
|
-
readonly httpMethod: string;
|
21
|
-
readonly headers: Record<string, string>;
|
22
|
-
readonly multiValueHeaders: Record<string, string[]>;
|
23
|
-
readonly queryStringParameters: Record<string, string>;
|
24
|
-
readonly multiValueQueryStringParameters: Record<string, string[]>;
|
25
|
-
readonly body?: string;
|
26
|
-
};
|
package/aws/types/proxytypes.js
DELETED
@@ -1,3 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJveHl0eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3MvdHlwZXMvcHJveHl0eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXBpZ2F0ZXdheS9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvc2V0LXVwLWxhbWJkYS1wcm94eS1pbnRlZ3JhdGlvbnMuaHRtbCNhcGktZ2F0ZXdheS1zaW1wbGUtcHJveHktZm9yLWxhbWJkYS1vdXRwdXQtZm9ybWF0XG4gKlxuICogTm90IGZ1bGx5IGRlc2NyaWJlZCwgZXh0ZW5kIGlmIG5lY2Vzc2FyeS5cbiAqL1xuZXhwb3J0IHR5cGUgUHJveHlMYW1iZGFSZXNwb25zZSA9IHtcbiAgICByZWFkb25seSBzdGF0dXNDb2RlOiBudW1iZXJcbiAgICByZWFkb25seSBib2R5OiBzdHJpbmdcbiAgICByZWFkb25seSBoZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICAgIHJlYWRvbmx5IG11bHRpVmFsdWVIZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+XG59XG5cbi8qKlxuICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FwaWdhdGV3YXkvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL3NldC11cC1sYW1iZGEtcHJveHktaW50ZWdyYXRpb25zLmh0bWwjYXBpLWdhdGV3YXktc2ltcGxlLXByb3h5LWZvci1sYW1iZGEtaW5wdXQtZm9ybWF0XG4gKlxuICogTm90IGZ1bGx5IGRlc2NyaWJlZCwgZXh0ZW5kIGlmIG5lY2Vzc2FyeS5cbiAqL1xuZXhwb3J0IHR5cGUgUHJveHlMYW1iZGFSZXF1ZXN0ID0ge1xuICAgIHJlYWRvbmx5IHJlc291cmNlOiBzdHJpbmdcbiAgICByZWFkb25seSBwYXRoOiBzdHJpbmdcbiAgICByZWFkb25seSBodHRwTWV0aG9kOiBzdHJpbmdcbiAgICByZWFkb25seSBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4gICAgcmVhZG9ubHkgbXVsdGlWYWx1ZUhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPlxuICAgIHJlYWRvbmx5IHF1ZXJ5U3RyaW5nUGFyYW1ldGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICAgIHJlYWRvbmx5IG11bHRpVmFsdWVRdWVyeVN0cmluZ1BhcmFtZXRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPlxuICAgIHJlYWRvbmx5IGJvZHk/OiBzdHJpbmdcbn1cbiJdfQ==
|
package/aws/types/tags.d.ts
DELETED
package/aws/types/tags.js
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.DATA_V1_TAGS = exports.BETA_TAGS = void 0;
|
4
|
-
// DEPRECATED! This must be replaced with new application specific tags
|
5
|
-
exports.BETA_TAGS = ['Beta'];
|
6
|
-
exports.DATA_V1_TAGS = ['Data v1'];
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3MvdHlwZXMvdGFncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1RUFBdUU7QUFDMUQsUUFBQSxTQUFTLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNyQixRQUFBLFlBQVksR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gREVQUkVDQVRFRCEgVGhpcyBtdXN0IGJlIHJlcGxhY2VkIHdpdGggbmV3IGFwcGxpY2F0aW9uIHNwZWNpZmljIHRhZ3NcbmV4cG9ydCBjb25zdCBCRVRBX1RBR1MgPSBbJ0JldGEnXTtcbmV4cG9ydCBjb25zdCBEQVRBX1YxX1RBR1MgPSBbJ0RhdGEgdjEnXTtcbiJdfQ==
|
package/database/cached.d.ts
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
import { DTDatabase, DTTransaction } from "./database";
|
2
|
-
export declare enum JSON_CACHE_KEY {
|
3
|
-
NAUTICAL_WARNINGS_ACTIVE = "nautical-warnings-active",
|
4
|
-
NAUTICAL_WARNINGS_ARCHIVED = "nautical-warnings-archived"
|
5
|
-
}
|
6
|
-
export declare function updateCachedJson<T>(db: DTDatabase | DTTransaction, cacheKey: JSON_CACHE_KEY, value: T): Promise<null>;
|
7
|
-
export declare function getJsonFromCache<T>(db: DTDatabase | DTTransaction, cacheKey: JSON_CACHE_KEY): Promise<T | null>;
|