@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.
- package/README.md +49 -0
- package/aws/index.d.ts +1 -0
- package/aws/index.js +18 -0
- package/aws/infra/api/index.d.ts +1 -0
- package/aws/infra/api/index.js +18 -0
- package/aws/infra/api/responses.js +1 -1
- package/aws/infra/stack/lambda-configs.js +1 -1
- package/aws/infra/stack/rest_apis.d.ts +1 -0
- package/aws/infra/stack/rest_apis.js +8 -2
- package/aws/infra/stack/stack.d.ts +4 -1
- package/aws/infra/stack/stack.js +1 -1
- package/aws/infra/usage-plans.js +1 -1
- package/aws/types/errors.js +1 -1
- package/aws/types/tags.js +1 -1
- package/database/last-updated.js +10 -10
- package/package.json +27 -13
- package/test/httpserver.js +1 -1
- package/types/index.d.ts +1 -0
- package/types/index.js +18 -0
- package/types/language.js +1 -1
- package/utils/geometry.js +1 -1
- package/src/aws/infra/api/integration.js +0 -52
- package/src/aws/infra/api/response.js +0 -61
- package/src/aws/infra/api/responses.js +0 -79
- package/src/aws/infra/api/static-integration.js +0 -54
- package/src/aws/infra/canaries/canary-alarm.js +0 -26
- package/src/aws/infra/canaries/canary-parameters.js +0 -3
- package/src/aws/infra/canaries/canary-role.js +0 -46
- package/src/aws/infra/canaries/canary.js +0 -29
- package/src/aws/infra/canaries/database-canary.js +0 -55
- package/src/aws/infra/canaries/database-checker.js +0 -109
- package/src/aws/infra/canaries/url-canary.js +0 -46
- package/src/aws/infra/canaries/url-checker.js +0 -238
- package/src/aws/infra/documentation.js +0 -95
- package/src/aws/infra/scheduler.js +0 -31
- package/src/aws/infra/security-rule.js +0 -39
- package/src/aws/infra/sqs-integration.js +0 -93
- package/src/aws/infra/sqs-queue.js +0 -130
- package/src/aws/infra/stack/lambda-configs.js +0 -93
- package/src/aws/infra/stack/monitoredfunction.js +0 -135
- package/src/aws/infra/stack/rest_apis.js +0 -179
- package/src/aws/infra/stack/stack-checking-aspect.js +0 -163
- package/src/aws/infra/stack/stack.js +0 -58
- package/src/aws/infra/stack/subscription.js +0 -41
- package/src/aws/infra/usage-plans.js +0 -42
- package/src/aws/runtime/apikey.js +0 -13
- package/src/aws/runtime/digitraffic-integration-response.js +0 -26
- package/src/aws/runtime/messaging.js +0 -31
- package/src/aws/runtime/s3.js +0 -30
- package/src/aws/runtime/secrets/dbsecret.js +0 -96
- package/src/aws/runtime/secrets/proxy-holder.js +0 -26
- package/src/aws/runtime/secrets/rds-holder.js +0 -26
- package/src/aws/runtime/secrets/secret-holder.js +0 -73
- package/src/aws/runtime/secrets/secret.js +0 -43
- package/src/aws/types/errors.js +0 -9
- package/src/aws/types/lambda-response.js +0 -28
- package/src/aws/types/mediatypes.js +0 -15
- package/src/aws/types/model-with-reference.js +0 -3
- package/src/aws/types/proxytypes.js +0 -3
- package/src/aws/types/tags.js +0 -7
- package/src/database/cached.js +0 -32
- package/src/database/database.js +0 -62
- package/src/database/last-updated.js +0 -54
- package/src/marine/id_utils.js +0 -33
- package/src/marine/rtz.js +0 -3
- package/src/test/asserter.js +0 -45
- package/src/test/db-testutils.js +0 -31
- package/src/test/httpserver.js +0 -67
- package/src/test/secret.js +0 -25
- package/src/test/secrets-manager.js +0 -59
- package/src/test/testutils.js +0 -44
- package/src/types/input-error.js +0 -7
- package/src/types/language.js +0 -10
- package/src/types/traffictype.js +0 -13
- package/src/types/validator.js +0 -14
- package/src/utils/api-model.js +0 -129
- package/src/utils/base64.js +0 -21
- package/src/utils/date-utils.js +0 -34
- package/src/utils/geojson-types.js +0 -18
- package/src/utils/geometry.js +0 -140
- package/src/utils/retry.js +0 -50
- package/src/utils/slack.js +0 -25
- package/src/utils/utils.js +0 -40
- package/test/marine/id_utils.test.js +0 -69
- package/test/promise/promise.test.js +0 -125
- package/test/secrets/dbsecret.test.js +0 -71
- package/test/secrets/secret-holder.test.js +0 -124
- package/test/secrets/secret.test.js +0 -66
- package/test/test/httpserver.test.js +0 -87
- package/test/utils/date-utils.test.js +0 -51
- package/test/utils/geometry.test.js +0 -49
- package/test/utils/utils.test.js +0 -49
package/types/language.js
CHANGED
@@ -7,4 +7,4 @@ var Language;
|
|
7
7
|
Language["EN"] = "en";
|
8
8
|
Language["SV"] = "sv";
|
9
9
|
})(Language = exports.Language || (exports.Language = {}));
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvbGFuZ3VhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSxRQUVYO0FBRkQsV0FBWSxRQUFRO0lBQ2hCLHFCQUFTLENBQUE7SUFBRSxxQkFBUyxDQUFBO0lBQUUscUJBQVMsQ0FBQTtBQUNuQyxDQUFDLEVBRlcsUUFBUSxHQUFSLGdCQUFRLEtBQVIsZ0JBQVEsUUFFbkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBMYW5ndWFnZSB7XG4gICAgRkkgPSAnZmknLCBFTiA9ICdlbicsIFNWID0gJ3N2J1xufVxuIl19
|
package/utils/geometry.js
CHANGED
@@ -137,4 +137,4 @@ exports.positionToList = positionToList;
|
|
137
137
|
function toRadians(angdeg) {
|
138
138
|
return angdeg * DEGREES_TO_RADIANS;
|
139
139
|
}
|
140
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvZ2VvbWV0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS2EsUUFBQSxVQUFVLEdBQUcsSUFBSSxDQUFDO0FBRS9COzs7R0FHRztBQUNILFNBQWdCLGNBQWMsQ0FBQyxRQUFrQjtJQUM3QyxJQUFJLFFBQVEsQ0FBQyxJQUFJLEtBQUssWUFBWSxFQUFFO1FBQ2hDLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFckQsT0FBTyxjQUFjLFdBQVcsR0FBRyxDQUFDO0tBQ3ZDO1NBQU0sSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRTtRQUNsQyxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXpELE9BQU8sU0FBUyxXQUFXLEdBQUcsQ0FBQztLQUNsQztTQUFNLElBQUksUUFBUSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7UUFDcEMsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVsRCxPQUFPLFdBQVcsV0FBVyxHQUFHLENBQUM7S0FDcEM7U0FBTSxJQUFJLFFBQVEsQ0FBQyxJQUFJLEtBQUssY0FBYyxFQUFFO1FBQ3pDLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFdkQsT0FBTyxnQkFBZ0IsV0FBVyxHQUFHLENBQUM7S0FDekM7SUFFRCxPQUFPLENBQUMsS0FBSyxDQUFDLDZCQUE2QixFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1RCxPQUFPLGVBQWUsQ0FBQztBQUMzQixDQUFDO0FBckJELHdDQXFCQztBQUVELFNBQVMsVUFBVSxDQUFDLFdBQXVCO0lBQ3ZDLE9BQU8sV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQVcsRUFB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O0lBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDekUsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLFNBQXVCLEVBQUUsU0FBUyxHQUFHLENBQUM7SUFDekQsT0FBTyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3hFLENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLFNBQXFCLEVBQUUsU0FBUyxHQUFHLENBQUM7SUFDMUQsT0FBTyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN0RSxDQUFDO0FBRUQsU0FBZ0IsY0FBYyxDQUFDLFFBQWtCLEVBQUUsU0FBUyxHQUFHLENBQUM7SUFDNUQsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNqRSxDQUFDO0FBRkQsd0NBRUM7QUFFRCxzQ0FBc0M7QUFDdEMsU0FBUyxTQUFTLENBQUMsTUFBYTtJQUM1QixPQUFPLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQztBQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEdlb0pTT04gZnVuY3Rpb25zIGFuZCB0b29sc1xyXG4gKi9cclxuaW1wb3J0IHtGZWF0dXJlLCBGZWF0dXJlQ29sbGVjdGlvbiwgR2VvbWV0cnksIFBvc2l0aW9ufSBmcm9tIFwiZ2VvanNvblwiO1xyXG5cclxuZXhwb3J0IGNvbnN0IFNSSURfV0dTODQgPSA0MzI2O1xyXG5cclxuLyoqXHJcbiAqIENyZWF0ZXMgV0tUIGdlb21ldHJ5IGZyb20gR2VvSlNPTiBnZW9tZXRyeVxyXG4gKiBAcGFyYW0gZ2VvbWV0cnkgR2VvSnNvbiBnZW9tZXRyeSB0byBjb252ZXJ0IHRvIFdLVFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUdlb21ldHJ5KGdlb21ldHJ5OiBHZW9tZXRyeSk6IHN0cmluZyB7XHJcbiAgICBpZiAoZ2VvbWV0cnkudHlwZSA9PT0gJ0xpbmVTdHJpbmcnKSB7XHJcbiAgICAgICAgY29uc3QgY29vcmRpbmF0ZXMgPSBsaW5lc3RyaW5nKGdlb21ldHJ5LmNvb3JkaW5hdGVzKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGBMSU5FU1RSSU5HKCR7Y29vcmRpbmF0ZXN9KWA7XHJcbiAgICB9IGVsc2UgaWYgKGdlb21ldHJ5LnR5cGUgPT09ICdQb2ludCcpIHtcclxuICAgICAgICBjb25zdCBjb29yZGluYXRlcyA9IGNvb3JkaW5hdGVQYWlyKGdlb21ldHJ5LmNvb3JkaW5hdGVzKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGBQT0lOVCgke2Nvb3JkaW5hdGVzfSlgO1xyXG4gICAgfSBlbHNlIGlmIChnZW9tZXRyeS50eXBlID09PSAnUG9seWdvbicpIHtcclxuICAgICAgICBjb25zdCBjb29yZGluYXRlcyA9IHBvbHlnb24oZ2VvbWV0cnkuY29vcmRpbmF0ZXMpO1xyXG5cclxuICAgICAgICByZXR1cm4gYFBPTFlHT04oJHtjb29yZGluYXRlc30pYDtcclxuICAgIH0gZWxzZSBpZiAoZ2VvbWV0cnkudHlwZSA9PT0gJ011bHRpUG9seWdvbicpIHtcclxuICAgICAgICBjb25zdCBjb29yZGluYXRlcyA9IG11bHRpUG9seWdvbihnZW9tZXRyeS5jb29yZGluYXRlcyk7XHJcblxyXG4gICAgICAgIHJldHVybiBgTVVMVElQT0xZR09OKCR7Y29vcmRpbmF0ZXN9KWA7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc29sZS5lcnJvcihcInVuc3VwcG9ydGVkIGxvY2F0aW9uVHlwZT0lc1wiLCBnZW9tZXRyeS50eXBlKTtcclxuICAgIHJldHVybiBcIlBPTFlHT04gRU1QVFlcIjtcclxufVxyXG5cclxuZnVuY3Rpb24gbGluZXN0cmluZyhjb29yZGluYXRlczogUG9zaXRpb25bXSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gY29vcmRpbmF0ZXMubWFwKChjOiBQb3NpdGlvbikgPT4gIGNvb3JkaW5hdGVQYWlyKGMpKS5qb2luKCcsJyk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHBvbHlnb24oY29vcmRpbmF0ZXM6IFBvc2l0aW9uW11bXSk6c3RyaW5nIHtcclxuICAgIGNvbnN0IGxpc3QgPSBjb29yZGluYXRlcy5tYXAoKGM6IFBvc2l0aW9uW10pID0+IGxpbmVzdHJpbmcoYykpLmpvaW4oJywnKTtcclxuICAgIHJldHVybiBgKCR7bGlzdH0pYDtcclxufVxyXG5cclxuZnVuY3Rpb24gbXVsdGlQb2x5Z29uKGNvb3JkaW5hdGVzOiBQb3NpdGlvbltdW11bXSk6c3RyaW5nIHtcclxuICAgIGNvbnN0IGxpc3QgPSBjb29yZGluYXRlcy5tYXAoKGM6IFBvc2l0aW9uW11bXSkgPT4gcG9seWdvbihjKSkuam9pbignLCcpO1xyXG4gICAgcmV0dXJuIGAoJHtsaXN0fSlgO1xyXG59XHJcblxyXG5mdW5jdGlvbiBjb29yZGluYXRlUGFpcihjb29yZGluYXRlOiBQb3NpdGlvbik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7Y29vcmRpbmF0ZVswXX0gJHtjb29yZGluYXRlWzFdfWA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDcmVhdGUgYSBHZW9KU09OIEZlYXR1cmVDb2xsZWN0aW9uIGZyb20gYSBsaXN0IG9mIEdlb0pTT04gZmVhdHVyZXMgd2l0aCBhICdsYXN0IHVwZGF0ZWQnIHByb3BlcnR5XHJcbiAqIEBwYXJhbSBmZWF0dXJlcyBMaXN0IG9mIEZlYXR1cmVzXHJcbiAqIEBwYXJhbSBsYXN0VXBkYXRlZCBMYXN0IHVwZGF0ZWQgZGF0ZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZlYXR1cmVDb2xsZWN0aW9uKGZlYXR1cmVzOiBGZWF0dXJlW10sIGxhc3RVcGRhdGVkOiBEYXRlIHwgbnVsbCk6IEZlYXR1cmVDb2xsZWN0aW9uIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgdHlwZTogXCJGZWF0dXJlQ29sbGVjdGlvblwiLFxyXG4gICAgICAgIGxhc3RVcGRhdGVkOiBsYXN0VXBkYXRlZCxcclxuICAgICAgICBmZWF0dXJlczogZmVhdHVyZXMsXHJcbiAgICB9IGFzIEZlYXR1cmVDb2xsZWN0aW9uO1xyXG59XHJcblxyXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlc1xyXG5jb25zdCBnZW9Kc29uVmFsaWRhdG9yID0gcmVxdWlyZSgnZ2VvanNvbi12YWxpZGF0aW9uJyk7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZEdlb0pzb248VD4oanNvbjogVCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGdlb0pzb25WYWxpZGF0b3IudmFsaWQoanNvbik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBpc0ZlYXR1cmVDb2xsZWN0aW9uPFQ+KGpzb246IFQpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBnZW9Kc29uVmFsaWRhdG9yLmlzRmVhdHVyZUNvbGxlY3Rpb24oanNvbik7XHJcbn1cclxuXHJcbmNvbnN0IERFR1JFRVNfVE9fUkFESUFOUyA9IDAuMDE3NDUzMjkyNTE5OTQzMjk1OyAvLyA9IE1hdGguUEkgLyAxODBcclxuY29uc3QgRUFSVEhfUkFESVVTX0tNID0gNjM3MTtcclxuXHJcblxyXG4vKipcclxuICogUmV0dXJucyB0aGUgZGlzdGFuY2UgYmV0d2VlbiB0aGlzIGFuZCBnaXZlbiBHZW9KU09OIHBvaW50IGluIGtpbG9tZXRlcnMuIERvZXNuJ3QgdGFrZSBpbiBhY2NvdW50IGFsdGl0dWRlLlxyXG4gKiBCYXNlZCBvbiB0aGUgZm9sbG93aW5nIFN0YWNrIE92ZXJmbG93IHF1ZXN0aW9uOlxyXG4gKiBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzI3OTI4L2NhbGN1bGF0ZS1kaXN0YW5jZS1iZXR3ZWVuLXR3by1sYXRpdHVkZS1sb25naXR1ZGUtcG9pbnRzLWhhdmVyc2luZS1mb3JtdWxhLFxyXG4gKiB3aGljaCBpcyBiYXNlZCBvbiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9IYXZlcnNpbmVfZm9ybXVsYSAoZXJyb3IgcmF0ZTogfjAuNTUlKS5cclxuICovXHJcbmZ1bmN0aW9uIGRpc3RhbmNlQmV0d2VlbldHUzg0UG9pbnRzSW5LbShmcm9tWExvbjpudW1iZXIsIGZyb21ZTGF0Om51bWJlciwgdG9YTG9uOm51bWJlciwgdG9ZTGF0Om51bWJlcik6IG51bWJlciAge1xyXG5cclxuICAgIGNvbnN0IGRpZmZMYXQgPSB0b1JhZGlhbnModG9ZTGF0IC0gZnJvbVlMYXQpO1xyXG4gICAgY29uc3QgZGlmZkxvbiA9IHRvUmFkaWFucyh0b1hMb24gLSBmcm9tWExvbik7XHJcblxyXG4gICAgY29uc3QgYSA9XHJcbiAgICAgICAgTWF0aC5zaW4oZGlmZkxhdCAvIDIpICogTWF0aC5zaW4oZGlmZkxhdCAvIDIpICtcclxuICAgICAgICBNYXRoLmNvcyh0b1JhZGlhbnMoZnJvbVlMYXQpKSAqIE1hdGguY29zKHRvUmFkaWFucyh0b1lMYXQpKSAqXHJcbiAgICAgICAgTWF0aC5zaW4oZGlmZkxvbiAvIDIpICogTWF0aC5zaW4oZGlmZkxvbiAvIDIpO1xyXG4gICAgY29uc3QgYyA9IDIgKiBNYXRoLmF0YW4yKE1hdGguc3FydChhKSwgTWF0aC5zcXJ0KDEgLSBhKSk7XHJcbiAgICByZXR1cm4gRUFSVEhfUkFESVVTX0tNICogYztcclxufVxyXG5cclxuLyoqXHJcbiAqIENhbGN1bGF0ZXMgZGlzdGFuY2UgYmV0d2VlbiB0d28gR2VvSlNPTiBwb2ludHMgKFdHUzg0KVxyXG4gKiBAcGFyYW0gcG9zMVxyXG4gKiBAcGFyYW0gcG9zMlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGRpc3RhbmNlQmV0d2VlblBvc2l0aW9uc0luS20ocG9zMTogUG9zaXRpb24sIHBvczI6IFBvc2l0aW9uKSB7XHJcbiAgICByZXR1cm4gZGlzdGFuY2VCZXR3ZWVuV0dTODRQb2ludHNJbkttKHBvczFbMF0sIHBvczFbMV0sIHBvczJbMF0sIHBvczJbMV0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gYXJlRGlzdGluY3RQb3NpdGlvbnMocHJldmlvdXM6IFBvc2l0aW9uLCBuZXh0OiBQb3NpdGlvbikge1xyXG4gICAgcmV0dXJuIHByZXZpb3VzWzBdICE9PSBuZXh0WzBdIHx8IHByZXZpb3VzWzFdICE9PSBuZXh0WzFdO1xyXG59XHJcblxyXG4vKipcclxuICogQ2FsY3VsYXRlcyBkaXN0YW5jZSBiZXR3ZWVuIHR3byBHZW9KU09OIHBvaW50cyAoV0dTODQpXHJcbiAqIEBwYXJhbSBwb3MxXHJcbiAqIEBwYXJhbSBwb3MyXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZGlzdGFuY2VCZXR3ZWVuUG9zaXRpb25zSW5NKHBvczE6IFBvc2l0aW9uLCBwb3MyOiBQb3NpdGlvbikge1xyXG4gICAgcmV0dXJuIGRpc3RhbmNlQmV0d2VlblBvc2l0aW9uc0luS20ocG9zMSwgcG9zMikgKiAxMDAwOyAvLyBrbSAtPiBtXHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVHbWxMaW5lU3RyaW5nKGdlb21ldHJ5OiBHZW9tZXRyeSwgc3JzTmFtZSA9ICdFUFNHOjQzMjYnKSB7XHJcbiAgICBjb25zdCBwb3NMaXN0ID0gY3JlYXRlUG9zTGlzdChnZW9tZXRyeSk7XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICBzcnNOYW1lLFxyXG4gICAgICAgIHBvc0xpc3QsXHJcbiAgICB9O1xyXG59XHJcblxyXG5mdW5jdGlvbiBjcmVhdGVQb3NMaXN0KGdlb21ldHJ5OiBHZW9tZXRyeSkge1xyXG4gICAgaWYgKGdlb21ldHJ5LnR5cGUgPT09ICdQb2ludCcpIHtcclxuICAgICAgICByZXR1cm4gcG9zaXRpb25Ub0xpc3QoZ2VvbWV0cnkuY29vcmRpbmF0ZXMpO1xyXG4gICAgfSBlbHNlIGlmIChnZW9tZXRyeS50eXBlID09PSAnTGluZVN0cmluZycpIHtcclxuICAgICAgICByZXR1cm4gbGluZVN0cmluZ1RvTGlzdChnZW9tZXRyeS5jb29yZGluYXRlcyk7XHJcbiAgICB9IGVsc2UgaWYgKGdlb21ldHJ5LnR5cGUgPT09ICdQb2x5Z29uJykge1xyXG4gICAgICAgIHJldHVybiBwb2x5Z29uVG9MaXN0KGdlb21ldHJ5LmNvb3JkaW5hdGVzKTtcclxuICAgIH1cclxuXHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1bmtub3duIGdlb21ldHJ5IHR5cGUgXCIgKyBKU09OLnN0cmluZ2lmeShnZW9tZXRyeSkpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBwb2x5Z29uVG9MaXN0KHBvc2l0aW9uczogUG9zaXRpb25bXVtdLCBwcmVjaXNpb24gPSA4KSB7XHJcbiAgICByZXR1cm4gcG9zaXRpb25zLm1hcChwID0+IGxpbmVTdHJpbmdUb0xpc3QocCwgcHJlY2lzaW9uKSkuam9pbignICcpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBsaW5lU3RyaW5nVG9MaXN0KHBvc2l0aW9uczogUG9zaXRpb25bXSwgcHJlY2lzaW9uID0gOCkge1xyXG4gICAgcmV0dXJuIHBvc2l0aW9ucy5tYXAocCA9PiBwb3NpdGlvblRvTGlzdChwLCBwcmVjaXNpb24pKS5qb2luKCcgJyk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBwb3NpdGlvblRvTGlzdChwb3NpdGlvbjogUG9zaXRpb24sIHByZWNpc2lvbiA9IDgpIHtcclxuICAgIHJldHVybiBwb3NpdGlvbi5tYXAobiA9PiBuLnRvUHJlY2lzaW9uKHByZWNpc2lvbikpLmpvaW4oJyAnKTtcclxufVxyXG5cclxuLy8gQ29udmVydHMgbnVtZXJpYyBkZWdyZWVzIHRvIHJhZGlhbnNcclxuZnVuY3Rpb24gdG9SYWRpYW5zKGFuZ2RlZzpudW1iZXIpIHtcclxuICAgIHJldHVybiBhbmdkZWcgKiBERUdSRUVTX1RPX1JBRElBTlM7XHJcbn1cclxuIl19
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvZ2VvbWV0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS2EsUUFBQSxVQUFVLEdBQUcsSUFBSSxDQUFDO0FBRS9COzs7R0FHRztBQUNILFNBQWdCLGNBQWMsQ0FBQyxRQUFrQjtJQUM3QyxJQUFJLFFBQVEsQ0FBQyxJQUFJLEtBQUssWUFBWSxFQUFFO1FBQ2hDLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFckQsT0FBTyxjQUFjLFdBQVcsR0FBRyxDQUFDO0tBQ3ZDO1NBQU0sSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRTtRQUNsQyxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXpELE9BQU8sU0FBUyxXQUFXLEdBQUcsQ0FBQztLQUNsQztTQUFNLElBQUksUUFBUSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7UUFDcEMsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVsRCxPQUFPLFdBQVcsV0FBVyxHQUFHLENBQUM7S0FDcEM7U0FBTSxJQUFJLFFBQVEsQ0FBQyxJQUFJLEtBQUssY0FBYyxFQUFFO1FBQ3pDLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFdkQsT0FBTyxnQkFBZ0IsV0FBVyxHQUFHLENBQUM7S0FDekM7SUFFRCxPQUFPLENBQUMsS0FBSyxDQUFDLDZCQUE2QixFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1RCxPQUFPLGVBQWUsQ0FBQztBQUMzQixDQUFDO0FBckJELHdDQXFCQztBQUVELFNBQVMsVUFBVSxDQUFDLFdBQXVCO0lBQ3ZDLE9BQU8sV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQVcsRUFBRSxFQUFFLENBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzFFLENBQUM7QUFFRCxTQUFTLE9BQU8sQ0FBQyxXQUF5QjtJQUN0QyxNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBYSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekUsT0FBTyxJQUFJLElBQUksR0FBRyxDQUFDO0FBQ3ZCLENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBQyxXQUEyQjtJQUM3QyxNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBZSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEUsT0FBTyxJQUFJLElBQUksR0FBRyxDQUFDO0FBQ3ZCLENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FBQyxVQUFvQjtJQUN4QyxPQUFPLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQy9DLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsdUJBQXVCLENBQUMsUUFBbUIsRUFBRSxXQUF3QjtJQUNqRixPQUFPO1FBQ0gsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixXQUFXLEVBQUUsV0FBVztRQUN4QixRQUFRLEVBQUUsUUFBUTtLQUNBLENBQUM7QUFDM0IsQ0FBQztBQU5ELDBEQU1DO0FBRUQsOERBQThEO0FBQzlELE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFFdkQsU0FBZ0IsY0FBYyxDQUFJLElBQU87SUFDckMsT0FBTyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDeEMsQ0FBQztBQUZELHdDQUVDO0FBRUQsU0FBZ0IsbUJBQW1CLENBQUksSUFBTztJQUMxQyxPQUFPLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3RELENBQUM7QUFGRCxrREFFQztBQUVELE1BQU0sa0JBQWtCLEdBQUcsb0JBQW9CLENBQUMsQ0FBQyxrQkFBa0I7QUFDbkUsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDO0FBRzdCOzs7OztHQUtHO0FBQ0gsU0FBUyw4QkFBOEIsQ0FBQyxRQUFlLEVBQUUsUUFBZSxFQUFFLE1BQWEsRUFBRSxNQUFhO0lBRWxHLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLENBQUM7SUFDN0MsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsQ0FBQztJQUU3QyxNQUFNLENBQUMsR0FDSCxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMzRCxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNsRCxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekQsT0FBTyxlQUFlLEdBQUcsQ0FBQyxDQUFDO0FBQy9CLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsNEJBQTRCLENBQUMsSUFBYyxFQUFFLElBQWM7SUFDdkUsT0FBTyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5RSxDQUFDO0FBRkQsb0VBRUM7QUFFRCxTQUFnQixvQkFBb0IsQ0FBQyxRQUFrQixFQUFFLElBQWM7SUFDbkUsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUQsQ0FBQztBQUZELG9EQUVDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLDJCQUEyQixDQUFDLElBQWMsRUFBRSxJQUFjO0lBQ3RFLE9BQU8sNEJBQTRCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLFVBQVU7QUFDdEUsQ0FBQztBQUZELGtFQUVDO0FBRUQsU0FBZ0IsbUJBQW1CLENBQUMsUUFBa0IsRUFBRSxPQUFPLEdBQUcsV0FBVztJQUN6RSxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFeEMsT0FBTztRQUNILE9BQU87UUFDUCxPQUFPO0tBQ1YsQ0FBQztBQUNOLENBQUM7QUFQRCxrREFPQztBQUVELFNBQVMsYUFBYSxDQUFDLFFBQWtCO0lBQ3JDLElBQUksUUFBUSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7UUFDM0IsT0FBTyxjQUFjLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0tBQy9DO1NBQU0sSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLFlBQVksRUFBRTtRQUN2QyxPQUFPLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztLQUNqRDtTQUFNLElBQUksUUFBUSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7UUFDcEMsT0FBTyxhQUFhLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0tBQzlDO0lBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDekUsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLFNBQXVCLEVBQUUsU0FBUyxHQUFHLENBQUM7SUFDekQsT0FBTyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3hFLENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLFNBQXFCLEVBQUUsU0FBUyxHQUFHLENBQUM7SUFDMUQsT0FBTyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN0RSxDQUFDO0FBRUQsU0FBZ0IsY0FBYyxDQUFDLFFBQWtCLEVBQUUsU0FBUyxHQUFHLENBQUM7SUFDNUQsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNqRSxDQUFDO0FBRkQsd0NBRUM7QUFFRCxzQ0FBc0M7QUFDdEMsU0FBUyxTQUFTLENBQUMsTUFBYTtJQUM1QixPQUFPLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQztBQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW9KU09OIGZ1bmN0aW9ucyBhbmQgdG9vbHNcbiAqL1xuaW1wb3J0IHtGZWF0dXJlLCBGZWF0dXJlQ29sbGVjdGlvbiwgR2VvbWV0cnksIFBvc2l0aW9ufSBmcm9tIFwiZ2VvanNvblwiO1xuXG5leHBvcnQgY29uc3QgU1JJRF9XR1M4NCA9IDQzMjY7XG5cbi8qKlxuICogQ3JlYXRlcyBXS1QgZ2VvbWV0cnkgZnJvbSBHZW9KU09OIGdlb21ldHJ5XG4gKiBAcGFyYW0gZ2VvbWV0cnkgR2VvSnNvbiBnZW9tZXRyeSB0byBjb252ZXJ0IHRvIFdLVFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlR2VvbWV0cnkoZ2VvbWV0cnk6IEdlb21ldHJ5KTogc3RyaW5nIHtcbiAgICBpZiAoZ2VvbWV0cnkudHlwZSA9PT0gJ0xpbmVTdHJpbmcnKSB7XG4gICAgICAgIGNvbnN0IGNvb3JkaW5hdGVzID0gbGluZXN0cmluZyhnZW9tZXRyeS5jb29yZGluYXRlcyk7XG5cbiAgICAgICAgcmV0dXJuIGBMSU5FU1RSSU5HKCR7Y29vcmRpbmF0ZXN9KWA7XG4gICAgfSBlbHNlIGlmIChnZW9tZXRyeS50eXBlID09PSAnUG9pbnQnKSB7XG4gICAgICAgIGNvbnN0IGNvb3JkaW5hdGVzID0gY29vcmRpbmF0ZVBhaXIoZ2VvbWV0cnkuY29vcmRpbmF0ZXMpO1xuXG4gICAgICAgIHJldHVybiBgUE9JTlQoJHtjb29yZGluYXRlc30pYDtcbiAgICB9IGVsc2UgaWYgKGdlb21ldHJ5LnR5cGUgPT09ICdQb2x5Z29uJykge1xuICAgICAgICBjb25zdCBjb29yZGluYXRlcyA9IHBvbHlnb24oZ2VvbWV0cnkuY29vcmRpbmF0ZXMpO1xuXG4gICAgICAgIHJldHVybiBgUE9MWUdPTigke2Nvb3JkaW5hdGVzfSlgO1xuICAgIH0gZWxzZSBpZiAoZ2VvbWV0cnkudHlwZSA9PT0gJ011bHRpUG9seWdvbicpIHtcbiAgICAgICAgY29uc3QgY29vcmRpbmF0ZXMgPSBtdWx0aVBvbHlnb24oZ2VvbWV0cnkuY29vcmRpbmF0ZXMpO1xuXG4gICAgICAgIHJldHVybiBgTVVMVElQT0xZR09OKCR7Y29vcmRpbmF0ZXN9KWA7XG4gICAgfVxuXG4gICAgY29uc29sZS5lcnJvcihcInVuc3VwcG9ydGVkIGxvY2F0aW9uVHlwZT0lc1wiLCBnZW9tZXRyeS50eXBlKTtcbiAgICByZXR1cm4gXCJQT0xZR09OIEVNUFRZXCI7XG59XG5cbmZ1bmN0aW9uIGxpbmVzdHJpbmcoY29vcmRpbmF0ZXM6IFBvc2l0aW9uW10pOiBzdHJpbmcge1xuICAgIHJldHVybiBjb29yZGluYXRlcy5tYXAoKGM6IFBvc2l0aW9uKSA9PiAgY29vcmRpbmF0ZVBhaXIoYykpLmpvaW4oJywnKTtcbn1cblxuZnVuY3Rpb24gcG9seWdvbihjb29yZGluYXRlczogUG9zaXRpb25bXVtdKTpzdHJpbmcge1xuICAgIGNvbnN0IGxpc3QgPSBjb29yZGluYXRlcy5tYXAoKGM6IFBvc2l0aW9uW10pID0+IGxpbmVzdHJpbmcoYykpLmpvaW4oJywnKTtcbiAgICByZXR1cm4gYCgke2xpc3R9KWA7XG59XG5cbmZ1bmN0aW9uIG11bHRpUG9seWdvbihjb29yZGluYXRlczogUG9zaXRpb25bXVtdW10pOnN0cmluZyB7XG4gICAgY29uc3QgbGlzdCA9IGNvb3JkaW5hdGVzLm1hcCgoYzogUG9zaXRpb25bXVtdKSA9PiBwb2x5Z29uKGMpKS5qb2luKCcsJyk7XG4gICAgcmV0dXJuIGAoJHtsaXN0fSlgO1xufVxuXG5mdW5jdGlvbiBjb29yZGluYXRlUGFpcihjb29yZGluYXRlOiBQb3NpdGlvbik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke2Nvb3JkaW5hdGVbMF19ICR7Y29vcmRpbmF0ZVsxXX1gO1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIEdlb0pTT04gRmVhdHVyZUNvbGxlY3Rpb24gZnJvbSBhIGxpc3Qgb2YgR2VvSlNPTiBmZWF0dXJlcyB3aXRoIGEgJ2xhc3QgdXBkYXRlZCcgcHJvcGVydHlcbiAqIEBwYXJhbSBmZWF0dXJlcyBMaXN0IG9mIEZlYXR1cmVzXG4gKiBAcGFyYW0gbGFzdFVwZGF0ZWQgTGFzdCB1cGRhdGVkIGRhdGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZlYXR1cmVDb2xsZWN0aW9uKGZlYXR1cmVzOiBGZWF0dXJlW10sIGxhc3RVcGRhdGVkOiBEYXRlIHwgbnVsbCk6IEZlYXR1cmVDb2xsZWN0aW9uIHtcbiAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiBcIkZlYXR1cmVDb2xsZWN0aW9uXCIsXG4gICAgICAgIGxhc3RVcGRhdGVkOiBsYXN0VXBkYXRlZCxcbiAgICAgICAgZmVhdHVyZXM6IGZlYXR1cmVzLFxuICAgIH0gYXMgRmVhdHVyZUNvbGxlY3Rpb247XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdmFyLXJlcXVpcmVzXG5jb25zdCBnZW9Kc29uVmFsaWRhdG9yID0gcmVxdWlyZSgnZ2VvanNvbi12YWxpZGF0aW9uJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkR2VvSnNvbjxUPihqc29uOiBUKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGdlb0pzb25WYWxpZGF0b3IudmFsaWQoanNvbik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0ZlYXR1cmVDb2xsZWN0aW9uPFQ+KGpzb246IFQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZ2VvSnNvblZhbGlkYXRvci5pc0ZlYXR1cmVDb2xsZWN0aW9uKGpzb24pO1xufVxuXG5jb25zdCBERUdSRUVTX1RPX1JBRElBTlMgPSAwLjAxNzQ1MzI5MjUxOTk0MzI5NTsgLy8gPSBNYXRoLlBJIC8gMTgwXG5jb25zdCBFQVJUSF9SQURJVVNfS00gPSA2MzcxO1xuXG5cbi8qKlxuICogUmV0dXJucyB0aGUgZGlzdGFuY2UgYmV0d2VlbiB0aGlzIGFuZCBnaXZlbiBHZW9KU09OIHBvaW50IGluIGtpbG9tZXRlcnMuIERvZXNuJ3QgdGFrZSBpbiBhY2NvdW50IGFsdGl0dWRlLlxuICogQmFzZWQgb24gdGhlIGZvbGxvd2luZyBTdGFjayBPdmVyZmxvdyBxdWVzdGlvbjpcbiAqIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMjc5MjgvY2FsY3VsYXRlLWRpc3RhbmNlLWJldHdlZW4tdHdvLWxhdGl0dWRlLWxvbmdpdHVkZS1wb2ludHMtaGF2ZXJzaW5lLWZvcm11bGEsXG4gKiB3aGljaCBpcyBiYXNlZCBvbiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9IYXZlcnNpbmVfZm9ybXVsYSAoZXJyb3IgcmF0ZTogfjAuNTUlKS5cbiAqL1xuZnVuY3Rpb24gZGlzdGFuY2VCZXR3ZWVuV0dTODRQb2ludHNJbkttKGZyb21YTG9uOm51bWJlciwgZnJvbVlMYXQ6bnVtYmVyLCB0b1hMb246bnVtYmVyLCB0b1lMYXQ6bnVtYmVyKTogbnVtYmVyICB7XG5cbiAgICBjb25zdCBkaWZmTGF0ID0gdG9SYWRpYW5zKHRvWUxhdCAtIGZyb21ZTGF0KTtcbiAgICBjb25zdCBkaWZmTG9uID0gdG9SYWRpYW5zKHRvWExvbiAtIGZyb21YTG9uKTtcblxuICAgIGNvbnN0IGEgPVxuICAgICAgICBNYXRoLnNpbihkaWZmTGF0IC8gMikgKiBNYXRoLnNpbihkaWZmTGF0IC8gMikgK1xuICAgICAgICBNYXRoLmNvcyh0b1JhZGlhbnMoZnJvbVlMYXQpKSAqIE1hdGguY29zKHRvUmFkaWFucyh0b1lMYXQpKSAqXG4gICAgICAgIE1hdGguc2luKGRpZmZMb24gLyAyKSAqIE1hdGguc2luKGRpZmZMb24gLyAyKTtcbiAgICBjb25zdCBjID0gMiAqIE1hdGguYXRhbjIoTWF0aC5zcXJ0KGEpLCBNYXRoLnNxcnQoMSAtIGEpKTtcbiAgICByZXR1cm4gRUFSVEhfUkFESVVTX0tNICogYztcbn1cblxuLyoqXG4gKiBDYWxjdWxhdGVzIGRpc3RhbmNlIGJldHdlZW4gdHdvIEdlb0pTT04gcG9pbnRzIChXR1M4NClcbiAqIEBwYXJhbSBwb3MxXG4gKiBAcGFyYW0gcG9zMlxuICovXG5leHBvcnQgZnVuY3Rpb24gZGlzdGFuY2VCZXR3ZWVuUG9zaXRpb25zSW5LbShwb3MxOiBQb3NpdGlvbiwgcG9zMjogUG9zaXRpb24pIHtcbiAgICByZXR1cm4gZGlzdGFuY2VCZXR3ZWVuV0dTODRQb2ludHNJbkttKHBvczFbMF0sIHBvczFbMV0sIHBvczJbMF0sIHBvczJbMV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXJlRGlzdGluY3RQb3NpdGlvbnMocHJldmlvdXM6IFBvc2l0aW9uLCBuZXh0OiBQb3NpdGlvbikge1xuICAgIHJldHVybiBwcmV2aW91c1swXSAhPT0gbmV4dFswXSB8fCBwcmV2aW91c1sxXSAhPT0gbmV4dFsxXTtcbn1cblxuLyoqXG4gKiBDYWxjdWxhdGVzIGRpc3RhbmNlIGJldHdlZW4gdHdvIEdlb0pTT04gcG9pbnRzIChXR1M4NClcbiAqIEBwYXJhbSBwb3MxXG4gKiBAcGFyYW0gcG9zMlxuICovXG5leHBvcnQgZnVuY3Rpb24gZGlzdGFuY2VCZXR3ZWVuUG9zaXRpb25zSW5NKHBvczE6IFBvc2l0aW9uLCBwb3MyOiBQb3NpdGlvbikge1xuICAgIHJldHVybiBkaXN0YW5jZUJldHdlZW5Qb3NpdGlvbnNJbkttKHBvczEsIHBvczIpICogMTAwMDsgLy8ga20gLT4gbVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlR21sTGluZVN0cmluZyhnZW9tZXRyeTogR2VvbWV0cnksIHNyc05hbWUgPSAnRVBTRzo0MzI2Jykge1xuICAgIGNvbnN0IHBvc0xpc3QgPSBjcmVhdGVQb3NMaXN0KGdlb21ldHJ5KTtcblxuICAgIHJldHVybiB7XG4gICAgICAgIHNyc05hbWUsXG4gICAgICAgIHBvc0xpc3QsXG4gICAgfTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlUG9zTGlzdChnZW9tZXRyeTogR2VvbWV0cnkpIHtcbiAgICBpZiAoZ2VvbWV0cnkudHlwZSA9PT0gJ1BvaW50Jykge1xuICAgICAgICByZXR1cm4gcG9zaXRpb25Ub0xpc3QoZ2VvbWV0cnkuY29vcmRpbmF0ZXMpO1xuICAgIH0gZWxzZSBpZiAoZ2VvbWV0cnkudHlwZSA9PT0gJ0xpbmVTdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiBsaW5lU3RyaW5nVG9MaXN0KGdlb21ldHJ5LmNvb3JkaW5hdGVzKTtcbiAgICB9IGVsc2UgaWYgKGdlb21ldHJ5LnR5cGUgPT09ICdQb2x5Z29uJykge1xuICAgICAgICByZXR1cm4gcG9seWdvblRvTGlzdChnZW9tZXRyeS5jb29yZGluYXRlcyk7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKFwidW5rbm93biBnZW9tZXRyeSB0eXBlIFwiICsgSlNPTi5zdHJpbmdpZnkoZ2VvbWV0cnkpKTtcbn1cblxuZnVuY3Rpb24gcG9seWdvblRvTGlzdChwb3NpdGlvbnM6IFBvc2l0aW9uW11bXSwgcHJlY2lzaW9uID0gOCkge1xuICAgIHJldHVybiBwb3NpdGlvbnMubWFwKHAgPT4gbGluZVN0cmluZ1RvTGlzdChwLCBwcmVjaXNpb24pKS5qb2luKCcgJyk7XG59XG5cbmZ1bmN0aW9uIGxpbmVTdHJpbmdUb0xpc3QocG9zaXRpb25zOiBQb3NpdGlvbltdLCBwcmVjaXNpb24gPSA4KSB7XG4gICAgcmV0dXJuIHBvc2l0aW9ucy5tYXAocCA9PiBwb3NpdGlvblRvTGlzdChwLCBwcmVjaXNpb24pKS5qb2luKCcgJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwb3NpdGlvblRvTGlzdChwb3NpdGlvbjogUG9zaXRpb24sIHByZWNpc2lvbiA9IDgpIHtcbiAgICByZXR1cm4gcG9zaXRpb24ubWFwKG4gPT4gbi50b1ByZWNpc2lvbihwcmVjaXNpb24pKS5qb2luKCcgJyk7XG59XG5cbi8vIENvbnZlcnRzIG51bWVyaWMgZGVncmVlcyB0byByYWRpYW5zXG5mdW5jdGlvbiB0b1JhZGlhbnMoYW5nZGVnOm51bWJlcikge1xuICAgIHJldHVybiBhbmdkZWcgKiBERUdSRUVTX1RPX1JBRElBTlM7XG59XG4iXX0=
|
@@ -1,52 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.DigitrafficIntegration = void 0;
|
4
|
-
const aws_apigateway_1 = require("aws-cdk-lib/aws-apigateway");
|
5
|
-
const mediatypes_1 = require("../../types/mediatypes");
|
6
|
-
const digitraffic_integration_response_1 = require("../../runtime/digitraffic-integration-response");
|
7
|
-
class DigitrafficIntegration {
|
8
|
-
constructor(lambda, mediaType = mediatypes_1.MediaType.TEXT_PLAIN) {
|
9
|
-
this.parameters = [];
|
10
|
-
this.lambda = lambda;
|
11
|
-
this.mediaType = mediaType;
|
12
|
-
}
|
13
|
-
addPathParameter(...names) {
|
14
|
-
names.forEach(name => this.parameters.push({ type: 'path', name }));
|
15
|
-
return this;
|
16
|
-
}
|
17
|
-
addQueryParameter(...names) {
|
18
|
-
names.forEach(name => this.parameters.push({ type: 'querystring', name }));
|
19
|
-
return this;
|
20
|
-
}
|
21
|
-
build() {
|
22
|
-
const integrationResponses = this.createResponses();
|
23
|
-
return new aws_apigateway_1.LambdaIntegration(this.lambda, {
|
24
|
-
proxy: false,
|
25
|
-
integrationResponses,
|
26
|
-
requestParameters: this.parameters.length == 0 ? undefined : this.createRequestParameters(),
|
27
|
-
requestTemplates: this.parameters.length == 0 ? undefined : this.createRequestTemplates(),
|
28
|
-
passthroughBehavior: aws_apigateway_1.PassthroughBehavior.WHEN_NO_MATCH,
|
29
|
-
});
|
30
|
-
}
|
31
|
-
createRequestParameters() {
|
32
|
-
const requestParameters = {};
|
33
|
-
this.parameters.forEach((parameter) => {
|
34
|
-
requestParameters[`integration.request.${parameter.type}.${parameter.name}`] = `method.request.${parameter.type}.${parameter.name}`;
|
35
|
-
});
|
36
|
-
return requestParameters;
|
37
|
-
}
|
38
|
-
createRequestTemplates() {
|
39
|
-
const requestJson = {};
|
40
|
-
this.parameters.forEach((parameter) => {
|
41
|
-
requestJson[parameter.name] = `$util.escapeJavaScript($input.params('${parameter.name}'))`;
|
42
|
-
});
|
43
|
-
return {
|
44
|
-
[mediatypes_1.MediaType.APPLICATION_JSON]: JSON.stringify(requestJson),
|
45
|
-
};
|
46
|
-
}
|
47
|
-
createResponses() {
|
48
|
-
return [digitraffic_integration_response_1.DigitrafficIntegrationResponse.ok(this.mediaType)];
|
49
|
-
}
|
50
|
-
}
|
51
|
-
exports.DigitrafficIntegration = DigitrafficIntegration;
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWdyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXdzL2luZnJhL2FwaS9pbnRlZ3JhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrREFBdUc7QUFFdkcsdURBQWlEO0FBQ2pELHFHQUE4RjtBQVM5RixNQUFhLHNCQUFzQjtJQU0vQixZQUFZLE1BQWlCLEVBQUUsU0FBUyxHQUFHLHNCQUFTLENBQUMsVUFBVTtRQUZ0RCxlQUFVLEdBQW1CLEVBQUUsQ0FBQztRQUdyQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUMvQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsR0FBRyxLQUFlO1FBQy9CLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWxFLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxHQUFHLEtBQWU7UUFDaEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFFekUsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUs7UUFDRCxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUVwRCxPQUFPLElBQUksa0NBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUN0QyxLQUFLLEVBQUUsS0FBSztZQUNaLG9CQUFvQjtZQUNwQixpQkFBaUIsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFO1lBQzNGLGdCQUFnQixFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDekYsbUJBQW1CLEVBQUUsb0NBQW1CLENBQUMsYUFBYTtTQUN6RCxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsdUJBQXVCO1FBQ25CLE1BQU0saUJBQWlCLEdBQTJCLEVBQUUsQ0FBQztRQUVyRCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQXVCLEVBQUUsRUFBRTtZQUNoRCxpQkFBaUIsQ0FBQyx1QkFBdUIsU0FBUyxDQUFDLElBQUksSUFBSSxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxrQkFBa0IsU0FBUyxDQUFDLElBQUksSUFBSSxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDeEksQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLGlCQUFpQixDQUFDO0lBQzdCLENBQUM7SUFFRCxzQkFBc0I7UUFDbEIsTUFBTSxXQUFXLEdBQTJCLEVBQUUsQ0FBQztRQUUvQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQXVCLEVBQUUsRUFBRTtZQUNoRCxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLHlDQUF5QyxTQUFTLENBQUMsSUFBSSxLQUFLLENBQUM7UUFDL0YsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPO1lBQ0gsQ0FBQyxzQkFBUyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUM7U0FDNUQsQ0FBQztJQUNOLENBQUM7SUFFRCxlQUFlO1FBQ1gsT0FBTyxDQUFDLGlFQUE4QixDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0NBQ0o7QUE1REQsd0RBNERDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbnRlZ3JhdGlvblJlc3BvbnNlLCBMYW1iZGFJbnRlZ3JhdGlvbiwgUGFzc3Rocm91Z2hCZWhhdmlvcn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5XCI7XG5pbXBvcnQge0lGdW5jdGlvbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGFcIjtcbmltcG9ydCB7TWVkaWFUeXBlfSBmcm9tIFwiLi4vLi4vdHlwZXMvbWVkaWF0eXBlc1wiO1xuaW1wb3J0IHtEaWdpdHJhZmZpY0ludGVncmF0aW9uUmVzcG9uc2V9IGZyb20gXCIuLi8uLi9ydW50aW1lL2RpZ2l0cmFmZmljLWludGVncmF0aW9uLXJlc3BvbnNlXCI7XG5cbnR5cGUgUGFyYW1ldGVyVHlwZSA9ICdwYXRoJyB8ICdxdWVyeXN0cmluZyc7XG5cbmludGVyZmFjZSBBcGlQYXJhbWV0ZXIge1xuICAgIHR5cGU6IFBhcmFtZXRlclR5cGVcbiAgICBuYW1lOiBzdHJpbmdcbn1cblxuZXhwb3J0IGNsYXNzIERpZ2l0cmFmZmljSW50ZWdyYXRpb24ge1xuICAgIHJlYWRvbmx5IGxhbWJkYTogSUZ1bmN0aW9uO1xuICAgIHJlYWRvbmx5IG1lZGlhVHlwZTogTWVkaWFUeXBlO1xuXG4gICAgcmVhZG9ubHkgcGFyYW1ldGVyczogQXBpUGFyYW1ldGVyW10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKGxhbWJkYTogSUZ1bmN0aW9uLCBtZWRpYVR5cGUgPSBNZWRpYVR5cGUuVEVYVF9QTEFJTikge1xuICAgICAgICB0aGlzLmxhbWJkYSA9IGxhbWJkYTtcbiAgICAgICAgdGhpcy5tZWRpYVR5cGUgPSBtZWRpYVR5cGU7XG4gICAgfVxuXG4gICAgYWRkUGF0aFBhcmFtZXRlciguLi5uYW1lczogc3RyaW5nW10pOiBEaWdpdHJhZmZpY0ludGVncmF0aW9uIHtcbiAgICAgICAgbmFtZXMuZm9yRWFjaChuYW1lID0+IHRoaXMucGFyYW1ldGVycy5wdXNoKHt0eXBlOiAncGF0aCcsIG5hbWV9KSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgYWRkUXVlcnlQYXJhbWV0ZXIoLi4ubmFtZXM6IHN0cmluZ1tdKTogRGlnaXRyYWZmaWNJbnRlZ3JhdGlvbiB7XG4gICAgICAgIG5hbWVzLmZvckVhY2gobmFtZSA9PiB0aGlzLnBhcmFtZXRlcnMucHVzaCh7dHlwZTogJ3F1ZXJ5c3RyaW5nJywgbmFtZX0pKTtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBidWlsZCgpOiBMYW1iZGFJbnRlZ3JhdGlvbiB7XG4gICAgICAgIGNvbnN0IGludGVncmF0aW9uUmVzcG9uc2VzID0gdGhpcy5jcmVhdGVSZXNwb25zZXMoKTtcblxuICAgICAgICByZXR1cm4gbmV3IExhbWJkYUludGVncmF0aW9uKHRoaXMubGFtYmRhLCB7XG4gICAgICAgICAgICBwcm94eTogZmFsc2UsXG4gICAgICAgICAgICBpbnRlZ3JhdGlvblJlc3BvbnNlcyxcbiAgICAgICAgICAgIHJlcXVlc3RQYXJhbWV0ZXJzOiB0aGlzLnBhcmFtZXRlcnMubGVuZ3RoID09IDAgPyB1bmRlZmluZWQgOiB0aGlzLmNyZWF0ZVJlcXVlc3RQYXJhbWV0ZXJzKCksXG4gICAgICAgICAgICByZXF1ZXN0VGVtcGxhdGVzOiB0aGlzLnBhcmFtZXRlcnMubGVuZ3RoID09IDAgPyB1bmRlZmluZWQgOiB0aGlzLmNyZWF0ZVJlcXVlc3RUZW1wbGF0ZXMoKSxcbiAgICAgICAgICAgIHBhc3N0aHJvdWdoQmVoYXZpb3I6IFBhc3N0aHJvdWdoQmVoYXZpb3IuV0hFTl9OT19NQVRDSCxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY3JlYXRlUmVxdWVzdFBhcmFtZXRlcnMoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3RQYXJhbWV0ZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG5cbiAgICAgICAgdGhpcy5wYXJhbWV0ZXJzLmZvckVhY2goKHBhcmFtZXRlcjogQXBpUGFyYW1ldGVyKSA9PiB7XG4gICAgICAgICAgICByZXF1ZXN0UGFyYW1ldGVyc1tgaW50ZWdyYXRpb24ucmVxdWVzdC4ke3BhcmFtZXRlci50eXBlfS4ke3BhcmFtZXRlci5uYW1lfWBdID0gYG1ldGhvZC5yZXF1ZXN0LiR7cGFyYW1ldGVyLnR5cGV9LiR7cGFyYW1ldGVyLm5hbWV9YDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHJlcXVlc3RQYXJhbWV0ZXJzO1xuICAgIH1cblxuICAgIGNyZWF0ZVJlcXVlc3RUZW1wbGF0ZXMoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3RKc29uOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG5cbiAgICAgICAgdGhpcy5wYXJhbWV0ZXJzLmZvckVhY2goKHBhcmFtZXRlcjogQXBpUGFyYW1ldGVyKSA9PiB7XG4gICAgICAgICAgICByZXF1ZXN0SnNvbltwYXJhbWV0ZXIubmFtZV0gPSBgJHV0aWwuZXNjYXBlSmF2YVNjcmlwdCgkaW5wdXQucGFyYW1zKCcke3BhcmFtZXRlci5uYW1lfScpKWA7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBbTWVkaWFUeXBlLkFQUExJQ0FUSU9OX0pTT05dOiBKU09OLnN0cmluZ2lmeShyZXF1ZXN0SnNvbiksXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgY3JlYXRlUmVzcG9uc2VzKCk6IEludGVncmF0aW9uUmVzcG9uc2VbXSB7XG4gICAgICAgIHJldHVybiBbRGlnaXRyYWZmaWNJbnRlZ3JhdGlvblJlc3BvbnNlLm9rKHRoaXMubWVkaWFUeXBlKV07XG4gICAgfVxufSJdfQ==
|
@@ -1,61 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.createResponses = exports.InternalServerErrorResponseTemplate = exports.SvgResponseTemplate = exports.XmlResponseTemplate = exports.NotFoundResponseTemplate = exports.BadRequestResponseTemplate = exports.NotFoundResponse = exports.MessageModel = exports.RESPONSE_DEFAULT_LAMBDA = void 0;
|
4
|
-
const apigateway = require("aws-cdk-lib/aws-apigateway");
|
5
|
-
const mediatypes_1 = require("../../types/mediatypes");
|
6
|
-
/**
|
7
|
-
* This is velocity-script, that assumes the response to be LambdaResponse(status and body).
|
8
|
-
* It will always return the body and status, but if status in something else than 200 OK the content-type
|
9
|
-
* will be overridden to text/plain. (it's assumed, that lambda will return error text).
|
10
|
-
*
|
11
|
-
* If fileName is set, then Content-Disposition-header will be set to use it
|
12
|
-
*/
|
13
|
-
exports.RESPONSE_DEFAULT_LAMBDA = `#set($inputRoot = $input.path('$'))
|
14
|
-
$inputRoot.body
|
15
|
-
#if ($inputRoot.status != 200)
|
16
|
-
#set ($context.responseOverride.status = $inputRoot.status)
|
17
|
-
#set ($context.responseOverride.header.Content-Type = 'text/plain')
|
18
|
-
#end
|
19
|
-
#set ($context.responseOverride.header.Access-Control-Allow-Origin = '*')
|
20
|
-
#if ("$!inputRoot.fileName" != "")
|
21
|
-
#set ($disposition = 'attachment; filename="FN"')
|
22
|
-
#set ($context.responseOverride.header.Content-Disposition = $disposition.replaceAll('FN', $inputRoot.fileName))
|
23
|
-
#end
|
24
|
-
`;
|
25
|
-
const BODY_FROM_INPUT_PATH = "$input.path('$').body";
|
26
|
-
// DEPRECATED
|
27
|
-
const messageSchema = {
|
28
|
-
schema: apigateway.JsonSchemaVersion.DRAFT4,
|
29
|
-
type: apigateway.JsonSchemaType.OBJECT,
|
30
|
-
description: 'Response with message',
|
31
|
-
properties: {
|
32
|
-
message: {
|
33
|
-
type: apigateway.JsonSchemaType.STRING,
|
34
|
-
description: 'Response message',
|
35
|
-
},
|
36
|
-
},
|
37
|
-
};
|
38
|
-
// DEPRECATED
|
39
|
-
exports.MessageModel = {
|
40
|
-
contentType: mediatypes_1.MediaType.APPLICATION_JSON,
|
41
|
-
modelName: 'MessageResponseModel',
|
42
|
-
schema: messageSchema,
|
43
|
-
};
|
44
|
-
const NotFoundMessage = 'Not found';
|
45
|
-
exports.NotFoundResponse = JSON.stringify({ message: NotFoundMessage });
|
46
|
-
const InternalServerErrorMessage = 'Error';
|
47
|
-
const InternalServerErrorResponse = JSON.stringify({ message: InternalServerErrorMessage });
|
48
|
-
const BadRequestMessage = 'Bad request';
|
49
|
-
const BadRequestResponse = JSON.stringify({ message: BadRequestMessage });
|
50
|
-
exports.BadRequestResponseTemplate = createResponses(mediatypes_1.MediaType.APPLICATION_JSON, BadRequestResponse);
|
51
|
-
exports.NotFoundResponseTemplate = createResponses(mediatypes_1.MediaType.APPLICATION_JSON, exports.NotFoundResponse);
|
52
|
-
exports.XmlResponseTemplate = createResponses(mediatypes_1.MediaType.APPLICATION_XML, BODY_FROM_INPUT_PATH);
|
53
|
-
exports.SvgResponseTemplate = createResponses(mediatypes_1.MediaType.IMAGE_SVG, BODY_FROM_INPUT_PATH);
|
54
|
-
exports.InternalServerErrorResponseTemplate = createResponses(mediatypes_1.MediaType.APPLICATION_JSON, InternalServerErrorResponse);
|
55
|
-
function createResponses(key, value) {
|
56
|
-
const map = {};
|
57
|
-
map[key] = value;
|
58
|
-
return map;
|
59
|
-
}
|
60
|
-
exports.createResponses = createResponses;
|
61
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXdzL2luZnJhL2FwaS9yZXNwb25zZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5REFBMEQ7QUFDMUQsdURBQWlEO0FBRWpEOzs7Ozs7R0FNRztBQUNVLFFBQUEsdUJBQXVCLEdBQUc7Ozs7Ozs7Ozs7O0NBV3RDLENBQUM7QUFFRixNQUFNLG9CQUFvQixHQUFHLHVCQUF1QixDQUFDO0FBRXJELGFBQWE7QUFDYixNQUFNLGFBQWEsR0FBMEI7SUFDekMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNO0lBQzNDLElBQUksRUFBRSxVQUFVLENBQUMsY0FBYyxDQUFDLE1BQU07SUFDdEMsV0FBVyxFQUFFLHVCQUF1QjtJQUNwQyxVQUFVLEVBQUU7UUFDUixPQUFPLEVBQUU7WUFDTCxJQUFJLEVBQUUsVUFBVSxDQUFDLGNBQWMsQ0FBQyxNQUFNO1lBQ3RDLFdBQVcsRUFBRSxrQkFBa0I7U0FDbEM7S0FDSjtDQUNKLENBQUM7QUFFRixhQUFhO0FBQ0EsUUFBQSxZQUFZLEdBQUc7SUFDeEIsV0FBVyxFQUFFLHNCQUFTLENBQUMsZ0JBQWdCO0lBQ3ZDLFNBQVMsRUFBRSxzQkFBc0I7SUFDakMsTUFBTSxFQUFFLGFBQWE7Q0FDeEIsQ0FBQztBQUVGLE1BQU0sZUFBZSxHQUFHLFdBQVcsQ0FBQztBQUN2QixRQUFBLGdCQUFnQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBQyxPQUFPLEVBQUUsZUFBZSxFQUFDLENBQUMsQ0FBQztBQUUzRSxNQUFNLDBCQUEwQixHQUFHLE9BQU8sQ0FBQztBQUMzQyxNQUFNLDJCQUEyQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUMsQ0FBQyxDQUFDO0FBRTFGLE1BQU0saUJBQWlCLEdBQUcsYUFBYSxDQUFDO0FBQ3hDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBQyxDQUFDLENBQUM7QUFFM0QsUUFBQSwwQkFBMEIsR0FBRyxlQUFlLENBQUMsc0JBQVMsQ0FBQyxnQkFBZ0IsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0FBQzdGLFFBQUEsd0JBQXdCLEdBQUcsZUFBZSxDQUFDLHNCQUFTLENBQUMsZ0JBQWdCLEVBQUUsd0JBQWdCLENBQUMsQ0FBQztBQUN6RixRQUFBLG1CQUFtQixHQUFHLGVBQWUsQ0FBQyxzQkFBUyxDQUFDLGVBQWUsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0FBQ3ZGLFFBQUEsbUJBQW1CLEdBQUcsZUFBZSxDQUFDLHNCQUFTLENBQUMsU0FBUyxFQUFFLG9CQUFvQixDQUFDLENBQUM7QUFDakYsUUFBQSxtQ0FBbUMsR0FBRyxlQUFlLENBQUMsc0JBQVMsQ0FBQyxnQkFBZ0IsRUFBRSwyQkFBMkIsQ0FBQyxDQUFDO0FBRTVILFNBQWdCLGVBQWUsQ0FBSSxHQUFjLEVBQUUsS0FBUTtJQUN2RCxNQUFNLEdBQUcsR0FBc0IsRUFBRSxDQUFDO0lBRWxDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7SUFFakIsT0FBTyxHQUFHLENBQUM7QUFDZixDQUFDO0FBTkQsMENBTUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXBpZ2F0ZXdheSA9IHJlcXVpcmUoJ2F3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5Jyk7XG5pbXBvcnQge01lZGlhVHlwZX0gZnJvbSBcIi4uLy4uL3R5cGVzL21lZGlhdHlwZXNcIjtcblxuLyoqXG4gKiBUaGlzIGlzIHZlbG9jaXR5LXNjcmlwdCwgdGhhdCBhc3N1bWVzIHRoZSByZXNwb25zZSB0byBiZSBMYW1iZGFSZXNwb25zZShzdGF0dXMgYW5kIGJvZHkpLlxuICogSXQgd2lsbCBhbHdheXMgcmV0dXJuIHRoZSBib2R5IGFuZCBzdGF0dXMsIGJ1dCBpZiBzdGF0dXMgaW4gc29tZXRoaW5nIGVsc2UgdGhhbiAyMDAgT0sgdGhlIGNvbnRlbnQtdHlwZVxuICogd2lsbCBiZSBvdmVycmlkZGVuIHRvIHRleHQvcGxhaW4uIChpdCdzIGFzc3VtZWQsIHRoYXQgbGFtYmRhIHdpbGwgcmV0dXJuIGVycm9yIHRleHQpLlxuICpcbiAqIElmIGZpbGVOYW1lIGlzIHNldCwgdGhlbiBDb250ZW50LURpc3Bvc2l0aW9uLWhlYWRlciB3aWxsIGJlIHNldCB0byB1c2UgaXRcbiAqL1xuZXhwb3J0IGNvbnN0IFJFU1BPTlNFX0RFRkFVTFRfTEFNQkRBID0gYCNzZXQoJGlucHV0Um9vdCA9ICRpbnB1dC5wYXRoKCckJykpXG4kaW5wdXRSb290LmJvZHlcbiNpZiAoJGlucHV0Um9vdC5zdGF0dXMgIT0gMjAwKVxuI3NldCAoJGNvbnRleHQucmVzcG9uc2VPdmVycmlkZS5zdGF0dXMgPSAkaW5wdXRSb290LnN0YXR1cylcbiNzZXQgKCRjb250ZXh0LnJlc3BvbnNlT3ZlcnJpZGUuaGVhZGVyLkNvbnRlbnQtVHlwZSA9ICd0ZXh0L3BsYWluJylcbiNlbmRcbiNzZXQgKCRjb250ZXh0LnJlc3BvbnNlT3ZlcnJpZGUuaGVhZGVyLkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiA9ICcqJylcbiNpZiAoXCIkIWlucHV0Um9vdC5maWxlTmFtZVwiICE9IFwiXCIpXG4jc2V0ICgkZGlzcG9zaXRpb24gPSAnYXR0YWNobWVudDsgZmlsZW5hbWU9XCJGTlwiJylcbiNzZXQgKCRjb250ZXh0LnJlc3BvbnNlT3ZlcnJpZGUuaGVhZGVyLkNvbnRlbnQtRGlzcG9zaXRpb24gPSAkZGlzcG9zaXRpb24ucmVwbGFjZUFsbCgnRk4nLCAkaW5wdXRSb290LmZpbGVOYW1lKSlcbiNlbmRcbmA7XG5cbmNvbnN0IEJPRFlfRlJPTV9JTlBVVF9QQVRIID0gXCIkaW5wdXQucGF0aCgnJCcpLmJvZHlcIjtcblxuLy8gREVQUkVDQVRFRFxuY29uc3QgbWVzc2FnZVNjaGVtYTogYXBpZ2F0ZXdheS5Kc29uU2NoZW1hID0ge1xuICAgIHNjaGVtYTogYXBpZ2F0ZXdheS5Kc29uU2NoZW1hVmVyc2lvbi5EUkFGVDQsXG4gICAgdHlwZTogYXBpZ2F0ZXdheS5Kc29uU2NoZW1hVHlwZS5PQkpFQ1QsXG4gICAgZGVzY3JpcHRpb246ICdSZXNwb25zZSB3aXRoIG1lc3NhZ2UnLFxuICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgbWVzc2FnZToge1xuICAgICAgICAgICAgdHlwZTogYXBpZ2F0ZXdheS5Kc29uU2NoZW1hVHlwZS5TVFJJTkcsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1Jlc3BvbnNlIG1lc3NhZ2UnLFxuICAgICAgICB9LFxuICAgIH0sXG59O1xuXG4vLyBERVBSRUNBVEVEXG5leHBvcnQgY29uc3QgTWVzc2FnZU1vZGVsID0ge1xuICAgIGNvbnRlbnRUeXBlOiBNZWRpYVR5cGUuQVBQTElDQVRJT05fSlNPTixcbiAgICBtb2RlbE5hbWU6ICdNZXNzYWdlUmVzcG9uc2VNb2RlbCcsXG4gICAgc2NoZW1hOiBtZXNzYWdlU2NoZW1hLFxufTtcblxuY29uc3QgTm90Rm91bmRNZXNzYWdlID0gJ05vdCBmb3VuZCc7XG5leHBvcnQgY29uc3QgTm90Rm91bmRSZXNwb25zZSA9IEpTT04uc3RyaW5naWZ5KHttZXNzYWdlOiBOb3RGb3VuZE1lc3NhZ2V9KTtcblxuY29uc3QgSW50ZXJuYWxTZXJ2ZXJFcnJvck1lc3NhZ2UgPSAnRXJyb3InO1xuY29uc3QgSW50ZXJuYWxTZXJ2ZXJFcnJvclJlc3BvbnNlID0gSlNPTi5zdHJpbmdpZnkoe21lc3NhZ2U6IEludGVybmFsU2VydmVyRXJyb3JNZXNzYWdlfSk7XG5cbmNvbnN0IEJhZFJlcXVlc3RNZXNzYWdlID0gJ0JhZCByZXF1ZXN0JztcbmNvbnN0IEJhZFJlcXVlc3RSZXNwb25zZSA9IEpTT04uc3RyaW5naWZ5KHttZXNzYWdlOiBCYWRSZXF1ZXN0TWVzc2FnZX0pO1xuXG5leHBvcnQgY29uc3QgQmFkUmVxdWVzdFJlc3BvbnNlVGVtcGxhdGUgPSBjcmVhdGVSZXNwb25zZXMoTWVkaWFUeXBlLkFQUExJQ0FUSU9OX0pTT04sIEJhZFJlcXVlc3RSZXNwb25zZSk7XG5leHBvcnQgY29uc3QgTm90Rm91bmRSZXNwb25zZVRlbXBsYXRlID0gY3JlYXRlUmVzcG9uc2VzKE1lZGlhVHlwZS5BUFBMSUNBVElPTl9KU09OLCBOb3RGb3VuZFJlc3BvbnNlKTtcbmV4cG9ydCBjb25zdCBYbWxSZXNwb25zZVRlbXBsYXRlID0gY3JlYXRlUmVzcG9uc2VzKE1lZGlhVHlwZS5BUFBMSUNBVElPTl9YTUwsIEJPRFlfRlJPTV9JTlBVVF9QQVRIKTtcbmV4cG9ydCBjb25zdCBTdmdSZXNwb25zZVRlbXBsYXRlID0gY3JlYXRlUmVzcG9uc2VzKE1lZGlhVHlwZS5JTUFHRV9TVkcsIEJPRFlfRlJPTV9JTlBVVF9QQVRIKTtcbmV4cG9ydCBjb25zdCBJbnRlcm5hbFNlcnZlckVycm9yUmVzcG9uc2VUZW1wbGF0ZSA9IGNyZWF0ZVJlc3BvbnNlcyhNZWRpYVR5cGUuQVBQTElDQVRJT05fSlNPTiwgSW50ZXJuYWxTZXJ2ZXJFcnJvclJlc3BvbnNlKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlc3BvbnNlczxUPihrZXk6IE1lZGlhVHlwZSwgdmFsdWU6IFQpOiBSZWNvcmQ8c3RyaW5nLCBUPiB7XG4gICAgY29uc3QgbWFwOiBSZWNvcmQ8c3RyaW5nLCBUPiA9IHt9O1xuXG4gICAgbWFwW2tleV0gPSB2YWx1ZTtcblxuICAgIHJldHVybiBtYXA7XG59XG4iXX0=
|
@@ -1,79 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.getResponse = exports.defaultIntegration = exports.corsMethod = exports.methodResponse = exports.RESPONSE_404_NOT_FOUND = exports.RESPONSE_CORS_INTEGRATION = exports.RESPONSE_500_SERVER_ERROR = exports.RESPONSE_400_BAD_REQUEST = exports.RESPONSE_200_OK = void 0;
|
4
|
-
const response_1 = require("./response");
|
5
|
-
const aws_apigateway_1 = require("aws-cdk-lib/aws-apigateway");
|
6
|
-
const errors_1 = require("../../types/errors");
|
7
|
-
exports.RESPONSE_200_OK = {
|
8
|
-
statusCode: '200',
|
9
|
-
};
|
10
|
-
exports.RESPONSE_400_BAD_REQUEST = {
|
11
|
-
statusCode: '400',
|
12
|
-
selectionPattern: errors_1.BAD_REQUEST_MESSAGE,
|
13
|
-
responseTemplates: response_1.BadRequestResponseTemplate,
|
14
|
-
};
|
15
|
-
exports.RESPONSE_500_SERVER_ERROR = {
|
16
|
-
statusCode: '500',
|
17
|
-
selectionPattern: errors_1.ERROR_MESSAGE,
|
18
|
-
responseTemplates: response_1.InternalServerErrorResponseTemplate,
|
19
|
-
};
|
20
|
-
const RESPONSE_XML = {
|
21
|
-
responseTemplates: response_1.XmlResponseTemplate,
|
22
|
-
};
|
23
|
-
exports.RESPONSE_CORS_INTEGRATION = {
|
24
|
-
responseParameters: {
|
25
|
-
'method.response.header.Access-Control-Allow-Origin': "'*'",
|
26
|
-
},
|
27
|
-
};
|
28
|
-
exports.RESPONSE_404_NOT_FOUND = {
|
29
|
-
statusCode: '404',
|
30
|
-
selectionPattern: errors_1.NOT_FOUND_MESSAGE,
|
31
|
-
responseTemplates: response_1.NotFoundResponseTemplate,
|
32
|
-
};
|
33
|
-
function methodResponse(status, contentType, model, parameters) {
|
34
|
-
return {
|
35
|
-
statusCode: status,
|
36
|
-
responseModels: (0, response_1.createResponses)(contentType, model),
|
37
|
-
responseParameters: parameters || {},
|
38
|
-
};
|
39
|
-
}
|
40
|
-
exports.methodResponse = methodResponse;
|
41
|
-
function corsMethod(response) {
|
42
|
-
return { ...response, ...{
|
43
|
-
responseParameters: {
|
44
|
-
'method.response.header.Access-Control-Allow-Origin': true,
|
45
|
-
},
|
46
|
-
} };
|
47
|
-
}
|
48
|
-
exports.corsMethod = corsMethod;
|
49
|
-
/**
|
50
|
-
* Creates a default Lambda integration for a REST API resource _root_
|
51
|
-
* @param lambdaFunction The Lambda function
|
52
|
-
* @param options Options
|
53
|
-
*/
|
54
|
-
function defaultIntegration(lambdaFunction, options) {
|
55
|
-
return new aws_apigateway_1.LambdaIntegration(lambdaFunction, {
|
56
|
-
proxy: false,
|
57
|
-
integrationResponses: options?.responses || [
|
58
|
-
getResponse(exports.RESPONSE_200_OK, options),
|
59
|
-
getResponse(exports.RESPONSE_400_BAD_REQUEST, options),
|
60
|
-
getResponse(exports.RESPONSE_404_NOT_FOUND, options),
|
61
|
-
getResponse(exports.RESPONSE_500_SERVER_ERROR, options),
|
62
|
-
],
|
63
|
-
requestParameters: options?.requestParameters || {},
|
64
|
-
requestTemplates: options?.requestTemplates || {},
|
65
|
-
passthroughBehavior: options?.passthroughBehavior ?? aws_apigateway_1.PassthroughBehavior.WHEN_NO_MATCH,
|
66
|
-
});
|
67
|
-
}
|
68
|
-
exports.defaultIntegration = defaultIntegration;
|
69
|
-
function getResponse(response, options) {
|
70
|
-
if (options?.xml) {
|
71
|
-
response = { ...response, ...RESPONSE_XML };
|
72
|
-
}
|
73
|
-
if (!options?.disableCors) {
|
74
|
-
response = { ...response, ...exports.RESPONSE_CORS_INTEGRATION };
|
75
|
-
}
|
76
|
-
return response;
|
77
|
-
}
|
78
|
-
exports.getResponse = getResponse;
|
79
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2F3cy9pbmZyYS9hcGkvcmVzcG9uc2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUlvQjtBQUNwQiwrREFBdUg7QUFHdkgsK0NBQXlGO0FBRzVFLFFBQUEsZUFBZSxHQUF3QjtJQUNoRCxVQUFVLEVBQUUsS0FBSztDQUNwQixDQUFDO0FBRVcsUUFBQSx3QkFBd0IsR0FBd0I7SUFDekQsVUFBVSxFQUFFLEtBQUs7SUFDakIsZ0JBQWdCLEVBQUUsNEJBQW1CO0lBQ3JDLGlCQUFpQixFQUFFLHFDQUEwQjtDQUNoRCxDQUFDO0FBRVcsUUFBQSx5QkFBeUIsR0FBd0I7SUFDMUQsVUFBVSxFQUFFLEtBQUs7SUFDakIsZ0JBQWdCLEVBQUUsc0JBQWE7SUFDL0IsaUJBQWlCLEVBQUUsOENBQW1DO0NBQ3pELENBQUM7QUFFRixNQUFNLFlBQVksR0FBRztJQUNqQixpQkFBaUIsRUFBRSw4QkFBbUI7Q0FDekMsQ0FBQztBQUVXLFFBQUEseUJBQXlCLEdBQUc7SUFDckMsa0JBQWtCLEVBQUU7UUFDaEIsb0RBQW9ELEVBQUUsS0FBSztLQUM5RDtDQUNKLENBQUM7QUFFVyxRQUFBLHNCQUFzQixHQUFHO0lBQ2xDLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLGdCQUFnQixFQUFFLDBCQUFpQjtJQUNuQyxpQkFBaUIsRUFBRSxtQ0FBd0I7Q0FDOUMsQ0FBQztBQUVGLFNBQWdCLGNBQWMsQ0FBQyxNQUFjLEVBQUUsV0FBc0IsRUFBRSxLQUFhLEVBQUUsVUFBb0M7SUFDdEgsT0FBUTtRQUNKLFVBQVUsRUFBRSxNQUFNO1FBQ2xCLGNBQWMsRUFBRSxJQUFBLDBCQUFlLEVBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQztRQUNuRCxrQkFBa0IsRUFBRSxVQUFVLElBQUksRUFBRTtLQUN2QyxDQUFDO0FBRU4sQ0FBQztBQVBELHdDQU9DO0FBRUQsU0FBZ0IsVUFBVSxDQUFDLFFBQXdCO0lBQy9DLE9BQU8sRUFBQyxHQUFHLFFBQVEsRUFBRSxHQUFHO1lBQ3BCLGtCQUFrQixFQUFFO2dCQUNoQixvREFBb0QsRUFBRSxJQUFJO2FBQzdEO1NBQ0osRUFBQyxDQUFDO0FBQ1AsQ0FBQztBQU5ELGdDQU1DO0FBV0Q7Ozs7R0FJRztBQUNILFNBQWdCLGtCQUFrQixDQUFDLGNBQXdCLEVBQ3ZELE9BQTRCO0lBQzVCLE9BQU8sSUFBSSxrQ0FBaUIsQ0FBQyxjQUFjLEVBQUU7UUFDekMsS0FBSyxFQUFFLEtBQUs7UUFDWixvQkFBb0IsRUFBRSxPQUFPLEVBQUUsU0FBUyxJQUFJO1lBQ3hDLFdBQVcsQ0FBQyx1QkFBZSxFQUFFLE9BQU8sQ0FBQztZQUNyQyxXQUFXLENBQUMsZ0NBQXdCLEVBQUUsT0FBTyxDQUFDO1lBQzlDLFdBQVcsQ0FBQyw4QkFBc0IsRUFBRSxPQUFPLENBQUM7WUFDNUMsV0FBVyxDQUFDLGlDQUF5QixFQUFFLE9BQU8sQ0FBQztTQUNsRDtRQUNELGlCQUFpQixFQUFFLE9BQU8sRUFBRSxpQkFBaUIsSUFBSSxFQUFFO1FBQ25ELGdCQUFnQixFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsSUFBSSxFQUFFO1FBQ2pELG1CQUFtQixFQUFFLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxvQ0FBbUIsQ0FBQyxhQUFhO0tBQ3pGLENBQUMsQ0FBQztBQUNQLENBQUM7QUFkRCxnREFjQztBQUVELFNBQWdCLFdBQVcsQ0FBQyxRQUE2QixFQUFFLE9BQTRCO0lBQ25GLElBQUksT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUNkLFFBQVEsR0FBRyxFQUFDLEdBQUcsUUFBUSxFQUFFLEdBQUcsWUFBWSxFQUFDLENBQUM7S0FDN0M7SUFDRCxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRTtRQUN2QixRQUFRLEdBQUcsRUFBQyxHQUFHLFFBQVEsRUFBRSxHQUFHLGlDQUF5QixFQUFDLENBQUM7S0FDMUQ7SUFFRCxPQUFPLFFBQVEsQ0FBQztBQUNwQixDQUFDO0FBVEQsa0NBU0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgSW50ZXJuYWxTZXJ2ZXJFcnJvclJlc3BvbnNlVGVtcGxhdGUsXHJcbiAgICBjcmVhdGVSZXNwb25zZXMsXHJcbiAgICBYbWxSZXNwb25zZVRlbXBsYXRlLCBOb3RGb3VuZFJlc3BvbnNlVGVtcGxhdGUsIEJhZFJlcXVlc3RSZXNwb25zZVRlbXBsYXRlLFxyXG59IGZyb20gXCIuL3Jlc3BvbnNlXCI7XHJcbmltcG9ydCB7TGFtYmRhSW50ZWdyYXRpb24sIE1ldGhvZFJlc3BvbnNlLCBJbnRlZ3JhdGlvblJlc3BvbnNlLCBQYXNzdGhyb3VnaEJlaGF2aW9yfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWFwaWdhdGV3YXlcIjtcclxuaW1wb3J0IHtGdW5jdGlvbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XHJcbmltcG9ydCB7SU1vZGVsfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWFwaWdhdGV3YXkvbGliL21vZGVsXCI7XHJcbmltcG9ydCB7QkFEX1JFUVVFU1RfTUVTU0FHRSwgRVJST1JfTUVTU0FHRSwgTk9UX0ZPVU5EX01FU1NBR0V9IGZyb20gXCIuLi8uLi90eXBlcy9lcnJvcnNcIjtcclxuaW1wb3J0IHtNZWRpYVR5cGV9IGZyb20gXCIuLi8uLi90eXBlcy9tZWRpYXR5cGVzXCI7XHJcblxyXG5leHBvcnQgY29uc3QgUkVTUE9OU0VfMjAwX09LOiBJbnRlZ3JhdGlvblJlc3BvbnNlID0ge1xyXG4gICAgc3RhdHVzQ29kZTogJzIwMCcsXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgUkVTUE9OU0VfNDAwX0JBRF9SRVFVRVNUOiBJbnRlZ3JhdGlvblJlc3BvbnNlID0ge1xyXG4gICAgc3RhdHVzQ29kZTogJzQwMCcsXHJcbiAgICBzZWxlY3Rpb25QYXR0ZXJuOiBCQURfUkVRVUVTVF9NRVNTQUdFLFxyXG4gICAgcmVzcG9uc2VUZW1wbGF0ZXM6IEJhZFJlcXVlc3RSZXNwb25zZVRlbXBsYXRlLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IFJFU1BPTlNFXzUwMF9TRVJWRVJfRVJST1I6IEludGVncmF0aW9uUmVzcG9uc2UgPSB7XHJcbiAgICBzdGF0dXNDb2RlOiAnNTAwJyxcclxuICAgIHNlbGVjdGlvblBhdHRlcm46IEVSUk9SX01FU1NBR0UsXHJcbiAgICByZXNwb25zZVRlbXBsYXRlczogSW50ZXJuYWxTZXJ2ZXJFcnJvclJlc3BvbnNlVGVtcGxhdGUsXHJcbn07XHJcblxyXG5jb25zdCBSRVNQT05TRV9YTUwgPSB7XHJcbiAgICByZXNwb25zZVRlbXBsYXRlczogWG1sUmVzcG9uc2VUZW1wbGF0ZSxcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBSRVNQT05TRV9DT1JTX0lOVEVHUkFUSU9OID0ge1xyXG4gICAgcmVzcG9uc2VQYXJhbWV0ZXJzOiB7XHJcbiAgICAgICAgJ21ldGhvZC5yZXNwb25zZS5oZWFkZXIuQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luJzogXCInKidcIixcclxuICAgIH0sXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgUkVTUE9OU0VfNDA0X05PVF9GT1VORCA9IHtcclxuICAgIHN0YXR1c0NvZGU6ICc0MDQnLFxyXG4gICAgc2VsZWN0aW9uUGF0dGVybjogTk9UX0ZPVU5EX01FU1NBR0UsXHJcbiAgICByZXNwb25zZVRlbXBsYXRlczogTm90Rm91bmRSZXNwb25zZVRlbXBsYXRlLFxyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIG1ldGhvZFJlc3BvbnNlKHN0YXR1czogc3RyaW5nLCBjb250ZW50VHlwZTogTWVkaWFUeXBlLCBtb2RlbDogSU1vZGVsLCBwYXJhbWV0ZXJzPzogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4pOiBNZXRob2RSZXNwb25zZSB7XHJcbiAgICByZXR1cm4gIHtcclxuICAgICAgICBzdGF0dXNDb2RlOiBzdGF0dXMsXHJcbiAgICAgICAgcmVzcG9uc2VNb2RlbHM6IGNyZWF0ZVJlc3BvbnNlcyhjb250ZW50VHlwZSwgbW9kZWwpLFxyXG4gICAgICAgIHJlc3BvbnNlUGFyYW1ldGVyczogcGFyYW1ldGVycyB8fCB7fSxcclxuICAgIH07XHJcblxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY29yc01ldGhvZChyZXNwb25zZTogTWV0aG9kUmVzcG9uc2UpOiBNZXRob2RSZXNwb25zZSB7XHJcbiAgICByZXR1cm4gey4uLnJlc3BvbnNlLCAuLi57XHJcbiAgICAgICAgcmVzcG9uc2VQYXJhbWV0ZXJzOiB7XHJcbiAgICAgICAgICAgICdtZXRob2QucmVzcG9uc2UuaGVhZGVyLkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbic6IHRydWUsXHJcbiAgICAgICAgfSxcclxuICAgIH19O1xyXG59XHJcblxyXG5pbnRlcmZhY2UgSW50ZWdyYXRpb25PcHRpb25zIHtcclxuICAgIHJlcXVlc3RQYXJhbWV0ZXJzPzoge1tkZXN0OiBzdHJpbmddOiBzdHJpbmd9XHJcbiAgICByZXF1ZXN0VGVtcGxhdGVzPzoge1tjb250ZW50VHlwZTogc3RyaW5nXTogc3RyaW5nfSxcclxuICAgIHJlc3BvbnNlcz86IEludGVncmF0aW9uUmVzcG9uc2VbXSxcclxuICAgIGRpc2FibGVDb3JzPzogYm9vbGVhbixcclxuICAgIHhtbD86IGJvb2xlYW4sXHJcbiAgICBwYXNzdGhyb3VnaEJlaGF2aW9yPzogUGFzc3Rocm91Z2hCZWhhdmlvclxyXG59XHJcblxyXG4vKipcclxuICogQ3JlYXRlcyBhIGRlZmF1bHQgTGFtYmRhIGludGVncmF0aW9uIGZvciBhIFJFU1QgQVBJIHJlc291cmNlIF9yb290X1xyXG4gKiBAcGFyYW0gbGFtYmRhRnVuY3Rpb24gVGhlIExhbWJkYSBmdW5jdGlvblxyXG4gKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZGVmYXVsdEludGVncmF0aW9uKGxhbWJkYUZ1bmN0aW9uOiBGdW5jdGlvbixcclxuICAgIG9wdGlvbnM/OiBJbnRlZ3JhdGlvbk9wdGlvbnMpOiBMYW1iZGFJbnRlZ3JhdGlvbiB7XHJcbiAgICByZXR1cm4gbmV3IExhbWJkYUludGVncmF0aW9uKGxhbWJkYUZ1bmN0aW9uLCB7XHJcbiAgICAgICAgcHJveHk6IGZhbHNlLFxyXG4gICAgICAgIGludGVncmF0aW9uUmVzcG9uc2VzOiBvcHRpb25zPy5yZXNwb25zZXMgfHwgW1xyXG4gICAgICAgICAgICBnZXRSZXNwb25zZShSRVNQT05TRV8yMDBfT0ssIG9wdGlvbnMpLFxyXG4gICAgICAgICAgICBnZXRSZXNwb25zZShSRVNQT05TRV80MDBfQkFEX1JFUVVFU1QsIG9wdGlvbnMpLFxyXG4gICAgICAgICAgICBnZXRSZXNwb25zZShSRVNQT05TRV80MDRfTk9UX0ZPVU5ELCBvcHRpb25zKSxcclxuICAgICAgICAgICAgZ2V0UmVzcG9uc2UoUkVTUE9OU0VfNTAwX1NFUlZFUl9FUlJPUiwgb3B0aW9ucyksXHJcbiAgICAgICAgXSxcclxuICAgICAgICByZXF1ZXN0UGFyYW1ldGVyczogb3B0aW9ucz8ucmVxdWVzdFBhcmFtZXRlcnMgfHwge30sXHJcbiAgICAgICAgcmVxdWVzdFRlbXBsYXRlczogb3B0aW9ucz8ucmVxdWVzdFRlbXBsYXRlcyB8fCB7fSxcclxuICAgICAgICBwYXNzdGhyb3VnaEJlaGF2aW9yOiBvcHRpb25zPy5wYXNzdGhyb3VnaEJlaGF2aW9yID8/IFBhc3N0aHJvdWdoQmVoYXZpb3IuV0hFTl9OT19NQVRDSCxcclxuICAgIH0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVzcG9uc2UocmVzcG9uc2U6IEludGVncmF0aW9uUmVzcG9uc2UsIG9wdGlvbnM/OiBJbnRlZ3JhdGlvbk9wdGlvbnMpOiBJbnRlZ3JhdGlvblJlc3BvbnNlIHtcclxuICAgIGlmIChvcHRpb25zPy54bWwpIHtcclxuICAgICAgICByZXNwb25zZSA9IHsuLi5yZXNwb25zZSwgLi4uUkVTUE9OU0VfWE1MfTtcclxuICAgIH1cclxuICAgIGlmICghb3B0aW9ucz8uZGlzYWJsZUNvcnMpIHtcclxuICAgICAgICByZXNwb25zZSA9IHsuLi5yZXNwb25zZSwgLi4uUkVTUE9OU0VfQ09SU19JTlRFR1JBVElPTn07XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJlc3BvbnNlO1xyXG59XHJcbiJdfQ==
|
@@ -1,54 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.DigitrafficStaticIntegration = void 0;
|
4
|
-
const aws_apigateway_1 = require("aws-cdk-lib/aws-apigateway");
|
5
|
-
const mediatypes_1 = require("../../types/mediatypes");
|
6
|
-
const responses_1 = require("./responses");
|
7
|
-
const INTEGRATION_RESPONSE_200 = `{
|
8
|
-
"statusCode": 200
|
9
|
-
}`;
|
10
|
-
const METHOD_RESPONSE_200 = {
|
11
|
-
statusCode: '200',
|
12
|
-
};
|
13
|
-
/**
|
14
|
-
* Static integration, that returns the given response with given mediaType from given resource.
|
15
|
-
*
|
16
|
-
* @param resource
|
17
|
-
* @param mediaType
|
18
|
-
* @param response
|
19
|
-
*/
|
20
|
-
class DigitrafficStaticIntegration extends aws_apigateway_1.MockIntegration {
|
21
|
-
constructor(resource, mediaType, response, enableCors = true, apiKeyRequired = true) {
|
22
|
-
const integrationResponse = DigitrafficStaticIntegration.createIntegrationResponse(response, mediaType, enableCors);
|
23
|
-
super({
|
24
|
-
passthroughBehavior: aws_apigateway_1.PassthroughBehavior.WHEN_NO_TEMPLATES,
|
25
|
-
requestTemplates: {
|
26
|
-
[mediaType]: INTEGRATION_RESPONSE_200,
|
27
|
-
},
|
28
|
-
integrationResponses: [integrationResponse],
|
29
|
-
});
|
30
|
-
['GET', 'HEAD'].forEach((httpMethod) => {
|
31
|
-
resource.addMethod(httpMethod, this, {
|
32
|
-
apiKeyRequired,
|
33
|
-
methodResponses: [DigitrafficStaticIntegration.createMethodResponse(enableCors)],
|
34
|
-
});
|
35
|
-
});
|
36
|
-
}
|
37
|
-
static json(resource, response, enableCors = true, apiKeyRequired = true) {
|
38
|
-
return new DigitrafficStaticIntegration(resource, mediatypes_1.MediaType.APPLICATION_JSON, JSON.stringify(response), enableCors, apiKeyRequired);
|
39
|
-
}
|
40
|
-
static createIntegrationResponse(response, mediaType, enableCors) {
|
41
|
-
const integrationResponse = {
|
42
|
-
statusCode: '200',
|
43
|
-
responseTemplates: {
|
44
|
-
[mediaType]: response,
|
45
|
-
},
|
46
|
-
};
|
47
|
-
return enableCors ? { ...integrationResponse, ...responses_1.RESPONSE_CORS_INTEGRATION } : integrationResponse;
|
48
|
-
}
|
49
|
-
static createMethodResponse(enableCors) {
|
50
|
-
return enableCors ? (0, responses_1.corsMethod)(METHOD_RESPONSE_200) : METHOD_RESPONSE_200;
|
51
|
-
}
|
52
|
-
}
|
53
|
-
exports.DigitrafficStaticIntegration = DigitrafficStaticIntegration;
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljLWludGVncmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2F3cy9pbmZyYS9hcGkvc3RhdGljLWludGVncmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtEQUEwRjtBQUMxRix1REFBaUQ7QUFDakQsMkNBQWtFO0FBRWxFLE1BQU0sd0JBQXdCLEdBQUc7O0VBRS9CLENBQUM7QUFFSCxNQUFNLG1CQUFtQixHQUFHO0lBQ3hCLFVBQVUsRUFBRSxLQUFLO0NBQ3BCLENBQUM7QUFFRjs7Ozs7O0dBTUc7QUFDSCxNQUFhLDRCQUE2QixTQUFRLGdDQUFlO0lBQzdELFlBQ0ksUUFBa0IsRUFBRSxTQUFvQixFQUFFLFFBQWdCLEVBQUUsVUFBVSxHQUFHLElBQUksRUFBRSxjQUFjLEdBQUcsSUFBSTtRQUVwRyxNQUFNLG1CQUFtQixHQUFHLDRCQUE0QixDQUFDLHlCQUF5QixDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFcEgsS0FBSyxDQUFDO1lBQ0YsbUJBQW1CLEVBQUUsb0NBQW1CLENBQUMsaUJBQWlCO1lBQzFELGdCQUFnQixFQUFFO2dCQUNkLENBQUMsU0FBUyxDQUFDLEVBQUUsd0JBQXdCO2FBQ3hDO1lBQ0Qsb0JBQW9CLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztTQUM5QyxDQUFDLENBQUM7UUFFSCxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNuQyxRQUFRLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUU7Z0JBQ2pDLGNBQWM7Z0JBQ2QsZUFBZSxFQUFFLENBQUMsNEJBQTRCLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDbkYsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQUksQ0FBSSxRQUFrQixFQUFFLFFBQVcsRUFBRSxVQUFVLEdBQUcsSUFBSSxFQUFFLGNBQWMsR0FBRyxJQUFJO1FBQ3BGLE9BQU8sSUFBSSw0QkFBNEIsQ0FDbkMsUUFBUSxFQUFFLHNCQUFTLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxVQUFVLEVBQUUsY0FBYyxDQUM3RixDQUFDO0lBQ04sQ0FBQztJQUVPLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxRQUFnQixFQUFFLFNBQW9CLEVBQUUsVUFBbUI7UUFDaEcsTUFBTSxtQkFBbUIsR0FBRztZQUN4QixVQUFVLEVBQUUsS0FBSztZQUNqQixpQkFBaUIsRUFBRTtnQkFDZixDQUFDLFNBQVMsQ0FBQyxFQUFFLFFBQVE7YUFDeEI7U0FDSixDQUFDO1FBRUYsT0FBTyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUMsR0FBRyxtQkFBbUIsRUFBRSxHQUFHLHFDQUF5QixFQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDO0lBQ3JHLENBQUM7SUFFTyxNQUFNLENBQUMsb0JBQW9CLENBQUMsVUFBbUI7UUFDbkQsT0FBTyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUEsc0JBQVUsRUFBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQztJQUM5RSxDQUFDO0NBQ0o7QUExQ0Qsb0VBMENDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNb2NrSW50ZWdyYXRpb24sIFBhc3N0aHJvdWdoQmVoYXZpb3IsIFJlc291cmNlfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWFwaWdhdGV3YXlcIjtcbmltcG9ydCB7TWVkaWFUeXBlfSBmcm9tIFwiLi4vLi4vdHlwZXMvbWVkaWF0eXBlc1wiO1xuaW1wb3J0IHtjb3JzTWV0aG9kLCBSRVNQT05TRV9DT1JTX0lOVEVHUkFUSU9OfSBmcm9tIFwiLi9yZXNwb25zZXNcIjtcblxuY29uc3QgSU5URUdSQVRJT05fUkVTUE9OU0VfMjAwID0gYHtcbiAgICBcInN0YXR1c0NvZGVcIjogMjAwXG59YDtcblxuY29uc3QgTUVUSE9EX1JFU1BPTlNFXzIwMCA9IHtcbiAgICBzdGF0dXNDb2RlOiAnMjAwJyxcbn07XG5cbi8qKlxuICogU3RhdGljIGludGVncmF0aW9uLCB0aGF0IHJldHVybnMgdGhlIGdpdmVuIHJlc3BvbnNlIHdpdGggZ2l2ZW4gbWVkaWFUeXBlIGZyb20gZ2l2ZW4gcmVzb3VyY2UuXG4gKlxuICogQHBhcmFtIHJlc291cmNlXG4gKiBAcGFyYW0gbWVkaWFUeXBlXG4gKiBAcGFyYW0gcmVzcG9uc2VcbiAqL1xuZXhwb3J0IGNsYXNzIERpZ2l0cmFmZmljU3RhdGljSW50ZWdyYXRpb24gZXh0ZW5kcyBNb2NrSW50ZWdyYXRpb24ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICByZXNvdXJjZTogUmVzb3VyY2UsIG1lZGlhVHlwZTogTWVkaWFUeXBlLCByZXNwb25zZTogc3RyaW5nLCBlbmFibGVDb3JzID0gdHJ1ZSwgYXBpS2V5UmVxdWlyZWQgPSB0cnVlLFxuICAgICkge1xuICAgICAgICBjb25zdCBpbnRlZ3JhdGlvblJlc3BvbnNlID0gRGlnaXRyYWZmaWNTdGF0aWNJbnRlZ3JhdGlvbi5jcmVhdGVJbnRlZ3JhdGlvblJlc3BvbnNlKHJlc3BvbnNlLCBtZWRpYVR5cGUsIGVuYWJsZUNvcnMpO1xuXG4gICAgICAgIHN1cGVyKHtcbiAgICAgICAgICAgIHBhc3N0aHJvdWdoQmVoYXZpb3I6IFBhc3N0aHJvdWdoQmVoYXZpb3IuV0hFTl9OT19URU1QTEFURVMsXG4gICAgICAgICAgICByZXF1ZXN0VGVtcGxhdGVzOiB7XG4gICAgICAgICAgICAgICAgW21lZGlhVHlwZV06IElOVEVHUkFUSU9OX1JFU1BPTlNFXzIwMCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpbnRlZ3JhdGlvblJlc3BvbnNlczogW2ludGVncmF0aW9uUmVzcG9uc2VdLFxuICAgICAgICB9KTtcblxuICAgICAgICBbJ0dFVCcsICdIRUFEJ10uZm9yRWFjaCgoaHR0cE1ldGhvZCkgPT4ge1xuICAgICAgICAgICAgcmVzb3VyY2UuYWRkTWV0aG9kKGh0dHBNZXRob2QsIHRoaXMsIHtcbiAgICAgICAgICAgICAgICBhcGlLZXlSZXF1aXJlZCxcbiAgICAgICAgICAgICAgICBtZXRob2RSZXNwb25zZXM6IFtEaWdpdHJhZmZpY1N0YXRpY0ludGVncmF0aW9uLmNyZWF0ZU1ldGhvZFJlc3BvbnNlKGVuYWJsZUNvcnMpXSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzdGF0aWMganNvbjxLPihyZXNvdXJjZTogUmVzb3VyY2UsIHJlc3BvbnNlOiBLLCBlbmFibGVDb3JzID0gdHJ1ZSwgYXBpS2V5UmVxdWlyZWQgPSB0cnVlKSB7XG4gICAgICAgIHJldHVybiBuZXcgRGlnaXRyYWZmaWNTdGF0aWNJbnRlZ3JhdGlvbihcbiAgICAgICAgICAgIHJlc291cmNlLCBNZWRpYVR5cGUuQVBQTElDQVRJT05fSlNPTiwgSlNPTi5zdHJpbmdpZnkocmVzcG9uc2UpLCBlbmFibGVDb3JzLCBhcGlLZXlSZXF1aXJlZCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBjcmVhdGVJbnRlZ3JhdGlvblJlc3BvbnNlKHJlc3BvbnNlOiBzdHJpbmcsIG1lZGlhVHlwZTogTWVkaWFUeXBlLCBlbmFibGVDb3JzOiBib29sZWFuKSB7XG4gICAgICAgIGNvbnN0IGludGVncmF0aW9uUmVzcG9uc2UgPSB7XG4gICAgICAgICAgICBzdGF0dXNDb2RlOiAnMjAwJyxcbiAgICAgICAgICAgIHJlc3BvbnNlVGVtcGxhdGVzOiB7XG4gICAgICAgICAgICAgICAgW21lZGlhVHlwZV06IHJlc3BvbnNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gZW5hYmxlQ29ycyA/IHsuLi5pbnRlZ3JhdGlvblJlc3BvbnNlLCAuLi5SRVNQT05TRV9DT1JTX0lOVEVHUkFUSU9OfSA6IGludGVncmF0aW9uUmVzcG9uc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgY3JlYXRlTWV0aG9kUmVzcG9uc2UoZW5hYmxlQ29yczogYm9vbGVhbikge1xuICAgICAgICByZXR1cm4gZW5hYmxlQ29ycyA/IGNvcnNNZXRob2QoTUVUSE9EX1JFU1BPTlNFXzIwMCkgOiBNRVRIT0RfUkVTUE9OU0VfMjAwO1xuICAgIH1cbn1cbiJdfQ==
|
@@ -1,26 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.CanaryAlarm = void 0;
|
4
|
-
const aws_cloudwatch_1 = require("aws-cdk-lib/aws-cloudwatch");
|
5
|
-
const aws_cloudwatch_actions_1 = require("aws-cdk-lib/aws-cloudwatch-actions");
|
6
|
-
const aws_sns_1 = require("aws-cdk-lib/aws-sns");
|
7
|
-
class CanaryAlarm {
|
8
|
-
constructor(stack, canary, params) {
|
9
|
-
if (params.alarm ?? true) {
|
10
|
-
const alarmName = params.alarm?.alarmName ?? `${params.name}-alarm`;
|
11
|
-
const alarm = new aws_cloudwatch_1.Alarm(stack, alarmName, {
|
12
|
-
alarmName,
|
13
|
-
alarmDescription: params.alarm?.description ?? '',
|
14
|
-
metric: canary.metricSuccessPercent(),
|
15
|
-
evaluationPeriods: params.alarm?.evalutionPeriods ?? 1,
|
16
|
-
threshold: params.alarm?.threshold ?? 100,
|
17
|
-
comparisonOperator: aws_cloudwatch_1.ComparisonOperator.LESS_THAN_THRESHOLD,
|
18
|
-
});
|
19
|
-
if (params.alarm?.topicArn) {
|
20
|
-
alarm.addAlarmAction(new aws_cloudwatch_actions_1.SnsAction(aws_sns_1.Topic.fromTopicArn(stack, `${alarmName}-action`, params.alarm.topicArn)));
|
21
|
-
}
|
22
|
-
}
|
23
|
-
}
|
24
|
-
}
|
25
|
-
exports.CanaryAlarm = CanaryAlarm;
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuYXJ5LWFsYXJtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2F3cy9pbmZyYS9jYW5hcmllcy9jYW5hcnktYWxhcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsK0RBQXFFO0FBRXJFLCtFQUE2RDtBQUM3RCxpREFBMEM7QUFFMUMsTUFBYSxXQUFXO0lBQ3BCLFlBQVksS0FBZ0IsRUFDeEIsTUFBYyxFQUNkLE1BQXdCO1FBQ3hCLElBQUksTUFBTSxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQUU7WUFDdEIsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssRUFBRSxTQUFTLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxRQUFRLENBQUM7WUFFcEUsTUFBTSxLQUFLLEdBQUcsSUFBSSxzQkFBSyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUU7Z0JBQ3RDLFNBQVM7Z0JBQ1QsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRSxXQUFXLElBQUksRUFBRTtnQkFDakQsTUFBTSxFQUFFLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRTtnQkFDckMsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsSUFBSSxDQUFDO2dCQUN0RCxTQUFTLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRSxTQUFTLElBQUksR0FBRztnQkFDekMsa0JBQWtCLEVBQUUsbUNBQWtCLENBQUMsbUJBQW1CO2FBQzdELENBQUMsQ0FBQztZQUVILElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUU7Z0JBQ3hCLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxrQ0FBUyxDQUFDLGVBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUN2RCxHQUFHLFNBQVMsU0FBUyxFQUNyQixNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNoQztTQUNKO0lBQ0wsQ0FBQztDQUNKO0FBdkJELGtDQXVCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29uc3RydWN0fSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtDYW5hcnlQYXJhbWV0ZXJzfSBmcm9tIFwiLi9jYW5hcnktcGFyYW1ldGVyc1wiO1xuaW1wb3J0IHtBbGFybSwgQ29tcGFyaXNvbk9wZXJhdG9yfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2hcIjtcbmltcG9ydCB7Q2FuYXJ5fSBmcm9tIFwiQGF3cy1jZGsvYXdzLXN5bnRoZXRpY3MtYWxwaGFcIjtcbmltcG9ydCB7U25zQWN0aW9ufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gtYWN0aW9uc1wiO1xuaW1wb3J0IHtUb3BpY30gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zbnNcIjtcblxuZXhwb3J0IGNsYXNzIENhbmFyeUFsYXJtIHtcbiAgICBjb25zdHJ1Y3RvcihzdGFjazogQ29uc3RydWN0LFxuICAgICAgICBjYW5hcnk6IENhbmFyeSxcbiAgICAgICAgcGFyYW1zOiBDYW5hcnlQYXJhbWV0ZXJzKSB7XG4gICAgICAgIGlmIChwYXJhbXMuYWxhcm0gPz8gdHJ1ZSkge1xuICAgICAgICAgICAgY29uc3QgYWxhcm1OYW1lID0gcGFyYW1zLmFsYXJtPy5hbGFybU5hbWUgPz8gYCR7cGFyYW1zLm5hbWV9LWFsYXJtYDtcblxuICAgICAgICAgICAgY29uc3QgYWxhcm0gPSBuZXcgQWxhcm0oc3RhY2ssIGFsYXJtTmFtZSwge1xuICAgICAgICAgICAgICAgIGFsYXJtTmFtZSxcbiAgICAgICAgICAgICAgICBhbGFybURlc2NyaXB0aW9uOiBwYXJhbXMuYWxhcm0/LmRlc2NyaXB0aW9uID8/ICcnLFxuICAgICAgICAgICAgICAgIG1ldHJpYzogY2FuYXJ5Lm1ldHJpY1N1Y2Nlc3NQZXJjZW50KCksXG4gICAgICAgICAgICAgICAgZXZhbHVhdGlvblBlcmlvZHM6IHBhcmFtcy5hbGFybT8uZXZhbHV0aW9uUGVyaW9kcyA/PyAxLFxuICAgICAgICAgICAgICAgIHRocmVzaG9sZDogcGFyYW1zLmFsYXJtPy50aHJlc2hvbGQgPz8gMTAwLFxuICAgICAgICAgICAgICAgIGNvbXBhcmlzb25PcGVyYXRvcjogQ29tcGFyaXNvbk9wZXJhdG9yLkxFU1NfVEhBTl9USFJFU0hPTEQsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKHBhcmFtcy5hbGFybT8udG9waWNBcm4pIHtcbiAgICAgICAgICAgICAgICBhbGFybS5hZGRBbGFybUFjdGlvbihuZXcgU25zQWN0aW9uKFRvcGljLmZyb21Ub3BpY0FybihzdGFjayxcbiAgICAgICAgICAgICAgICAgICAgYCR7YWxhcm1OYW1lfS1hY3Rpb25gLFxuICAgICAgICAgICAgICAgICAgICBwYXJhbXMuYWxhcm0udG9waWNBcm4pKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
@@ -1,3 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuYXJ5LXBhcmFtZXRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXdzL2luZnJhL2NhbmFyaWVzL2NhbmFyeS1wYXJhbWV0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1NjaGVkdWxlfSBmcm9tIFwiQGF3cy1jZGsvYXdzLXN5bnRoZXRpY3MtYWxwaGFcIjtcblxuLyoqIE9wdGlvbmFsIGVudiBwYXJhbWV0ZXJzIGZvciBjYW5hcnkgKi9cbnR5cGUgQ2FuYXJ5RW52ID0gUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuZXhwb3J0IHR5cGUgQ2FuYXJ5UGFyYW1ldGVycyA9IHtcbiAgICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgc2NoZWR1bGU/OiBTY2hlZHVsZTtcbiAgICByZWFkb25seSBzZWNyZXQ/OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgaGFuZGxlcjogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGFsYXJtPzoge1xuICAgICAgICByZWFkb25seSBhbGFybU5hbWU/OiBzdHJpbmc7XG4gICAgICAgIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgICAgICByZWFkb25seSBldmFsdXRpb25QZXJpb2RzPzogbnVtYmVyO1xuICAgICAgICByZWFkb25seSB0aHJlc2hvbGQ/OiBudW1iZXI7XG4gICAgICAgIHJlYWRvbmx5IHRvcGljQXJuPzogc3RyaW5nO1xuICAgIH1cbiAgICByZWFkb25seSBjYW5hcnlFbnY/OiBDYW5hcnlFbnY7XG59XG4iXX0=
|
@@ -1,46 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.DigitrafficCanaryRole = void 0;
|
4
|
-
const aws_iam_1 = require("aws-cdk-lib/aws-iam");
|
5
|
-
const BASE_POLICY_STATEMENT_PROPS = {
|
6
|
-
actions: [
|
7
|
-
"logs:CreateLogStream",
|
8
|
-
"logs:PutLogEvents",
|
9
|
-
"logs:CreateLogGroup",
|
10
|
-
"logs:DescribeLogGroups",
|
11
|
-
"logs:DescribeLogStreams",
|
12
|
-
],
|
13
|
-
resources: ["*"],
|
14
|
-
};
|
15
|
-
const CLOUDWATCH_STATEMENT_PROPS = {
|
16
|
-
actions: [
|
17
|
-
"cloudwatch:PutMetricData",
|
18
|
-
],
|
19
|
-
resources: ["*"],
|
20
|
-
conditions: {
|
21
|
-
"StringEquals": {
|
22
|
-
"cloudwatch:namespace": "CloudWatchSynthetics",
|
23
|
-
},
|
24
|
-
},
|
25
|
-
};
|
26
|
-
class DigitrafficCanaryRole extends aws_iam_1.Role {
|
27
|
-
constructor(stack, canaryName) {
|
28
|
-
super(stack, 'canary-role-' + canaryName, {
|
29
|
-
assumedBy: new aws_iam_1.ServicePrincipal("lambda.amazonaws.com"),
|
30
|
-
managedPolicies: [
|
31
|
-
aws_iam_1.ManagedPolicy.fromAwsManagedPolicyName("CloudWatchSyntheticsFullAccess"),
|
32
|
-
],
|
33
|
-
});
|
34
|
-
this.addToPolicy(new aws_iam_1.PolicyStatement(BASE_POLICY_STATEMENT_PROPS));
|
35
|
-
this.addToPolicy(new aws_iam_1.PolicyStatement(CLOUDWATCH_STATEMENT_PROPS));
|
36
|
-
}
|
37
|
-
withDatabaseAccess() {
|
38
|
-
// Won't work :(
|
39
|
-
// this.addToPolicy(new PolicyStatement(DB_STATEMENT_PROPS));
|
40
|
-
// Works
|
41
|
-
this.addManagedPolicy(aws_iam_1.ManagedPolicy.fromAwsManagedPolicyName("service-role/AWSLambdaVPCAccessExecutionRole"));
|
42
|
-
return this;
|
43
|
-
}
|
44
|
-
}
|
45
|
-
exports.DigitrafficCanaryRole = DigitrafficCanaryRole;
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuYXJ5LXJvbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXdzL2luZnJhL2NhbmFyaWVzL2NhbmFyeS1yb2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlEQUFpSDtBQUdqSCxNQUFNLDJCQUEyQixHQUF5QjtJQUN0RCxPQUFPLEVBQUU7UUFDTCxzQkFBc0I7UUFDdEIsbUJBQW1CO1FBQ25CLHFCQUFxQjtRQUNyQix3QkFBd0I7UUFDeEIseUJBQXlCO0tBQzVCO0lBQ0QsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDO0NBQ25CLENBQUM7QUFFRixNQUFNLDBCQUEwQixHQUF5QjtJQUNyRCxPQUFPLEVBQUU7UUFDTCwwQkFBMEI7S0FDN0I7SUFDRCxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUM7SUFDaEIsVUFBVSxFQUFFO1FBQ1IsY0FBYyxFQUFFO1lBQ1osc0JBQXNCLEVBQUUsc0JBQXNCO1NBQ2pEO0tBQ0o7Q0FDSixDQUFDO0FBRUYsTUFBYSxxQkFBc0IsU0FBUSxjQUFJO0lBQzNDLFlBQVksS0FBZ0IsRUFBRSxVQUFrQjtRQUM1QyxLQUFLLENBQUMsS0FBSyxFQUFFLGNBQWMsR0FBRyxVQUFVLEVBQUU7WUFDdEMsU0FBUyxFQUFFLElBQUksMEJBQWdCLENBQUMsc0JBQXNCLENBQUM7WUFDdkQsZUFBZSxFQUFFO2dCQUNiLHVCQUFhLENBQUMsd0JBQXdCLENBQUMsZ0NBQWdDLENBQUM7YUFDM0U7U0FDSixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUkseUJBQWUsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLHlCQUFlLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxnQkFBZ0I7UUFDaEIsNkRBQTZEO1FBQzdELFFBQVE7UUFDUixJQUFJLENBQUMsZ0JBQWdCLENBQUMsdUJBQWEsQ0FBQyx3QkFBd0IsQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDLENBQUM7UUFDOUcsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztDQUNKO0FBcEJELHNEQW9CQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TWFuYWdlZFBvbGljeSwgUG9saWN5U3RhdGVtZW50LCBQb2xpY3lTdGF0ZW1lbnRQcm9wcywgUm9sZSwgU2VydmljZVByaW5jaXBhbH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7Q29uc3RydWN0fSBmcm9tIFwiY29uc3RydWN0c1wiO1xuXG5jb25zdCBCQVNFX1BPTElDWV9TVEFURU1FTlRfUFJPUFM6IFBvbGljeVN0YXRlbWVudFByb3BzID0ge1xuICAgIGFjdGlvbnM6IFtcbiAgICAgICAgXCJsb2dzOkNyZWF0ZUxvZ1N0cmVhbVwiLFxuICAgICAgICBcImxvZ3M6UHV0TG9nRXZlbnRzXCIsXG4gICAgICAgIFwibG9nczpDcmVhdGVMb2dHcm91cFwiLFxuICAgICAgICBcImxvZ3M6RGVzY3JpYmVMb2dHcm91cHNcIixcbiAgICAgICAgXCJsb2dzOkRlc2NyaWJlTG9nU3RyZWFtc1wiLFxuICAgIF0sXG4gICAgcmVzb3VyY2VzOiBbXCIqXCJdLFxufTtcblxuY29uc3QgQ0xPVURXQVRDSF9TVEFURU1FTlRfUFJPUFM6IFBvbGljeVN0YXRlbWVudFByb3BzID0ge1xuICAgIGFjdGlvbnM6IFtcbiAgICAgICAgXCJjbG91ZHdhdGNoOlB1dE1ldHJpY0RhdGFcIixcbiAgICBdLFxuICAgIHJlc291cmNlczogW1wiKlwiXSxcbiAgICBjb25kaXRpb25zOiB7XG4gICAgICAgIFwiU3RyaW5nRXF1YWxzXCI6IHtcbiAgICAgICAgICAgIFwiY2xvdWR3YXRjaDpuYW1lc3BhY2VcIjogXCJDbG91ZFdhdGNoU3ludGhldGljc1wiLFxuICAgICAgICB9LFxuICAgIH0sXG59O1xuXG5leHBvcnQgY2xhc3MgRGlnaXRyYWZmaWNDYW5hcnlSb2xlIGV4dGVuZHMgUm9sZSB7XG4gICAgY29uc3RydWN0b3Ioc3RhY2s6IENvbnN0cnVjdCwgY2FuYXJ5TmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKHN0YWNrLCAnY2FuYXJ5LXJvbGUtJyArIGNhbmFyeU5hbWUsIHtcbiAgICAgICAgICAgIGFzc3VtZWRCeTogbmV3IFNlcnZpY2VQcmluY2lwYWwoXCJsYW1iZGEuYW1hem9uYXdzLmNvbVwiKSxcbiAgICAgICAgICAgIG1hbmFnZWRQb2xpY2llczogW1xuICAgICAgICAgICAgICAgIE1hbmFnZWRQb2xpY3kuZnJvbUF3c01hbmFnZWRQb2xpY3lOYW1lKFwiQ2xvdWRXYXRjaFN5bnRoZXRpY3NGdWxsQWNjZXNzXCIpLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5hZGRUb1BvbGljeShuZXcgUG9saWN5U3RhdGVtZW50KEJBU0VfUE9MSUNZX1NUQVRFTUVOVF9QUk9QUykpO1xuICAgICAgICB0aGlzLmFkZFRvUG9saWN5KG5ldyBQb2xpY3lTdGF0ZW1lbnQoQ0xPVURXQVRDSF9TVEFURU1FTlRfUFJPUFMpKTtcbiAgICB9XG5cbiAgICB3aXRoRGF0YWJhc2VBY2Nlc3MoKTogRGlnaXRyYWZmaWNDYW5hcnlSb2xlIHtcbiAgICAgICAgLy8gV29uJ3Qgd29yayA6KFxuICAgICAgICAvLyB0aGlzLmFkZFRvUG9saWN5KG5ldyBQb2xpY3lTdGF0ZW1lbnQoREJfU1RBVEVNRU5UX1BST1BTKSk7XG4gICAgICAgIC8vIFdvcmtzXG4gICAgICAgIHRoaXMuYWRkTWFuYWdlZFBvbGljeShNYW5hZ2VkUG9saWN5LmZyb21Bd3NNYW5hZ2VkUG9saWN5TmFtZShcInNlcnZpY2Utcm9sZS9BV1NMYW1iZGFWUENBY2Nlc3NFeGVjdXRpb25Sb2xlXCIpKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxufVxuIl19
|
@@ -1,29 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.DigitrafficCanary = void 0;
|
4
|
-
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
5
|
-
const aws_synthetics_alpha_1 = require("@aws-cdk/aws-synthetics-alpha");
|
6
|
-
const canary_alarm_1 = require("./canary-alarm");
|
7
|
-
class DigitrafficCanary extends aws_synthetics_alpha_1.Canary {
|
8
|
-
constructor(scope, canaryName, role, params, environmentVariables) {
|
9
|
-
super(scope, canaryName, {
|
10
|
-
runtime: aws_synthetics_alpha_1.Runtime.SYNTHETICS_NODEJS_PUPPETEER_3_5,
|
11
|
-
role,
|
12
|
-
test: aws_synthetics_alpha_1.Test.custom({
|
13
|
-
code: new aws_synthetics_alpha_1.AssetCode("dist", {
|
14
|
-
exclude: ["lambda"],
|
15
|
-
}),
|
16
|
-
handler: params.handler,
|
17
|
-
}),
|
18
|
-
environmentVariables: { ...environmentVariables, ...params?.canaryEnv },
|
19
|
-
canaryName,
|
20
|
-
schedule: params.schedule ?? aws_synthetics_alpha_1.Schedule.rate(aws_cdk_lib_1.Duration.minutes(15)),
|
21
|
-
});
|
22
|
-
this.artifactsBucket.grantWrite(role);
|
23
|
-
if (params.alarm ?? true) {
|
24
|
-
new canary_alarm_1.CanaryAlarm(scope, this, params);
|
25
|
-
}
|
26
|
-
}
|
27
|
-
}
|
28
|
-
exports.DigitrafficCanary = DigitrafficCanary;
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2F3cy9pbmZyYS9jYW5hcmllcy9jYW5hcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQXFDO0FBQ3JDLHdFQUF5RjtBQUV6RixpREFBMkM7QUFLM0MsTUFBYSxpQkFBa0IsU0FBUSw2QkFBTTtJQUN6QyxZQUNJLEtBQWdCLEVBQ2hCLFVBQWtCLEVBQ2xCLElBQVUsRUFDVixNQUF3QixFQUN4QixvQkFBdUM7UUFFdkMsS0FBSyxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUU7WUFDckIsT0FBTyxFQUFFLDhCQUFPLENBQUMsK0JBQStCO1lBQ2hELElBQUk7WUFDSixJQUFJLEVBQUUsMkJBQUksQ0FBQyxNQUFNLENBQUM7Z0JBQ2QsSUFBSSxFQUFFLElBQUksZ0NBQVMsQ0FBQyxNQUFNLEVBQUU7b0JBQ3hCLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztpQkFDdEIsQ0FBQztnQkFDRixPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU87YUFDMUIsQ0FBQztZQUNGLG9CQUFvQixFQUFFLEVBQUUsR0FBRyxvQkFBb0IsRUFBRSxHQUFHLE1BQU0sRUFBRSxTQUFTLEVBQUU7WUFDdkUsVUFBVTtZQUNWLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUSxJQUFJLCtCQUFRLENBQUMsSUFBSSxDQUFDLHNCQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ25FLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXRDLElBQUksTUFBTSxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQUU7WUFDdEIsSUFBSSwwQkFBVyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDeEM7SUFDTCxDQUFDO0NBQ0o7QUE1QkQsOENBNEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEdXJhdGlvbn0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge0Fzc2V0Q29kZSwgQ2FuYXJ5LCBSdW50aW1lLCBTY2hlZHVsZSwgVGVzdH0gZnJvbSBcIkBhd3MtY2RrL2F3cy1zeW50aGV0aWNzLWFscGhhXCI7XG5pbXBvcnQge1JvbGV9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCI7XG5pbXBvcnQge0NhbmFyeUFsYXJtfSBmcm9tIFwiLi9jYW5hcnktYWxhcm1cIjtcbmltcG9ydCB7Q2FuYXJ5UGFyYW1ldGVyc30gZnJvbSBcIi4vY2FuYXJ5LXBhcmFtZXRlcnNcIjtcbmltcG9ydCB7Q29uc3RydWN0fSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtMYW1iZGFFbnZpcm9ubWVudH0gZnJvbSBcIi4uL3N0YWNrL2xhbWJkYS1jb25maWdzXCI7XG5cbmV4cG9ydCBjbGFzcyBEaWdpdHJhZmZpY0NhbmFyeSBleHRlbmRzIENhbmFyeSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgICAgIGNhbmFyeU5hbWU6IHN0cmluZyxcbiAgICAgICAgcm9sZTogUm9sZSxcbiAgICAgICAgcGFyYW1zOiBDYW5hcnlQYXJhbWV0ZXJzLFxuICAgICAgICBlbnZpcm9ubWVudFZhcmlhYmxlczogTGFtYmRhRW52aXJvbm1lbnQsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKHNjb3BlLCBjYW5hcnlOYW1lLCB7XG4gICAgICAgICAgICBydW50aW1lOiBSdW50aW1lLlNZTlRIRVRJQ1NfTk9ERUpTX1BVUFBFVEVFUl8zXzUsXG4gICAgICAgICAgICByb2xlLFxuICAgICAgICAgICAgdGVzdDogVGVzdC5jdXN0b20oe1xuICAgICAgICAgICAgICAgIGNvZGU6IG5ldyBBc3NldENvZGUoXCJkaXN0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgZXhjbHVkZTogW1wibGFtYmRhXCJdLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGhhbmRsZXI6IHBhcmFtcy5oYW5kbGVyLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBlbnZpcm9ubWVudFZhcmlhYmxlczogeyAuLi5lbnZpcm9ubWVudFZhcmlhYmxlcywgLi4ucGFyYW1zPy5jYW5hcnlFbnYgfSxcbiAgICAgICAgICAgIGNhbmFyeU5hbWUsXG4gICAgICAgICAgICBzY2hlZHVsZTogcGFyYW1zLnNjaGVkdWxlID8/IFNjaGVkdWxlLnJhdGUoRHVyYXRpb24ubWludXRlcygxNSkpLFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmFydGlmYWN0c0J1Y2tldC5ncmFudFdyaXRlKHJvbGUpO1xuXG4gICAgICAgIGlmIChwYXJhbXMuYWxhcm0gPz8gdHJ1ZSkge1xuICAgICAgICAgICAgbmV3IENhbmFyeUFsYXJtKHNjb3BlLCB0aGlzLCBwYXJhbXMpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
@@ -1,55 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.DatabaseCanary = void 0;
|
4
|
-
const aws_synthetics_1 = require("aws-cdk-lib/aws-synthetics");
|
5
|
-
const aws_events_1 = require("aws-cdk-lib/aws-events");
|
6
|
-
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
7
|
-
const canary_1 = require("./canary");
|
8
|
-
class DatabaseCanary extends canary_1.DigitrafficCanary {
|
9
|
-
constructor(stack, role, secret, params) {
|
10
|
-
const canaryName = `${params.name}-db`;
|
11
|
-
const environmentVariables = stack.createDefaultLambdaEnvironment(`Synthetics-${canaryName}`);
|
12
|
-
// the handler code is defined at the actual project using this
|
13
|
-
super(stack, canaryName, role, params, environmentVariables);
|
14
|
-
this.artifactsBucket.grantWrite(this.role);
|
15
|
-
secret.grantRead(this.role);
|
16
|
-
// need to override vpc and security group, can't do this with cdk
|
17
|
-
if (this.node.defaultChild instanceof aws_synthetics_1.CfnCanary) {
|
18
|
-
const subnetIds = stack.vpc.privateSubnets.map(subnet => subnet.subnetId);
|
19
|
-
this.node.defaultChild.vpcConfig = {
|
20
|
-
vpcId: stack.vpc.vpcId,
|
21
|
-
securityGroupIds: [stack.lambdaDbSg.securityGroupId],
|
22
|
-
subnetIds: subnetIds,
|
23
|
-
};
|
24
|
-
}
|
25
|
-
}
|
26
|
-
static create(stack, role, params) {
|
27
|
-
return new DatabaseCanary(stack, role, stack.secret, { ...{
|
28
|
-
secret: stack.configuration.secretId,
|
29
|
-
schedule: aws_events_1.Schedule.rate(aws_cdk_lib_1.Duration.hours(1)),
|
30
|
-
handler: `${params.name}.handler`,
|
31
|
-
}, ...params });
|
32
|
-
}
|
33
|
-
/**
|
34
|
-
*
|
35
|
-
* @param stack
|
36
|
-
* @param role
|
37
|
-
* @param name name of the typescipt file without -db -suffix. Max len is 10 char if @param canaryName is not given.
|
38
|
-
* @param params
|
39
|
-
* @param canaryName Optional name for canary if multiple canaries is made from same ${name}-db.ts canary file.
|
40
|
-
*/
|
41
|
-
static createV2(stack, role, name, params = {}, canaryName = name) {
|
42
|
-
return new DatabaseCanary(stack, role, stack.secret, { ...{
|
43
|
-
secret: stack.configuration.secretId,
|
44
|
-
schedule: aws_events_1.Schedule.rate(aws_cdk_lib_1.Duration.hours(1)),
|
45
|
-
handler: `${name}-db.handler`,
|
46
|
-
name: canaryName,
|
47
|
-
alarm: {
|
48
|
-
alarmName: (canaryName === name ? `${stack.configuration.shortName}-DB-Alarm` : `${canaryName}-DB-Alarm`),
|
49
|
-
topicArn: stack.configuration.alarmTopicArn,
|
50
|
-
},
|
51
|
-
}, ...params });
|
52
|
-
}
|
53
|
-
}
|
54
|
-
exports.DatabaseCanary = DatabaseCanary;
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UtY2FuYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2F3cy9pbmZyYS9jYW5hcmllcy9kYXRhYmFzZS1jYW5hcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsK0RBQXFEO0FBQ3JELHVEQUFnRDtBQUNoRCw2Q0FBcUM7QUFHckMscUNBQTJDO0FBRzNDLE1BQWEsY0FBZSxTQUFRLDBCQUFpQjtJQUNqRCxZQUFZLEtBQXVCLEVBQy9CLElBQVUsRUFDVixNQUFlLEVBQ2YsTUFBd0I7UUFDeEIsTUFBTSxVQUFVLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUM7UUFDdkMsTUFBTSxvQkFBb0IsR0FBRyxLQUFLLENBQUMsOEJBQThCLENBQUMsY0FBYyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBRTlGLCtEQUErRDtRQUMvRCxLQUFLLENBQ0QsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQ3ZCLE1BQU0sRUFBRSxvQkFBb0IsQ0FDL0IsQ0FBQztRQUVGLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU1QixrRUFBa0U7UUFDbEUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksWUFBWSwwQkFBUyxFQUFFO1lBQzdDLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUUxRSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEdBQUc7Z0JBQy9CLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUs7Z0JBQ3RCLGdCQUFnQixFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUM7Z0JBQ3BELFNBQVMsRUFBRSxTQUFTO2FBQ3ZCLENBQUM7U0FDTDtJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQXVCLEVBQ2pDLElBQVUsRUFDVixNQUF3QjtRQUN4QixPQUFPLElBQUksY0FBYyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFDL0MsRUFBQyxHQUFHO2dCQUNBLE1BQU0sRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDLFFBQVE7Z0JBQ3BDLFFBQVEsRUFBRSxxQkFBUSxDQUFDLElBQUksQ0FBQyxzQkFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDMUMsT0FBTyxFQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksVUFBVTthQUNwQyxFQUFFLEdBQUcsTUFBTSxFQUFDLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxRQUFRLENBQ1gsS0FBdUIsRUFDdkIsSUFBVSxFQUNWLElBQVksRUFDWixTQUFvQyxFQUFFLEVBQ3RDLFVBQVUsR0FBQyxJQUFJO1FBRWYsT0FBTyxJQUFJLGNBQWMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQy9DLEVBQUMsR0FBRztnQkFDQSxNQUFNLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxRQUFRO2dCQUNwQyxRQUFRLEVBQUUscUJBQVEsQ0FBQyxJQUFJLENBQUMsc0JBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzFDLE9BQU8sRUFBRSxHQUFHLElBQUksYUFBYTtnQkFDN0IsSUFBSSxFQUFHLFVBQVU7Z0JBQ2pCLEtBQUssRUFBRTtvQkFDSCxTQUFTLEVBQUUsQ0FBQyxVQUFVLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUMsU0FBUyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxXQUFXLENBQUM7b0JBQ3pHLFFBQVEsRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDLGFBQWE7aUJBQzlDO2FBQ0osRUFBRSxHQUFHLE1BQU0sRUFBQyxDQUFDLENBQUM7SUFDdkIsQ0FBQztDQUNKO0FBbkVELHdDQW1FQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Um9sZX0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7SVNlY3JldH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zZWNyZXRzbWFuYWdlclwiO1xuaW1wb3J0IHtDZm5DYW5hcnl9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc3ludGhldGljc1wiO1xuaW1wb3J0IHtTY2hlZHVsZX0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1ldmVudHNcIjtcbmltcG9ydCB7RHVyYXRpb259IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuXG5pbXBvcnQge0NhbmFyeVBhcmFtZXRlcnN9IGZyb20gXCIuL2NhbmFyeS1wYXJhbWV0ZXJzXCI7XG5pbXBvcnQge0RpZ2l0cmFmZmljQ2FuYXJ5fSBmcm9tIFwiLi9jYW5hcnlcIjtcbmltcG9ydCB7RGlnaXRyYWZmaWNTdGFja30gZnJvbSBcIi4uL3N0YWNrL3N0YWNrXCI7XG5cbmV4cG9ydCBjbGFzcyBEYXRhYmFzZUNhbmFyeSBleHRlbmRzIERpZ2l0cmFmZmljQ2FuYXJ5IHtcbiAgICBjb25zdHJ1Y3RvcihzdGFjazogRGlnaXRyYWZmaWNTdGFjayxcbiAgICAgICAgcm9sZTogUm9sZSxcbiAgICAgICAgc2VjcmV0OiBJU2VjcmV0LFxuICAgICAgICBwYXJhbXM6IENhbmFyeVBhcmFtZXRlcnMpIHtcbiAgICAgICAgY29uc3QgY2FuYXJ5TmFtZSA9IGAke3BhcmFtcy5uYW1lfS1kYmA7XG4gICAgICAgIGNvbnN0IGVudmlyb25tZW50VmFyaWFibGVzID0gc3RhY2suY3JlYXRlRGVmYXVsdExhbWJkYUVudmlyb25tZW50KGBTeW50aGV0aWNzLSR7Y2FuYXJ5TmFtZX1gKTtcblxuICAgICAgICAvLyB0aGUgaGFuZGxlciBjb2RlIGlzIGRlZmluZWQgYXQgdGhlIGFjdHVhbCBwcm9qZWN0IHVzaW5nIHRoaXNcbiAgICAgICAgc3VwZXIoXG4gICAgICAgICAgICBzdGFjaywgY2FuYXJ5TmFtZSwgcm9sZSxcbiAgICAgICAgICAgIHBhcmFtcywgZW52aXJvbm1lbnRWYXJpYWJsZXMsXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5hcnRpZmFjdHNCdWNrZXQuZ3JhbnRXcml0ZSh0aGlzLnJvbGUpO1xuICAgICAgICBzZWNyZXQuZ3JhbnRSZWFkKHRoaXMucm9sZSk7XG5cbiAgICAgICAgLy8gbmVlZCB0byBvdmVycmlkZSB2cGMgYW5kIHNlY3VyaXR5IGdyb3VwLCBjYW4ndCBkbyB0aGlzIHdpdGggY2RrXG4gICAgICAgIGlmICh0aGlzLm5vZGUuZGVmYXVsdENoaWxkIGluc3RhbmNlb2YgQ2ZuQ2FuYXJ5KSB7XG4gICAgICAgICAgICBjb25zdCBzdWJuZXRJZHMgPSBzdGFjay52cGMucHJpdmF0ZVN1Ym5ldHMubWFwKHN1Ym5ldCA9PiBzdWJuZXQuc3VibmV0SWQpO1xuXG4gICAgICAgICAgICB0aGlzLm5vZGUuZGVmYXVsdENoaWxkLnZwY0NvbmZpZyA9IHtcbiAgICAgICAgICAgICAgICB2cGNJZDogc3RhY2sudnBjLnZwY0lkLFxuICAgICAgICAgICAgICAgIHNlY3VyaXR5R3JvdXBJZHM6IFtzdGFjay5sYW1iZGFEYlNnLnNlY3VyaXR5R3JvdXBJZF0sXG4gICAgICAgICAgICAgICAgc3VibmV0SWRzOiBzdWJuZXRJZHMsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3RhdGljIGNyZWF0ZShzdGFjazogRGlnaXRyYWZmaWNTdGFjayxcbiAgICAgICAgcm9sZTogUm9sZSxcbiAgICAgICAgcGFyYW1zOiBDYW5hcnlQYXJhbWV0ZXJzKTogRGF0YWJhc2VDYW5hcnkge1xuICAgICAgICByZXR1cm4gbmV3IERhdGFiYXNlQ2FuYXJ5KHN0YWNrLCByb2xlLCBzdGFjay5zZWNyZXQsXG4gICAgICAgICAgICB7Li4ue1xuICAgICAgICAgICAgICAgIHNlY3JldDogc3RhY2suY29uZmlndXJhdGlvbi5zZWNyZXRJZCxcbiAgICAgICAgICAgICAgICBzY2hlZHVsZTogU2NoZWR1bGUucmF0ZShEdXJhdGlvbi5ob3VycygxKSksXG4gICAgICAgICAgICAgICAgaGFuZGxlcjogYCR7cGFyYW1zLm5hbWV9LmhhbmRsZXJgLFxuICAgICAgICAgICAgfSwgLi4ucGFyYW1zfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc3RhY2tcbiAgICAgKiBAcGFyYW0gcm9sZVxuICAgICAqIEBwYXJhbSBuYW1lIG5hbWUgb2YgdGhlIHR5cGVzY2lwdCBmaWxlIHdpdGhvdXQgLWRiIC1zdWZmaXguIE1heCBsZW4gaXMgMTAgY2hhciBpZiBAcGFyYW0gY2FuYXJ5TmFtZSBpcyBub3QgZ2l2ZW4uXG4gICAgICogQHBhcmFtIHBhcmFtc1xuICAgICAqIEBwYXJhbSBjYW5hcnlOYW1lIE9wdGlvbmFsIG5hbWUgZm9yIGNhbmFyeSBpZiBtdWx0aXBsZSBjYW5hcmllcyBpcyBtYWRlIGZyb20gc2FtZSAke25hbWV9LWRiLnRzIGNhbmFyeSBmaWxlLlxuICAgICAqL1xuICAgIHN0YXRpYyBjcmVhdGVWMihcbiAgICAgICAgc3RhY2s6IERpZ2l0cmFmZmljU3RhY2ssXG4gICAgICAgIHJvbGU6IFJvbGUsXG4gICAgICAgIG5hbWU6IHN0cmluZyxcbiAgICAgICAgcGFyYW1zOiBQYXJ0aWFsPENhbmFyeVBhcmFtZXRlcnM+ID0ge30sXG4gICAgICAgIGNhbmFyeU5hbWU9bmFtZSxcbiAgICApOiBEYXRhYmFzZUNhbmFyeSB7XG4gICAgICAgIHJldHVybiBuZXcgRGF0YWJhc2VDYW5hcnkoc3RhY2ssIHJvbGUsIHN0YWNrLnNlY3JldCxcbiAgICAgICAgICAgIHsuLi57XG4gICAgICAgICAgICAgICAgc2VjcmV0OiBzdGFjay5jb25maWd1cmF0aW9uLnNlY3JldElkLFxuICAgICAgICAgICAgICAgIHNjaGVkdWxlOiBTY2hlZHVsZS5yYXRlKER1cmF0aW9uLmhvdXJzKDEpKSxcbiAgICAgICAgICAgICAgICBoYW5kbGVyOiBgJHtuYW1lfS1kYi5oYW5kbGVyYCxcbiAgICAgICAgICAgICAgICBuYW1lIDogY2FuYXJ5TmFtZSxcbiAgICAgICAgICAgICAgICBhbGFybToge1xuICAgICAgICAgICAgICAgICAgICBhbGFybU5hbWU6IChjYW5hcnlOYW1lID09PSBuYW1lID8gYCR7c3RhY2suY29uZmlndXJhdGlvbi5zaG9ydE5hbWV9LURCLUFsYXJtYCA6IGAke2NhbmFyeU5hbWV9LURCLUFsYXJtYCksXG4gICAgICAgICAgICAgICAgICAgIHRvcGljQXJuOiBzdGFjay5jb25maWd1cmF0aW9uLmFsYXJtVG9waWNBcm4sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sIC4uLnBhcmFtc30pO1xuICAgIH1cbn1cbiJdfQ==
|