@aws-amplify/graphql-model-transformer 1.5.0-rds.0 → 2.1.0
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/API.md +15 -15
- package/CHANGELOG.md +2 -7
- package/lib/graphql-types/mutation.d.ts.map +1 -1
- package/lib/graphql-types/mutation.js +2 -9
- package/lib/graphql-types/mutation.js.map +1 -1
- package/lib/rds-lambda.zip +0 -0
- package/lib/rds-notification-lambda.zip +0 -0
- package/lib/rds-patching-lambda.zip +0 -0
- package/lib/resolvers/generators/dynamodb-vtl-generator.d.ts +5 -6
- package/lib/resolvers/generators/dynamodb-vtl-generator.d.ts.map +1 -1
- package/lib/resolvers/generators/dynamodb-vtl-generator.js +5 -5
- package/lib/resolvers/generators/dynamodb-vtl-generator.js.map +1 -1
- package/lib/resolvers/generators/rds-vtl-generator.d.ts +5 -6
- package/lib/resolvers/generators/rds-vtl-generator.d.ts.map +1 -1
- package/lib/resolvers/generators/rds-vtl-generator.js +10 -10
- package/lib/resolvers/generators/rds-vtl-generator.js.map +1 -1
- package/lib/resolvers/generators/vtl-generator.d.ts +5 -6
- package/lib/resolvers/generators/vtl-generator.d.ts.map +1 -1
- package/lib/resolvers/rds/mutation.d.ts +3 -4
- package/lib/resolvers/rds/mutation.d.ts.map +1 -1
- package/lib/resolvers/rds/mutation.js +3 -7
- package/lib/resolvers/rds/mutation.js.map +1 -1
- package/lib/resolvers/rds/query.d.ts +1 -2
- package/lib/resolvers/rds/query.d.ts.map +1 -1
- package/lib/resolvers/rds/query.js +1 -3
- package/lib/resolvers/rds/query.js.map +1 -1
- package/lib/resolvers/rds/resolver.d.ts +7 -11
- package/lib/resolvers/rds/resolver.d.ts.map +1 -1
- package/lib/resolvers/rds/resolver.js +39 -50
- package/lib/resolvers/rds/resolver.js.map +1 -1
- package/lib/resources/dynamo-model-resource-generator.d.ts +2 -2
- package/lib/resources/dynamo-model-resource-generator.d.ts.map +1 -1
- package/lib/resources/dynamo-model-resource-generator.js +48 -43
- package/lib/resources/dynamo-model-resource-generator.js.map +1 -1
- package/lib/resources/model-resource-generator.js +8 -8
- package/lib/resources/model-resource-generator.js.map +1 -1
- package/lib/resources/rds-model-resource-generator.js +13 -13
- package/package.json +6 -5
- package/publish-notification-lambda/node_modules/.package-lock.json +3 -3
- package/publish-notification-lambda/node_modules/@types/node/README.md +1 -1
- package/publish-notification-lambda/node_modules/@types/node/package.json +2 -2
- package/publish-notification-lambda/package-lock.json +3 -3
- package/rds-lambda/handler.ts +1 -2
- package/rds-lambda/node_modules/.package-lock.json +6 -6
- package/rds-lambda/node_modules/@types/node/README.md +1 -1
- package/rds-lambda/node_modules/@types/node/package.json +2 -2
- package/rds-lambda/node_modules/electron-to-chromium/full-chromium-versions.json +1 -1
- package/rds-lambda/node_modules/electron-to-chromium/full-versions.json +1 -1
- package/rds-lambda/node_modules/electron-to-chromium/package.json +1 -1
- package/rds-lambda/package-lock.json +6 -6
- package/rds-patching-lambda/node_modules/.package-lock.json +3 -3
- package/rds-patching-lambda/node_modules/@types/node/README.md +1 -1
- package/rds-patching-lambda/node_modules/@types/node/package.json +2 -2
- package/rds-patching-lambda/package-lock.json +3 -3
- package/src/__tests__/__snapshots__/model-transformer.test.ts.snap +0 -688
- package/src/__tests__/model-directive-arguments.test.ts +23 -28
- package/src/__tests__/model-transformer.test.ts +137 -216
- package/src/graphql-types/mutation.ts +3 -11
- package/src/resolvers/generators/dynamodb-vtl-generator.ts +5 -7
- package/src/resolvers/generators/rds-vtl-generator.ts +10 -12
- package/src/resolvers/generators/vtl-generator.ts +5 -6
- package/src/resolvers/rds/mutation.ts +3 -18
- package/src/resolvers/rds/query.ts +1 -9
- package/src/resolvers/rds/resolver.ts +45 -62
- package/src/resources/dynamo-model-resource-generator.ts +50 -47
- package/src/resources/model-resource-generator.ts +8 -8
- package/src/resources/rds-model-resource-generator.ts +13 -13
- package/tsconfig.tsbuildinfo +1 -1
@@ -3,14 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.
|
6
|
+
exports.generateDefaultLambdaResponseMappingTemplate = exports.generateGetLambdaResponseTemplate = exports.generateLambdaRequestTemplate = exports.createRdsPatchingLambdaRole = exports.createRdsLambdaRole = exports.createRdsPatchingLambda = exports.createRdsLambda = exports.setRDSLayerMappings = void 0;
|
7
7
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
8
8
|
const graphql_mapping_template_1 = require("graphql-mapping-template");
|
9
9
|
const graphql_transformer_common_1 = require("graphql-transformer-common");
|
10
|
+
const graphql_transformer_core_1 = require("@aws-amplify/graphql-transformer-core");
|
10
11
|
const aws_iam_1 = require("aws-cdk-lib/aws-iam");
|
11
12
|
const aws_lambda_1 = require("aws-cdk-lib/aws-lambda");
|
12
13
|
const path_1 = __importDefault(require("path"));
|
13
|
-
const graphql_1 = require("graphql");
|
14
14
|
const OPERATION_KEY = '__operation';
|
15
15
|
const RDSLayerMappingID = 'RDSLayerResourceMapping';
|
16
16
|
const setRDSLayerMappings = (scope, mapping) => new aws_cdk_lib_1.CfnMapping(scope, RDSLayerMappingID, {
|
@@ -21,99 +21,99 @@ const getLatestLayers = (latestLayers) => {
|
|
21
21
|
if (latestLayers && Object.keys(latestLayers).length > 0) {
|
22
22
|
return latestLayers;
|
23
23
|
}
|
24
|
-
console.warn('Unable to load the latest RDS layer configuration, using local configuration.');
|
25
24
|
const defaultLayerMapping = getDefaultLayerMapping();
|
26
25
|
return defaultLayerMapping;
|
27
26
|
};
|
28
27
|
const getDefaultLayerMapping = () => ({
|
29
28
|
'ap-northeast-1': {
|
30
|
-
layerRegion: 'arn:aws:lambda:ap-northeast-1:582037449441:layer:AmplifyRDSLayer:
|
29
|
+
layerRegion: 'arn:aws:lambda:ap-northeast-1:582037449441:layer:AmplifyRDSLayer:5',
|
31
30
|
},
|
32
31
|
'us-east-1': {
|
33
|
-
layerRegion: 'arn:aws:lambda:us-east-1:582037449441:layer:AmplifyRDSLayer:
|
32
|
+
layerRegion: 'arn:aws:lambda:us-east-1:582037449441:layer:AmplifyRDSLayer:5',
|
34
33
|
},
|
35
34
|
'ap-southeast-1': {
|
36
|
-
layerRegion: 'arn:aws:lambda:ap-southeast-1:582037449441:layer:AmplifyRDSLayer:
|
35
|
+
layerRegion: 'arn:aws:lambda:ap-southeast-1:582037449441:layer:AmplifyRDSLayer:5',
|
37
36
|
},
|
38
37
|
'eu-west-1': {
|
39
|
-
layerRegion: 'arn:aws:lambda:eu-west-1:582037449441:layer:AmplifyRDSLayer:
|
38
|
+
layerRegion: 'arn:aws:lambda:eu-west-1:582037449441:layer:AmplifyRDSLayer:5',
|
40
39
|
},
|
41
40
|
'us-west-1': {
|
42
|
-
layerRegion: 'arn:aws:lambda:us-west-1:582037449441:layer:AmplifyRDSLayer:
|
41
|
+
layerRegion: 'arn:aws:lambda:us-west-1:582037449441:layer:AmplifyRDSLayer:5',
|
43
42
|
},
|
44
43
|
'ap-east-1': {
|
45
|
-
layerRegion: 'arn:aws:lambda:ap-east-1:582037449441:layer:AmplifyRDSLayer:
|
44
|
+
layerRegion: 'arn:aws:lambda:ap-east-1:582037449441:layer:AmplifyRDSLayer:5',
|
46
45
|
},
|
47
46
|
'ap-northeast-2': {
|
48
|
-
layerRegion: 'arn:aws:lambda:ap-northeast-2:582037449441:layer:AmplifyRDSLayer:
|
47
|
+
layerRegion: 'arn:aws:lambda:ap-northeast-2:582037449441:layer:AmplifyRDSLayer:5',
|
49
48
|
},
|
50
49
|
'ap-northeast-3': {
|
51
|
-
layerRegion: 'arn:aws:lambda:ap-northeast-3:582037449441:layer:AmplifyRDSLayer:
|
50
|
+
layerRegion: 'arn:aws:lambda:ap-northeast-3:582037449441:layer:AmplifyRDSLayer:5',
|
52
51
|
},
|
53
52
|
'ap-south-1': {
|
54
|
-
layerRegion: 'arn:aws:lambda:ap-south-1:582037449441:layer:AmplifyRDSLayer:
|
53
|
+
layerRegion: 'arn:aws:lambda:ap-south-1:582037449441:layer:AmplifyRDSLayer:5',
|
55
54
|
},
|
56
55
|
'ap-southeast-2': {
|
57
|
-
layerRegion: 'arn:aws:lambda:ap-southeast-2:582037449441:layer:AmplifyRDSLayer:
|
56
|
+
layerRegion: 'arn:aws:lambda:ap-southeast-2:582037449441:layer:AmplifyRDSLayer:5',
|
58
57
|
},
|
59
58
|
'ca-central-1': {
|
60
|
-
layerRegion: 'arn:aws:lambda:ca-central-1:582037449441:layer:AmplifyRDSLayer:
|
59
|
+
layerRegion: 'arn:aws:lambda:ca-central-1:582037449441:layer:AmplifyRDSLayer:5',
|
61
60
|
},
|
62
61
|
'eu-central-1': {
|
63
|
-
layerRegion: 'arn:aws:lambda:eu-central-1:582037449441:layer:AmplifyRDSLayer:
|
62
|
+
layerRegion: 'arn:aws:lambda:eu-central-1:582037449441:layer:AmplifyRDSLayer:5',
|
64
63
|
},
|
65
64
|
'eu-north-1': {
|
66
|
-
layerRegion: 'arn:aws:lambda:eu-north-1:582037449441:layer:AmplifyRDSLayer:
|
65
|
+
layerRegion: 'arn:aws:lambda:eu-north-1:582037449441:layer:AmplifyRDSLayer:5',
|
67
66
|
},
|
68
67
|
'eu-west-2': {
|
69
|
-
layerRegion: 'arn:aws:lambda:eu-west-2:582037449441:layer:AmplifyRDSLayer:
|
68
|
+
layerRegion: 'arn:aws:lambda:eu-west-2:582037449441:layer:AmplifyRDSLayer:5',
|
70
69
|
},
|
71
70
|
'eu-west-3': {
|
72
|
-
layerRegion: 'arn:aws:lambda:eu-west-3:582037449441:layer:AmplifyRDSLayer:
|
71
|
+
layerRegion: 'arn:aws:lambda:eu-west-3:582037449441:layer:AmplifyRDSLayer:5',
|
73
72
|
},
|
74
73
|
'sa-east-1': {
|
75
|
-
layerRegion: 'arn:aws:lambda:sa-east-1:582037449441:layer:AmplifyRDSLayer:
|
74
|
+
layerRegion: 'arn:aws:lambda:sa-east-1:582037449441:layer:AmplifyRDSLayer:5',
|
76
75
|
},
|
77
76
|
'us-east-2': {
|
78
|
-
layerRegion: 'arn:aws:lambda:us-east-2:582037449441:layer:AmplifyRDSLayer:
|
77
|
+
layerRegion: 'arn:aws:lambda:us-east-2:582037449441:layer:AmplifyRDSLayer:5',
|
79
78
|
},
|
80
79
|
'us-west-2': {
|
81
|
-
layerRegion: 'arn:aws:lambda:us-west-2:582037449441:layer:AmplifyRDSLayer:
|
80
|
+
layerRegion: 'arn:aws:lambda:us-west-2:582037449441:layer:AmplifyRDSLayer:5',
|
82
81
|
},
|
83
82
|
'cn-north-1': {
|
84
|
-
layerRegion: 'arn:aws:lambda:cn-north-1:582037449441:layer:AmplifyRDSLayer:
|
83
|
+
layerRegion: 'arn:aws:lambda:cn-north-1:582037449441:layer:AmplifyRDSLayer:5',
|
85
84
|
},
|
86
85
|
'cn-northwest-1': {
|
87
|
-
layerRegion: 'arn:aws:lambda:cn-northwest-1:582037449441:layer:AmplifyRDSLayer:
|
86
|
+
layerRegion: 'arn:aws:lambda:cn-northwest-1:582037449441:layer:AmplifyRDSLayer:5',
|
88
87
|
},
|
89
88
|
'us-gov-west-1': {
|
90
|
-
layerRegion: 'arn:aws:lambda:us-gov-west-1:582037449441:layer:AmplifyRDSLayer:
|
89
|
+
layerRegion: 'arn:aws:lambda:us-gov-west-1:582037449441:layer:AmplifyRDSLayer:5',
|
91
90
|
},
|
92
91
|
'us-gov-east-1': {
|
93
|
-
layerRegion: 'arn:aws:lambda:us-gov-east-1:582037449441:layer:AmplifyRDSLayer:
|
92
|
+
layerRegion: 'arn:aws:lambda:us-gov-east-1:582037449441:layer:AmplifyRDSLayer:5',
|
94
93
|
},
|
95
94
|
'me-south-1': {
|
96
|
-
layerRegion: 'arn:aws:lambda:me-south-1:582037449441:layer:AmplifyRDSLayer:
|
95
|
+
layerRegion: 'arn:aws:lambda:me-south-1:582037449441:layer:AmplifyRDSLayer:5',
|
97
96
|
},
|
98
97
|
});
|
99
|
-
const createRdsLambda = (
|
98
|
+
const createRdsLambda = (scope, apiGraphql, lambdaRole, environment, sqlLambdaVpcConfig) => {
|
100
99
|
const { RDSLambdaLogicalID } = graphql_transformer_common_1.ResourceConstants.RESOURCES;
|
101
100
|
return apiGraphql.host.addLambdaFunction(RDSLambdaLogicalID, `functions/${RDSLambdaLogicalID}.zip`, 'handler.run', path_1.default.resolve(__dirname, '..', '..', '..', 'lib', 'rds-lambda.zip'), aws_lambda_1.Runtime.NODEJS_18_X, [
|
102
|
-
aws_lambda_1.LayerVersion.fromLayerVersionArn(
|
103
|
-
], lambdaRole, environment, aws_cdk_lib_1.Duration.seconds(30),
|
101
|
+
aws_lambda_1.LayerVersion.fromLayerVersionArn(scope, 'SQLLambdaLayerVersion', aws_cdk_lib_1.Fn.findInMap(RDSLayerMappingID, aws_cdk_lib_1.Fn.ref('AWS::Region'), 'layerRegion')),
|
102
|
+
], lambdaRole, environment, aws_cdk_lib_1.Duration.seconds(30), scope, sqlLambdaVpcConfig);
|
104
103
|
};
|
105
104
|
exports.createRdsLambda = createRdsLambda;
|
106
|
-
const createRdsPatchingLambda = (
|
105
|
+
const createRdsPatchingLambda = (scope, apiGraphql, lambdaRole, environment, sqlLambdaVpcConfig) => {
|
107
106
|
const { RDSPatchingLambdaLogicalID } = graphql_transformer_common_1.ResourceConstants.RESOURCES;
|
108
|
-
return apiGraphql.host.addLambdaFunction(RDSPatchingLambdaLogicalID, `functions/${RDSPatchingLambdaLogicalID}.zip`, 'index.handler', path_1.default.resolve(__dirname, '..', '..', '..', 'lib', 'rds-patching-lambda.zip'), aws_lambda_1.Runtime.NODEJS_18_X, [], lambdaRole, environment, aws_cdk_lib_1.Duration.minutes(6),
|
107
|
+
return apiGraphql.host.addLambdaFunction(RDSPatchingLambdaLogicalID, `functions/${RDSPatchingLambdaLogicalID}.zip`, 'index.handler', path_1.default.resolve(__dirname, '..', '..', '..', 'lib', 'rds-patching-lambda.zip'), aws_lambda_1.Runtime.NODEJS_18_X, [], lambdaRole, environment, aws_cdk_lib_1.Duration.minutes(6), scope, sqlLambdaVpcConfig);
|
109
108
|
};
|
110
109
|
exports.createRdsPatchingLambda = createRdsPatchingLambda;
|
111
|
-
const createRdsLambdaRole = (roleName,
|
110
|
+
const createRdsLambdaRole = (roleName, scope, secretEntry) => {
|
112
111
|
const { RDSLambdaIAMRoleLogicalID, RDSLambdaLogAccessPolicy } = graphql_transformer_common_1.ResourceConstants.RESOURCES;
|
113
|
-
const role = new aws_iam_1.Role(
|
112
|
+
const role = new aws_iam_1.Role(scope, RDSLambdaIAMRoleLogicalID, {
|
114
113
|
assumedBy: new aws_iam_1.ServicePrincipal('lambda.amazonaws.com'),
|
115
114
|
roleName,
|
116
115
|
});
|
116
|
+
(0, graphql_transformer_core_1.setResourceName)(role, { name: RDSLambdaIAMRoleLogicalID, setOnDefaultChild: true });
|
117
117
|
const policyStatements = [
|
118
118
|
new aws_iam_1.PolicyStatement({
|
119
119
|
actions: ['logs:CreateLogGroup', 'logs:CreateLogStream', 'logs:PutLogEvents'],
|
@@ -134,7 +134,7 @@ const createRdsLambdaRole = (roleName, stack, secretEntry) => {
|
|
134
134
|
],
|
135
135
|
}));
|
136
136
|
}
|
137
|
-
role.attachInlinePolicy(new aws_iam_1.Policy(
|
137
|
+
role.attachInlinePolicy(new aws_iam_1.Policy(scope, RDSLambdaLogAccessPolicy, {
|
138
138
|
statements: policyStatements,
|
139
139
|
policyName: `${roleName}Policy`,
|
140
140
|
}));
|
@@ -146,12 +146,13 @@ const createRdsLambdaRole = (roleName, stack, secretEntry) => {
|
|
146
146
|
return role;
|
147
147
|
};
|
148
148
|
exports.createRdsLambdaRole = createRdsLambdaRole;
|
149
|
-
const createRdsPatchingLambdaRole = (roleName,
|
149
|
+
const createRdsPatchingLambdaRole = (roleName, scope, functionArn) => {
|
150
150
|
const { RDSPatchingLambdaIAMRoleLogicalID, RDSPatchingLambdaLogAccessPolicy } = graphql_transformer_common_1.ResourceConstants.RESOURCES;
|
151
|
-
const role = new aws_iam_1.Role(
|
151
|
+
const role = new aws_iam_1.Role(scope, RDSPatchingLambdaIAMRoleLogicalID, {
|
152
152
|
assumedBy: new aws_iam_1.ServicePrincipal('lambda.amazonaws.com'),
|
153
153
|
roleName,
|
154
154
|
});
|
155
|
+
(0, graphql_transformer_core_1.setResourceName)(role, { name: RDSPatchingLambdaIAMRoleLogicalID, setOnDefaultChild: true });
|
155
156
|
const policyStatements = [
|
156
157
|
new aws_iam_1.PolicyStatement({
|
157
158
|
actions: ['logs:CreateLogGroup', 'logs:CreateLogStream', 'logs:PutLogEvents'],
|
@@ -169,7 +170,7 @@ const createRdsPatchingLambdaRole = (roleName, stack, functionArn) => {
|
|
169
170
|
resources: ['*'],
|
170
171
|
}),
|
171
172
|
];
|
172
|
-
role.attachInlinePolicy(new aws_iam_1.Policy(
|
173
|
+
role.attachInlinePolicy(new aws_iam_1.Policy(scope, RDSPatchingLambdaLogAccessPolicy, {
|
173
174
|
statements: policyStatements,
|
174
175
|
policyName: `${roleName}Policy`,
|
175
176
|
}));
|
@@ -181,7 +182,7 @@ const createRdsPatchingLambdaRole = (roleName, stack, functionArn) => {
|
|
181
182
|
return role;
|
182
183
|
};
|
183
184
|
exports.createRdsPatchingLambdaRole = createRdsPatchingLambdaRole;
|
184
|
-
const generateLambdaRequestTemplate = (tableName, operation, operationName
|
185
|
+
const generateLambdaRequestTemplate = (tableName, operation, operationName) => (0, graphql_mapping_template_1.printBlock)('Invoke RDS Lambda data source')((0, graphql_mapping_template_1.compoundExpression)([
|
185
186
|
(0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput'), (0, graphql_mapping_template_1.obj)({})),
|
186
187
|
(0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput.args'), (0, graphql_mapping_template_1.obj)({})),
|
187
188
|
(0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput.table'), (0, graphql_mapping_template_1.str)(tableName)),
|
@@ -189,7 +190,6 @@ const generateLambdaRequestTemplate = (tableName, operation, operationName, ctx)
|
|
189
190
|
(0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput.operationName'), (0, graphql_mapping_template_1.str)(operationName)),
|
190
191
|
(0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput.args.metadata'), (0, graphql_mapping_template_1.obj)({})),
|
191
192
|
(0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput.args.metadata.keys'), (0, graphql_mapping_template_1.list)([])),
|
192
|
-
(0, exports.constructNonScalarFieldsStatement)(tableName, ctx),
|
193
193
|
(0, graphql_mapping_template_1.qref)((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('lambdaInput.args.metadata.keys.addAll'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.defaultIfNull'), (0, graphql_mapping_template_1.ref)('ctx.stash.keys'), (0, graphql_mapping_template_1.list)([])))),
|
194
194
|
(0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput.args.input'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.defaultIfNull'), (0, graphql_mapping_template_1.ref)('ctx.stash.defaultValues'), (0, graphql_mapping_template_1.obj)({}))),
|
195
195
|
(0, graphql_mapping_template_1.qref)((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('lambdaInput.args.input.putAll'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.defaultIfNull'), (0, graphql_mapping_template_1.ref)('context.arguments'), (0, graphql_mapping_template_1.obj)({})))),
|
@@ -224,15 +224,4 @@ const generateDefaultLambdaResponseMappingTemplate = (isSyncEnabled, mutation =
|
|
224
224
|
return (0, graphql_mapping_template_1.printBlock)('ResponseTemplate')((0, graphql_mapping_template_1.compoundExpression)(statements));
|
225
225
|
};
|
226
226
|
exports.generateDefaultLambdaResponseMappingTemplate = generateDefaultLambdaResponseMappingTemplate;
|
227
|
-
const getNonScalarFields = (object, ctx) => {
|
228
|
-
var _a;
|
229
|
-
if (!object) {
|
230
|
-
return [];
|
231
|
-
}
|
232
|
-
const enums = ctx.output.getTypeDefinitionsOfKind(graphql_1.Kind.ENUM_TYPE_DEFINITION);
|
233
|
-
return ((_a = object.fields) === null || _a === void 0 ? void 0 : _a.filter((f) => (0, graphql_transformer_common_1.isArrayOrObject)(f.type, enums)).map((f) => f.name.value)) || [];
|
234
|
-
};
|
235
|
-
exports.getNonScalarFields = getNonScalarFields;
|
236
|
-
const constructNonScalarFieldsStatement = (tableName, ctx) => (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput.args.metadata.nonScalarFields'), (0, graphql_mapping_template_1.list)((0, exports.getNonScalarFields)(ctx.output.getObject(tableName), ctx).map(graphql_mapping_template_1.str)));
|
237
|
-
exports.constructNonScalarFieldsStatement = constructNonScalarFieldsStatement;
|
238
227
|
//# sourceMappingURL=resolver.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/resolvers/rds/resolver.ts"],"names":[],"mappings":";;;;;;AAAA,
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/resolvers/rds/resolver.ts"],"names":[],"mappings":"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"}
|
@@ -1,7 +1,7 @@
|
|
1
|
-
import * as cdk from 'aws-cdk-lib';
|
2
1
|
import { TransformerContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
|
3
2
|
import { ObjectTypeDefinitionNode } from 'graphql';
|
4
3
|
import * as iam from 'aws-cdk-lib/aws-iam';
|
4
|
+
import { Construct } from 'constructs';
|
5
5
|
import { ModelVTLGenerator } from '../resolvers';
|
6
6
|
import { ModelResourceGenerator } from './model-resource-generator';
|
7
7
|
export declare class DynamoModelResourceGenerator extends ModelResourceGenerator {
|
@@ -10,6 +10,6 @@ export declare class DynamoModelResourceGenerator extends ModelResourceGenerator
|
|
10
10
|
getVTLGenerator(): ModelVTLGenerator;
|
11
11
|
private createModelTable;
|
12
12
|
private createModelTableDataSource;
|
13
|
-
createIAMRole: (context: TransformerContextProvider, def: ObjectTypeDefinitionNode,
|
13
|
+
createIAMRole: (context: TransformerContextProvider, def: ObjectTypeDefinitionNode, scope: Construct, tableName: string) => iam.Role;
|
14
14
|
}
|
15
15
|
//# sourceMappingURL=dynamo-model-resource-generator.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"dynamo-model-resource-generator.d.ts","sourceRoot":"","sources":["../../src/resources/dynamo-model-resource-generator.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"dynamo-model-resource-generator.d.ts","sourceRoot":"","sources":["../../src/resources/dynamo-model-resource-generator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AAEzF,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAInD,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAA6B,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAMpE,qBAAa,4BAA6B,SAAQ,sBAAsB;IACtE,SAAS,CAAC,QAAQ,CAAC,aAAa,kCAAkC;IAElE,iBAAiB,CAAC,GAAG,EAAE,0BAA0B,GAAG,IAAI;IAkDxD,eAAe,IAAI,iBAAiB;IAIpC,OAAO,CAAC,gBAAgB;IA8GxB,OAAO,CAAC,0BAA0B;IA6ClC,aAAa,YAAa,0BAA0B,OAAO,wBAAwB,SAAS,SAAS,aAAa,MAAM,KAAG,IAAI,IAAI,CA2DjI;CACH"}
|
@@ -35,14 +35,15 @@ class DynamoModelResourceGenerator extends model_resource_generator_1.ModelResou
|
|
35
35
|
constructor() {
|
36
36
|
super(...arguments);
|
37
37
|
this.generatorType = 'DynamoModelResourceGenerator';
|
38
|
-
this.createIAMRole = (context, def,
|
38
|
+
this.createIAMRole = (context, def, scope, tableName) => {
|
39
39
|
const roleName = context.resourceHelper.generateIAMRoleName(graphql_transformer_common_1.ModelResourceIDs.ModelTableIAMRoleID(def.name.value));
|
40
|
-
const role = new iam.Role(
|
40
|
+
const role = new iam.Role(scope, graphql_transformer_common_1.ModelResourceIDs.ModelTableIAMRoleID(def.name.value), {
|
41
41
|
roleName,
|
42
42
|
assumedBy: new iam.ServicePrincipal('appsync.amazonaws.com'),
|
43
43
|
});
|
44
|
+
(0, graphql_transformer_core_1.setResourceName)(role, { name: graphql_transformer_common_1.ModelResourceIDs.ModelTableIAMRoleID(def.name.value), setOnDefaultChild: true });
|
44
45
|
const amplifyDataStoreTableName = context.resourceHelper.generateTableName(graphql_transformer_common_1.SyncResourceIDs.syncTableName);
|
45
|
-
role.attachInlinePolicy(new iam.Policy(
|
46
|
+
role.attachInlinePolicy(new iam.Policy(scope, 'DynamoDBAccess', {
|
46
47
|
statements: [
|
47
48
|
new iam.PolicyStatement({
|
48
49
|
effect: iam.Effect.ALLOW,
|
@@ -79,7 +80,7 @@ class DynamoModelResourceGenerator extends model_resource_generator_1.ModelResou
|
|
79
80
|
}));
|
80
81
|
const syncConfig = graphql_transformer_core_1.SyncUtils.getSyncConfig(context, def.name.value);
|
81
82
|
if (syncConfig && graphql_transformer_core_1.SyncUtils.isLambdaSyncConfig(syncConfig)) {
|
82
|
-
role.attachInlinePolicy(graphql_transformer_core_1.SyncUtils.createSyncLambdaIAMPolicy(context,
|
83
|
+
role.attachInlinePolicy(graphql_transformer_core_1.SyncUtils.createSyncLambdaIAMPolicy(context, scope, syncConfig.LambdaConflictHandler.name, syncConfig.LambdaConflictHandler.region));
|
83
84
|
}
|
84
85
|
return role;
|
85
86
|
};
|
@@ -89,28 +90,29 @@ class DynamoModelResourceGenerator extends model_resource_generator_1.ModelResou
|
|
89
90
|
return;
|
90
91
|
}
|
91
92
|
if (this.isProvisioned()) {
|
92
|
-
|
93
|
+
const rootStack = cdk.Stack.of(ctx.stackManager.scope);
|
94
|
+
new cdk.CfnParameter(rootStack, graphql_transformer_common_1.ResourceConstants.PARAMETERS.DynamoDBModelTableReadIOPS, {
|
93
95
|
description: 'The number of read IOPS the table should support.',
|
94
96
|
type: 'Number',
|
95
97
|
default: 5,
|
96
98
|
});
|
97
|
-
|
99
|
+
new cdk.CfnParameter(rootStack, graphql_transformer_common_1.ResourceConstants.PARAMETERS.DynamoDBModelTableWriteIOPS, {
|
98
100
|
description: 'The number of write IOPS the table should support.',
|
99
101
|
type: 'Number',
|
100
102
|
default: 5,
|
101
103
|
});
|
102
|
-
|
104
|
+
new cdk.CfnParameter(rootStack, graphql_transformer_common_1.ResourceConstants.PARAMETERS.DynamoDBBillingMode, {
|
103
105
|
description: 'Configure @model types to create DynamoDB tables with PAY_PER_REQUEST or PROVISIONED billing modes.',
|
104
106
|
default: 'PAY_PER_REQUEST',
|
105
107
|
allowedValues: ['PAY_PER_REQUEST', 'PROVISIONED'],
|
106
108
|
});
|
107
|
-
|
109
|
+
new cdk.CfnParameter(rootStack, graphql_transformer_common_1.ResourceConstants.PARAMETERS.DynamoDBEnablePointInTimeRecovery, {
|
108
110
|
description: 'Whether to enable Point in Time Recovery on the table.',
|
109
111
|
type: 'String',
|
110
112
|
default: 'false',
|
111
113
|
allowedValues: ['true', 'false'],
|
112
114
|
});
|
113
|
-
|
115
|
+
new cdk.CfnParameter(rootStack, graphql_transformer_common_1.ResourceConstants.PARAMETERS.DynamoDBEnableServerSideEncryption, {
|
114
116
|
description: 'Enable server side encryption powered by KMS.',
|
115
117
|
type: 'String',
|
116
118
|
default: 'true',
|
@@ -120,65 +122,65 @@ class DynamoModelResourceGenerator extends model_resource_generator_1.ModelResou
|
|
120
122
|
this.models.forEach((model) => {
|
121
123
|
const tableBaseName = ctx.resourceHelper.getModelNameMapping(model.name.value);
|
122
124
|
const tableLogicalName = graphql_transformer_common_1.ModelResourceIDs.ModelTableResourceID(tableBaseName);
|
123
|
-
const
|
124
|
-
this.createModelTable(
|
125
|
+
const scope = ctx.stackManager.getScopeFor(tableLogicalName, tableBaseName);
|
126
|
+
this.createModelTable(scope, model, ctx);
|
125
127
|
});
|
126
128
|
this.generateResolvers(ctx);
|
127
129
|
}
|
128
130
|
getVTLGenerator() {
|
129
131
|
return new resolvers_1.DynamoDBModelVTLGenerator();
|
130
132
|
}
|
131
|
-
createModelTable(
|
132
|
-
const
|
133
|
-
const
|
134
|
-
const
|
135
|
-
const readIops = new cdk.CfnParameter(
|
133
|
+
createModelTable(scope, def, context) {
|
134
|
+
const modelName = def.name.value;
|
135
|
+
const tableLogicalName = graphql_transformer_common_1.ModelResourceIDs.ModelTableResourceID(modelName);
|
136
|
+
const tableName = context.resourceHelper.generateTableName(modelName);
|
137
|
+
const readIops = new cdk.CfnParameter(scope, graphql_transformer_common_1.ResourceConstants.PARAMETERS.DynamoDBModelTableReadIOPS, {
|
136
138
|
description: 'The number of read IOPS the table should support.',
|
137
139
|
type: 'Number',
|
138
140
|
default: 5,
|
139
141
|
});
|
140
|
-
const writeIops = new cdk.CfnParameter(
|
142
|
+
const writeIops = new cdk.CfnParameter(scope, graphql_transformer_common_1.ResourceConstants.PARAMETERS.DynamoDBModelTableWriteIOPS, {
|
141
143
|
description: 'The number of write IOPS the table should support.',
|
142
144
|
type: 'Number',
|
143
145
|
default: 5,
|
144
146
|
});
|
145
|
-
const billingMode = new cdk.CfnParameter(
|
147
|
+
const billingMode = new cdk.CfnParameter(scope, graphql_transformer_common_1.ResourceConstants.PARAMETERS.DynamoDBBillingMode, {
|
146
148
|
description: 'Configure @model types to create DynamoDB tables with PAY_PER_REQUEST or PROVISIONED billing modes.',
|
147
149
|
type: 'String',
|
148
150
|
default: 'PAY_PER_REQUEST',
|
149
151
|
allowedValues: ['PAY_PER_REQUEST', 'PROVISIONED'],
|
150
152
|
});
|
151
|
-
const pointInTimeRecovery = new cdk.CfnParameter(
|
153
|
+
const pointInTimeRecovery = new cdk.CfnParameter(scope, graphql_transformer_common_1.ResourceConstants.PARAMETERS.DynamoDBEnablePointInTimeRecovery, {
|
152
154
|
description: 'Whether to enable Point in Time Recovery on the table.',
|
153
155
|
type: 'String',
|
154
156
|
default: 'false',
|
155
157
|
allowedValues: ['true', 'false'],
|
156
158
|
});
|
157
|
-
const enableSSE = new cdk.CfnParameter(
|
159
|
+
const enableSSE = new cdk.CfnParameter(scope, graphql_transformer_common_1.ResourceConstants.PARAMETERS.DynamoDBEnableServerSideEncryption, {
|
158
160
|
description: 'Enable server side encryption powered by KMS.',
|
159
161
|
type: 'String',
|
160
162
|
default: 'true',
|
161
163
|
allowedValues: ['true', 'false'],
|
162
164
|
});
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
new cdk.CfnCondition(
|
169
|
-
expression: cdk.Fn.conditionNot(cdk.Fn.conditionEquals(
|
165
|
+
scope.setParameter(readIops.node.id, cdk.Fn.ref(graphql_transformer_common_1.ResourceConstants.PARAMETERS.DynamoDBModelTableReadIOPS));
|
166
|
+
scope.setParameter(writeIops.node.id, cdk.Fn.ref(graphql_transformer_common_1.ResourceConstants.PARAMETERS.DynamoDBModelTableWriteIOPS));
|
167
|
+
scope.setParameter(billingMode.node.id, cdk.Fn.ref(graphql_transformer_common_1.ResourceConstants.PARAMETERS.DynamoDBBillingMode));
|
168
|
+
scope.setParameter(pointInTimeRecovery.node.id, cdk.Fn.ref(graphql_transformer_common_1.ResourceConstants.PARAMETERS.DynamoDBEnablePointInTimeRecovery));
|
169
|
+
scope.setParameter(enableSSE.node.id, cdk.Fn.ref(graphql_transformer_common_1.ResourceConstants.PARAMETERS.DynamoDBEnableServerSideEncryption));
|
170
|
+
new cdk.CfnCondition(scope, graphql_transformer_common_1.ResourceConstants.CONDITIONS.HasEnvironmentParameter, {
|
171
|
+
expression: cdk.Fn.conditionNot(cdk.Fn.conditionEquals(context.synthParameters.amplifyEnvironmentName, graphql_transformer_common_1.ResourceConstants.NONE)),
|
170
172
|
});
|
171
|
-
const useSSE = new cdk.CfnCondition(
|
173
|
+
const useSSE = new cdk.CfnCondition(scope, graphql_transformer_common_1.ResourceConstants.CONDITIONS.ShouldUseServerSideEncryption, {
|
172
174
|
expression: cdk.Fn.conditionEquals(enableSSE, 'true'),
|
173
175
|
});
|
174
|
-
const usePayPerRequestBilling = new cdk.CfnCondition(
|
176
|
+
const usePayPerRequestBilling = new cdk.CfnCondition(scope, graphql_transformer_common_1.ResourceConstants.CONDITIONS.ShouldUsePayPerRequestBilling, {
|
175
177
|
expression: cdk.Fn.conditionEquals(billingMode, 'PAY_PER_REQUEST'),
|
176
178
|
});
|
177
|
-
const usePointInTimeRecovery = new cdk.CfnCondition(
|
179
|
+
const usePointInTimeRecovery = new cdk.CfnCondition(scope, graphql_transformer_common_1.ResourceConstants.CONDITIONS.ShouldUsePointInTimeRecovery, {
|
178
180
|
expression: cdk.Fn.conditionEquals(pointInTimeRecovery, 'true'),
|
179
181
|
});
|
180
182
|
const removalPolicy = this.options.EnableDeletionProtection ? cdk.RemovalPolicy.RETAIN : cdk.RemovalPolicy.DESTROY;
|
181
|
-
const table = new aws_dynamodb_1.Table(
|
183
|
+
const table = new aws_dynamodb_1.Table(scope, tableLogicalName, {
|
182
184
|
tableName,
|
183
185
|
partitionKey: {
|
184
186
|
name: 'id',
|
@@ -190,6 +192,7 @@ class DynamoModelResourceGenerator extends model_resource_generator_1.ModelResou
|
|
190
192
|
...(context.isProjectUsingDataStore() ? { timeToLiveAttribute: '_ttl' } : undefined),
|
191
193
|
});
|
192
194
|
const cfnTable = table.node.defaultChild;
|
195
|
+
(0, graphql_transformer_core_1.setResourceName)(table, { name: modelName, setOnDefaultChild: true });
|
193
196
|
cfnTable.provisionedThroughput = cdk.Fn.conditionIf(usePayPerRequestBilling.logicalId, cdk.Fn.ref('AWS::NoValue'), {
|
194
197
|
ReadCapacityUnits: readIops,
|
195
198
|
WriteCapacityUnits: writeIops,
|
@@ -200,24 +203,26 @@ class DynamoModelResourceGenerator extends model_resource_generator_1.ModelResou
|
|
200
203
|
sseEnabled: cdk.Fn.conditionIf(useSSE.logicalId, true, false),
|
201
204
|
};
|
202
205
|
const streamArnOutputId = `GetAtt${graphql_transformer_common_1.ModelResourceIDs.ModelTableStreamArn(def.name.value)}`;
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
206
|
+
if (table.tableStreamArn) {
|
207
|
+
new cdk.CfnOutput(cdk.Stack.of(scope), streamArnOutputId, {
|
208
|
+
value: table.tableStreamArn,
|
209
|
+
description: 'Your DynamoDB table StreamArn.',
|
210
|
+
exportName: cdk.Fn.join(':', [context.api.apiId, 'GetAtt', tableLogicalName, 'StreamArn']),
|
211
|
+
});
|
212
|
+
}
|
208
213
|
const tableNameOutputId = `GetAtt${tableLogicalName}Name`;
|
209
|
-
new cdk.CfnOutput(
|
210
|
-
value:
|
214
|
+
new cdk.CfnOutput(cdk.Stack.of(scope), tableNameOutputId, {
|
215
|
+
value: table.tableName,
|
211
216
|
description: 'Your DynamoDB table name.',
|
212
217
|
exportName: cdk.Fn.join(':', [context.api.apiId, 'GetAtt', tableLogicalName, 'Name']),
|
213
218
|
});
|
214
|
-
const role = this.createIAMRole(context, def,
|
219
|
+
const role = this.createIAMRole(context, def, scope, tableName);
|
215
220
|
const tableDataSourceLogicalName = `${def.name.value}Table`;
|
216
|
-
this.createModelTableDataSource(def, context, table,
|
221
|
+
this.createModelTableDataSource(def, context, table, scope, role, tableDataSourceLogicalName);
|
217
222
|
}
|
218
|
-
createModelTableDataSource(def, context, table,
|
223
|
+
createModelTableDataSource(def, context, table, scope, role, dataSourceLogicalName) {
|
219
224
|
const datasourceRoleLogicalID = graphql_transformer_common_1.ModelResourceIDs.ModelTableDataSourceID(def.name.value);
|
220
|
-
const dataSource = context.api.host.addDynamoDbDataSource(datasourceRoleLogicalID, table, { name: dataSourceLogicalName, serviceRole: role },
|
225
|
+
const dataSource = context.api.host.addDynamoDbDataSource(datasourceRoleLogicalID, table, { name: dataSourceLogicalName, serviceRole: role }, scope);
|
221
226
|
const cfnDataSource = dataSource.node.defaultChild;
|
222
227
|
cfnDataSource.addDependency(role.node.defaultChild);
|
223
228
|
if (context.isProjectUsingDataStore()) {
|
@@ -230,7 +235,7 @@ class DynamoModelResourceGenerator extends model_resource_generator_1.ModelResou
|
|
230
235
|
datasourceDynamoDb.versioned = true;
|
231
236
|
}
|
232
237
|
const datasourceOutputId = `GetAtt${datasourceRoleLogicalID}Name`;
|
233
|
-
new cdk.CfnOutput(
|
238
|
+
new cdk.CfnOutput(cdk.Stack.of(scope), datasourceOutputId, {
|
234
239
|
value: dataSource.ds.attrName,
|
235
240
|
description: 'Your model DataSource name.',
|
236
241
|
exportName: cdk.Fn.join(':', [context.api.apiId, 'GetAtt', datasourceRoleLogicalID, 'Name']),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"dynamo-model-resource-generator.js","sourceRoot":"","sources":["../../src/resources/dynamo-model-resource-generator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAmC;AAEnC,2EAAkG;AAElG,
|
1
|
+
{"version":3,"file":"dynamo-model-resource-generator.js","sourceRoot":"","sources":["../../src/resources/dynamo-model-resource-generator.ts"],"names":[],"mappings":"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"}
|