@sylvesterllc/aws-constructs 1.0.15 → 1.0.16
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.
|
@@ -64,9 +64,7 @@ class CreateDynamoDb extends baseResource_1.BaseResource {
|
|
|
64
64
|
return props;
|
|
65
65
|
}
|
|
66
66
|
generateDbName(tableName) {
|
|
67
|
-
|
|
68
|
-
return `${tableName}`;
|
|
69
|
-
// return `${this.config.AppPrefix}-${tableName}`;
|
|
67
|
+
return `${this.config.AppPrefix}-${tableName}`;
|
|
70
68
|
}
|
|
71
69
|
}
|
|
72
70
|
CreateDynamoDb.ReadWriteActions = [
|
|
@@ -84,4 +82,4 @@ CreateDynamoDb.ReadWriteActions = [
|
|
|
84
82
|
"dynamodb:UpdateItem",
|
|
85
83
|
];
|
|
86
84
|
exports.CreateDynamoDb = CreateDynamoDb;
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3JlYXRlRHluYW1vLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9keW5hbW9kYi9DcmVhdGVEeW5hbW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQXVEO0FBQ3ZELDJEQUFzRztBQUd0Ryx1REFBb0Q7QUFHcEQsTUFBYSxjQUFlLFNBQVEsMkJBQW1CO0lBaUJuRCxJQUFJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsWUFBc0IsS0FBZ0IsRUFBWSxNQUFpQjtRQUMvRCxLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBREgsVUFBSyxHQUFMLEtBQUssQ0FBVztRQUFZLFdBQU0sR0FBTixNQUFNLENBQVc7UUFHL0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbkQsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDbkQ7SUFDTCxDQUFDO0lBRVMsY0FBYyxDQUFDLEtBQWdCO1FBRWpDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVqQyxNQUFNLE1BQU0sR0FBRyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBUyxFQUFFLEdBQVcsRUFBRSxFQUFFO1lBQ2pELE1BQU0sT0FBTyxHQUFHLElBQUksb0JBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUU7Z0JBQ2xELEdBQUcsSUFBSTtnQkFDUCxhQUFhLEVBQUUsMkJBQWEsQ0FBQyxPQUFPO2FBRXZDLENBQUMsQ0FBQztZQUlILElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBRTVELE1BQU0sUUFBUSxHQUE4QjtvQkFDeEMsU0FBUyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQztvQkFDN0MsWUFBWSxFQUFFLEdBQUcsQ0FBQyxZQUFZO29CQUM5QixPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU87b0JBQ3BCLGNBQWMsRUFBRSxHQUFHLENBQUMsY0FBYztpQkFFckMsQ0FBQztnQkFFRixPQUFPLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDOUMsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLE9BQU8sQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUk1QixDQUFDO0lBR1MsWUFBWSxDQUFJLEtBQWdCLEVBQUUsYUFBa0I7UUFDMUQsSUFBSSxDQUFDLGdCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUN0QyxJQUFJLHVCQUFTLENBQUMsS0FBSyxFQUFFLGNBQWMsR0FBRyxFQUFFLEVBQUU7Z0JBQ3RDLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUzthQUNyQixDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxXQUFXO1FBQ2YsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUUzRCxNQUFNLElBQUksR0FBUSxFQUFFLENBQUM7WUFFckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUVsRCxJQUFJLENBQUMsWUFBWSxHQUFHO2dCQUNoQixJQUFJLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJO2dCQUN2QixJQUFJLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJO2FBQzFCLENBQUM7WUFFRixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUM7WUFFakMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFO2dCQUNYLElBQUksQ0FBQyxPQUFPLEdBQUc7b0JBQ1gsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSTtvQkFDcEIsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSTtpQkFDdkIsQ0FBQTthQUNKO1lBQ0QsT0FBTyxJQUFrQixDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVPLGNBQWMsQ0FBQyxTQUFpQjtRQUNwQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLElBQUksU0FBUyxFQUFFLENBQUM7SUFDbkQsQ0FBQzs7QUFwR00sK0JBQWdCLEdBQWE7SUFDaEMsdUJBQXVCO0lBQ3ZCLHlCQUF5QjtJQUN6Qiw2QkFBNkI7SUFDN0IscUJBQXFCO0lBQ3JCLHdCQUF3QjtJQUN4QixrQkFBa0I7SUFDbEIscUJBQXFCO0lBQ3JCLDJCQUEyQjtJQUMzQixrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZixxQkFBcUI7Q0FDeEIsQ0FBQztBQWZPLHdDQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuT3V0cHV0LCBSZW1vdmFsUG9saWN5IH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBHbG9iYWxTZWNvbmRhcnlJbmRleFByb3BzLFN0cmVhbVZpZXdUeXBlLFRhYmxlLCBUYWJsZVByb3BzIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1keW5hbW9kYlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEFwcENvbmZpZyB9IGZyb20gXCIuLi8uLi9jb25maWcvQXBwQ29uZmlnXCI7XG5pbXBvcnQgeyBCYXNlUmVzb3VyY2UgfSBmcm9tIFwiLi4vYmFzZS9iYXNlUmVzb3VyY2VcIjtcblxuXG5leHBvcnQgY2xhc3MgQ3JlYXRlRHluYW1vRGIgZXh0ZW5kcyBCYXNlUmVzb3VyY2U8VGFibGU+IHtcblxuICAgIHN0YXRpYyBSZWFkV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgXCJkeW5hbW9kYjpCYXRjaEdldEl0ZW1cIixcbiAgICAgICAgXCJkeW5hbW9kYjpCYXRjaFdyaXRlSXRlbVwiLFxuICAgICAgICBcImR5bmFtb2RiOkNvbmRpdGlvbkNoZWNrSXRlbVwiLFxuICAgICAgICBcImR5bmFtb2RiOkRlbGV0ZUl0ZW1cIixcbiAgICAgICAgXCJkeW5hbW9kYjpEZXNjcmliZVRhYmxlXCIsXG4gICAgICAgIFwiZHluYW1vZGI6R2V0SXRlbVwiLFxuICAgICAgICBcImR5bmFtb2RiOkdldFJlY29yZHNcIixcbiAgICAgICAgXCJkeW5hbW9kYjpHZXRTaGFyZEl0ZXJhdG9yXCIsXG4gICAgICAgIFwiZHluYW1vZGI6UHV0SXRlbVwiLFxuICAgICAgICBcImR5bmFtb2RiOlF1ZXJ5XCIsXG4gICAgICAgIFwiZHluYW1vZGI6U2NhblwiLFxuICAgICAgICBcImR5bmFtb2RiOlVwZGF0ZUl0ZW1cIixcbiAgICBdO1xuXG4gICAgZ2V0IENyZWF0ZWRUYWJsZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZWRSZXNvdXJjZXM7XG4gICAgfVxuICAgIFxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBzY29wZTogQ29uc3RydWN0LCBwcm90ZWN0ZWQgY29uZmlnOiBBcHBDb25maWcpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGNvbmZpZyk7XG5cbiAgICAgICAgdGhpcy5jcmVhdGVkUmVzb3VyY2VzID0gdGhpcy5jcmVhdGVSZXNvdXJjZShzY29wZSk7XG5cbiAgICAgICAgaWYgKHRoaXMuY3JlYXRlZFJlc291cmNlcykge1xuICAgICAgICAgICAgdGhpcy5jcmVhdGVPdXRwdXQoc2NvcGUsIHRoaXMuY3JlYXRlZFJlc291cmNlcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlUmVzb3VyY2Uoc2NvcGU6IENvbnN0cnVjdCk6IFRhYmxlW10ge1xuICAgICAgICBcbiAgICAgICAgICAgIGNvbnN0IHByb3BzID0gdGhpcy5jcmVhdGVQcm9wcygpO1xuXG4gICAgICAgICAgICBjb25zdCB0YWJsZXMgPSBwcm9wcz8ubWFwKChwcm9wOiBhbnksIGlkeDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGJUYWJsZSA9IG5ldyBUYWJsZShzY29wZSwgYCR7cHJvcC50YWJsZU5hbWV9YCwge1xuICAgICAgICAgICAgICAgICAgICAuLi5wcm9wLFxuICAgICAgICAgICAgICAgICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgXG5cbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5SRVNPVVJDRVMuRFlOQU1PPy5UQUJMRVM/LltpZHhdLmluZGV4ZXMubWFwKChnc2kpID0+IHtcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBnc2lQcm9wczogR2xvYmFsU2Vjb25kYXJ5SW5kZXhQcm9wcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4TmFtZTogdGhpcy5nZW5lcmF0ZURiTmFtZShnc2kuaW5kZXhOYW1lKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbktleTogZ3NpLnBhcnRpdGlvbktleSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNvcnRLZXk6IGdzaS5zb3J0S2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdGlvblR5cGU6IGdzaS5wcm9qZWN0aW9uVHlwZVxuXG4gICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgZGJUYWJsZS5hZGRHbG9iYWxTZWNvbmRhcnlJbmRleChnc2lQcm9wcyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRiVGFibGU7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgcmV0dXJuIHRhYmxlcyA/PyBbXTtcbiAgICAgICBcblxuICAgICAgIFxuICAgIH1cblxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZU91dHB1dDxUPihzY29wZTogQ29uc3RydWN0LCBjcmVhdGVkQXNzZXRzOiBUW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jcmVhdGVkUmVzb3VyY2VzIS5mb3JFYWNoKCh4LCBpZHgpID0+IHtcbiAgICAgICAgICAgIG5ldyBDZm5PdXRwdXQoc2NvcGUsIGBkeW5hbW9UYWJsZSR7aWR4fWAsIHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogeC50YWJsZU5hbWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZVByb3BzKCkge1xuICAgICAgICBjb25zdCBwcm9wcyA9IHRoaXMuY29uZmlnLlJFU09VUkNFUz8uRFlOQU1PPy5UQUJMRVM/Lm1hcCgoeCkgPT4ge1xuXG4gICAgICAgICAgICBjb25zdCBwcm9wOiBhbnkgPSB7fTtcblxuICAgICAgICAgICAgcHJvcC50YWJsZU5hbWUgPSB0aGlzLmdlbmVyYXRlRGJOYW1lKHgudGFibGVOYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgcHJvcC5wYXJ0aXRpb25LZXkgPSB7XG4gICAgICAgICAgICAgICAgbmFtZTogeC5wcmltYXJ5S2V5Lm5hbWUsXG4gICAgICAgICAgICAgICAgdHlwZTogeC5wcmltYXJ5S2V5LnR5cGVcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHByb3AuYmlsbGluZ01vZGUgPSB4LmJpbGxpbmdNb2RlO1xuXG4gICAgICAgICAgICBpZiAoeC5zb3J0S2V5KSB7XG4gICAgICAgICAgICAgICAgcHJvcC5zb3J0S2V5ID0ge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiB4LnNvcnRLZXkubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogeC5zb3J0S2V5LnR5cGUsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHByb3AgYXMgVGFibGVQcm9wcztcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHByb3BzO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2VuZXJhdGVEYk5hbWUodGFibGVOYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuY29uZmlnLkFwcFByZWZpeH0tJHt0YWJsZU5hbWV9YDtcbiAgICB9XG59Il19
|
|
@@ -40,9 +40,9 @@ class CreateMicroServiceBundle {
|
|
|
40
40
|
this.AssignAccessToTables(this.tables, lambdas.Lambdas);
|
|
41
41
|
}
|
|
42
42
|
// Allow access to existing tables
|
|
43
|
-
if (this.requireDynamoTableRefs) {
|
|
44
|
-
|
|
45
|
-
}
|
|
43
|
+
// if (this.requireDynamoTableRefs) {
|
|
44
|
+
// this.AssignAccessToTableRefs(scope, this.props.RESOURCES.DYNAMO?.TABLE_REFS, lambdas.Lambdas);
|
|
45
|
+
// }
|
|
46
46
|
if (this.secretMgr) {
|
|
47
47
|
this.AssignAccessToSecretManager(this.secretMgr, lambdas.Lambdas);
|
|
48
48
|
}
|
|
@@ -56,20 +56,23 @@ class CreateMicroServiceBundle {
|
|
|
56
56
|
}
|
|
57
57
|
AssignAccessToTables(tables, lambdas) {
|
|
58
58
|
if (tables) {
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
lambdas.forEach((lambda) => {
|
|
60
|
+
tables.forEach((table) => {
|
|
61
61
|
// This is a CDK bug: It doesn't provide
|
|
62
62
|
// access to the indexes.
|
|
63
63
|
//table.grantReadWriteData(lambda);
|
|
64
64
|
// Workaround:
|
|
65
|
-
lambda.addToRolePolicy(
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
65
|
+
// lambda.addToRolePolicy(
|
|
66
|
+
// new PolicyStatement({
|
|
67
|
+
// effect: Effect.ALLOW,
|
|
68
|
+
// actions: CreateDynamoDb.ReadWriteActions,
|
|
69
|
+
// resources: [
|
|
70
|
+
// table.tableArn,
|
|
71
|
+
// `${table.tableArn}/*`, // This is not recognized by cdk, but table is. why?
|
|
72
|
+
// ],
|
|
73
|
+
// })
|
|
74
|
+
// );
|
|
75
|
+
table.grantReadWriteData(lambda);
|
|
73
76
|
});
|
|
74
77
|
});
|
|
75
78
|
}
|
|
@@ -126,4 +129,4 @@ class CreateMicroServiceBundle {
|
|
|
126
129
|
}
|
|
127
130
|
}
|
|
128
131
|
exports.CreateMicroServiceBundle = CreateMicroServiceBundle;
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlTWljcm9TZXJ2aWNlQnVuZGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9nYXRld2F5L2NyZWF0ZU1pY3JvU2VydmljZUJ1bmRsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwyREFBeUQ7QUFFekQsaURBQThEO0FBSzlELGtFQUErRDtBQUMvRCwwREFBaUQ7QUFDakQseURBQXNEO0FBQ3RELDZDQUE2RDtBQUM3RCwyREFBMEQ7QUFNMUQsTUFBYSx3QkFBd0I7SUFLakMsWUFBWSxLQUFnQixFQUNQLFVBQW9CLEVBQ3BCLEtBQXdCLEVBQ3hCLFNBQW9CLEVBQ3BCLE1BQWdCLEVBQ2hCLFNBQTBCLEVBQzFCLE1BQXVCO1FBTHZCLGVBQVUsR0FBVixVQUFVLENBQVU7UUFDcEIsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFDeEIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixXQUFNLEdBQU4sTUFBTSxDQUFVO1FBQ2hCLGNBQVMsR0FBVCxTQUFTLENBQWlCO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQWlCO1FBR3hDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNuRyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNyRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFTyxNQUFNLENBQUMsS0FBZ0I7UUFHM0IsSUFBSSxVQUFVLEdBQThCLFNBQVMsQ0FBQztRQUV0RCxvQkFBb0I7UUFDcEIs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QUFFO1lBRXBELE1BQU0sUUFBUSxHQUFHLDJCQUFZLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFbkUsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDWCxNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7YUFDeEM7WUFDRCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssUUFBUSxDQUFDLENBQUM7WUFFN0QsSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDYixNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7YUFDeEQ7WUFFRCxxQkFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUVqRSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTywyQkFBMkIsQ0FBQyxNQUFlLEVBQUUsT0FBeUI7UUFFMUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3ZCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFNUMsQ0FBQyxDQUFDLENBQUM7SUFFUCxDQUFDO0NBRUo7QUExS0QsNERBMEtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVJlc3RBcGksIFRva2VuQXV0aG9yaXplciB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYXBpZ2F0ZXdheVwiO1xuaW1wb3J0IHsgSVRhYmxlLCBUYWJsZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZHluYW1vZGJcIjtcbmltcG9ydCB7IE5vZGVqc0Z1bmN0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGEtbm9kZWpzXCI7XG5pbXBvcnQgeyBFZmZlY3QsIFBvbGljeVN0YXRlbWVudCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgVHNnRHluYW1vVGFibGVSZWYsIFRzZ0xhbWJkYVByb3AgfSBmcm9tIFwiLi4vLi4vY29uZmlnL3R5cGVzXCI7XG5pbXBvcnQgeyBUc2dMYW1iZGFQcm9wcyB9IGZyb20gXCIuLi8uLi9jb25maWcvdHlwZXMvVHNnTGFtYmRhUHJvcHNcIjtcbmltcG9ydCB7IE1pY3Jvc2VydmljZVByb3BzIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvTWljcm9zZXJ2aWNlUHJvcHNcIjtcbmltcG9ydCB7IENyZWF0ZUF1dGhvcml6ZXIgfSBmcm9tIFwiLi4vaGVscGVycy9jcmVhdGVBdXRob3JpemVyXCI7XG5pbXBvcnQgeyBSb3V0ZXMgfSBmcm9tIFwiLi4vaGVscGVycy9jcmVhdGVSb3V0ZXNcIjtcbmltcG9ydCB7IENyZWF0ZUxhbWJkYSB9IGZyb20gXCIuLi9sYW1iZGEvY3JlYXRlTGFtYmRhXCI7XG5pbXBvcnQgeyBEdXJhdGlvbiwgUmVtb3ZhbFBvbGljeSwgU3RhY2sgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IENyZWF0ZUR5bmFtb0RiIH0gZnJvbSBcIi4uL2R5bmFtb2RiL0NyZWF0ZUR5bmFtb1wiO1xuaW1wb3J0IHsgSVNlY3JldCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc2VjcmV0c21hbmFnZXJcIjtcbmltcG9ydCB7IExheWVyVmVyc2lvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBBcHBDb25maWcgfSBmcm9tIFwiLi4vLi4vY29uZmlnL0FwcENvbmZpZ1wiO1xuaW1wb3J0IHsgTWV0cmljT3B0aW9ucyB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaFwiO1xuXG5leHBvcnQgY2xhc3MgQ3JlYXRlTWljcm9TZXJ2aWNlQnVuZGxlIHtcbiAgICBcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcmVxdWlyZUR5bmFtb1RhYmxlUmVmczogYm9vbGVhbjtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcmVxdWlyZUF1dGhvcml6ZXI6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBnYXRld2F5QXBpOiBJUmVzdEFwaSwgXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvcHM6IE1pY3Jvc2VydmljZVByb3BzLCAgICAgICAgXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYXBwQ29uZmlnOiBBcHBDb25maWcsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGFibGVzPzogVGFibGVbXSwgXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc2VjcmV0TWdyPzogSVNlY3JldCB8IG51bGwsIFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGxheWVycz86IExheWVyVmVyc2lvbltdLCAgICAgICAgXG4gICAgICAgICkge1xuICAgICAgICBcbiAgICAgICAgdGhpcy5yZXF1aXJlRHluYW1vVGFibGVSZWZzID0gKHByb3BzLlJFU09VUkNFUy5EWU5BTU8/LlRBQkxFX1JFRlM/Lmxlbmd0aCA/PyAwID4gMCkgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgIHRoaXMucmVxdWlyZUF1dGhvcml6ZXIgPSAocHJvcHMuUkVTT1VSQ0VTLkFVVEhPUklaRVIpID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgICB0aGlzLm9uSW5pdChzY29wZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkluaXQoc2NvcGU6IENvbnN0cnVjdCkge1xuXG4gICAgICAgIFxuICAgICAgICBsZXQgYXV0aG9yaXplcjogVG9rZW5BdXRob3JpemVyfHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAgICAgICAvLyBDcmVhdGUgQXV0aG9yaXplclxuICAgICAgICBpZiAodGhpcy5yZXF1aXJlQXV0aG9yaXplcikge1xuICAgICAgICAgICAgYXV0aG9yaXplciA9IG5ldyBDcmVhdGVBdXRob3JpemVyKHNjb3BlLCB0aGlzLmFwcENvbmZpZywgdGhpcy5wcm9wcy5SRVNPVVJDRVMuQVVUSE9SSVpFUiEpLkp3dEF1dGhvcml6ZXI7XG4gICAgICAgICAgICBhdXRob3JpemVyLl9hdHRhY2hUb0FwaSh0aGlzLmdhdGV3YXlBcGkpOyAgIFxuICAgICAgICAgICAgYXV0aG9yaXplci5hcHBseVJlbW92YWxQb2xpY3koUmVtb3ZhbFBvbGljeS5ERVNUUk9ZKTtcbiAgICAgICAgfSAgICAgICAgXG5cbiAgICAgICAgLy8gQ3JlYXRlIExhbWJkYXNcbiAgICAgICAgY29uc3QgbGFtYmRhUHJvcDogVHNnTGFtYmRhUHJvcHMgPSB7XG4gICAgICAgICAgICBzY29wZSxcbiAgICAgICAgICAgIHByb3A6IHRoaXMucHJvcHMsICAgICAgICAgICAgXG4gICAgICAgICAgICBsYXllcnM6IHRoaXMubGF5ZXJzLFxuICAgICAgICAgICAgYXBwQ29uZmlnOiB0aGlzLmFwcENvbmZpZ1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGxhbWJkYXMgPSBuZXcgQ3JlYXRlTGFtYmRhKGxhbWJkYVByb3AsIHRoaXMuYXBwQ29uZmlnKTtcblxuICAgICAgICBpZiAodGhpcy50YWJsZXMpIHtcbiAgICAgICAgICAgIHRoaXMuQXNzaWduQWNjZXNzVG9UYWJsZXModGhpcy50YWJsZXMsIGxhbWJkYXMuTGFtYmRhcyk7XG4gICAgICAgIH0gICAgICAgIFxuXG4gICAgICAgIC8vIEFsbG93IGFjY2VzcyB0byBleGlzdGluZyB0YWJsZXNcbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZUR5bmFtb1RhYmxlUmVmcykge1xuICAgICAgICAgICAgdGhpcy5Bc3NpZ25BY2Nlc3NUb1RhYmxlUmVmcyhzY29wZSwgdGhpcy5wcm9wcy5SRVNPVVJDRVMuRFlOQU1PPy5UQUJMRV9SRUZTLCBsYW1iZGFzLkxhbWJkYXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc2VjcmV0TWdyKSB7XG4gICAgICAgICAgICB0aGlzLkFzc2lnbkFjY2Vzc1RvU2VjcmV0TWFuYWdlcih0aGlzLnNlY3JldE1nciwgbGFtYmRhcy5MYW1iZGFzKTtcbiAgICAgICAgfSAgICAgICAgXG5cbiAgICAgICAgLy8gbGFtYmRhcy5MYW1iZGFzLm1hcCgobGFtYmRhKSA9PiB7XG4gICAgICAgIC8vICAgICBsYW1iZGEubWV0cmljRXJyb3JzKHsgICAgICAgICAgICAgICAgXG4gICAgICAgIC8vICAgICAgICAgICAgIGxhYmVsOiBgJHtsYW1iZGEuZnVuY3Rpb25OYW1lfS1lcnJvcnNgLCBcbiAgICAgICAgLy8gICAgICAgICAgICAgcGVyaW9kOiBEdXJhdGlvbi5taW51dGVzKDMpICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgLy8gICAgIH0pXG4gICAgICAgIC8vIH0pO1xuXG4gICAgICAgIHRoaXMuQWRkUm91dGVzKHRoaXMucHJvcHMsIHRoaXMuZ2F0ZXdheUFwaSwgbGFtYmRhcy5MYW1iZGFzLCBhdXRob3JpemVyKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIEFzc2lnbkFjY2Vzc1RvVGFibGVzKHRhYmxlczogVGFibGVbXSwgbGFtYmRhczogTm9kZWpzRnVuY3Rpb25bXSkge1xuXG4gICAgICAgIGlmICh0YWJsZXMpIHtcbiAgICAgICAgICAgIHRhYmxlcy5mb3JFYWNoKCh0YWJsZTogSVRhYmxlKSA9PiB7XG5cbiAgICAgICAgICAgICAgICBsYW1iZGFzLmZvckVhY2goKGxhbWJkYTogTm9kZWpzRnVuY3Rpb24pID0+IHtcblxuICAgICAgICAgICAgICAgICAgICAvLyAgVGhpcyBpcyBhIENESyBidWc6IEl0IGRvZXNuJ3QgcHJvdmlkZVxuICAgICAgICAgICAgICAgICAgICAvLyAgYWNjZXNzIHRvIHRoZSBpbmRleGVzLlxuICAgICAgICAgICAgICAgICAgICAvL3RhYmxlLmdyYW50UmVhZFdyaXRlRGF0YShsYW1iZGEpO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vICBXb3JrYXJvdW5kOlxuICAgICAgICAgICAgICAgICAgICBsYW1iZGEuYWRkVG9Sb2xlUG9saWN5KFxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uczogQ3JlYXRlRHluYW1vRGIuUmVhZFdyaXRlQWN0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFibGUudGFibGVBcm4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke3RhYmxlLnRhYmxlQXJufS8qYCwgLy8gVGhpcyBpcyBub3QgcmVjb2duaXplZCBieSBjZGssIGJ1dCB0YWJsZSBpcy4gIHdoeT9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBBc3NpZ25BY2Nlc3NUb1RhYmxlUmVmcyhzY29wZTogQ29uc3RydWN0LCB0YWJsZVJlZnM6IFRzZ0R5bmFtb1RhYmxlUmVmW10gfCB1bmRlZmluZWQsIGxhbWJkYXM6IE5vZGVqc0Z1bmN0aW9uW10pIHtcblxuICAgICAgICBpZiAodGFibGVSZWZzKSB7XG4gICAgICAgICAgICB0YWJsZVJlZnMuZm9yRWFjaCgodGFibGVSZWY6IFRzZ0R5bmFtb1RhYmxlUmVmKSA9PiB7XG5cbiAgICAgICAgICAgICAgICBpZiAodGFibGVSZWYucmVnaW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuQXNzaWduUmVhZFdyaXRlQWNjZXNzVG9UYWJsZUluUmVnaW9uKHNjb3BlLCB0YWJsZVJlZiwgbGFtYmRhcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLkFzc2lnblJlYWRXcml0ZUFjY2Vzc1RvVGFibGUoc2NvcGUsIHRhYmxlUmVmLCBsYW1iZGFzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgQXNzaWduUmVhZFdyaXRlQWNjZXNzVG9UYWJsZUluUmVnaW9uKHNjb3BlOiBDb25zdHJ1Y3QsIHRhYmxlUmVmOiBUc2dEeW5hbW9UYWJsZVJlZiwgbGFtYmRhczogTm9kZWpzRnVuY3Rpb25bXSkge1xuICAgICAgICBsYW1iZGFzLmZvckVhY2goKGxhbWJkYTogTm9kZWpzRnVuY3Rpb24pID0+IHtcblxuICAgICAgICAgICAgbGV0IHRhYmxlQXJuID0gXCJhcm46YXdzOmR5bmFtb2RiOlwiICsgdGFibGVSZWYucmVnaW9uICsgXCI6XCIgKyAoKHNjb3BlIGFzIFN0YWNrKS5hY2NvdW50KSArIFwiOnRhYmxlL1wiICsgdGFibGVSZWYudGFibGVOYW1lO1xuICAgICAgICAgICAgbGV0IHN0YXRlbWVudCA9IG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICAgIGVmZmVjdDogRWZmZWN0LkFMTE9XLFxuICAgICAgICAgICAgICAgIHJlc291cmNlczogW1xuICAgICAgICAgICAgICAgICAgICB0YWJsZUFybixcbiAgICAgICAgICAgICAgICAgICAgdGFibGVBcm4gKyBcIi9pbmRleC8qXCIsXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICBhY3Rpb25zOiBDcmVhdGVEeW5hbW9EYi5SZWFkV3JpdGVBY3Rpb25zLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGxhbWJkYS5yb2xlPy5hZGRUb1ByaW5jaXBhbFBvbGljeShzdGF0ZW1lbnQpO1xuICAgICAgICAgICAgXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgQXNzaWduUmVhZFdyaXRlQWNjZXNzVG9UYWJsZShzY29wZTogQ29uc3RydWN0LCB0YWJsZVJlZjogVHNnRHluYW1vVGFibGVSZWYsIGxhbWJkYXM6IE5vZGVqc0Z1bmN0aW9uW10pIHtcbiAgICAgICAgbGV0IHRhYmxlOiBJVGFibGUgPSBUYWJsZS5mcm9tVGFibGVOYW1lKHNjb3BlLCB0YWJsZVJlZi50YWJsZU5hbWUsIHRhYmxlUmVmLnRhYmxlTmFtZSk7XG5cbiAgICAgICAgbGFtYmRhcy5mb3JFYWNoKChsYW1iZGE6IE5vZGVqc0Z1bmN0aW9uKSA9PiB7XG4gICAgICAgICAgICB0YWJsZS5ncmFudFJlYWRXcml0ZURhdGEobGFtYmRhKVxuICAgICAgICAgICAgXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgQWRkUm91dGVzKHByb3BzOiBNaWNyb3NlcnZpY2VQcm9wcywgXG4gICAgICAgIGdhdGV3YXk6IElSZXN0QXBpLCBcbiAgICAgICAgbGFtYmRhczogTm9kZWpzRnVuY3Rpb25bXSwgXG4gICAgICAgIGF1dGhvcml6ZXI/OiBUb2tlbkF1dGhvcml6ZXIpIHtcblxuICAgICAgICBwcm9wcy5SRVNPVVJDRVMuTEFNQkRBPy5mb3JFYWNoKChwcm9wOiBUc2dMYW1iZGFQcm9wKSA9PiB7XG5cbiAgICAgICAgICAgIGNvbnN0IGxhbWJkYUlkID0gQ3JlYXRlTGFtYmRhLmdldElkRm9yTGFtYmRhKHByb3AsIHRoaXMuYXBwQ29uZmlnKTtcblxuICAgICAgICAgICAgaWYgKCFsYW1iZGFJZCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ2FuJ3QgZmluZCBsYW1iZGFgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGxhbWJkYU5vZGUgPSBsYW1iZGFzLmZpbmQoeCA9PiB4Lm5vZGUuaWQgPT09IGxhbWJkYUlkKTtcblxuICAgICAgICAgICAgaWYgKCFsYW1iZGFOb2RlKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2FuJ3QgZmluZCB0aGUgTGFtYmRhIEludGVncmF0aW9uXCIpOyAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgUm91dGVzLmNyZWF0ZVJlc291cmNlKHByb3AsIGdhdGV3YXksIGxhbWJkYU5vZGUsIGF1dGhvcml6ZXIpO1xuICAgICAgICBcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBBc3NpZ25BY2Nlc3NUb1NlY3JldE1hbmFnZXIoc2VjcmV0OiBJU2VjcmV0LCBsYW1iZGFzOiBOb2RlanNGdW5jdGlvbltdKSB7XG5cbiAgICAgICAgbGFtYmRhcy5mb3JFYWNoKChsYW1iZGEpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHNlY3JldC5ncmFudFJlYWQobGFtYmRhKTtcbiAgICAgICAgICAgIFxuICAgICAgICB9KTtcbiAgICAgICAgXG4gICAgfVxuXG59Il19
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlTWljcm9TZXJ2aWNlQnVuZGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9nYXRld2F5L2NyZWF0ZU1pY3JvU2VydmljZUJ1bmRsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwyREFBeUQ7QUFFekQsaURBQThEO0FBSzlELGtFQUErRDtBQUMvRCwwREFBaUQ7QUFDakQseURBQXNEO0FBQ3RELDZDQUE2RDtBQUM3RCwyREFBMEQ7QUFNMUQsTUFBYSx3QkFBd0I7SUFLakMsWUFBWSxLQUFnQixFQUNQLFVBQW9CLEVBQ3BCLEtBQXdCLEVBQ3hCLFNBQW9CLEVBQ3BCLE1BQWdCLEVBQ2hCLFNBQTBCLEVBQzFCLE1BQXVCO1FBTHZCLGVBQVUsR0FBVixVQUFVLENBQVU7UUFDcEIsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFDeEIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixXQUFNLEdBQU4sTUFBTSxDQUFVO1FBQ2hCLGNBQVMsR0FBVCxTQUFTLENBQWlCO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQWlCO1FBR3hDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNuRyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNyRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFTyxNQUFNLENBQUMsS0FBZ0I7UUFHM0IsSUFBSSxVQUFVLEdBQThCLFNBQVMsQ0FBQztRQUV0RCxvQkFBb0I7UUFDcEIs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LE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxRQUFRLENBQUMsQ0FBQztZQUU3RCxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQzthQUN4RDtZQUVELHFCQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRWpFLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLDJCQUEyQixDQUFDLE1BQWUsRUFBRSxPQUF5QjtRQUUxRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDdkIsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU1QyxDQUFDLENBQUMsQ0FBQztJQUVQLENBQUM7Q0FFSjtBQTdLRCw0REE2S0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUmVzdEFwaSwgVG9rZW5BdXRob3JpemVyIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5XCI7XG5pbXBvcnQgeyBJVGFibGUsIFRhYmxlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1keW5hbW9kYlwiO1xuaW1wb3J0IHsgTm9kZWpzRnVuY3Rpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ub2RlanNcIjtcbmltcG9ydCB7IEVmZmVjdCwgUG9saWN5U3RhdGVtZW50IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBUc2dEeW5hbW9UYWJsZVJlZiwgVHNnTGFtYmRhUHJvcCB9IGZyb20gXCIuLi8uLi9jb25maWcvdHlwZXNcIjtcbmltcG9ydCB7IFRzZ0xhbWJkYVByb3BzIH0gZnJvbSBcIi4uLy4uL2NvbmZpZy90eXBlcy9Uc2dMYW1iZGFQcm9wc1wiO1xuaW1wb3J0IHsgTWljcm9zZXJ2aWNlUHJvcHMgfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9NaWNyb3NlcnZpY2VQcm9wc1wiO1xuaW1wb3J0IHsgQ3JlYXRlQXV0aG9yaXplciB9IGZyb20gXCIuLi9oZWxwZXJzL2NyZWF0ZUF1dGhvcml6ZXJcIjtcbmltcG9ydCB7IFJvdXRlcyB9IGZyb20gXCIuLi9oZWxwZXJzL2NyZWF0ZVJvdXRlc1wiO1xuaW1wb3J0IHsgQ3JlYXRlTGFtYmRhIH0gZnJvbSBcIi4uL2xhbWJkYS9jcmVhdGVMYW1iZGFcIjtcbmltcG9ydCB7IER1cmF0aW9uLCBSZW1vdmFsUG9saWN5LCBTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQ3JlYXRlRHluYW1vRGIgfSBmcm9tIFwiLi4vZHluYW1vZGIvQ3JlYXRlRHluYW1vXCI7XG5pbXBvcnQgeyBJU2VjcmV0IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zZWNyZXRzbWFuYWdlclwiO1xuaW1wb3J0IHsgTGF5ZXJWZXJzaW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGFcIjtcbmltcG9ydCB7IEFwcENvbmZpZyB9IGZyb20gXCIuLi8uLi9jb25maWcvQXBwQ29uZmlnXCI7XG5pbXBvcnQgeyBNZXRyaWNPcHRpb25zIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoXCI7XG5cbmV4cG9ydCBjbGFzcyBDcmVhdGVNaWNyb1NlcnZpY2VCdW5kbGUge1xuICAgIFxuICAgIHByb3RlY3RlZCByZWFkb25seSByZXF1aXJlRHluYW1vVGFibGVSZWZzOiBib29sZWFuO1xuICAgIHByb3RlY3RlZCByZWFkb25seSByZXF1aXJlQXV0aG9yaXplcjogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGdhdGV3YXlBcGk6IElSZXN0QXBpLCBcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwcm9wczogTWljcm9zZXJ2aWNlUHJvcHMsICAgICAgICBcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhcHBDb25maWc6IEFwcENvbmZpZyxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0YWJsZXM/OiBUYWJsZVtdLCBcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzZWNyZXRNZ3I/OiBJU2VjcmV0IHwgbnVsbCwgXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbGF5ZXJzPzogTGF5ZXJWZXJzaW9uW10sICAgICAgICBcbiAgICAgICAgKSB7XG4gICAgICAgIFxuICAgICAgICB0aGlzLnJlcXVpcmVEeW5hbW9UYWJsZVJlZnMgPSAocHJvcHMuUkVTT1VSQ0VTLkRZTkFNTz8uVEFCTEVfUkVGUz8ubGVuZ3RoID8/IDAgPiAwKSA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgdGhpcy5yZXF1aXJlQXV0aG9yaXplciA9IChwcm9wcy5SRVNPVVJDRVMuQVVUSE9SSVpFUikgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgIHRoaXMub25Jbml0KHNjb3BlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uSW5pdChzY29wZTogQ29uc3RydWN0KSB7XG5cbiAgICAgICAgXG4gICAgICAgIGxldCBhdXRob3JpemVyOiBUb2tlbkF1dGhvcml6ZXJ8dW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gICAgICAgIC8vIENyZWF0ZSBBdXRob3JpemVyXG4gICAgICAgIGlmICh0aGlzLnJlcXVpcmVBdXRob3JpemVyKSB7XG4gICAgICAgICAgICBhdXRob3JpemVyID0gbmV3IENyZWF0ZUF1dGhvcml6ZXIoc2NvcGUsIHRoaXMuYXBwQ29uZmlnLCB0aGlzLnByb3BzLlJFU09VUkNFUy5BVVRIT1JJWkVSISkuSnd0QXV0aG9yaXplcjtcbiAgICAgICAgICAgIGF1dGhvcml6ZXIuX2F0dGFjaFRvQXBpKHRoaXMuZ2F0ZXdheUFwaSk7ICAgXG4gICAgICAgICAgICBhdXRob3JpemVyLmFwcGx5UmVtb3ZhbFBvbGljeShSZW1vdmFsUG9saWN5LkRFU1RST1kpO1xuICAgICAgICB9ICAgICAgICBcblxuICAgICAgICAvLyBDcmVhdGUgTGFtYmRhc1xuICAgICAgICBjb25zdCBsYW1iZGFQcm9wOiBUc2dMYW1iZGFQcm9wcyA9IHtcbiAgICAgICAgICAgIHNjb3BlLFxuICAgICAgICAgICAgcHJvcDogdGhpcy5wcm9wcywgICAgICAgICAgICBcbiAgICAgICAgICAgIGxheWVyczogdGhpcy5sYXllcnMsXG4gICAgICAgICAgICBhcHBDb25maWc6IHRoaXMuYXBwQ29uZmlnXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgbGFtYmRhcyA9IG5ldyBDcmVhdGVMYW1iZGEobGFtYmRhUHJvcCwgdGhpcy5hcHBDb25maWcpO1xuXG4gICAgICAgIGlmICh0aGlzLnRhYmxlcykge1xuICAgICAgICAgICAgdGhpcy5Bc3NpZ25BY2Nlc3NUb1RhYmxlcyh0aGlzLnRhYmxlcywgbGFtYmRhcy5MYW1iZGFzKTtcbiAgICAgICAgfSAgICAgICAgXG5cbiAgICAgICAgLy8gQWxsb3cgYWNjZXNzIHRvIGV4aXN0aW5nIHRhYmxlc1xuICAgICAgICAvLyBpZiAodGhpcy5yZXF1aXJlRHluYW1vVGFibGVSZWZzKSB7XG4gICAgICAgIC8vICAgICB0aGlzLkFzc2lnbkFjY2Vzc1RvVGFibGVSZWZzKHNjb3BlLCB0aGlzLnByb3BzLlJFU09VUkNFUy5EWU5BTU8/LlRBQkxFX1JFRlMsIGxhbWJkYXMuTGFtYmRhcyk7XG4gICAgICAgIC8vIH1cblxuICAgICAgICBpZiAodGhpcy5zZWNyZXRNZ3IpIHtcbiAgICAgICAgICAgIHRoaXMuQXNzaWduQWNjZXNzVG9TZWNyZXRNYW5hZ2VyKHRoaXMuc2VjcmV0TWdyLCBsYW1iZGFzLkxhbWJkYXMpO1xuICAgICAgICB9ICAgICAgICBcblxuICAgICAgICAvLyBsYW1iZGFzLkxhbWJkYXMubWFwKChsYW1iZGEpID0+IHtcbiAgICAgICAgLy8gICAgIGxhbWJkYS5tZXRyaWNFcnJvcnMoeyAgICAgICAgICAgICAgICBcbiAgICAgICAgLy8gICAgICAgICAgICAgbGFiZWw6IGAke2xhbWJkYS5mdW5jdGlvbk5hbWV9LWVycm9yc2AsIFxuICAgICAgICAvLyAgICAgICAgICAgICBwZXJpb2Q6IER1cmF0aW9uLm1pbnV0ZXMoMykgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIFxuICAgICAgICAvLyAgICAgfSlcbiAgICAgICAgLy8gfSk7XG5cbiAgICAgICAgdGhpcy5BZGRSb3V0ZXModGhpcy5wcm9wcywgdGhpcy5nYXRld2F5QXBpLCBsYW1iZGFzLkxhbWJkYXMsIGF1dGhvcml6ZXIpO1xuICAgIH1cblxuICAgIHByaXZhdGUgQXNzaWduQWNjZXNzVG9UYWJsZXModGFibGVzOiBUYWJsZVtdLCBsYW1iZGFzOiBOb2RlanNGdW5jdGlvbltdKSB7XG5cbiAgICAgICAgaWYgKHRhYmxlcykge1xuICAgICAgICAgICAgbGFtYmRhcy5mb3JFYWNoKChsYW1iZGE6IE5vZGVqc0Z1bmN0aW9uKSA9PiB7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB0YWJsZXMuZm9yRWFjaCgodGFibGU6IElUYWJsZSkgPT4ge1xuXG4gICAgICAgICAgICAgICAgXG5cbiAgICAgICAgICAgICAgICAgICAgLy8gIFRoaXMgaXMgYSBDREsgYnVnOiBJdCBkb2Vzbid0IHByb3ZpZGVcbiAgICAgICAgICAgICAgICAgICAgLy8gIGFjY2VzcyB0byB0aGUgaW5kZXhlcy5cbiAgICAgICAgICAgICAgICAgICAgLy90YWJsZS5ncmFudFJlYWRXcml0ZURhdGEobGFtYmRhKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyAgV29ya2Fyb3VuZDpcbiAgICAgICAgICAgICAgICAgICAgLy8gbGFtYmRhLmFkZFRvUm9sZVBvbGljeShcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgIGVmZmVjdDogRWZmZWN0LkFMTE9XLFxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgIGFjdGlvbnM6IENyZWF0ZUR5bmFtb0RiLlJlYWRXcml0ZUFjdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgIHRhYmxlLnRhYmxlQXJuLFxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICBgJHt0YWJsZS50YWJsZUFybn0vKmAsIC8vIFRoaXMgaXMgbm90IHJlY29nbml6ZWQgYnkgY2RrLCBidXQgdGFibGUgaXMuICB3aHk/XG4gICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIC8vICk7XG5cbiAgICAgICAgICAgICAgICAgICAgdGFibGUuZ3JhbnRSZWFkV3JpdGVEYXRhKGxhbWJkYSk7XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIEFzc2lnbkFjY2Vzc1RvVGFibGVSZWZzKHNjb3BlOiBDb25zdHJ1Y3QsIHRhYmxlUmVmczogVHNnRHluYW1vVGFibGVSZWZbXSB8IHVuZGVmaW5lZCwgbGFtYmRhczogTm9kZWpzRnVuY3Rpb25bXSkge1xuXG4gICAgICAgIGlmICh0YWJsZVJlZnMpIHtcbiAgICAgICAgICAgIHRhYmxlUmVmcy5mb3JFYWNoKCh0YWJsZVJlZjogVHNnRHluYW1vVGFibGVSZWYpID0+IHtcblxuICAgICAgICAgICAgICAgIGlmICh0YWJsZVJlZi5yZWdpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5Bc3NpZ25SZWFkV3JpdGVBY2Nlc3NUb1RhYmxlSW5SZWdpb24oc2NvcGUsIHRhYmxlUmVmLCBsYW1iZGFzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuQXNzaWduUmVhZFdyaXRlQWNjZXNzVG9UYWJsZShzY29wZSwgdGFibGVSZWYsIGxhbWJkYXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBBc3NpZ25SZWFkV3JpdGVBY2Nlc3NUb1RhYmxlSW5SZWdpb24oc2NvcGU6IENvbnN0cnVjdCwgdGFibGVSZWY6IFRzZ0R5bmFtb1RhYmxlUmVmLCBsYW1iZGFzOiBOb2RlanNGdW5jdGlvbltdKSB7XG4gICAgICAgIGxhbWJkYXMuZm9yRWFjaCgobGFtYmRhOiBOb2RlanNGdW5jdGlvbikgPT4ge1xuXG4gICAgICAgICAgICBsZXQgdGFibGVBcm4gPSBcImFybjphd3M6ZHluYW1vZGI6XCIgKyB0YWJsZVJlZi5yZWdpb24gKyBcIjpcIiArICgoc2NvcGUgYXMgU3RhY2spLmFjY291bnQpICsgXCI6dGFibGUvXCIgKyB0YWJsZVJlZi50YWJsZU5hbWU7XG4gICAgICAgICAgICBsZXQgc3RhdGVtZW50ID0gbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgICAgICAgICAgIHRhYmxlQXJuLFxuICAgICAgICAgICAgICAgICAgICB0YWJsZUFybiArIFwiL2luZGV4LypcIixcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIGFjdGlvbnM6IENyZWF0ZUR5bmFtb0RiLlJlYWRXcml0ZUFjdGlvbnMsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgbGFtYmRhLnJvbGU/LmFkZFRvUHJpbmNpcGFsUG9saWN5KHN0YXRlbWVudCk7XG4gICAgICAgICAgICBcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBBc3NpZ25SZWFkV3JpdGVBY2Nlc3NUb1RhYmxlKHNjb3BlOiBDb25zdHJ1Y3QsIHRhYmxlUmVmOiBUc2dEeW5hbW9UYWJsZVJlZiwgbGFtYmRhczogTm9kZWpzRnVuY3Rpb25bXSkge1xuICAgICAgICBsZXQgdGFibGU6IElUYWJsZSA9IFRhYmxlLmZyb21UYWJsZU5hbWUoc2NvcGUsIHRhYmxlUmVmLnRhYmxlTmFtZSwgdGFibGVSZWYudGFibGVOYW1lKTtcblxuICAgICAgICBsYW1iZGFzLmZvckVhY2goKGxhbWJkYTogTm9kZWpzRnVuY3Rpb24pID0+IHtcbiAgICAgICAgICAgIHRhYmxlLmdyYW50UmVhZFdyaXRlRGF0YShsYW1iZGEpXG4gICAgICAgICAgICBcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBBZGRSb3V0ZXMocHJvcHM6IE1pY3Jvc2VydmljZVByb3BzLCBcbiAgICAgICAgZ2F0ZXdheTogSVJlc3RBcGksIFxuICAgICAgICBsYW1iZGFzOiBOb2RlanNGdW5jdGlvbltdLCBcbiAgICAgICAgYXV0aG9yaXplcj86IFRva2VuQXV0aG9yaXplcikge1xuXG4gICAgICAgIHByb3BzLlJFU09VUkNFUy5MQU1CREE/LmZvckVhY2goKHByb3A6IFRzZ0xhbWJkYVByb3ApID0+IHtcblxuICAgICAgICAgICAgY29uc3QgbGFtYmRhSWQgPSBDcmVhdGVMYW1iZGEuZ2V0SWRGb3JMYW1iZGEocHJvcCwgdGhpcy5hcHBDb25maWcpO1xuXG4gICAgICAgICAgICBpZiAoIWxhbWJkYUlkKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW4ndCBmaW5kIGxhbWJkYWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbGFtYmRhTm9kZSA9IGxhbWJkYXMuZmluZCh4ID0+IHgubm9kZS5pZCA9PT0gbGFtYmRhSWQpO1xuXG4gICAgICAgICAgICBpZiAoIWxhbWJkYU5vZGUpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW4ndCBmaW5kIHRoZSBMYW1iZGEgSW50ZWdyYXRpb25cIik7ICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBSb3V0ZXMuY3JlYXRlUmVzb3VyY2UocHJvcCwgZ2F0ZXdheSwgbGFtYmRhTm9kZSwgYXV0aG9yaXplcik7XG4gICAgICAgIFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIEFzc2lnbkFjY2Vzc1RvU2VjcmV0TWFuYWdlcihzZWNyZXQ6IElTZWNyZXQsIGxhbWJkYXM6IE5vZGVqc0Z1bmN0aW9uW10pIHtcblxuICAgICAgICBsYW1iZGFzLmZvckVhY2goKGxhbWJkYSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gc2VjcmV0LmdyYW50UmVhZChsYW1iZGEpO1xuICAgICAgICAgICAgXG4gICAgICAgIH0pO1xuICAgICAgICBcbiAgICB9XG5cbn0iXX0=
|
package/package.json
CHANGED
|
@@ -106,9 +106,6 @@ export class CreateDynamoDb extends BaseResource<Table> {
|
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
private generateDbName(tableName: string) {
|
|
109
|
-
|
|
110
|
-
return `${tableName}`;
|
|
111
|
-
|
|
112
|
-
// return `${this.config.AppPrefix}-${tableName}`;
|
|
109
|
+
return `${this.config.AppPrefix}-${tableName}`;
|
|
113
110
|
}
|
|
114
111
|
}
|
|
@@ -62,9 +62,9 @@ export class CreateMicroServiceBundle {
|
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
// Allow access to existing tables
|
|
65
|
-
if (this.requireDynamoTableRefs) {
|
|
66
|
-
|
|
67
|
-
}
|
|
65
|
+
// if (this.requireDynamoTableRefs) {
|
|
66
|
+
// this.AssignAccessToTableRefs(scope, this.props.RESOURCES.DYNAMO?.TABLE_REFS, lambdas.Lambdas);
|
|
67
|
+
// }
|
|
68
68
|
|
|
69
69
|
if (this.secretMgr) {
|
|
70
70
|
this.AssignAccessToSecretManager(this.secretMgr, lambdas.Lambdas);
|
|
@@ -84,26 +84,29 @@ export class CreateMicroServiceBundle {
|
|
|
84
84
|
private AssignAccessToTables(tables: Table[], lambdas: NodejsFunction[]) {
|
|
85
85
|
|
|
86
86
|
if (tables) {
|
|
87
|
-
|
|
87
|
+
lambdas.forEach((lambda: NodejsFunction) => {
|
|
88
|
+
|
|
89
|
+
tables.forEach((table: ITable) => {
|
|
88
90
|
|
|
89
|
-
|
|
91
|
+
|
|
90
92
|
|
|
91
93
|
// This is a CDK bug: It doesn't provide
|
|
92
94
|
// access to the indexes.
|
|
93
95
|
//table.grantReadWriteData(lambda);
|
|
94
96
|
|
|
95
97
|
// Workaround:
|
|
96
|
-
lambda.addToRolePolicy(
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
);
|
|
106
|
-
|
|
98
|
+
// lambda.addToRolePolicy(
|
|
99
|
+
// new PolicyStatement({
|
|
100
|
+
// effect: Effect.ALLOW,
|
|
101
|
+
// actions: CreateDynamoDb.ReadWriteActions,
|
|
102
|
+
// resources: [
|
|
103
|
+
// table.tableArn,
|
|
104
|
+
// `${table.tableArn}/*`, // This is not recognized by cdk, but table is. why?
|
|
105
|
+
// ],
|
|
106
|
+
// })
|
|
107
|
+
// );
|
|
108
|
+
|
|
109
|
+
table.grantReadWriteData(lambda);
|
|
107
110
|
|
|
108
111
|
|
|
109
112
|
});
|