@aws-amplify/graphql-model-transformer 2.3.0-rds-4.0 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. package/CHANGELOG.md +12 -1
  2. package/lib/graphql-model-transformer.d.ts +2 -1
  3. package/lib/graphql-model-transformer.d.ts.map +1 -1
  4. package/lib/graphql-model-transformer.js +60 -49
  5. package/lib/graphql-model-transformer.js.map +1 -1
  6. package/lib/rds-lambda.zip +0 -0
  7. package/lib/rds-notification-lambda.zip +0 -0
  8. package/lib/rds-patching-lambda.zip +0 -0
  9. package/lib/resolvers/rds/mutation.d.ts.map +1 -1
  10. package/lib/resolvers/rds/mutation.js +3 -0
  11. package/lib/resolvers/rds/mutation.js.map +1 -1
  12. package/lib/resolvers/rds/query.d.ts.map +1 -1
  13. package/lib/resolvers/rds/query.js +1 -0
  14. package/lib/resolvers/rds/query.js.map +1 -1
  15. package/lib/resolvers/rds/resolver.d.ts +4 -2
  16. package/lib/resolvers/rds/resolver.d.ts.map +1 -1
  17. package/lib/resolvers/rds/resolver.js +68 -45
  18. package/lib/resolvers/rds/resolver.js.map +1 -1
  19. package/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.d.ts +13 -0
  20. package/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.d.ts.map +1 -0
  21. package/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.js +172 -0
  22. package/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.js.map +1 -0
  23. package/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.d.ts +42 -0
  24. package/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.d.ts.map +1 -0
  25. package/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.js +244 -0
  26. package/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.js.map +1 -0
  27. package/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.d.ts +12 -0
  28. package/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.d.ts.map +1 -0
  29. package/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.js +703 -0
  30. package/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.js.map +1 -0
  31. package/lib/resources/dynamo-model-resource-generator.d.ts +5 -2
  32. package/lib/resources/dynamo-model-resource-generator.d.ts.map +1 -1
  33. package/lib/resources/dynamo-model-resource-generator.js +47 -60
  34. package/lib/resources/dynamo-model-resource-generator.js.map +1 -1
  35. package/lib/resources/rds-model-resource-generator.d.ts +1 -1
  36. package/lib/resources/rds-model-resource-generator.d.ts.map +1 -1
  37. package/lib/resources/rds-model-resource-generator.js +19 -16
  38. package/lib/resources/rds-model-resource-generator.js.map +1 -1
  39. package/package.json +12 -10
@@ -3,7 +3,7 @@ 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.constructAuthFilterStatement = exports.constructFieldMappingInput = exports.constructNonScalarFieldsStatement = exports.getNonScalarFields = exports.generateDefaultLambdaResponseMappingTemplate = exports.generateGetLambdaResponseTemplate = exports.generateLambdaRequestTemplate = exports.createRdsPatchingLambdaRole = exports.createRdsLambdaRole = exports.createRdsPatchingLambda = exports.createRdsLambda = exports.setRDSLayerMappings = void 0;
6
+ exports.constructAuthFilterStatement = exports.constructFieldMappingInput = exports.constructArrayFieldsStatement = exports.constructNonScalarFieldsStatement = exports.getArrayFields = exports.getNonScalarFields = 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");
@@ -14,8 +14,7 @@ const path_1 = __importDefault(require("path"));
14
14
  const graphql_1 = require("graphql");
15
15
  const aws_ec2_1 = require("aws-cdk-lib/aws-ec2");
16
16
  const OPERATION_KEY = '__operation';
17
- const RDSLayerMappingID = 'RDSLayerResourceMapping';
18
- const setRDSLayerMappings = (scope, mapping) => new aws_cdk_lib_1.CfnMapping(scope, RDSLayerMappingID, {
17
+ const setRDSLayerMappings = (scope, mapping) => new aws_cdk_lib_1.CfnMapping(scope, graphql_transformer_common_1.ResourceConstants.RESOURCES.SQLLayerMappingID, {
19
18
  mapping: getLatestLayers(mapping),
20
19
  });
21
20
  exports.setRDSLayerMappings = setRDSLayerMappings;
@@ -23,84 +22,84 @@ const getLatestLayers = (latestLayers) => {
23
22
  if (latestLayers && Object.keys(latestLayers).length > 0) {
24
23
  return latestLayers;
25
24
  }
26
- console.warn('Unable to load the latest RDS layer configuration, using local configuration.');
25
+ console.warn('Unable to load the latest SQL layer configuration, using local configuration.');
27
26
  const defaultLayerMapping = getDefaultLayerMapping();
28
27
  return defaultLayerMapping;
29
28
  };
30
29
  const getDefaultLayerMapping = () => ({
31
30
  'ap-northeast-1': {
32
- layerRegion: 'arn:aws:lambda:ap-northeast-1:582037449441:layer:AmplifyRDSLayer:20',
31
+ layerRegion: 'arn:aws:lambda:ap-northeast-1:582037449441:layer:AmplifySQLLayer:1',
33
32
  },
34
33
  'us-east-1': {
35
- layerRegion: 'arn:aws:lambda:us-east-1:582037449441:layer:AmplifyRDSLayer:20',
34
+ layerRegion: 'arn:aws:lambda:us-east-1:582037449441:layer:AmplifySQLLayer:1',
36
35
  },
37
36
  'ap-southeast-1': {
38
- layerRegion: 'arn:aws:lambda:ap-southeast-1:582037449441:layer:AmplifyRDSLayer:20',
37
+ layerRegion: 'arn:aws:lambda:ap-southeast-1:582037449441:layer:AmplifySQLLayer:1',
39
38
  },
40
39
  'eu-west-1': {
41
- layerRegion: 'arn:aws:lambda:eu-west-1:582037449441:layer:AmplifyRDSLayer:20',
40
+ layerRegion: 'arn:aws:lambda:eu-west-1:582037449441:layer:AmplifySQLLayer:1',
42
41
  },
43
42
  'us-west-1': {
44
- layerRegion: 'arn:aws:lambda:us-west-1:582037449441:layer:AmplifyRDSLayer:20',
43
+ layerRegion: 'arn:aws:lambda:us-west-1:582037449441:layer:AmplifySQLLayer:1',
45
44
  },
46
45
  'ap-east-1': {
47
- layerRegion: 'arn:aws:lambda:ap-east-1:582037449441:layer:AmplifyRDSLayer:20',
46
+ layerRegion: 'arn:aws:lambda:ap-east-1:582037449441:layer:AmplifySQLLayer:1',
48
47
  },
49
48
  'ap-northeast-2': {
50
- layerRegion: 'arn:aws:lambda:ap-northeast-2:582037449441:layer:AmplifyRDSLayer:20',
49
+ layerRegion: 'arn:aws:lambda:ap-northeast-2:582037449441:layer:AmplifySQLLayer:1',
51
50
  },
52
51
  'ap-northeast-3': {
53
- layerRegion: 'arn:aws:lambda:ap-northeast-3:582037449441:layer:AmplifyRDSLayer:20',
52
+ layerRegion: 'arn:aws:lambda:ap-northeast-3:582037449441:layer:AmplifySQLLayer:1',
54
53
  },
55
54
  'ap-south-1': {
56
- layerRegion: 'arn:aws:lambda:ap-south-1:582037449441:layer:AmplifyRDSLayer:20',
55
+ layerRegion: 'arn:aws:lambda:ap-south-1:582037449441:layer:AmplifySQLLayer:1',
57
56
  },
58
57
  'ap-southeast-2': {
59
- layerRegion: 'arn:aws:lambda:ap-southeast-2:582037449441:layer:AmplifyRDSLayer:20',
58
+ layerRegion: 'arn:aws:lambda:ap-southeast-2:582037449441:layer:AmplifySQLLayer:1',
60
59
  },
61
60
  'ca-central-1': {
62
- layerRegion: 'arn:aws:lambda:ca-central-1:582037449441:layer:AmplifyRDSLayer:20',
61
+ layerRegion: 'arn:aws:lambda:ca-central-1:582037449441:layer:AmplifySQLLayer:1',
63
62
  },
64
63
  'eu-central-1': {
65
- layerRegion: 'arn:aws:lambda:eu-central-1:582037449441:layer:AmplifyRDSLayer:20',
64
+ layerRegion: 'arn:aws:lambda:eu-central-1:582037449441:layer:AmplifySQLLayer:1',
66
65
  },
67
66
  'eu-north-1': {
68
- layerRegion: 'arn:aws:lambda:eu-north-1:582037449441:layer:AmplifyRDSLayer:20',
67
+ layerRegion: 'arn:aws:lambda:eu-north-1:582037449441:layer:AmplifySQLLayer:1',
69
68
  },
70
69
  'eu-west-2': {
71
- layerRegion: 'arn:aws:lambda:eu-west-2:582037449441:layer:AmplifyRDSLayer:20',
70
+ layerRegion: 'arn:aws:lambda:eu-west-2:582037449441:layer:AmplifySQLLayer:1',
72
71
  },
73
72
  'eu-west-3': {
74
- layerRegion: 'arn:aws:lambda:eu-west-3:582037449441:layer:AmplifyRDSLayer:20',
73
+ layerRegion: 'arn:aws:lambda:eu-west-3:582037449441:layer:AmplifySQLLayer:1',
75
74
  },
76
75
  'sa-east-1': {
77
- layerRegion: 'arn:aws:lambda:sa-east-1:582037449441:layer:AmplifyRDSLayer:20',
76
+ layerRegion: 'arn:aws:lambda:sa-east-1:582037449441:layer:AmplifySQLLayer:1',
78
77
  },
79
78
  'us-east-2': {
80
- layerRegion: 'arn:aws:lambda:us-east-2:582037449441:layer:AmplifyRDSLayer:20',
79
+ layerRegion: 'arn:aws:lambda:us-east-2:582037449441:layer:AmplifySQLLayer:1',
81
80
  },
82
81
  'us-west-2': {
83
- layerRegion: 'arn:aws:lambda:us-west-2:582037449441:layer:AmplifyRDSLayer:20',
82
+ layerRegion: 'arn:aws:lambda:us-west-2:582037449441:layer:AmplifySQLLayer:1',
84
83
  },
85
84
  'cn-north-1': {
86
- layerRegion: 'arn:aws:lambda:cn-north-1:582037449441:layer:AmplifyRDSLayer:20',
85
+ layerRegion: 'arn:aws:lambda:cn-north-1:582037449441:layer:AmplifySQLLayer:1',
87
86
  },
88
87
  'cn-northwest-1': {
89
- layerRegion: 'arn:aws:lambda:cn-northwest-1:582037449441:layer:AmplifyRDSLayer:20',
88
+ layerRegion: 'arn:aws:lambda:cn-northwest-1:582037449441:layer:AmplifySQLLayer:1',
90
89
  },
91
90
  'us-gov-west-1': {
92
- layerRegion: 'arn:aws:lambda:us-gov-west-1:582037449441:layer:AmplifyRDSLayer:20',
91
+ layerRegion: 'arn:aws:lambda:us-gov-west-1:582037449441:layer:AmplifySQLLayer:1',
93
92
  },
94
93
  'us-gov-east-1': {
95
- layerRegion: 'arn:aws:lambda:us-gov-east-1:582037449441:layer:AmplifyRDSLayer:20',
94
+ layerRegion: 'arn:aws:lambda:us-gov-east-1:582037449441:layer:AmplifySQLLayer:1',
96
95
  },
97
96
  'me-south-1': {
98
- layerRegion: 'arn:aws:lambda:me-south-1:582037449441:layer:AmplifyRDSLayer:20',
97
+ layerRegion: 'arn:aws:lambda:me-south-1:582037449441:layer:AmplifySQLLayer:1',
99
98
  },
100
99
  });
101
- const createRdsLambda = (scope, apiGraphql, lambdaRole, environment, sqlLambdaVpcConfig) => {
100
+ const createRdsLambda = (scope, apiGraphql, lambdaRole, environment, sqlLambdaVpcConfig, sqlLambdaProvisionedConcurrencyConfig) => {
102
101
  var _a;
103
- const { RDSLambdaLogicalID } = graphql_transformer_common_1.ResourceConstants.RESOURCES;
102
+ const { SQLLambdaLogicalID, SQLLambdaAliasLogicalID, SQLLambdaLayerVersionLogicalID } = graphql_transformer_common_1.ResourceConstants.RESOURCES;
104
103
  let ssmEndpoint = aws_cdk_lib_1.Fn.join('', ['ssm.', aws_cdk_lib_1.Fn.ref('AWS::Region'), '.amazonaws.com']);
105
104
  if (sqlLambdaVpcConfig) {
106
105
  const endpoints = addVpcEndpointForSecretsManager(scope, sqlLambdaVpcConfig);
@@ -109,17 +108,28 @@ const createRdsLambda = (scope, apiGraphql, lambdaRole, environment, sqlLambdaVp
109
108
  ssmEndpoint = aws_cdk_lib_1.Fn.select(0, ssmEndpointEntries);
110
109
  }
111
110
  }
112
- 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, [
113
- aws_lambda_1.LayerVersion.fromLayerVersionArn(scope, 'SQLLambdaLayerVersion', aws_cdk_lib_1.Fn.findInMap(RDSLayerMappingID, aws_cdk_lib_1.Fn.ref('AWS::Region'), 'layerRegion')),
111
+ const fn = apiGraphql.host.addLambdaFunction(SQLLambdaLogicalID, `functions/${SQLLambdaLogicalID}.zip`, 'handler.run', path_1.default.resolve(__dirname, '..', '..', '..', 'lib', 'rds-lambda.zip'), aws_lambda_1.Runtime.NODEJS_18_X, [
112
+ aws_lambda_1.LayerVersion.fromLayerVersionArn(scope, SQLLambdaLayerVersionLogicalID, aws_cdk_lib_1.Fn.findInMap(graphql_transformer_common_1.ResourceConstants.RESOURCES.SQLLayerMappingID, aws_cdk_lib_1.Fn.ref('AWS::Region'), 'layerRegion')),
114
113
  ], lambdaRole, {
115
114
  ...environment,
116
115
  SSM_ENDPOINT: ssmEndpoint,
117
116
  }, aws_cdk_lib_1.Duration.seconds(30), scope, sqlLambdaVpcConfig);
117
+ if (sqlLambdaProvisionedConcurrencyConfig) {
118
+ const { provisionedConcurrentExecutions } = sqlLambdaProvisionedConcurrencyConfig;
119
+ const alias = new aws_lambda_1.Alias(scope, SQLLambdaAliasLogicalID, {
120
+ aliasName: `${SQLLambdaLogicalID}Alias`,
121
+ version: fn.currentVersion,
122
+ provisionedConcurrentExecutions,
123
+ });
124
+ (0, graphql_transformer_core_1.setResourceName)(alias, { name: 'SQLLambdaFunctionAlias', setOnDefaultChild: true });
125
+ return alias;
126
+ }
127
+ return fn;
118
128
  };
119
129
  exports.createRdsLambda = createRdsLambda;
120
130
  const addVpcEndpoint = (scope, sqlLambdaVpcConfig, serviceSuffix) => {
121
131
  const serviceEndpointPrefix = 'com.amazonaws';
122
- return new aws_ec2_1.CfnVPCEndpoint(scope, `RDSVpcEndpoint${serviceSuffix}`, {
132
+ const endpoint = new aws_ec2_1.CfnVPCEndpoint(scope, `RDSVpcEndpoint${serviceSuffix}`, {
123
133
  serviceName: aws_cdk_lib_1.Fn.join('', [serviceEndpointPrefix, '.', aws_cdk_lib_1.Fn.ref('AWS::Region'), '.', serviceSuffix]),
124
134
  vpcEndpointType: 'Interface',
125
135
  vpcId: sqlLambdaVpcConfig.vpcId,
@@ -127,6 +137,8 @@ const addVpcEndpoint = (scope, sqlLambdaVpcConfig, serviceSuffix) => {
127
137
  securityGroupIds: sqlLambdaVpcConfig.securityGroupIds,
128
138
  privateDnsEnabled: false,
129
139
  });
140
+ (0, graphql_transformer_core_1.setResourceName)(endpoint, { name: endpoint.logicalId, setOnDefaultChild: true });
141
+ return endpoint;
130
142
  };
131
143
  const addVpcEndpointForSecretsManager = (scope, sqlLambdaVpcConfig) => {
132
144
  const services = ['ssm', 'ssmmessages', 'ec2', 'ec2messages', 'kms'];
@@ -141,25 +153,25 @@ const extractSubnetForVpcEndpoint = (avaliabilityZoneMappings) => {
141
153
  const avaliabilityZones = [];
142
154
  const result = [];
143
155
  for (const subnet of avaliabilityZoneMappings) {
144
- if (!avaliabilityZones.includes(subnet.AvailabilityZone)) {
145
- avaliabilityZones.push(subnet.AvailabilityZone);
146
- result.push(subnet.SubnetId);
156
+ if (!avaliabilityZones.includes(subnet.availabilityZone)) {
157
+ avaliabilityZones.push(subnet.availabilityZone);
158
+ result.push(subnet.subnetId);
147
159
  }
148
160
  }
149
161
  return result;
150
162
  };
151
163
  const createRdsPatchingLambda = (scope, apiGraphql, lambdaRole, environment, sqlLambdaVpcConfig) => {
152
- const { RDSPatchingLambdaLogicalID } = graphql_transformer_common_1.ResourceConstants.RESOURCES;
153
- 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);
164
+ const { SQLPatchingLambdaLogicalID } = graphql_transformer_common_1.ResourceConstants.RESOURCES;
165
+ return apiGraphql.host.addLambdaFunction(SQLPatchingLambdaLogicalID, `functions/${SQLPatchingLambdaLogicalID}.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);
154
166
  };
155
167
  exports.createRdsPatchingLambda = createRdsPatchingLambda;
156
168
  const createRdsLambdaRole = (roleName, scope, secretEntry) => {
157
- const { RDSLambdaIAMRoleLogicalID, RDSLambdaLogAccessPolicy } = graphql_transformer_common_1.ResourceConstants.RESOURCES;
158
- const role = new aws_iam_1.Role(scope, RDSLambdaIAMRoleLogicalID, {
169
+ const { SQLLambdaIAMRoleLogicalID, SQLLambdaLogAccessPolicy } = graphql_transformer_common_1.ResourceConstants.RESOURCES;
170
+ const role = new aws_iam_1.Role(scope, SQLLambdaIAMRoleLogicalID, {
159
171
  assumedBy: new aws_iam_1.ServicePrincipal('lambda.amazonaws.com'),
160
172
  roleName,
161
173
  });
162
- (0, graphql_transformer_core_1.setResourceName)(role, { name: RDSLambdaIAMRoleLogicalID, setOnDefaultChild: true });
174
+ (0, graphql_transformer_core_1.setResourceName)(role, { name: SQLLambdaIAMRoleLogicalID, setOnDefaultChild: true });
163
175
  const policyStatements = [
164
176
  new aws_iam_1.PolicyStatement({
165
177
  actions: ['logs:CreateLogGroup', 'logs:CreateLogStream', 'logs:PutLogEvents'],
@@ -180,7 +192,7 @@ const createRdsLambdaRole = (roleName, scope, secretEntry) => {
180
192
  ],
181
193
  }));
182
194
  }
183
- role.attachInlinePolicy(new aws_iam_1.Policy(scope, RDSLambdaLogAccessPolicy, {
195
+ role.attachInlinePolicy(new aws_iam_1.Policy(scope, SQLLambdaLogAccessPolicy, {
184
196
  statements: policyStatements,
185
197
  policyName: `${roleName}Policy`,
186
198
  }));
@@ -193,12 +205,12 @@ const createRdsLambdaRole = (roleName, scope, secretEntry) => {
193
205
  };
194
206
  exports.createRdsLambdaRole = createRdsLambdaRole;
195
207
  const createRdsPatchingLambdaRole = (roleName, scope, functionArn) => {
196
- const { RDSPatchingLambdaIAMRoleLogicalID, RDSPatchingLambdaLogAccessPolicy } = graphql_transformer_common_1.ResourceConstants.RESOURCES;
197
- const role = new aws_iam_1.Role(scope, RDSPatchingLambdaIAMRoleLogicalID, {
208
+ const { SQLPatchingLambdaIAMRoleLogicalID, SQLPatchingLambdaLogAccessPolicy } = graphql_transformer_common_1.ResourceConstants.RESOURCES;
209
+ const role = new aws_iam_1.Role(scope, SQLPatchingLambdaIAMRoleLogicalID, {
198
210
  assumedBy: new aws_iam_1.ServicePrincipal('lambda.amazonaws.com'),
199
211
  roleName,
200
212
  });
201
- (0, graphql_transformer_core_1.setResourceName)(role, { name: RDSPatchingLambdaIAMRoleLogicalID, setOnDefaultChild: true });
213
+ (0, graphql_transformer_core_1.setResourceName)(role, { name: SQLPatchingLambdaIAMRoleLogicalID, setOnDefaultChild: true });
202
214
  const policyStatements = [
203
215
  new aws_iam_1.PolicyStatement({
204
216
  actions: ['logs:CreateLogGroup', 'logs:CreateLogStream', 'logs:PutLogEvents'],
@@ -216,7 +228,7 @@ const createRdsPatchingLambdaRole = (roleName, scope, functionArn) => {
216
228
  resources: ['*'],
217
229
  }),
218
230
  ];
219
- role.attachInlinePolicy(new aws_iam_1.Policy(scope, RDSPatchingLambdaLogAccessPolicy, {
231
+ role.attachInlinePolicy(new aws_iam_1.Policy(scope, SQLPatchingLambdaLogAccessPolicy, {
220
232
  statements: policyStatements,
221
233
  policyName: `${roleName}Policy`,
222
234
  }));
@@ -240,6 +252,7 @@ const generateLambdaRequestTemplate = (tableName, operation, operationName, ctx)
240
252
  (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput.args.metadata.keys'), (0, graphql_mapping_template_1.list)([])),
241
253
  (0, exports.constructAuthFilterStatement)('lambdaInput.args.metadata.authFilter'),
242
254
  (0, exports.constructNonScalarFieldsStatement)(tableName, ctx),
255
+ (0, exports.constructArrayFieldsStatement)(tableName, ctx),
243
256
  (0, exports.constructFieldMappingInput)(),
244
257
  (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)([])))),
245
258
  (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)({}))),
@@ -285,8 +298,18 @@ const getNonScalarFields = (object, ctx) => {
285
298
  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)) || [];
286
299
  };
287
300
  exports.getNonScalarFields = getNonScalarFields;
301
+ const getArrayFields = (object, ctx) => {
302
+ var _a;
303
+ if (!object) {
304
+ return [];
305
+ }
306
+ return ((_a = object.fields) === null || _a === void 0 ? void 0 : _a.filter((f) => (0, graphql_transformer_common_1.isListType)(f.type)).map((f) => f.name.value)) || [];
307
+ };
308
+ exports.getArrayFields = getArrayFields;
288
309
  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)));
289
310
  exports.constructNonScalarFieldsStatement = constructNonScalarFieldsStatement;
311
+ const constructArrayFieldsStatement = (tableName, ctx) => (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput.args.metadata.arrayFields'), (0, graphql_mapping_template_1.list)((0, exports.getArrayFields)(ctx.output.getObject(tableName), ctx).map(graphql_mapping_template_1.str)));
312
+ exports.constructArrayFieldsStatement = constructArrayFieldsStatement;
290
313
  const constructFieldMappingInput = () => {
291
314
  return (0, graphql_mapping_template_1.compoundExpression)([
292
315
  (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput.args.metadata.fieldMap'), (0, graphql_mapping_template_1.obj)({})),
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/resolvers/rds/resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/resolvers/rds/resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { TransformerContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
2
+ import { ObjectTypeDefinitionNode } from 'graphql';
3
+ import { Construct } from 'constructs';
4
+ import { DynamoModelResourceGenerator } from '../dynamo-model-resource-generator';
5
+ export declare const ITERATIVE_TABLE_STACK_NAME = "AmplifyTableManager";
6
+ export declare class AmplifyDynamoModelResourceGenerator extends DynamoModelResourceGenerator {
7
+ private customResourceServiceToken;
8
+ private ddbManagerPolicy?;
9
+ generateResources(ctx: TransformerContextProvider): void;
10
+ protected createCustomProviderResource(scope: Construct, context: TransformerContextProvider): void;
11
+ protected createModelTable(scope: Construct, def: ObjectTypeDefinitionNode, context: TransformerContextProvider): void;
12
+ }
13
+ //# sourceMappingURL=amplify-dynamo-model-resource-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"amplify-dynamo-model-resource-generator.d.ts","sourceRoot":"","sources":["../../../src/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AAEzF,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAGnD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AASlF,eAAO,MAAM,0BAA0B,wBAAwB,CAAC;AAChE,qBAAa,mCAAoC,SAAQ,4BAA4B;IACnF,OAAO,CAAC,0BAA0B,CAAc;IAChD,OAAO,CAAC,gBAAgB,CAAC,CAAiB;IAE1C,iBAAiB,CAAC,GAAG,EAAE,0BAA0B,GAAG,IAAI;IAiDxD,SAAS,CAAC,4BAA4B,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,0BAA0B,GAAG,IAAI;IAoCnG,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,wBAAwB,EAAE,OAAO,EAAE,0BAA0B,GAAG,IAAI;CAqFvH"}
@@ -0,0 +1,172 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.AmplifyDynamoModelResourceGenerator = exports.ITERATIVE_TABLE_STACK_NAME = void 0;
27
+ const cdk = __importStar(require("aws-cdk-lib"));
28
+ const graphql_transformer_common_1 = require("graphql-transformer-common");
29
+ const graphql_transformer_core_1 = require("@aws-amplify/graphql-transformer-core");
30
+ const aws_dynamodb_1 = require("aws-cdk-lib/aws-dynamodb");
31
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
32
+ const dynamo_model_resource_generator_1 = require("../dynamo-model-resource-generator");
33
+ const path = __importStar(require("path"));
34
+ const amplify_dynamodb_table_construct_1 = require("./amplify-dynamodb-table-construct");
35
+ exports.ITERATIVE_TABLE_STACK_NAME = 'AmplifyTableManager';
36
+ class AmplifyDynamoModelResourceGenerator extends dynamo_model_resource_generator_1.DynamoModelResourceGenerator {
37
+ constructor() {
38
+ super(...arguments);
39
+ this.customResourceServiceToken = '';
40
+ }
41
+ generateResources(ctx) {
42
+ var _a;
43
+ if (!this.isEnabled()) {
44
+ return;
45
+ }
46
+ if (this.isProvisioned()) {
47
+ const rootStack = cdk.Stack.of(ctx.stackManager.scope);
48
+ this.createDynamoDBParameters(rootStack, false);
49
+ const tableManagerStack = ctx.stackManager.getScopeFor('AmplifyTableCustomProvider', exports.ITERATIVE_TABLE_STACK_NAME);
50
+ this.createCustomProviderResource(tableManagerStack, ctx);
51
+ }
52
+ this.models.forEach((model) => {
53
+ const tableBaseName = ctx.resourceHelper.getModelNameMapping(model.name.value);
54
+ const tableLogicalName = graphql_transformer_common_1.ModelResourceIDs.ModelTableResourceID(tableBaseName);
55
+ const scope = ctx.stackManager.getScopeFor(tableLogicalName, tableBaseName);
56
+ this.createModelTable(scope, model, ctx);
57
+ });
58
+ if (this.ddbManagerPolicy) {
59
+ (_a = this.ddbManagerPolicy) === null || _a === void 0 ? void 0 : _a.addStatements(new aws_cdk_lib_1.aws_iam.PolicyStatement({
60
+ actions: [
61
+ 'dynamodb:CreateTable',
62
+ 'dynamodb:UpdateTable',
63
+ 'dynamodb:DeleteTable',
64
+ 'dynamodb:DescribeTable',
65
+ 'dynamodb:DescribeContinuousBackups',
66
+ 'dynamodb:DescribeTimeToLive',
67
+ 'dynamodb:UpdateContinuousBackups',
68
+ 'dynamodb:UpdateTimeToLive',
69
+ ],
70
+ resources: [
71
+ cdk.Fn.sub('arn:aws:dynamodb:${AWS::Region}:${AWS::AccountId}:table/*-${apiId}-${envName}', {
72
+ apiId: ctx.api.apiId,
73
+ envName: ctx.synthParameters.amplifyEnvironmentName,
74
+ }),
75
+ ],
76
+ }));
77
+ }
78
+ this.generateResolvers(ctx);
79
+ }
80
+ createCustomProviderResource(scope, context) {
81
+ this.ddbManagerPolicy = new aws_cdk_lib_1.aws_iam.Policy(scope, 'CreateUpdateDeleteTablesPolicy');
82
+ const lambdaCode = aws_cdk_lib_1.aws_lambda.Code.fromAsset(path.join(__dirname, '..', '..', '..', 'lib', 'resources', 'amplify-dynamodb-table', 'amplify-table-manager-lambda'));
83
+ const gsiOnEventHandler = new aws_cdk_lib_1.aws_lambda.Function(scope, graphql_transformer_common_1.ResourceConstants.RESOURCES.TableManagerOnEventHandlerLogicalID, {
84
+ runtime: aws_cdk_lib_1.aws_lambda.Runtime.NODEJS_18_X,
85
+ code: lambdaCode,
86
+ handler: 'amplify-table-manager-handler.onEvent',
87
+ timeout: aws_cdk_lib_1.Duration.minutes(14),
88
+ });
89
+ const gsiIsCompleteHandler = new aws_cdk_lib_1.aws_lambda.Function(scope, graphql_transformer_common_1.ResourceConstants.RESOURCES.TableManagerIsCompleteHandlerLogicalID, {
90
+ runtime: aws_cdk_lib_1.aws_lambda.Runtime.NODEJS_18_X,
91
+ code: lambdaCode,
92
+ handler: 'amplify-table-manager-handler.isComplete',
93
+ timeout: aws_cdk_lib_1.Duration.minutes(14),
94
+ });
95
+ this.ddbManagerPolicy.attachToRole(gsiOnEventHandler.role);
96
+ this.ddbManagerPolicy.attachToRole(gsiIsCompleteHandler.role);
97
+ const customResourceProvider = new aws_cdk_lib_1.custom_resources.Provider(scope, graphql_transformer_common_1.ResourceConstants.RESOURCES.TableManagerCustomProviderLogicalID, {
98
+ onEventHandler: gsiOnEventHandler,
99
+ isCompleteHandler: gsiIsCompleteHandler,
100
+ logRetention: aws_cdk_lib_1.aws_logs.RetentionDays.ONE_MONTH,
101
+ queryInterval: aws_cdk_lib_1.Duration.seconds(30),
102
+ totalTimeout: aws_cdk_lib_1.Duration.hours(2),
103
+ });
104
+ this.customResourceServiceToken = customResourceProvider.serviceToken;
105
+ }
106
+ createModelTable(scope, def, context) {
107
+ var _a;
108
+ const modelName = def.name.value;
109
+ const tableLogicalName = graphql_transformer_common_1.ModelResourceIDs.ModelTableResourceID(modelName);
110
+ const tableName = context.resourceHelper.generateTableName(modelName);
111
+ const { readIops, writeIops, billingMode, pointInTimeRecovery, enableSSE } = this.createDynamoDBParameters(scope, true);
112
+ new cdk.CfnCondition(scope, graphql_transformer_common_1.ResourceConstants.CONDITIONS.HasEnvironmentParameter, {
113
+ expression: cdk.Fn.conditionNot(cdk.Fn.conditionEquals(context.synthParameters.amplifyEnvironmentName, graphql_transformer_common_1.ResourceConstants.NONE)),
114
+ });
115
+ const useSSE = new cdk.CfnCondition(scope, graphql_transformer_common_1.ResourceConstants.CONDITIONS.ShouldUseServerSideEncryption, {
116
+ expression: cdk.Fn.conditionEquals(enableSSE, 'true'),
117
+ });
118
+ const usePayPerRequestBilling = new cdk.CfnCondition(scope, graphql_transformer_common_1.ResourceConstants.CONDITIONS.ShouldUsePayPerRequestBilling, {
119
+ expression: cdk.Fn.conditionEquals(billingMode, 'PAY_PER_REQUEST'),
120
+ });
121
+ const usePointInTimeRecovery = new cdk.CfnCondition(scope, graphql_transformer_common_1.ResourceConstants.CONDITIONS.ShouldUsePointInTimeRecovery, {
122
+ expression: cdk.Fn.conditionEquals(pointInTimeRecovery, 'true'),
123
+ });
124
+ const removalPolicy = this.options.EnableDeletionProtection ? cdk.RemovalPolicy.RETAIN : cdk.RemovalPolicy.DESTROY;
125
+ const table = new amplify_dynamodb_table_construct_1.AmplifyDynamoDBTable(scope, `${tableLogicalName}`, {
126
+ customResourceServiceToken: this.customResourceServiceToken,
127
+ allowDestructiveGraphqlSchemaUpdates: context.transformParameters.allowDestructiveGraphqlSchemaUpdates,
128
+ replaceTableUponGsiUpdate: context.transformParameters.replaceTableUponGsiUpdate,
129
+ tableName,
130
+ partitionKey: {
131
+ name: 'id',
132
+ type: aws_dynamodb_1.AttributeType.STRING,
133
+ },
134
+ stream: aws_dynamodb_1.StreamViewType.NEW_AND_OLD_IMAGES,
135
+ encryption: aws_dynamodb_1.TableEncryption.DEFAULT,
136
+ removalPolicy,
137
+ ...(context.isProjectUsingDataStore() ? { timeToLiveAttribute: '_ttl' } : undefined),
138
+ });
139
+ (0, graphql_transformer_core_1.setResourceName)(table, { name: modelName, setOnDefaultChild: false });
140
+ const tableRepresentative = table.tableFromAttr;
141
+ const cfnTable = (_a = table.node.defaultChild) === null || _a === void 0 ? void 0 : _a.node.defaultChild;
142
+ (0, graphql_transformer_core_1.setResourceName)(cfnTable, { name: modelName, setOnDefaultChild: false });
143
+ cfnTable.addPropertyOverride('provisionedThroughput', cdk.Fn.conditionIf(usePayPerRequestBilling.logicalId, cdk.Fn.ref('AWS::NoValue'), {
144
+ ReadCapacityUnits: readIops,
145
+ WriteCapacityUnits: writeIops,
146
+ }));
147
+ cfnTable.addPropertyOverride('pointInTimeRecoverySpecification', cdk.Fn.conditionIf(usePointInTimeRecovery.logicalId, { PointInTimeRecoveryEnabled: true }, cdk.Fn.ref('AWS::NoValue')));
148
+ cfnTable.addPropertyOverride('billingMode', cdk.Fn.conditionIf(usePayPerRequestBilling.logicalId, 'PAY_PER_REQUEST', cdk.Fn.ref('AWS::NoValue')).toString());
149
+ cfnTable.addPropertyOverride('sseSpecification', {
150
+ sseEnabled: cdk.Fn.conditionIf(useSSE.logicalId, true, false),
151
+ });
152
+ const streamArnOutputId = `GetAtt${graphql_transformer_common_1.ModelResourceIDs.ModelTableStreamArn(def.name.value)}`;
153
+ if (table.tableStreamArn) {
154
+ new cdk.CfnOutput(cdk.Stack.of(scope), streamArnOutputId, {
155
+ value: table.tableStreamArn,
156
+ description: 'Your DynamoDB table StreamArn.',
157
+ exportName: cdk.Fn.join(':', [context.api.apiId, 'GetAtt', tableLogicalName, 'StreamArn']),
158
+ });
159
+ }
160
+ const tableNameOutputId = `GetAtt${tableLogicalName}Name`;
161
+ new cdk.CfnOutput(cdk.Stack.of(scope), tableNameOutputId, {
162
+ value: table.tableName,
163
+ description: 'Your DynamoDB table name.',
164
+ exportName: cdk.Fn.join(':', [context.api.apiId, 'GetAtt', tableLogicalName, 'Name']),
165
+ });
166
+ const role = this.createIAMRole(context, def, scope, tableName);
167
+ const tableDataSourceLogicalName = `${def.name.value}Table`;
168
+ this.createModelTableDataSource(def, context, tableRepresentative, scope, role, tableDataSourceLogicalName);
169
+ }
170
+ }
171
+ exports.AmplifyDynamoModelResourceGenerator = AmplifyDynamoModelResourceGenerator;
172
+ //# sourceMappingURL=amplify-dynamo-model-resource-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"amplify-dynamo-model-resource-generator.js","sourceRoot":"","sources":["../../../src/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { aws_kms as kms, Resource } from 'aws-cdk-lib';
2
+ import { GlobalSecondaryIndexProps, ITable, LocalSecondaryIndexProps, SchemaOptions, TableProps } from 'aws-cdk-lib/aws-dynamodb';
3
+ import { Construct } from 'constructs';
4
+ export declare const CUSTOM_DDB_CFN_TYPE = "Custom::AmplifyDynamoDBTable";
5
+ export interface AmplifyDynamoDBTableProps extends TableProps {
6
+ customResourceServiceToken: string;
7
+ allowDestructiveGraphqlSchemaUpdates?: boolean;
8
+ replaceTableUponGsiUpdate?: boolean;
9
+ }
10
+ export declare class AmplifyDynamoDBTable extends Resource {
11
+ readonly encryptionKey?: kms.IKey;
12
+ readonly tableArn: string;
13
+ readonly tableName: string;
14
+ readonly tableStreamArn: string | undefined;
15
+ readonly tableFromAttr: ITable;
16
+ private readonly customResourceServiceToken;
17
+ private readonly table;
18
+ private readonly keySchema;
19
+ private readonly attributeDefinitions;
20
+ private readonly globalSecondaryIndexes;
21
+ private readonly localSecondaryIndexes;
22
+ private readonly secondaryIndexSchemas;
23
+ private readonly nonKeyAttributes;
24
+ private readonly tablePartitionKey;
25
+ private readonly tableSortKey?;
26
+ private readonly billingMode;
27
+ constructor(scope: Construct, id: string, props: AmplifyDynamoDBTableProps);
28
+ addGlobalSecondaryIndex(props: GlobalSecondaryIndexProps): void;
29
+ addLocalSecondaryIndex(props: LocalSecondaryIndexProps): void;
30
+ schema(indexName?: string): SchemaOptions;
31
+ private addKey;
32
+ private findKey;
33
+ private registerAttribute;
34
+ private validateTable;
35
+ private parseEncryption;
36
+ private validateProvisioning;
37
+ private validateIndexName;
38
+ private validateNonKeyAttributes;
39
+ private buildIndexKeySchema;
40
+ private buildIndexProjection;
41
+ }
42
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,GAAG,EAAwB,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EAKL,yBAAyB,EACzB,MAAM,EACN,wBAAwB,EAExB,aAAa,EAIb,UAAU,EACX,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAQvC,eAAO,MAAM,mBAAmB,iCAAiC,CAAC;AAElE,MAAM,WAAW,yBAA0B,SAAQ,UAAU;IAC3D,0BAA0B,EAAE,MAAM,CAAC;IACnC,oCAAoC,CAAC,EAAE,OAAO,CAAC;IAC/C,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AACD,qBAAa,oBAAqB,SAAQ,QAAQ;IAChD,SAAgB,aAAa,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC;IACzC,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnD,SAAgB,aAAa,EAAE,MAAM,CAAC;IAEtC,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAS;IACpD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2C;IACrE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAqD;IAC1F,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAsD;IAC7F,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAqD;IAE3F,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAoC;IAC1E,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqB;IAEtD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAY;IAC9C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAY;IAE1C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;gBAE9B,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB;IAyEnE,uBAAuB,CAAC,KAAK,EAAE,yBAAyB;IAgCxD,sBAAsB,CAAC,KAAK,EAAE,wBAAwB;IA6BtD,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,aAAa;IAchD,OAAO,CAAC,MAAM;IAad,OAAO,CAAC,OAAO;IASf,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,eAAe;IAyDvB,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,wBAAwB;IAShC,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,oBAAoB;CAoB7B"}