cdk-serverless 2.11.27 → 2.12.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/docs/constructs/assets/search.js +1 -1
- package/docs/constructs/classes/CognitoAuthentication.html +16 -1
- package/lib/constructs/asset-cdn.js +11 -1
- package/lib/constructs/authentication.d.ts +2 -0
- package/lib/constructs/authentication.js +13 -5
- package/lib/constructs/graphql.js +5 -1
- package/lib/constructs/rest-api.js +8 -1
- package/lib/projen/core.js +2 -1
- package/lib/projen/datastore.js +4 -1
- package/lib/shared/outputs.d.ts +12 -0
- package/lib/shared/outputs.js +16 -0
- package/lib/tests/index.d.ts +1 -0
- package/lib/tests/index.js +18 -0
- package/lib/tests/integ-test-util.d.ts +40 -0
- package/lib/tests/integ-test-util.js +172 -0
- package/package.json +18 -9
package/lib/projen/datastore.js
CHANGED
|
@@ -29,6 +29,7 @@ const path_1 = require("path");
|
|
|
29
29
|
const pj = __importStar(require("projen"));
|
|
30
30
|
const core_1 = require("./core");
|
|
31
31
|
const lazy_textfile_1 = require("./lazy-textfile");
|
|
32
|
+
const outputs_1 = require("../shared/outputs");
|
|
32
33
|
/**
|
|
33
34
|
* The Datastore construct sets up a DynamoDB single-table design for a serverless project using projen.
|
|
34
35
|
* This construct extends the projen Component to include dependencies and development dependencies required for DynamoDB and provides
|
|
@@ -131,6 +132,7 @@ export const ${typeName}: Model<${typeName}Type> = table.getModel<${typeName}Typ
|
|
|
131
132
|
return `// ${file.marker}
|
|
132
133
|
/* eslint-disable */
|
|
133
134
|
import { AttributeType, ProjectionType } from 'aws-cdk-lib/aws-dynamodb';
|
|
135
|
+
import { CfnOutput } from 'aws-cdk-lib';
|
|
134
136
|
import { Construct } from 'constructs';
|
|
135
137
|
import { SingleTableDatastore, SingleTableDatastoreProps } from '${core_1.PACKAGE_NAME}/lib/constructs';
|
|
136
138
|
|
|
@@ -177,10 +179,11 @@ export class ${this.options.modelName}Datastore extends SingleTableDatastore {
|
|
|
177
179
|
],
|
|
178
180
|
}
|
|
179
181
|
});
|
|
182
|
+
new CfnOutput(this, '${this.options.modelName}${outputs_1.CFN_OUTPUT_SUFFIX_DATASTORE_TABLENAME}', { value: this.table.tableName });
|
|
180
183
|
}
|
|
181
184
|
|
|
182
185
|
}`;
|
|
183
186
|
}
|
|
184
187
|
}
|
|
185
188
|
exports.Datastore = Datastore;
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb2plbi9kYXRhc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx1Q0FBeUI7QUFDekIsK0JBQTRCO0FBRTVCLDJDQUE2QjtBQUM3QixpQ0FBc0M7QUFDdEMsbURBQStDO0FBTy9DOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFhLFNBQVUsU0FBUSxFQUFFLENBQUMsU0FBUztJQUV6QyxZQUFZLEdBQWtDLEVBQVksT0FBeUI7UUFDakYsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRDZDLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBR2pGLEdBQUcsQ0FBQyxPQUFPLENBQ1QsbUJBQW1CLEVBQ25CLDBCQUEwQixFQUMxQix1QkFBdUIsRUFDdkIsTUFBTSxDQUNQLENBQUM7UUFDRixHQUFHLENBQUMsVUFBVSxDQUNaLGFBQWEsQ0FDZCxDQUFDO1FBRUYsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUU7WUFDM0QsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUM7Z0JBQ3ZCLE1BQU0sRUFBRSxnQkFBZ0I7Z0JBQ3hCLE9BQU8sRUFBRSxPQUFPO2dCQUNoQixPQUFPLEVBQUU7b0JBQ1AsT0FBTyxFQUFFO3dCQUNQLElBQUksRUFBRSxJQUFJO3dCQUNWLElBQUksRUFBRSxJQUFJO3FCQUNYO2lCQUNGO2dCQUNELE1BQU0sRUFBRTtvQkFDTixJQUFJLEVBQUU7d0JBQ0osRUFBRSxFQUFFOzRCQUNGLElBQUksRUFBRSxRQUFROzRCQUNkLFFBQVEsRUFBRSxJQUFJOzRCQUNkLEtBQUssRUFBRSxjQUFjO3lCQUN0Qjt3QkFDRCxFQUFFLEVBQUU7NEJBQ0YsSUFBSSxFQUFFLFFBQVE7NEJBQ2QsUUFBUSxFQUFFLElBQUk7NEJBQ2Qs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RSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN4RyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQzs7O1lBR2IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDOzBCQUNsRixHQUFHOzt1QkFFTixJQUFJLENBQUMsSUFBSTs7OzZDQUdhLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVM7Y0FDMUYsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN4RyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQzs7Ozs7O0VBTXZCLENBQUM7SUFDRCxDQUFDO0NBRUY7QUE5SkQsOEJBOEpDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHsgam9pbiB9IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgT25lU2NoZW1hIH0gZnJvbSAnZHluYW1vZGItb25ldGFibGUnO1xuaW1wb3J0ICogYXMgcGogZnJvbSAncHJvamVuJztcbmltcG9ydCB7IFBBQ0tBR0VfTkFNRSB9IGZyb20gJy4vY29yZSc7XG5pbXBvcnQgeyBMYXp5VGV4dEZpbGUgfSBmcm9tICcuL2xhenktdGV4dGZpbGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFzdG9yZU9wdGlvbnMge1xuICByZWFkb25seSBtb2RlbE5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgZGVmaW5pdGlvbkZpbGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgRGF0YXN0b3JlIGNvbnN0cnVjdCBzZXRzIHVwIGEgRHluYW1vREIgc2luZ2xlLXRhYmxlIGRlc2lnbiBmb3IgYSBzZXJ2ZXJsZXNzIHByb2plY3QgdXNpbmcgcHJvamVuLlxuICogVGhpcyBjb25zdHJ1Y3QgZXh0ZW5kcyB0aGUgcHJvamVuIENvbXBvbmVudCB0byBpbmNsdWRlIGRlcGVuZGVuY2llcyBhbmQgZGV2ZWxvcG1lbnQgZGVwZW5kZW5jaWVzIHJlcXVpcmVkIGZvciBEeW5hbW9EQiBhbmQgcHJvdmlkZXNcbiAqIG1ldGhvZHMgdG8gZ2VuZXJhdGUgbW9kZWwgYW5kIGNvbnN0cnVjdCBmaWxlcyBiYXNlZCBvbiBhIHNjaGVtYSBkZWZpbml0aW9uIGZpbGUuXG4gKlxuICogQGV4YW1wbGVcbiAqIGNvbnN0IGRhdGFzdG9yZSA9IG5ldyBEYXRhc3RvcmUoYXBwLCB7XG4gKiAgIG1vZGVsTmFtZTogJ1VzZXInLFxuICogICBkZWZpbml0aW9uRmlsZTogJ3NyYy9tb2RlbHMvdXNlci5zY2hlbWEuanNvbicsXG4gKiB9KTtcbiAqL1xuZXhwb3J0IGNsYXNzIERhdGFzdG9yZSBleHRlbmRzIHBqLkNvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IoYXBwOiBwai5hd3NjZGsuQXdzQ2RrVHlwZVNjcmlwdEFwcCwgcHJvdGVjdGVkIG9wdGlvbnM6IERhdGFzdG9yZU9wdGlvbnMpIHtcbiAgICBzdXBlcihhcHApO1xuXG4gICAgYXBwLmFkZERlcHMoXG4gICAgICAnZHluYW1vZGItb25ldGFibGUnLFxuICAgICAgJ0Bhd3Mtc2RrL2NsaWVudC1keW5hbW9kYicsXG4gICAgICAnQGF3cy1zZGsvbGliLWR5bmFtb2RiJyxcbiAgICAgICd1dWlkJyxcbiAgICApO1xuICAgIGFwcC5hZGREZXZEZXBzKFxuICAgICAgJ0B0eXBlcy91dWlkJyxcbiAgICApO1xuXG4gICAgbmV3IHBqLlNhbXBsZUZpbGUodGhpcy5wcm9qZWN0LCB0aGlzLm9wdGlvbnMuZGVmaW5pdGlvbkZpbGUsIHtcbiAgICAgIGNvbnRlbnRzOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIGZvcm1hdDogJ29uZXRhYmxlOjEuMC4wJyxcbiAgICAgICAgdmVyc2lvbjogJzAuMS4wJyxcbiAgICAgICAgaW5kZXhlczoge1xuICAgICAgICAgIHByaW1hcnk6IHtcbiAgICAgICAgICAgIGhhc2g6ICdQSycsXG4gICAgICAgICAgICBzb3J0OiAnU0snLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIG1vZGVsczoge1xuICAgICAgICAgIFVzZXI6IHtcbiAgICAgICAgICAgIFBLOiB7XG4gICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgdmFsdWU6ICdVc2VyIyR7bmFtZX0nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFNLOiB7XG4gICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgdmFsdWU6ICdVc2VyIyR7bmFtZX0nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG5hbWU6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICBuZXcgTGF6eVRleHRGaWxlKHRoaXMucHJvamVjdCwgYHNyYy9nZW5lcmF0ZWQvZGF0YXN0b3JlLiR7dGhpcy5vcHRpb25zLm1vZGVsTmFtZS50b0xvd2VyQ2FzZSgpfS1tb2RlbC5nZW5lcmF0ZWQudHNgLCB7IGNvbnRlbnQ6IHRoaXMuY3JlYXRlTW9kZWxGaWxlLmJpbmQodGhpcykgfSk7XG4gICAgbmV3IExhenlUZXh0RmlsZSh0aGlzLnByb2plY3QsIGBzcmMvZ2VuZXJhdGVkL2RhdGFzdG9yZS4ke3RoaXMub3B0aW9ucy5tb2RlbE5hbWUudG9Mb3dlckNhc2UoKX0tY29uc3RydWN0LmdlbmVyYXRlZC50c2AsIHsgY29udGVudDogdGhpcy5jcmVhdGVDb25zdHJ1Y3RGaWxlLmJpbmQodGhpcykgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlTW9kZWxGaWxlKGZpbGU6IHBqLkZpbGVCYXNlKTogc3RyaW5nIHtcbiAgICBjb25zdCBtb2RlbCA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKGpvaW4odGhpcy5wcm9qZWN0Lm91dGRpciwgdGhpcy5vcHRpb25zLmRlZmluaXRpb25GaWxlKSkudG9TdHJpbmcoKSkgYXMgT25lU2NoZW1hO1xuXG4gICAgcmV0dXJuIGAvLyAke2ZpbGUubWFya2VyfVxuLyogZXNsaW50LWRpc2FibGUgKi9cbmltcG9ydCB7IE1vZGVsLCBUYWJsZSwgRW50aXR5IH0gZnJvbSAnZHluYW1vZGItb25ldGFibGUnO1xuaW1wb3J0IHsgZW52IH0gZnJvbSAncHJvY2Vzcyc7XG5pbXBvcnQgeyBEeW5hbW8gfSBmcm9tICdkeW5hbW9kYi1vbmV0YWJsZS9EeW5hbW8nO1xuaW1wb3J0IHsgRHluYW1vREJDbGllbnQgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtZHluYW1vZGInO1xuXG5leHBvcnQgY29uc3QgZHluYW1vQ2xpZW50ID0gbmV3IER5bmFtbyh7IGNsaWVudDogbmV3IER5bmFtb0RCQ2xpZW50KHt9KSB9KVxuZXhwb3J0IGNvbnN0IFRBQkxFX05BTUU6IHN0cmluZyA9IGVudi5UQUJMRSE7XG5cbiR7T2JqZWN0LmVudHJpZXMobW9kZWwuaW5kZXhlcykubWFwKChbaWR4LCBkYXRhXSkgPT4gYGV4cG9ydCBjb25zdCBJbmRleF8ke2lkeH1fTmFtZSA9ICcke2lkeH0nO1xuZXhwb3J0IGNvbnN0IEluZGV4XyR7aWR4fV9IYXNoS2V5ID0gJyR7ZGF0YS5oYXNofSc7XG5leHBvcnQgY29uc3QgSW5kZXhfJHtpZHh9X1NvcnRLZXkgPSAnJHtkYXRhLnNvcnR9JztcbmApLmpvaW4oJ1xcbicpfVxuXG5leHBvcnQgY29uc3QgU2NoZW1hID0gJHt0aGlzLnN0cmluZ2lmeU1vZGVsKG1vZGVsKX07XG5cbmV4cG9ydCBjb25zdCB0YWJsZSA9IG5ldyBUYWJsZSh7XG4gIGNsaWVudDogZHluYW1vQ2xpZW50LFxuICBuYW1lOiBUQUJMRV9OQU1FLFxuICBzY2hlbWE6IFNjaGVtYSxcbiAgaXNvRGF0ZXM6IHRydWUsXG4gIC8vIGxvZ2dlcjogdHJ1ZSxcbiAgaGlkZGVuOiBmYWxzZSxcbn0pO1xuXG4ke09iamVjdC5lbnRyaWVzKG1vZGVsLm1vZGVscykubWFwKChbdHlwZU5hbWUsIF9dKSA9PiBgZXhwb3J0IHR5cGUgJHt0eXBlTmFtZX1UeXBlID0gRW50aXR5PHR5cGVvZiBTY2hlbWEubW9kZWxzLiR7dHlwZU5hbWV9PjtcbmV4cG9ydCBjb25zdCAke3R5cGVOYW1lfTogTW9kZWw8JHt0eXBlTmFtZX1UeXBlPiA9IHRhYmxlLmdldE1vZGVsPCR7dHlwZU5hbWV9VHlwZT4oJyR7dHlwZU5hbWV9Jyk7XG5gKS5qb2luKCdcXG4nKX1cblxuYDtcbiAgfVxuXG4gIHByaXZhdGUgc3RyaW5naWZ5TW9kZWwobW9kZWw6IE9uZVNjaGVtYSkge1xuICAgIC8vIGFycmF5LCBiaW5hcnksIGJvb2xlYW4sICAgICAgICAgZGF0ZSwgbnVtYmVyLCBvYmplY3QsIHNldCwgc3RyaW5nXG4gICAgLy8gQXJyYXksIEJpbmFyeSwgQm9vbGVhbiwgQnVmZmVyLCBEYXRlLCBOdW1iZXIsIE9iamVjdCwgU2V0LCBTdHJpbmdcblxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShtb2RlbCwgbnVsbCwgMilcbiAgICAgIC5yZXBsYWNlKC9cInR5cGVcIjogXCJhcnJheVwiL2csICdcInR5cGVcIjogQXJyYXknKVxuICAgICAgLnJlcGxhY2UoL1widHlwZVwiOiBcImJpbmFyeVwiL2csICdcInR5cGVcIjogQmluYXJ5JylcbiAgICAgIC5yZXBsYWNlKC9cInR5cGVcIjogXCJib29sZWFuXCIvZywgJ1widHlwZVwiOiBCb29sZWFuJylcbiAgICAgIC5yZXBsYWNlKC9cInR5cGVcIjogXCJkYXRlXCIvZywgJ1widHlwZVwiOiBEYXRlJylcbiAgICAgIC5yZXBsYWNlKC9cInR5cGVcIjogXCJudW1iZXJcIi9nLCAnXCJ0eXBlXCI6IE51bWJlcicpXG4gICAgICAucmVwbGFjZSgvXCJ0eXBlXCI6IFwib2JqZWN0XCIvZywgJ1widHlwZVwiOiBPYmplY3QnKVxuICAgICAgLnJlcGxhY2UoL1widHlwZVwiOiBcInNldFwiL2csICdcInR5cGVcIjogU2V0JylcbiAgICAgIC5yZXBsYWNlKC9cInR5cGVcIjogXCJzdHJpbmdcIi9nLCAnXCJ0eXBlXCI6IFN0cmluZycpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZUNvbnN0cnVjdEZpbGUoZmlsZTogcGouRmlsZUJhc2UpOiBzdHJpbmcge1xuICAgIGNvbnN0IG1vZGVsID0gSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMoam9pbih0aGlzLnByb2plY3Qub3V0ZGlyLCB0aGlzLm9wdGlvbnMuZGVmaW5pdGlvbkZpbGUpKS50b1N0cmluZygpKSBhcyBPbmVTY2hlbWE7XG5cbiAgICByZXR1cm4gYC8vICR7ZmlsZS5tYXJrZXJ9XG4vKiBlc2xpbnQtZGlzYWJsZSAqL1xuaW1wb3J0IHsgQXR0cmlidXRlVHlwZSwgUHJvamVjdGlvblR5cGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZHluYW1vZGInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBTaW5nbGVUYWJsZURhdGFzdG9yZSwgU2luZ2xlVGFibGVEYXRhc3RvcmVQcm9wcyB9IGZyb20gJyR7UEFDS0FHRV9OQU1FfS9saWIvY29uc3RydWN0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgJHt0aGlzLm9wdGlvbnMubW9kZWxOYW1lfURhdGFzdG9yZVByb3BzIGV4dGVuZHMgT21pdDxTaW5nbGVUYWJsZURhdGFzdG9yZVByb3BzLCAnZGVzaWduJz4ge1xuICAvL1xufVxuXG5leHBvcnQgY2xhc3MgJHt0aGlzLm9wdGlvbnMubW9kZWxOYW1lfURhdGFzdG9yZSBleHRlbmRzIFNpbmdsZVRhYmxlRGF0YXN0b3JlIHtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogJHt0aGlzLm9wdGlvbnMubW9kZWxOYW1lfURhdGFzdG9yZVByb3BzID0ge30pIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgZGVzaWduOiB7XG4gICAgICAgIHByaW1hcnlLZXk6IHtcbiAgICAgICAgICBwYXJ0aXRpb25LZXk6ICcke21vZGVsLmluZGV4ZXMucHJpbWFyeS5oYXNofScsXG4gICAgICAgICAgJHttb2RlbC5pbmRleGVzLnByaW1hcnkuc29ydCA/IGBzb3J0S2V5OiAnJHttb2RlbC5pbmRleGVzLnByaW1hcnkuc29ydH0nLGAgOiAnJ31cbiAgICAgICAgfSxcbiAgICAgICAgLy8gdGltZVRvTGl2ZUF0dHJpYnV0ZTogJ1RPRE8nLFxuICAgICAgICBnbG9iYWxJbmRleGVzOiBbXG4gICAgICAgICAgJHtPYmplY3QuZW50cmllcyhtb2RlbC5pbmRleGVzKS5maWx0ZXIoKFtpZHgsIGRhdGFdKSA9PiBpZHggIT09ICdwcmltYXJ5JyAmJiBkYXRhLnR5cGUgIT09ICdsb2NhbCcpLm1hcCgoW2lkeCwgZGF0YV0pID0+IGB7XG4gICAgICAgICAgICBpbmRleE5hbWU6ICcke2lkeH0nLFxuICAgICAgICAgICAgcGFydGl0aW9uS2V5OiB7XG4gICAgICAgICAgICAgIG5hbWU6ICcke2RhdGEuaGFzaH0nLFxuICAgICAgICAgICAgICB0eXBlOiBBdHRyaWJ1dGVUeXBlLlNUUklORyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAke2RhdGEuc29ydCA/IGBzb3J0S2V5OiB7XG4gICAgICAgICAgICAgIG5hbWU6ICcke2RhdGEuc29ydH0nLFxuICAgICAgICAgICAgICB0eXBlOiBBdHRyaWJ1dGVUeXBlLlNUUklORyxcbiAgICAgICAgICAgIH0sYCA6ICcnfVxuICAgICAgICAgICAgcHJvamVjdGlvblR5cGU6IFByb2plY3Rpb25UeXBlLiR7dHlwZW9mIGRhdGEucHJvamVjdCA9PT0gJ3N0cmluZycgPyBkYXRhLnByb2plY3QudG9VcHBlckNhc2UoKSA6ICdJTkNMVURFJ30sXG4gICAgICAgICAgICAke0FycmF5LmlzQXJyYXkoZGF0YS5wcm9qZWN0KSA/IGBub25LZXlBdHRyaWJ1dGVzOiBbJHtkYXRhLnByb2plY3QubWFwKGUgPT4gYCcke2V9J2ApLmpvaW4oJywnKX1dLGAgOiAnJ31cbiAgICAgICAgICB9YCkuam9pbignLFxcbicpfVxuICAgICAgICBdLFxuICAgICAgICBsb2NhbEluZGV4ZXM6IFtcbiAgICAgICAgICAke09iamVjdC5lbnRyaWVzKG1vZGVsLmluZGV4ZXMpLmZpbHRlcigoW18sIGRhdGFdKSA9PiBkYXRhLnR5cGUgPT09ICdsb2NhbCcpLm1hcCgoW2lkeCwgZGF0YV0pID0+IGB7XG4gICAgICAgICAgICBpbmRleE5hbWU6ICcke2lkeH0nLFxuICAgICAgICAgICAgc29ydEtleToge1xuICAgICAgICAgICAgICBuYW1lOiAnJHtkYXRhLnNvcnR9JyxcbiAgICAgICAgICAgICAgdHlwZTogQXR0cmlidXRlVHlwZS5TVFJJTkcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcHJvamVjdGlvblR5cGU6IFByb2plY3Rpb25UeXBlLiR7dHlwZW9mIGRhdGEucHJvamVjdCA9PT0gJ3N0cmluZycgPyBkYXRhLnByb2plY3QgOiAnSU5DTFVERSd9LFxuICAgICAgICAgICAgJHtBcnJheS5pc0FycmF5KGRhdGEucHJvamVjdCkgPyBgbm9uS2V5QXR0cmlidXRlczogWyR7ZGF0YS5wcm9qZWN0Lm1hcChlID0+IGAnJHtlfSdgKS5qb2luKCcsJyl9XSxgIDogJyd9XG4gICAgICAgICAgfWApLmpvaW4oJyxcXG4nKX1cbiAgICAgICAgXSxcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG59YDtcbiAgfVxuXG59Il19
|
|
189
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb2plbi9kYXRhc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx1Q0FBeUI7QUFDekIsK0JBQTRCO0FBRTVCLDJDQUE2QjtBQUM3QixpQ0FBc0M7QUFDdEMsbURBQStDO0FBQy9DLCtDQUEwRTtBQU8xRTs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBYSxTQUFVLFNBQVEsRUFBRSxDQUFDLFNBQVM7SUFFekMsWUFBWSxHQUFrQyxFQUFZLE9BQXlCO1FBQ2pGLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUQ2QyxZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQUdqRixHQUFHLENBQUMsT0FBTyxDQUNULG1CQUFtQixFQUNuQiwwQkFBMEIsRUFDMUIsdUJBQXVCLEVBQ3ZCLE1BQU0sQ0FDUCxDQUFDO1FBQ0YsR0FBRyxDQUFDLFVBQVUsQ0FDWixhQUFhLENBQ2QsQ0FBQztRQUVGLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFO1lBQzNELFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDO2dCQUN2QixNQUFNLEVBQUUsZ0JBQWdCO2dCQUN4QixPQUFPLEVBQUUsT0FBTztnQkFDaEIsT0FBTyxFQUFFO29CQUNQLE9BQU8sRUFBRTt3QkFDUCxJQUFJLEVBQUUsSUFBSTt3QkFDVixJQUFJLEVBQUUsSUFBSTtxQkFDWDtpQkFDRjtnQkFDRCxNQUFNLEVBQUU7b0JBQ04sSUFBSSxFQUFFO3dCQUNKLEVBQUUsRUFBRTs0QkFDRixJQUFJLEVBQUUsUUFBUTs0QkFDZCxRQUFRLEVBQUUsSUFBSTs0QkFDZCxLQUFLLEVBQUUsY0FBYzt5QkFDdEI7d0JBQ0QsRUFBRSxFQUFFOzRCQUNGLElBQUksRUFBRSxRQUFROzRCQUNkLFFBQVEsRUFB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LENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3hHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDOzs7WUFHYixNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7MEJBQ2xGLEdBQUc7O3VCQUVOLElBQUksQ0FBQyxJQUFJOzs7NkNBR2EsT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUztjQUMxRixLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsc0JBQXNCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3hHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDOzs7OzJCQUlFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLCtDQUFxQzs7O0VBR3ZGLENBQUM7SUFDRCxDQUFDO0NBRUY7QUFoS0QsOEJBZ0tDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHsgam9pbiB9IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgT25lU2NoZW1hIH0gZnJvbSAnZHluYW1vZGItb25ldGFibGUnO1xuaW1wb3J0ICogYXMgcGogZnJvbSAncHJvamVuJztcbmltcG9ydCB7IFBBQ0tBR0VfTkFNRSB9IGZyb20gJy4vY29yZSc7XG5pbXBvcnQgeyBMYXp5VGV4dEZpbGUgfSBmcm9tICcuL2xhenktdGV4dGZpbGUnO1xuaW1wb3J0IHsgQ0ZOX09VVFBVVF9TVUZGSVhfREFUQVNUT1JFX1RBQkxFTkFNRSB9IGZyb20gJy4uL3NoYXJlZC9vdXRwdXRzJztcblxuZXhwb3J0IGludGVyZmFjZSBEYXRhc3RvcmVPcHRpb25zIHtcbiAgcmVhZG9ubHkgbW9kZWxOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRlZmluaXRpb25GaWxlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogVGhlIERhdGFzdG9yZSBjb25zdHJ1Y3Qgc2V0cyB1cCBhIER5bmFtb0RCIHNpbmdsZS10YWJsZSBkZXNpZ24gZm9yIGEgc2VydmVybGVzcyBwcm9qZWN0IHVzaW5nIHByb2plbi5cbiAqIFRoaXMgY29uc3RydWN0IGV4dGVuZHMgdGhlIHByb2plbiBDb21wb25lbnQgdG8gaW5jbHVkZSBkZXBlbmRlbmNpZXMgYW5kIGRldmVsb3BtZW50IGRlcGVuZGVuY2llcyByZXF1aXJlZCBmb3IgRHluYW1vREIgYW5kIHByb3ZpZGVzXG4gKiBtZXRob2RzIHRvIGdlbmVyYXRlIG1vZGVsIGFuZCBjb25zdHJ1Y3QgZmlsZXMgYmFzZWQgb24gYSBzY2hlbWEgZGVmaW5pdGlvbiBmaWxlLlxuICpcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBkYXRhc3RvcmUgPSBuZXcgRGF0YXN0b3JlKGFwcCwge1xuICogICBtb2RlbE5hbWU6ICdVc2VyJyxcbiAqICAgZGVmaW5pdGlvbkZpbGU6ICdzcmMvbW9kZWxzL3VzZXIuc2NoZW1hLmpzb24nLFxuICogfSk7XG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRhc3RvcmUgZXh0ZW5kcyBwai5Db21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKGFwcDogcGouYXdzY2RrLkF3c0Nka1R5cGVTY3JpcHRBcHAsIHByb3RlY3RlZCBvcHRpb25zOiBEYXRhc3RvcmVPcHRpb25zKSB7XG4gICAgc3VwZXIoYXBwKTtcblxuICAgIGFwcC5hZGREZXBzKFxuICAgICAgJ2R5bmFtb2RiLW9uZXRhYmxlJyxcbiAgICAgICdAYXdzLXNkay9jbGllbnQtZHluYW1vZGInLFxuICAgICAgJ0Bhd3Mtc2RrL2xpYi1keW5hbW9kYicsXG4gICAgICAndXVpZCcsXG4gICAgKTtcbiAgICBhcHAuYWRkRGV2RGVwcyhcbiAgICAgICdAdHlwZXMvdXVpZCcsXG4gICAgKTtcblxuICAgIG5ldyBwai5TYW1wbGVGaWxlKHRoaXMucHJvamVjdCwgdGhpcy5vcHRpb25zLmRlZmluaXRpb25GaWxlLCB7XG4gICAgICBjb250ZW50czogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICBmb3JtYXQ6ICdvbmV0YWJsZToxLjAuMCcsXG4gICAgICAgIHZlcnNpb246ICcwLjEuMCcsXG4gICAgICAgIGluZGV4ZXM6IHtcbiAgICAgICAgICBwcmltYXJ5OiB7XG4gICAgICAgICAgICBoYXNoOiAnUEsnLFxuICAgICAgICAgICAgc29ydDogJ1NLJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBtb2RlbHM6IHtcbiAgICAgICAgICBVc2VyOiB7XG4gICAgICAgICAgICBQSzoge1xuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICAgIHZhbHVlOiAnVXNlciMke25hbWV9JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBTSzoge1xuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICAgIHZhbHVlOiAnVXNlciMke25hbWV9JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBuYW1lOiB7XG4gICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgIH0pO1xuXG4gICAgbmV3IExhenlUZXh0RmlsZSh0aGlzLnByb2plY3QsIGBzcmMvZ2VuZXJhdGVkL2RhdGFzdG9yZS4ke3RoaXMub3B0aW9ucy5tb2RlbE5hbWUudG9Mb3dlckNhc2UoKX0tbW9kZWwuZ2VuZXJhdGVkLnRzYCwgeyBjb250ZW50OiB0aGlzLmNyZWF0ZU1vZGVsRmlsZS5iaW5kKHRoaXMpIH0pO1xuICAgIG5ldyBMYXp5VGV4dEZpbGUodGhpcy5wcm9qZWN0LCBgc3JjL2dlbmVyYXRlZC9kYXRhc3RvcmUuJHt0aGlzLm9wdGlvbnMubW9kZWxOYW1lLnRvTG93ZXJDYXNlKCl9LWNvbnN0cnVjdC5nZW5lcmF0ZWQudHNgLCB7IGNvbnRlbnQ6IHRoaXMuY3JlYXRlQ29uc3RydWN0RmlsZS5iaW5kKHRoaXMpIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZU1vZGVsRmlsZShmaWxlOiBwai5GaWxlQmFzZSk6IHN0cmluZyB7XG4gICAgY29uc3QgbW9kZWwgPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhqb2luKHRoaXMucHJvamVjdC5vdXRkaXIsIHRoaXMub3B0aW9ucy5kZWZpbml0aW9uRmlsZSkpLnRvU3RyaW5nKCkpIGFzIE9uZVNjaGVtYTtcblxuICAgIHJldHVybiBgLy8gJHtmaWxlLm1hcmtlcn1cbi8qIGVzbGludC1kaXNhYmxlICovXG5pbXBvcnQgeyBNb2RlbCwgVGFibGUsIEVudGl0eSB9IGZyb20gJ2R5bmFtb2RiLW9uZXRhYmxlJztcbmltcG9ydCB7IGVudiB9IGZyb20gJ3Byb2Nlc3MnO1xuaW1wb3J0IHsgRHluYW1vIH0gZnJvbSAnZHluYW1vZGItb25ldGFibGUvRHluYW1vJztcbmltcG9ydCB7IER5bmFtb0RCQ2xpZW50IH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWR5bmFtb2RiJztcblxuZXhwb3J0IGNvbnN0IGR5bmFtb0NsaWVudCA9IG5ldyBEeW5hbW8oeyBjbGllbnQ6IG5ldyBEeW5hbW9EQkNsaWVudCh7fSkgfSlcbmV4cG9ydCBjb25zdCBUQUJMRV9OQU1FOiBzdHJpbmcgPSBlbnYuVEFCTEUhO1xuXG4ke09iamVjdC5lbnRyaWVzKG1vZGVsLmluZGV4ZXMpLm1hcCgoW2lkeCwgZGF0YV0pID0+IGBleHBvcnQgY29uc3QgSW5kZXhfJHtpZHh9X05hbWUgPSAnJHtpZHh9JztcbmV4cG9ydCBjb25zdCBJbmRleF8ke2lkeH1fSGFzaEtleSA9ICcke2RhdGEuaGFzaH0nO1xuZXhwb3J0IGNvbnN0IEluZGV4XyR7aWR4fV9Tb3J0S2V5ID0gJyR7ZGF0YS5zb3J0fSc7XG5gKS5qb2luKCdcXG4nKX1cblxuZXhwb3J0IGNvbnN0IFNjaGVtYSA9ICR7dGhpcy5zdHJpbmdpZnlNb2RlbChtb2RlbCl9O1xuXG5leHBvcnQgY29uc3QgdGFibGUgPSBuZXcgVGFibGUoe1xuICBjbGllbnQ6IGR5bmFtb0NsaWVudCxcbiAgbmFtZTogVEFCTEVfTkFNRSxcbiAgc2NoZW1hOiBTY2hlbWEsXG4gIGlzb0RhdGVzOiB0cnVlLFxuICAvLyBsb2dnZXI6IHRydWUsXG4gIGhpZGRlbjogZmFsc2UsXG59KTtcblxuJHtPYmplY3QuZW50cmllcyhtb2RlbC5tb2RlbHMpLm1hcCgoW3R5cGVOYW1lLCBfXSkgPT4gYGV4cG9ydCB0eXBlICR7dHlwZU5hbWV9VHlwZSA9IEVudGl0eTx0eXBlb2YgU2NoZW1hLm1vZGVscy4ke3R5cGVOYW1lfT47XG5leHBvcnQgY29uc3QgJHt0eXBlTmFtZX06IE1vZGVsPCR7dHlwZU5hbWV9VHlwZT4gPSB0YWJsZS5nZXRNb2RlbDwke3R5cGVOYW1lfVR5cGU+KCcke3R5cGVOYW1lfScpO1xuYCkuam9pbignXFxuJyl9XG5cbmA7XG4gIH1cblxuICBwcml2YXRlIHN0cmluZ2lmeU1vZGVsKG1vZGVsOiBPbmVTY2hlbWEpIHtcbiAgICAvLyBhcnJheSwgYmluYXJ5LCBib29sZWFuLCAgICAgICAgIGRhdGUsIG51bWJlciwgb2JqZWN0LCBzZXQsIHN0cmluZ1xuICAgIC8vIEFycmF5LCBCaW5hcnksIEJvb2xlYW4sIEJ1ZmZlciwgRGF0ZSwgTnVtYmVyLCBPYmplY3QsIFNldCwgU3RyaW5nXG5cbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkobW9kZWwsIG51bGwsIDIpXG4gICAgICAucmVwbGFjZSgvXCJ0eXBlXCI6IFwiYXJyYXlcIi9nLCAnXCJ0eXBlXCI6IEFycmF5JylcbiAgICAgIC5yZXBsYWNlKC9cInR5cGVcIjogXCJiaW5hcnlcIi9nLCAnXCJ0eXBlXCI6IEJpbmFyeScpXG4gICAgICAucmVwbGFjZSgvXCJ0eXBlXCI6IFwiYm9vbGVhblwiL2csICdcInR5cGVcIjogQm9vbGVhbicpXG4gICAgICAucmVwbGFjZSgvXCJ0eXBlXCI6IFwiZGF0ZVwiL2csICdcInR5cGVcIjogRGF0ZScpXG4gICAgICAucmVwbGFjZSgvXCJ0eXBlXCI6IFwibnVtYmVyXCIvZywgJ1widHlwZVwiOiBOdW1iZXInKVxuICAgICAgLnJlcGxhY2UoL1widHlwZVwiOiBcIm9iamVjdFwiL2csICdcInR5cGVcIjogT2JqZWN0JylcbiAgICAgIC5yZXBsYWNlKC9cInR5cGVcIjogXCJzZXRcIi9nLCAnXCJ0eXBlXCI6IFNldCcpXG4gICAgICAucmVwbGFjZSgvXCJ0eXBlXCI6IFwic3RyaW5nXCIvZywgJ1widHlwZVwiOiBTdHJpbmcnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVDb25zdHJ1Y3RGaWxlKGZpbGU6IHBqLkZpbGVCYXNlKTogc3RyaW5nIHtcbiAgICBjb25zdCBtb2RlbCA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKGpvaW4odGhpcy5wcm9qZWN0Lm91dGRpciwgdGhpcy5vcHRpb25zLmRlZmluaXRpb25GaWxlKSkudG9TdHJpbmcoKSkgYXMgT25lU2NoZW1hO1xuXG4gICAgcmV0dXJuIGAvLyAke2ZpbGUubWFya2VyfVxuLyogZXNsaW50LWRpc2FibGUgKi9cbmltcG9ydCB7IEF0dHJpYnV0ZVR5cGUsIFByb2plY3Rpb25UeXBlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWR5bmFtb2RiJztcbmltcG9ydCB7IENmbk91dHB1dCB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgU2luZ2xlVGFibGVEYXRhc3RvcmUsIFNpbmdsZVRhYmxlRGF0YXN0b3JlUHJvcHMgfSBmcm9tICcke1BBQ0tBR0VfTkFNRX0vbGliL2NvbnN0cnVjdHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlICR7dGhpcy5vcHRpb25zLm1vZGVsTmFtZX1EYXRhc3RvcmVQcm9wcyBleHRlbmRzIE9taXQ8U2luZ2xlVGFibGVEYXRhc3RvcmVQcm9wcywgJ2Rlc2lnbic+IHtcbiAgLy9cbn1cblxuZXhwb3J0IGNsYXNzICR7dGhpcy5vcHRpb25zLm1vZGVsTmFtZX1EYXRhc3RvcmUgZXh0ZW5kcyBTaW5nbGVUYWJsZURhdGFzdG9yZSB7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6ICR7dGhpcy5vcHRpb25zLm1vZGVsTmFtZX1EYXRhc3RvcmVQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIGRlc2lnbjoge1xuICAgICAgICBwcmltYXJ5S2V5OiB7XG4gICAgICAgICAgcGFydGl0aW9uS2V5OiAnJHttb2RlbC5pbmRleGVzLnByaW1hcnkuaGFzaH0nLFxuICAgICAgICAgICR7bW9kZWwuaW5kZXhlcy5wcmltYXJ5LnNvcnQgPyBgc29ydEtleTogJyR7bW9kZWwuaW5kZXhlcy5wcmltYXJ5LnNvcnR9JyxgIDogJyd9XG4gICAgICAgIH0sXG4gICAgICAgIC8vIHRpbWVUb0xpdmVBdHRyaWJ1dGU6ICdUT0RPJyxcbiAgICAgICAgZ2xvYmFsSW5kZXhlczogW1xuICAgICAgICAgICR7T2JqZWN0LmVudHJpZXMobW9kZWwuaW5kZXhlcykuZmlsdGVyKChbaWR4LCBkYXRhXSkgPT4gaWR4ICE9PSAncHJpbWFyeScgJiYgZGF0YS50eXBlICE9PSAnbG9jYWwnKS5tYXAoKFtpZHgsIGRhdGFdKSA9PiBge1xuICAgICAgICAgICAgaW5kZXhOYW1lOiAnJHtpZHh9JyxcbiAgICAgICAgICAgIHBhcnRpdGlvbktleToge1xuICAgICAgICAgICAgICBuYW1lOiAnJHtkYXRhLmhhc2h9JyxcbiAgICAgICAgICAgICAgdHlwZTogQXR0cmlidXRlVHlwZS5TVFJJTkcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgJHtkYXRhLnNvcnQgPyBgc29ydEtleToge1xuICAgICAgICAgICAgICBuYW1lOiAnJHtkYXRhLnNvcnR9JyxcbiAgICAgICAgICAgICAgdHlwZTogQXR0cmlidXRlVHlwZS5TVFJJTkcsXG4gICAgICAgICAgICB9LGAgOiAnJ31cbiAgICAgICAgICAgIHByb2plY3Rpb25UeXBlOiBQcm9qZWN0aW9uVHlwZS4ke3R5cGVvZiBkYXRhLnByb2plY3QgPT09ICdzdHJpbmcnID8gZGF0YS5wcm9qZWN0LnRvVXBwZXJDYXNlKCkgOiAnSU5DTFVERSd9LFxuICAgICAgICAgICAgJHtBcnJheS5pc0FycmF5KGRhdGEucHJvamVjdCkgPyBgbm9uS2V5QXR0cmlidXRlczogWyR7ZGF0YS5wcm9qZWN0Lm1hcChlID0+IGAnJHtlfSdgKS5qb2luKCcsJyl9XSxgIDogJyd9XG4gICAgICAgICAgfWApLmpvaW4oJyxcXG4nKX1cbiAgICAgICAgXSxcbiAgICAgICAgbG9jYWxJbmRleGVzOiBbXG4gICAgICAgICAgJHtPYmplY3QuZW50cmllcyhtb2RlbC5pbmRleGVzKS5maWx0ZXIoKFtfLCBkYXRhXSkgPT4gZGF0YS50eXBlID09PSAnbG9jYWwnKS5tYXAoKFtpZHgsIGRhdGFdKSA9PiBge1xuICAgICAgICAgICAgaW5kZXhOYW1lOiAnJHtpZHh9JyxcbiAgICAgICAgICAgIHNvcnRLZXk6IHtcbiAgICAgICAgICAgICAgbmFtZTogJyR7ZGF0YS5zb3J0fScsXG4gICAgICAgICAgICAgIHR5cGU6IEF0dHJpYnV0ZVR5cGUuU1RSSU5HLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHByb2plY3Rpb25UeXBlOiBQcm9qZWN0aW9uVHlwZS4ke3R5cGVvZiBkYXRhLnByb2plY3QgPT09ICdzdHJpbmcnID8gZGF0YS5wcm9qZWN0IDogJ0lOQ0xVREUnfSxcbiAgICAgICAgICAgICR7QXJyYXkuaXNBcnJheShkYXRhLnByb2plY3QpID8gYG5vbktleUF0dHJpYnV0ZXM6IFske2RhdGEucHJvamVjdC5tYXAoZSA9PiBgJyR7ZX0nYCkuam9pbignLCcpfV0sYCA6ICcnfVxuICAgICAgICAgIH1gKS5qb2luKCcsXFxuJyl9XG4gICAgICAgIF0sXG4gICAgICB9XG4gICAgfSk7XG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCAnJHt0aGlzLm9wdGlvbnMubW9kZWxOYW1lfSR7Q0ZOX09VVFBVVF9TVUZGSVhfREFUQVNUT1JFX1RBQkxFTkFNRX0nLCB7IHZhbHVlOiB0aGlzLnRhYmxlLnRhYmxlTmFtZSB9KTtcbiAgfVxuXG59YDtcbiAgfVxuXG59Il19
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const CFN_OUTPUT_SUFFIX_RESTAPI_DOMAINNAME = "RestApiDomainName";
|
|
2
|
+
export declare const CFN_OUTPUT_SUFFIX_RESTAPI_URL = "RestApiUrl";
|
|
3
|
+
export declare const CFN_OUTPUT_SUFFIX_GRAPHQL_DOMAINNAME = "GraphQlDomainName";
|
|
4
|
+
export declare const CFN_OUTPUT_SUFFIX_DATASTORE_TABLENAME = "TableName";
|
|
5
|
+
export declare const CFN_OUTPUT_SUFFIX_ASSETCDN_BUCKETNAME = "AssetCdnBucketName";
|
|
6
|
+
export declare const CFN_OUTPUT_SUFFIX_ASSETCDN_DOMAINNAME = "AssetCdnDomainName";
|
|
7
|
+
export declare const CFN_OUTPUT_SUFFIX_ASSETCDN_URL = "AssetCdnUrl";
|
|
8
|
+
export declare const CFN_OUTPUT_SUFFIX_AUTH_USERPOOLID = "UserPoolId";
|
|
9
|
+
export declare const CFN_OUTPUT_SUFFIX_AUTH_USERPOOL_CLIENTID = "UserPoolClientId";
|
|
10
|
+
export declare const CFN_OUTPUT_SUFFIX_AUTH_IDENTITYPOOL_ID = "IdentityPoolId";
|
|
11
|
+
export declare const CFN_OUTPUT_SUFFIX_AUTH_IDENTITYPOOL_AUTH_ROLEARN = "IdentityPoolAuthRoleArn";
|
|
12
|
+
export declare const CFN_OUTPUT_SUFFIX_AUTH_IDENTITYPOOL_UNAUTH_ROLEARN = "IdentityPoolUnAuthRoleArn";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CFN_OUTPUT_SUFFIX_AUTH_IDENTITYPOOL_UNAUTH_ROLEARN = exports.CFN_OUTPUT_SUFFIX_AUTH_IDENTITYPOOL_AUTH_ROLEARN = exports.CFN_OUTPUT_SUFFIX_AUTH_IDENTITYPOOL_ID = exports.CFN_OUTPUT_SUFFIX_AUTH_USERPOOL_CLIENTID = exports.CFN_OUTPUT_SUFFIX_AUTH_USERPOOLID = exports.CFN_OUTPUT_SUFFIX_ASSETCDN_URL = exports.CFN_OUTPUT_SUFFIX_ASSETCDN_DOMAINNAME = exports.CFN_OUTPUT_SUFFIX_ASSETCDN_BUCKETNAME = exports.CFN_OUTPUT_SUFFIX_DATASTORE_TABLENAME = exports.CFN_OUTPUT_SUFFIX_GRAPHQL_DOMAINNAME = exports.CFN_OUTPUT_SUFFIX_RESTAPI_URL = exports.CFN_OUTPUT_SUFFIX_RESTAPI_DOMAINNAME = void 0;
|
|
4
|
+
exports.CFN_OUTPUT_SUFFIX_RESTAPI_DOMAINNAME = 'RestApiDomainName';
|
|
5
|
+
exports.CFN_OUTPUT_SUFFIX_RESTAPI_URL = 'RestApiUrl';
|
|
6
|
+
exports.CFN_OUTPUT_SUFFIX_GRAPHQL_DOMAINNAME = 'GraphQlDomainName';
|
|
7
|
+
exports.CFN_OUTPUT_SUFFIX_DATASTORE_TABLENAME = 'TableName';
|
|
8
|
+
exports.CFN_OUTPUT_SUFFIX_ASSETCDN_BUCKETNAME = 'AssetCdnBucketName';
|
|
9
|
+
exports.CFN_OUTPUT_SUFFIX_ASSETCDN_DOMAINNAME = 'AssetCdnDomainName';
|
|
10
|
+
exports.CFN_OUTPUT_SUFFIX_ASSETCDN_URL = 'AssetCdnUrl';
|
|
11
|
+
exports.CFN_OUTPUT_SUFFIX_AUTH_USERPOOLID = 'UserPoolId';
|
|
12
|
+
exports.CFN_OUTPUT_SUFFIX_AUTH_USERPOOL_CLIENTID = 'UserPoolClientId';
|
|
13
|
+
exports.CFN_OUTPUT_SUFFIX_AUTH_IDENTITYPOOL_ID = 'IdentityPoolId';
|
|
14
|
+
exports.CFN_OUTPUT_SUFFIX_AUTH_IDENTITYPOOL_AUTH_ROLEARN = 'IdentityPoolAuthRoleArn';
|
|
15
|
+
exports.CFN_OUTPUT_SUFFIX_AUTH_IDENTITYPOOL_UNAUTH_ROLEARN = 'IdentityPoolUnAuthRoleArn';
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0cHV0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaGFyZWQvb3V0cHV0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDYSxRQUFBLG9DQUFvQyxHQUFHLG1CQUFtQixDQUFDO0FBQzNELFFBQUEsNkJBQTZCLEdBQUcsWUFBWSxDQUFDO0FBRTdDLFFBQUEsb0NBQW9DLEdBQUcsbUJBQW1CLENBQUM7QUFFM0QsUUFBQSxxQ0FBcUMsR0FBRyxXQUFXLENBQUM7QUFFcEQsUUFBQSxxQ0FBcUMsR0FBRyxvQkFBb0IsQ0FBQztBQUM3RCxRQUFBLHFDQUFxQyxHQUFHLG9CQUFvQixDQUFDO0FBQzdELFFBQUEsOEJBQThCLEdBQUcsYUFBYSxDQUFDO0FBRS9DLFFBQUEsaUNBQWlDLEdBQUcsWUFBWSxDQUFDO0FBQ2pELFFBQUEsd0NBQXdDLEdBQUcsa0JBQWtCLENBQUM7QUFDOUQsUUFBQSxzQ0FBc0MsR0FBRyxnQkFBZ0IsQ0FBQztBQUMxRCxRQUFBLGdEQUFnRCxHQUFHLHlCQUF5QixDQUFDO0FBQzdFLFFBQUEsa0RBQWtELEdBQUcsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCBjb25zdCBDRk5fT1VUUFVUX1NVRkZJWF9SRVNUQVBJX0RPTUFJTk5BTUUgPSAnUmVzdEFwaURvbWFpbk5hbWUnO1xuZXhwb3J0IGNvbnN0IENGTl9PVVRQVVRfU1VGRklYX1JFU1RBUElfVVJMID0gJ1Jlc3RBcGlVcmwnO1xuXG5leHBvcnQgY29uc3QgQ0ZOX09VVFBVVF9TVUZGSVhfR1JBUEhRTF9ET01BSU5OQU1FID0gJ0dyYXBoUWxEb21haW5OYW1lJztcblxuZXhwb3J0IGNvbnN0IENGTl9PVVRQVVRfU1VGRklYX0RBVEFTVE9SRV9UQUJMRU5BTUUgPSAnVGFibGVOYW1lJztcblxuZXhwb3J0IGNvbnN0IENGTl9PVVRQVVRfU1VGRklYX0FTU0VUQ0ROX0JVQ0tFVE5BTUUgPSAnQXNzZXRDZG5CdWNrZXROYW1lJztcbmV4cG9ydCBjb25zdCBDRk5fT1VUUFVUX1NVRkZJWF9BU1NFVENETl9ET01BSU5OQU1FID0gJ0Fzc2V0Q2RuRG9tYWluTmFtZSc7XG5leHBvcnQgY29uc3QgQ0ZOX09VVFBVVF9TVUZGSVhfQVNTRVRDRE5fVVJMID0gJ0Fzc2V0Q2RuVXJsJztcblxuZXhwb3J0IGNvbnN0IENGTl9PVVRQVVRfU1VGRklYX0FVVEhfVVNFUlBPT0xJRCA9ICdVc2VyUG9vbElkJztcbmV4cG9ydCBjb25zdCBDRk5fT1VUUFVUX1NVRkZJWF9BVVRIX1VTRVJQT09MX0NMSUVOVElEID0gJ1VzZXJQb29sQ2xpZW50SWQnO1xuZXhwb3J0IGNvbnN0IENGTl9PVVRQVVRfU1VGRklYX0FVVEhfSURFTlRJVFlQT09MX0lEID0gJ0lkZW50aXR5UG9vbElkJztcbmV4cG9ydCBjb25zdCBDRk5fT1VUUFVUX1NVRkZJWF9BVVRIX0lERU5USVRZUE9PTF9BVVRIX1JPTEVBUk4gPSAnSWRlbnRpdHlQb29sQXV0aFJvbGVBcm4nO1xuZXhwb3J0IGNvbnN0IENGTl9PVVRQVVRfU1VGRklYX0FVVEhfSURFTlRJVFlQT09MX1VOQVVUSF9ST0xFQVJOID0gJ0lkZW50aXR5UG9vbFVuQXV0aFJvbGVBcm4nOyJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './integ-test-util';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./integ-test-util"), exports);
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9EQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaW50ZWctdGVzdC11dGlsJzsiXX0=
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { NativeAttributeValue } from '@aws-sdk/lib-dynamodb';
|
|
2
|
+
import { Axios, AxiosRequestConfig } from 'axios';
|
|
3
|
+
export interface IntegTestUtilOptions {
|
|
4
|
+
readonly region: string;
|
|
5
|
+
readonly apiOptions?: {
|
|
6
|
+
readonly baseURL?: string;
|
|
7
|
+
};
|
|
8
|
+
readonly authOptions?: {
|
|
9
|
+
readonly userPoolId?: string;
|
|
10
|
+
readonly userPoolClientId?: string;
|
|
11
|
+
readonly userPoolClientSecret?: string;
|
|
12
|
+
readonly identityPoolId?: string;
|
|
13
|
+
};
|
|
14
|
+
readonly datastoreOptions?: {
|
|
15
|
+
readonly tableName?: string;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export interface CfnOutputConfig {
|
|
19
|
+
readonly region: string;
|
|
20
|
+
readonly apiName: string;
|
|
21
|
+
readonly datastoreName: string;
|
|
22
|
+
}
|
|
23
|
+
export declare function parseCfnOutputs(output: any, stackName: string, config: CfnOutputConfig): IntegTestUtilOptions;
|
|
24
|
+
export declare class IntegTestUtil {
|
|
25
|
+
protected options: IntegTestUtilOptions;
|
|
26
|
+
readonly tableName?: string;
|
|
27
|
+
private apiTokens;
|
|
28
|
+
private itemsToDelete;
|
|
29
|
+
constructor(options: IntegTestUtilOptions);
|
|
30
|
+
getClient(config?: AxiosRequestConfig): Axios;
|
|
31
|
+
getAuthenticatedClient(email: string, password?: string, config?: AxiosRequestConfig): Promise<Axios>;
|
|
32
|
+
initializeItemsToCleanup(): Promise<void>;
|
|
33
|
+
addItemToDeleteAfterTest(key: Record<string, NativeAttributeValue>): Promise<void>;
|
|
34
|
+
cleanupItems(): Promise<void>;
|
|
35
|
+
createUser(email: string, attributes: {
|
|
36
|
+
[key: string]: string;
|
|
37
|
+
}, groups: string[]): Promise<void>;
|
|
38
|
+
removeUser(email: string): Promise<void>;
|
|
39
|
+
protected loginUser(email: string, password: string): Promise<void>;
|
|
40
|
+
}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IntegTestUtil = exports.parseCfnOutputs = void 0;
|
|
4
|
+
const client_cognito_identity_provider_1 = require("@aws-sdk/client-cognito-identity-provider");
|
|
5
|
+
const client_dynamodb_1 = require("@aws-sdk/client-dynamodb");
|
|
6
|
+
const lib_dynamodb_1 = require("@aws-sdk/lib-dynamodb");
|
|
7
|
+
const axios_1 = require("axios");
|
|
8
|
+
const outputs_1 = require("../shared/outputs");
|
|
9
|
+
function parseCfnOutputs(output, stackName, config) {
|
|
10
|
+
const outputs = output[stackName];
|
|
11
|
+
return {
|
|
12
|
+
region: config.region,
|
|
13
|
+
apiOptions: {
|
|
14
|
+
baseURL: outputs[`${config.apiName}${outputs_1.CFN_OUTPUT_SUFFIX_RESTAPI_URL}`],
|
|
15
|
+
},
|
|
16
|
+
authOptions: {
|
|
17
|
+
userPoolId: outputs[outputs_1.CFN_OUTPUT_SUFFIX_AUTH_USERPOOLID],
|
|
18
|
+
userPoolClientId: outputs[outputs_1.CFN_OUTPUT_SUFFIX_AUTH_USERPOOL_CLIENTID],
|
|
19
|
+
identityPoolId: outputs[outputs_1.CFN_OUTPUT_SUFFIX_AUTH_IDENTITYPOOL_ID],
|
|
20
|
+
},
|
|
21
|
+
datastoreOptions: {
|
|
22
|
+
tableName: `${config.datastoreName}${outputs[outputs_1.CFN_OUTPUT_SUFFIX_DATASTORE_TABLENAME]}`,
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
exports.parseCfnOutputs = parseCfnOutputs;
|
|
27
|
+
class IntegTestUtil {
|
|
28
|
+
constructor(options) {
|
|
29
|
+
var _a;
|
|
30
|
+
this.options = options;
|
|
31
|
+
this.apiTokens = {};
|
|
32
|
+
this.itemsToDelete = [];
|
|
33
|
+
process.env.AWS_REGION = options.region;
|
|
34
|
+
process.env.AWS_DEFAULT_REGION = options.region;
|
|
35
|
+
if ((_a = options.datastoreOptions) === null || _a === void 0 ? void 0 : _a.tableName) {
|
|
36
|
+
process.env.TABLE = options.datastoreOptions.tableName;
|
|
37
|
+
this.tableName = options.datastoreOptions.tableName;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
// AUTH
|
|
41
|
+
getClient(config) {
|
|
42
|
+
var _a;
|
|
43
|
+
return new axios_1.Axios({
|
|
44
|
+
baseURL: (_a = this.options.apiOptions) === null || _a === void 0 ? void 0 : _a.baseURL,
|
|
45
|
+
transformResponse: (data) => {
|
|
46
|
+
try {
|
|
47
|
+
return JSON.parse(data);
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
return data;
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
transformRequest: (data) => {
|
|
54
|
+
try {
|
|
55
|
+
return JSON.stringify(data);
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
return data;
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
...config,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
async getAuthenticatedClient(email, password, config) {
|
|
65
|
+
var _a;
|
|
66
|
+
if (!this.apiTokens[email]) {
|
|
67
|
+
if (!password) {
|
|
68
|
+
throw new Error('No password provided; You can only leave password blank for users created by this utility');
|
|
69
|
+
}
|
|
70
|
+
await this.loginUser(email, password);
|
|
71
|
+
}
|
|
72
|
+
return this.getClient({
|
|
73
|
+
headers: {
|
|
74
|
+
Authorization: `Bearer ${this.apiTokens[email]}`,
|
|
75
|
+
...((_a = config === null || config === void 0 ? void 0 : config.headers) !== null && _a !== void 0 ? _a : {}),
|
|
76
|
+
},
|
|
77
|
+
...config,
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
// DATASTORE
|
|
81
|
+
async initializeItemsToCleanup() {
|
|
82
|
+
this.itemsToDelete = [];
|
|
83
|
+
}
|
|
84
|
+
async addItemToDeleteAfterTest(key) {
|
|
85
|
+
this.itemsToDelete.push(key);
|
|
86
|
+
}
|
|
87
|
+
async cleanupItems() {
|
|
88
|
+
const ddb = lib_dynamodb_1.DynamoDBDocumentClient.from(new client_dynamodb_1.DynamoDBClient({ region: this.options.region }));
|
|
89
|
+
for (const item of this.itemsToDelete) {
|
|
90
|
+
try {
|
|
91
|
+
await ddb.send(new lib_dynamodb_1.DeleteCommand({ TableName: this.tableName, Key: item }));
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
console.log(error);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
// AUTH
|
|
99
|
+
async createUser(email, attributes, groups) {
|
|
100
|
+
var _a, _b, _c;
|
|
101
|
+
if (!((_a = this.options.authOptions) === null || _a === void 0 ? void 0 : _a.userPoolId)) {
|
|
102
|
+
throw new Error('No userPoolId configured');
|
|
103
|
+
}
|
|
104
|
+
const randomPassword = Math.random().toString(36).slice(-16);
|
|
105
|
+
const cognitoClient = new client_cognito_identity_provider_1.CognitoIdentityProviderClient({ region: this.options.region });
|
|
106
|
+
await cognitoClient.send(new client_cognito_identity_provider_1.AdminCreateUserCommand({
|
|
107
|
+
UserPoolId: (_b = this.options.authOptions) === null || _b === void 0 ? void 0 : _b.userPoolId,
|
|
108
|
+
Username: email,
|
|
109
|
+
MessageAction: client_cognito_identity_provider_1.MessageActionType.SUPPRESS,
|
|
110
|
+
TemporaryPassword: randomPassword,
|
|
111
|
+
UserAttributes: [{
|
|
112
|
+
Name: 'email',
|
|
113
|
+
Value: email,
|
|
114
|
+
}, {
|
|
115
|
+
Name: 'email_verified',
|
|
116
|
+
Value: 'true',
|
|
117
|
+
},
|
|
118
|
+
...Object.entries(attributes).map((attr) => ({
|
|
119
|
+
Name: attr[0],
|
|
120
|
+
Value: attr[1],
|
|
121
|
+
}))],
|
|
122
|
+
}));
|
|
123
|
+
for (const group of groups) {
|
|
124
|
+
await cognitoClient.send(new client_cognito_identity_provider_1.AdminAddUserToGroupCommand({
|
|
125
|
+
UserPoolId: (_c = this.options.authOptions) === null || _c === void 0 ? void 0 : _c.userPoolId,
|
|
126
|
+
Username: email,
|
|
127
|
+
GroupName: group,
|
|
128
|
+
}));
|
|
129
|
+
}
|
|
130
|
+
await this.loginUser(email, randomPassword);
|
|
131
|
+
}
|
|
132
|
+
async removeUser(email) {
|
|
133
|
+
var _a, _b;
|
|
134
|
+
if (!((_a = this.options.authOptions) === null || _a === void 0 ? void 0 : _a.userPoolId)) {
|
|
135
|
+
throw new Error('No userPoolId configured');
|
|
136
|
+
}
|
|
137
|
+
const cognitoClient = new client_cognito_identity_provider_1.CognitoIdentityProviderClient({ region: this.options.region });
|
|
138
|
+
await cognitoClient.send(new client_cognito_identity_provider_1.AdminDeleteUserCommand({
|
|
139
|
+
UserPoolId: (_b = this.options.authOptions) === null || _b === void 0 ? void 0 : _b.userPoolId,
|
|
140
|
+
Username: email,
|
|
141
|
+
}));
|
|
142
|
+
delete this.apiTokens[email];
|
|
143
|
+
}
|
|
144
|
+
async loginUser(email, password) {
|
|
145
|
+
var _a;
|
|
146
|
+
if (!((_a = this.options.authOptions) === null || _a === void 0 ? void 0 : _a.userPoolClientId)) {
|
|
147
|
+
throw new Error('No userPoolClientId configured');
|
|
148
|
+
}
|
|
149
|
+
const cognitoClient = new axios_1.Axios({
|
|
150
|
+
baseURL: `https://cognito-idp.${this.options.region}.amazonaws.com/`,
|
|
151
|
+
});
|
|
152
|
+
const auth = await cognitoClient.post('/', JSON.stringify({
|
|
153
|
+
AuthParameters: {
|
|
154
|
+
USERNAME: email,
|
|
155
|
+
PASSWORD: password,
|
|
156
|
+
},
|
|
157
|
+
AuthFlow: 'USER_PASSWORD_AUTH',
|
|
158
|
+
ClientId: this.options.authOptions.userPoolClientId,
|
|
159
|
+
}), {
|
|
160
|
+
headers: {
|
|
161
|
+
'Content-Type': 'application/x-amz-json-1.1',
|
|
162
|
+
'X-Amz-Target': 'AWSCognitoIdentityProviderService.InitiateAuth',
|
|
163
|
+
},
|
|
164
|
+
});
|
|
165
|
+
if (auth.status !== axios_1.HttpStatusCode.Ok) {
|
|
166
|
+
throw new Error(`Failed to authenticate user ${email}`);
|
|
167
|
+
}
|
|
168
|
+
this.apiTokens[email] = JSON.parse(auth.data).AuthenticationResult.IdToken;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
exports.IntegTestUtil = IntegTestUtil;
|
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWctdGVzdC11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3RzL2ludGVnLXRlc3QtdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnR0FBeUw7QUFDekwsOERBQTBEO0FBQzFELHdEQUFvRztBQUNwRyxpQ0FBa0U7QUFDbEUsK0NBQThOO0FBK0I5TixTQUFnQixlQUFlLENBQUMsTUFBVyxFQUFFLFNBQWlCLEVBQUUsTUFBdUI7SUFDckYsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xDLE9BQU87UUFDTCxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07UUFDckIsVUFBVSxFQUFFO1lBQ1YsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxPQUFPLEdBQUcsdUNBQTZCLEVBQUUsQ0FBQztTQUN0RTtRQUNELFdBQVcsRUFBRTtZQUNYLFVBQVUsRUFBRSxPQUFPLENBQUMsMkNBQWlDLENBQUM7WUFDdEQsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLGtEQUF3QyxDQUFDO1lBQ25FLGNBQWMsRUFBRSxPQUFPLENBQUMsZ0RBQXNDLENBQUM7U0FDaEU7UUFDRCxnQkFBZ0IsRUFBRTtZQUNoQixTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQywrQ0FBcUMsQ0FBQyxFQUFFO1NBQ3RGO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFoQkQsMENBZ0JDO0FBRUQsTUFBYSxhQUFhO0lBT3hCLFlBQXNCLE9BQTZCOztRQUE3QixZQUFPLEdBQVAsT0FBTyxDQUFzQjtRQUgzQyxjQUFTLEdBQWdDLEVBQUUsQ0FBQztRQUM1QyxrQkFBYSxHQUEyQyxFQUFFLENBQUM7UUFHakUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixHQUFHLE9BQU8sQ0FB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LE1BQU0sSUFBSSxHQUFHLE1BQU0sYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUN4RCxjQUFjLEVBQUU7Z0JBQ2QsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsUUFBUSxFQUFFLFFBQVE7YUFDbkI7WUFDRCxRQUFRLEVBQUUsb0JBQW9CO1lBQzlCLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0I7U0FDcEQsQ0FBQyxFQUFFO1lBQ0YsT0FBTyxFQUFFO2dCQUNQLGNBQWMsRUFBRSw0QkFBNEI7Z0JBQzVDLGNBQWMsRUFBRSxnREFBZ0Q7YUFDakU7U0FDRixDQUFDLENBQUM7UUFDSCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssc0JBQWMsQ0FBQyxFQUFFLEVBQUU7WUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUN6RDtRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDO0lBQzdFLENBQUM7Q0FDRjtBQXhKRCxzQ0F3SkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZG1pbkFkZFVzZXJUb0dyb3VwQ29tbWFuZCwgQWRtaW5DcmVhdGVVc2VyQ29tbWFuZCwgQWRtaW5EZWxldGVVc2VyQ29tbWFuZCwgQ29nbml0b0lkZW50aXR5UHJvdmlkZXJDbGllbnQsIE1lc3NhZ2VBY3Rpb25UeXBlIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWNvZ25pdG8taWRlbnRpdHktcHJvdmlkZXInO1xuaW1wb3J0IHsgRHluYW1vREJDbGllbnQgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtZHluYW1vZGInO1xuaW1wb3J0IHsgRGVsZXRlQ29tbWFuZCwgRHluYW1vREJEb2N1bWVudENsaWVudCwgTmF0aXZlQXR0cmlidXRlVmFsdWUgfSBmcm9tICdAYXdzLXNkay9saWItZHluYW1vZGInO1xuaW1wb3J0IHsgQXhpb3MsIEF4aW9zUmVxdWVzdENvbmZpZywgSHR0cFN0YXR1c0NvZGUgfSBmcm9tICdheGlvcyc7XG5pbXBvcnQgeyBDRk5fT1VUUFVUX1NVRkZJWF9BVVRIX0lERU5USVRZUE9PTF9JRCwgQ0ZOX09VVFBVVF9TVUZGSVhfQVVUSF9VU0VSUE9PTElELCBDRk5fT1VUUFVUX1NVRkZJWF9BVVRIX1VTRVJQT09MX0NMSUVOVElELCBDRk5fT1VUUFVUX1NVRkZJWF9EQVRBU1RPUkVfVEFCTEVOQU1FLCBDRk5fT1VUUFVUX1NVRkZJWF9SRVNUQVBJX1VSTCB9IGZyb20gJy4uL3NoYXJlZC9vdXRwdXRzJztcblxuZXhwb3J0IGludGVyZmFjZSBJbnRlZ1Rlc3RVdGlsT3B0aW9ucyB7XG5cbiAgcmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cbiAgcmVhZG9ubHkgYXBpT3B0aW9ucz86IHtcbiAgICByZWFkb25seSBiYXNlVVJMPzogc3RyaW5nO1xuICB9O1xuXG4gIHJlYWRvbmx5IGF1dGhPcHRpb25zPzoge1xuICAgIHJlYWRvbmx5IHVzZXJQb29sSWQ/OiBzdHJpbmc7XG5cbiAgICByZWFkb25seSB1c2VyUG9vbENsaWVudElkPzogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHVzZXJQb29sQ2xpZW50U2VjcmV0Pzogc3RyaW5nO1xuXG4gICAgcmVhZG9ubHkgaWRlbnRpdHlQb29sSWQ/OiBzdHJpbmc7XG4gIH07XG5cbiAgcmVhZG9ubHkgZGF0YXN0b3JlT3B0aW9ucz86IHtcbiAgICByZWFkb25seSB0YWJsZU5hbWU/OiBzdHJpbmc7XG4gIH07XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDZm5PdXRwdXRDb25maWcge1xuICByZWFkb25seSByZWdpb246IHN0cmluZztcbiAgcmVhZG9ubHkgYXBpTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBkYXRhc3RvcmVOYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUNmbk91dHB1dHMob3V0cHV0OiBhbnksIHN0YWNrTmFtZTogc3RyaW5nLCBjb25maWc6IENmbk91dHB1dENvbmZpZyk6IEludGVnVGVzdFV0aWxPcHRpb25zIHtcbiAgY29uc3Qgb3V0cHV0cyA9IG91dHB1dFtzdGFja05hbWVdO1xuICByZXR1cm4ge1xuICAgIHJlZ2lvbjogY29uZmlnLnJlZ2lvbixcbiAgICBhcGlPcHRpb25zOiB7XG4gICAgICBiYXNlVVJMOiBvdXRwdXRzW2Ake2NvbmZpZy5hcGlOYW1lfSR7Q0ZOX09VVFBVVF9TVUZGSVhfUkVTVEFQSV9VUkx9YF0sXG4gICAgfSxcbiAgICBhdXRoT3B0aW9uczoge1xuICAgICAgdXNlclBvb2xJZDogb3V0cHV0c1tDRk5fT1VUUFVUX1NVRkZJWF9BVVRIX1VTRVJQT09MSURdLFxuICAgICAgdXNlclBvb2xDbGllbnRJZDogb3V0cHV0c1tDRk5fT1VUUFVUX1NVRkZJWF9BVVRIX1VTRVJQT09MX0NMSUVOVElEXSxcbiAgICAgIGlkZW50aXR5UG9vbElkOiBvdXRwdXRzW0NGTl9PVVRQVVRfU1VGRklYX0FVVEhfSURFTlRJVFlQT09MX0lEXSxcbiAgICB9LFxuICAgIGRhdGFzdG9yZU9wdGlvbnM6IHtcbiAgICAgIHRhYmxlTmFtZTogYCR7Y29uZmlnLmRhdGFzdG9yZU5hbWV9JHtvdXRwdXRzW0NGTl9PVVRQVVRfU1VGRklYX0RBVEFTVE9SRV9UQUJMRU5BTUVdfWAsXG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGNsYXNzIEludGVnVGVzdFV0aWwge1xuXG4gIHB1YmxpYyByZWFkb25seSB0YWJsZU5hbWU/OiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBhcGlUb2tlbnM6IHsgW2VtYWlsOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuICBwcml2YXRlIGl0ZW1zVG9EZWxldGU6IFJlY29yZDxzdHJpbmcsIE5hdGl2ZUF0dHJpYnV0ZVZhbHVlPltdID0gW107XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIG9wdGlvbnM6IEludGVnVGVzdFV0aWxPcHRpb25zKSB7XG4gICAgcHJvY2Vzcy5lbnYuQVdTX1JFR0lPTiA9IG9wdGlvbnMucmVnaW9uO1xuICAgIHByb2Nlc3MuZW52LkFXU19ERUZBVUxUX1JFR0lPTiA9IG9wdGlvbnMucmVnaW9uO1xuICAgIGlmIChvcHRpb25zLmRhdGFzdG9yZU9wdGlvbnM/LnRhYmxlTmFtZSkge1xuICAgICAgcHJvY2Vzcy5lbnYuVEFCTEUgPSBvcHRpb25zLmRhdGFzdG9yZU9wdGlvbnMudGFibGVOYW1lO1xuICAgICAgdGhpcy50YWJsZU5hbWUgPSBvcHRpb25zLmRhdGFzdG9yZU9wdGlvbnMudGFibGVOYW1lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFVVEhcblxuICBwdWJsaWMgZ2V0Q2xpZW50KGNvbmZpZz86IEF4aW9zUmVxdWVzdENvbmZpZykge1xuICAgIHJldHVybiBuZXcgQXhpb3Moe1xuICAgICAgYmFzZVVSTDogdGhpcy5vcHRpb25zLmFwaU9wdGlvbnM/LmJhc2VVUkwsXG4gICAgICB0cmFuc2Zvcm1SZXNwb25zZTogKGRhdGEpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShkYXRhKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHRyYW5zZm9ybVJlcXVlc3Q6IChkYXRhKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGRhdGEpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgLi4uY29uZmlnLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldEF1dGhlbnRpY2F0ZWRDbGllbnQoZW1haWw6IHN0cmluZywgcGFzc3dvcmQ/OiBzdHJpbmcsIGNvbmZpZz86IEF4aW9zUmVxdWVzdENvbmZpZykge1xuICAgIGlmICghdGhpcy5hcGlUb2tlbnNbZW1haWxdKSB7XG4gICAgICBpZiAoIXBhc3N3b3JkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gcGFzc3dvcmQgcHJvdmlkZWQ7IFlvdSBjYW4gb25seSBsZWF2ZSBwYXNzd29yZCBibGFuayBmb3IgdXNlcnMgY3JlYXRlZCBieSB0aGlzIHV0aWxpdHknKTtcbiAgICAgIH1cbiAgICAgIGF3YWl0IHRoaXMubG9naW5Vc2VyKGVtYWlsLCBwYXNzd29yZCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmdldENsaWVudCh7XG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0aGlzLmFwaVRva2Vuc1tlbWFpbF19YCxcbiAgICAgICAgLi4uKGNvbmZpZz8uaGVhZGVycyA/PyB7fSksXG4gICAgICB9LFxuICAgICAgLi4uY29uZmlnLFxuICAgIH0pO1xuICB9XG5cbiAgLy8gREFUQVNUT1JFXG5cbiAgcHVibGljIGFzeW5jIGluaXRpYWxpemVJdGVtc1RvQ2xlYW51cCgpIHtcbiAgICB0aGlzLml0ZW1zVG9EZWxldGUgPSBbXTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBhZGRJdGVtVG9EZWxldGVBZnRlclRlc3Qoa2V5OiBSZWNvcmQ8c3RyaW5nLCBOYXRpdmVBdHRyaWJ1dGVWYWx1ZT4pIHtcbiAgICB0aGlzLml0ZW1zVG9EZWxldGUucHVzaChrZXkpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGNsZWFudXBJdGVtcygpIHtcbiAgICBjb25zdCBkZGIgPSBEeW5hbW9EQkRvY3VtZW50Q2xpZW50LmZyb20obmV3IER5bmFtb0RCQ2xpZW50KHsgcmVnaW9uOiB0aGlzLm9wdGlvbnMucmVnaW9uIH0pKTtcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5pdGVtc1RvRGVsZXRlKSB7XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBkZGIuc2VuZChuZXcgRGVsZXRlQ29tbWFuZCh7IFRhYmxlTmFtZTogdGhpcy50YWJsZU5hbWUsIEtleTogaXRlbSB9KSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQVVUSFxuXG4gIHB1YmxpYyBhc3luYyBjcmVhdGVVc2VyKGVtYWlsOiBzdHJpbmcsIGF0dHJpYnV0ZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0sIGdyb3Vwczogc3RyaW5nW10pIHtcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5hdXRoT3B0aW9ucz8udXNlclBvb2xJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyB1c2VyUG9vbElkIGNvbmZpZ3VyZWQnKTtcbiAgICB9XG5cbiAgICBjb25zdCByYW5kb21QYXNzd29yZDogc3RyaW5nID0gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoLTE2KTtcblxuICAgIGNvbnN0IGNvZ25pdG9DbGllbnQ6IENvZ25pdG9JZGVudGl0eVByb3ZpZGVyQ2xpZW50ID0gbmV3IENvZ25pdG9JZGVudGl0eVByb3ZpZGVyQ2xpZW50KHsgcmVnaW9uOiB0aGlzLm9wdGlvbnMucmVnaW9uIH0pO1xuICAgIGF3YWl0IGNvZ25pdG9DbGllbnQuc2VuZChuZXcgQWRtaW5DcmVhdGVVc2VyQ29tbWFuZCh7XG4gICAgICBVc2VyUG9vbElkOiB0aGlzLm9wdGlvbnMuYXV0aE9wdGlvbnM/LnVzZXJQb29sSWQsXG4gICAgICBVc2VybmFtZTogZW1haWwsXG4gICAgICBNZXNzYWdlQWN0aW9uOiBNZXNzYWdlQWN0aW9uVHlwZS5TVVBQUkVTUyxcbiAgICAgIFRlbXBvcmFyeVBhc3N3b3JkOiByYW5kb21QYXNzd29yZCxcbiAgICAgIFVzZXJBdHRyaWJ1dGVzOiBbe1xuICAgICAgICBOYW1lOiAnZW1haWwnLFxuICAgICAgICBWYWx1ZTogZW1haWwsXG4gICAgICB9LCB7XG4gICAgICAgIE5hbWU6ICdlbWFpbF92ZXJpZmllZCcsXG4gICAgICAgIFZhbHVlOiAndHJ1ZScsXG4gICAgICB9LFxuICAgICAgLi4uT2JqZWN0LmVudHJpZXMoYXR0cmlidXRlcykubWFwKChhdHRyKSA9PiAoe1xuICAgICAgICBOYW1lOiBhdHRyWzBdLFxuICAgICAgICBWYWx1ZTogYXR0clsxXSxcbiAgICAgIH0pKV0sXG4gICAgfSkpO1xuICAgIGZvciAoY29uc3QgZ3JvdXAgb2YgZ3JvdXBzKSB7XG4gICAgICBhd2FpdCBjb2duaXRvQ2xpZW50LnNlbmQobmV3IEFkbWluQWRkVXNlclRvR3JvdXBDb21tYW5kKHtcbiAgICAgICAgVXNlclBvb2xJZDogdGhpcy5vcHRpb25zLmF1dGhPcHRpb25zPy51c2VyUG9vbElkLFxuICAgICAgICBVc2VybmFtZTogZW1haWwsXG4gICAgICAgIEdyb3VwTmFtZTogZ3JvdXAsXG4gICAgICB9KSk7XG4gICAgfVxuXG4gICAgYXdhaXQgdGhpcy5sb2dpblVzZXIoZW1haWwsIHJhbmRvbVBhc3N3b3JkKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyByZW1vdmVVc2VyKGVtYWlsOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5hdXRoT3B0aW9ucz8udXNlclBvb2xJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyB1c2VyUG9vbElkIGNvbmZpZ3VyZWQnKTtcbiAgICB9XG4gICAgY29uc3QgY29nbml0b0NsaWVudDogQ29nbml0b0lkZW50aXR5UHJvdmlkZXJDbGllbnQgPSBuZXcgQ29nbml0b0lkZW50aXR5UHJvdmlkZXJDbGllbnQoeyByZWdpb246IHRoaXMub3B0aW9ucy5yZWdpb24gfSk7XG4gICAgYXdhaXQgY29nbml0b0NsaWVudC5zZW5kKG5ldyBBZG1pbkRlbGV0ZVVzZXJDb21tYW5kKHtcbiAgICAgIFVzZXJQb29sSWQ6IHRoaXMub3B0aW9ucy5hdXRoT3B0aW9ucz8udXNlclBvb2xJZCxcbiAgICAgIFVzZXJuYW1lOiBlbWFpbCxcbiAgICB9KSk7XG4gICAgZGVsZXRlIHRoaXMuYXBpVG9rZW5zW2VtYWlsXTtcbiAgfVxuXG5cbiAgcHJvdGVjdGVkIGFzeW5jIGxvZ2luVXNlcihlbWFpbDogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKSB7XG4gICAgaWYgKCF0aGlzLm9wdGlvbnMuYXV0aE9wdGlvbnM/LnVzZXJQb29sQ2xpZW50SWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gdXNlclBvb2xDbGllbnRJZCBjb25maWd1cmVkJyk7XG4gICAgfVxuICAgIGNvbnN0IGNvZ25pdG9DbGllbnQgPSBuZXcgQXhpb3Moe1xuICAgICAgYmFzZVVSTDogYGh0dHBzOi8vY29nbml0by1pZHAuJHt0aGlzLm9wdGlvbnMucmVnaW9ufS5hbWF6b25hd3MuY29tL2AsXG4gICAgfSk7XG4gICAgY29uc3QgYXV0aCA9IGF3YWl0IGNvZ25pdG9DbGllbnQucG9zdCgnLycsIEpTT04uc3RyaW5naWZ5KHtcbiAgICAgIEF1dGhQYXJhbWV0ZXJzOiB7XG4gICAgICAgIFVTRVJOQU1FOiBlbWFpbCxcbiAgICAgICAgUEFTU1dPUkQ6IHBhc3N3b3JkLFxuICAgICAgfSxcbiAgICAgIEF1dGhGbG93OiAnVVNFUl9QQVNTV09SRF9BVVRIJyxcbiAgICAgIENsaWVudElkOiB0aGlzLm9wdGlvbnMuYXV0aE9wdGlvbnMudXNlclBvb2xDbGllbnRJZCxcbiAgICB9KSwge1xuICAgICAgaGVhZGVyczoge1xuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJyxcbiAgICAgICAgJ1gtQW16LVRhcmdldCc6ICdBV1NDb2duaXRvSWRlbnRpdHlQcm92aWRlclNlcnZpY2UuSW5pdGlhdGVBdXRoJyxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgaWYgKGF1dGguc3RhdHVzICE9PSBIdHRwU3RhdHVzQ29kZS5Paykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gYXV0aGVudGljYXRlIHVzZXIgJHtlbWFpbH1gKTtcbiAgICB9XG4gICAgdGhpcy5hcGlUb2tlbnNbZW1haWxdID0gSlNPTi5wYXJzZShhdXRoLmRhdGEpLkF1dGhlbnRpY2F0aW9uUmVzdWx0LklkVG9rZW47XG4gIH1cbn0iXX0=
|
package/package.json
CHANGED
|
@@ -33,9 +33,13 @@
|
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@aws-cdk/aws-cognito-identitypool-alpha": "2.120.0-alpha.0",
|
|
36
|
+
"@aws-sdk/client-cognito-identity-provider": "3.583.0",
|
|
37
|
+
"@aws-sdk/client-dynamodb": "3.583.0",
|
|
38
|
+
"@aws-sdk/client-s3": "3.583.0",
|
|
39
|
+
"@aws-sdk/lib-dynamodb": "3.583.0",
|
|
36
40
|
"@hapi/boom": "^10.0.1",
|
|
37
|
-
"@taimos/projen": "
|
|
38
|
-
"@types/aws-lambda": "^8.10.
|
|
41
|
+
"@taimos/projen": "0.0.207",
|
|
42
|
+
"@types/aws-lambda": "^8.10.140",
|
|
39
43
|
"@types/jest": "^29.5.12",
|
|
40
44
|
"@types/js-yaml": "^4.0.9",
|
|
41
45
|
"@types/jsonwebtoken": "^9.0.6",
|
|
@@ -43,8 +47,8 @@
|
|
|
43
47
|
"@types/lambda-log": "^2.2.1",
|
|
44
48
|
"@types/node": "^16",
|
|
45
49
|
"@types/uuid": "^9.0.8",
|
|
46
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
47
|
-
"@typescript-eslint/parser": "^
|
|
50
|
+
"@typescript-eslint/eslint-plugin": "^7",
|
|
51
|
+
"@typescript-eslint/parser": "^7",
|
|
48
52
|
"aws-cdk-lib": "2.120.0",
|
|
49
53
|
"constructs": "^10.0.0",
|
|
50
54
|
"dynamodb-onetable": "~2.7.2",
|
|
@@ -54,17 +58,21 @@
|
|
|
54
58
|
"jest": "^29.7.0",
|
|
55
59
|
"jest-junit": "^15",
|
|
56
60
|
"openapi-typescript": "6.7.6",
|
|
57
|
-
"projen": "^0.
|
|
61
|
+
"projen": "^0.82.8",
|
|
58
62
|
"standard-version": "^9",
|
|
59
|
-
"ts-jest": "^29.1.
|
|
63
|
+
"ts-jest": "^29.1.5",
|
|
60
64
|
"ts-node": "^10.9.2",
|
|
61
65
|
"typedoc": "0.25.0",
|
|
62
66
|
"typescript": "^4.9.5"
|
|
63
67
|
},
|
|
64
68
|
"peerDependencies": {
|
|
65
69
|
"@aws-cdk/aws-cognito-identitypool-alpha": "^2.120.0-alpha.0",
|
|
70
|
+
"@aws-sdk/client-cognito-identity-provider": "^3.609.0",
|
|
71
|
+
"@aws-sdk/client-dynamodb": "^3.609.0",
|
|
72
|
+
"@aws-sdk/client-s3": "^3.609.0",
|
|
73
|
+
"@aws-sdk/lib-dynamodb": "^3.610.0",
|
|
66
74
|
"aws-cdk-lib": "^2.120.0",
|
|
67
|
-
"dynamodb-onetable": "^2.7.
|
|
75
|
+
"dynamodb-onetable": "^2.7.4",
|
|
68
76
|
"openapi-typescript": "^6.7.6"
|
|
69
77
|
},
|
|
70
78
|
"dependencies": {
|
|
@@ -75,7 +83,7 @@
|
|
|
75
83
|
"jsonwebtoken": "^9.0.2",
|
|
76
84
|
"jwk-to-pem": "^2.0.5",
|
|
77
85
|
"lambda-log": "^3.1.0",
|
|
78
|
-
"projen": "^0.
|
|
86
|
+
"projen": "^0.82.8",
|
|
79
87
|
"uuid": "^9.0.1"
|
|
80
88
|
},
|
|
81
89
|
"keywords": [
|
|
@@ -93,8 +101,9 @@
|
|
|
93
101
|
"publishConfig": {
|
|
94
102
|
"access": "public"
|
|
95
103
|
},
|
|
96
|
-
"version": "2.
|
|
104
|
+
"version": "2.12.1",
|
|
97
105
|
"jest": {
|
|
106
|
+
"coverageProvider": "v8",
|
|
98
107
|
"testMatch": [
|
|
99
108
|
"<rootDir>/src/**/__tests__/**/*.ts?(x)",
|
|
100
109
|
"<rootDir>/@(test|src)/**/*(*.)@(spec|test).ts?(x)"
|