@aws-amplify/graphql-model-transformer 0.7.0-graphql-vnext-dev-preview.0 → 0.7.0-graphql-vnext-dev-preview.5

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/CHANGELOG.md CHANGED
@@ -3,21 +3,124 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- # [0.7.0-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/@aws-amplify/graphql-model-transformer@0.6.2...@aws-amplify/graphql-model-transformer@0.7.0-graphql-vnext-dev-preview.0) (2021-09-27)
6
+ # [0.7.0-graphql-vnext-dev-preview.5](https://github.com/aws-amplify/amplify-cli/compare/@aws-amplify/graphql-model-transformer@0.6.4...@aws-amplify/graphql-model-transformer@0.7.0-graphql-vnext-dev-preview.5) (2021-11-03)
7
7
 
8
8
 
9
9
  ### Bug Fixes
10
10
 
11
- * **amplify-provider-awscloudformation:** remove sandbox mode directive from schema before transform ([#8272](https://github.com/aws-amplify/amplify-cli/issues/8272)) ([17aa0a2](https://github.com/aws-amplify/amplify-cli/commit/17aa0a2fd9356e05ff30e76b125554dbe7564e80))
12
- * **graphql-model-transformer:** [@model](https://github.com/model) conflict resolution ([#8035](https://github.com/aws-amplify/amplify-cli/issues/8035)) ([f3bdc4a](https://github.com/aws-amplify/amplify-cli/commit/f3bdc4ac1fcf596f634d9d2e968785e76f7b138c))
13
- * **graphql-model-transformer:** iam role name does not exceed 64 characters ([#8244](https://github.com/aws-amplify/amplify-cli/issues/8244)) ([812a671](https://github.com/aws-amplify/amplify-cli/commit/812a67163d6dd33160bf7ace9afd538c83a7af1a))
14
- * **graphql-model-transformer:** remove unnecessary warnings for resolver config per type ([#8265](https://github.com/aws-amplify/amplify-cli/issues/8265)) ([2f2f0a5](https://github.com/aws-amplify/amplify-cli/commit/2f2f0a5bea59278219c1f4ebb5276927dc5a0fbd))
11
+ * **graphql-model-transformer:** fixed model transformer ID generation when ID field is not specified ([#8633](https://github.com/aws-amplify/amplify-cli/issues/8633)) ([b515d16](https://github.com/aws-amplify/amplify-cli/commit/b515d1617a98d613b2d9feb424ece12204d63402))
12
+ * **graphql-model-transformer:** override resource logical id to fix v1 to v2 transformer migration ([#8597](https://github.com/aws-amplify/amplify-cli/issues/8597)) ([e3a2afb](https://github.com/aws-amplify/amplify-cli/commit/e3a2afbbed6e97f143fc7c83064e2193f4c91bdd))
13
+
14
+
15
+ ### Features
16
+
17
+ * generate list types as non-null ([#8166](https://github.com/aws-amplify/amplify-cli/issues/8166)) ([93786c1](https://github.com/aws-amplify/amplify-cli/commit/93786c13ef04c72748ca32a1ef7878c0e6b5b129))
18
+
19
+
20
+
21
+
22
+
23
+ # [0.7.0-graphql-vnext-dev-preview.4](https://github.com/aws-amplify/amplify-cli/compare/@aws-amplify/graphql-model-transformer@0.6.4...@aws-amplify/graphql-model-transformer@0.7.0-graphql-vnext-dev-preview.4) (2021-11-03)
24
+
25
+
26
+ ### Bug Fixes
27
+
28
+ * **graphql-model-transformer:** fixed model transformer ID generation when ID field is not specified ([#8633](https://github.com/aws-amplify/amplify-cli/issues/8633)) ([b515d16](https://github.com/aws-amplify/amplify-cli/commit/b515d1617a98d613b2d9feb424ece12204d63402))
29
+ * **graphql-model-transformer:** override resource logical id to fix v1 to v2 transformer migration ([#8597](https://github.com/aws-amplify/amplify-cli/issues/8597)) ([e3a2afb](https://github.com/aws-amplify/amplify-cli/commit/e3a2afbbed6e97f143fc7c83064e2193f4c91bdd))
30
+
31
+
32
+ ### Features
33
+
34
+ * generate list types as non-null ([#8166](https://github.com/aws-amplify/amplify-cli/issues/8166)) ([93786c1](https://github.com/aws-amplify/amplify-cli/commit/93786c13ef04c72748ca32a1ef7878c0e6b5b129))
35
+
36
+
37
+
38
+
39
+
40
+ # [0.7.0-graphql-vnext-dev-preview.3](https://github.com/aws-amplify/amplify-cli/compare/@aws-amplify/graphql-model-transformer@0.6.4...@aws-amplify/graphql-model-transformer@0.7.0-graphql-vnext-dev-preview.3) (2021-11-03)
41
+
42
+
43
+ ### Bug Fixes
44
+
45
+ * **graphql-model-transformer:** fixed model transformer ID generation when ID field is not specified ([#8633](https://github.com/aws-amplify/amplify-cli/issues/8633)) ([b515d16](https://github.com/aws-amplify/amplify-cli/commit/b515d1617a98d613b2d9feb424ece12204d63402))
46
+ * **graphql-model-transformer:** override resource logical id to fix v1 to v2 transformer migration ([#8597](https://github.com/aws-amplify/amplify-cli/issues/8597)) ([e3a2afb](https://github.com/aws-amplify/amplify-cli/commit/e3a2afbbed6e97f143fc7c83064e2193f4c91bdd))
47
+
48
+
49
+ ### Features
50
+
51
+ * generate list types as non-null ([#8166](https://github.com/aws-amplify/amplify-cli/issues/8166)) ([93786c1](https://github.com/aws-amplify/amplify-cli/commit/93786c13ef04c72748ca32a1ef7878c0e6b5b129))
52
+
53
+
54
+
55
+
56
+
57
+ # [0.7.0-graphql-vnext-dev-preview.2](https://github.com/aws-amplify/amplify-cli/compare/@aws-amplify/graphql-model-transformer@0.6.4...@aws-amplify/graphql-model-transformer@0.7.0-graphql-vnext-dev-preview.2) (2021-11-03)
58
+
59
+
60
+ ### Bug Fixes
61
+
62
+ * **graphql-model-transformer:** fixed model transformer ID generation when ID field is not specified ([#8633](https://github.com/aws-amplify/amplify-cli/issues/8633)) ([b515d16](https://github.com/aws-amplify/amplify-cli/commit/b515d1617a98d613b2d9feb424ece12204d63402))
63
+ * **graphql-model-transformer:** override resource logical id to fix v1 to v2 transformer migration ([#8597](https://github.com/aws-amplify/amplify-cli/issues/8597)) ([e3a2afb](https://github.com/aws-amplify/amplify-cli/commit/e3a2afbbed6e97f143fc7c83064e2193f4c91bdd))
15
64
 
16
65
 
17
66
  ### Features
18
67
 
19
- * add [@auth](https://github.com/auth) ([#1](https://github.com/aws-amplify/amplify-cli/issues/1)) ([7c13d99](https://github.com/aws-amplify/amplify-cli/commit/7c13d99a15e811efeff32ed061573d63ee9093ba)), closes [#8074](https://github.com/aws-amplify/amplify-cli/issues/8074) [#8078](https://github.com/aws-amplify/amplify-cli/issues/8078) [#8124](https://github.com/aws-amplify/amplify-cli/issues/8124) [#8146](https://github.com/aws-amplify/amplify-cli/issues/8146) [#8168](https://github.com/aws-amplify/amplify-cli/issues/8168) [#8138](https://github.com/aws-amplify/amplify-cli/issues/8138) [#8174](https://github.com/aws-amplify/amplify-cli/issues/8174) [#8175](https://github.com/aws-amplify/amplify-cli/issues/8175) [#8180](https://github.com/aws-amplify/amplify-cli/issues/8180) [#8179](https://github.com/aws-amplify/amplify-cli/issues/8179) [#8234](https://github.com/aws-amplify/amplify-cli/issues/8234) [#8246](https://github.com/aws-amplify/amplify-cli/issues/8246) [#8248](https://github.com/aws-amplify/amplify-cli/issues/8248) [#8259](https://github.com/aws-amplify/amplify-cli/issues/8259)
20
- * **amplify-provider-awscloudformation:** match env directive field for sandbox mode ([#3](https://github.com/aws-amplify/amplify-cli/issues/3)) ([3158549](https://github.com/aws-amplify/amplify-cli/commit/31585492fd4c358903d68d9640e9ac53e9b32eef))
68
+ * generate list types as non-null ([#8166](https://github.com/aws-amplify/amplify-cli/issues/8166)) ([93786c1](https://github.com/aws-amplify/amplify-cli/commit/93786c13ef04c72748ca32a1ef7878c0e6b5b129))
69
+
70
+
71
+
72
+
73
+
74
+ # [0.7.0-graphql-vnext-dev-preview.1](https://github.com/aws-amplify/amplify-cli/compare/@aws-amplify/graphql-model-transformer@0.6.4...@aws-amplify/graphql-model-transformer@0.7.0-graphql-vnext-dev-preview.1) (2021-11-03)
75
+
76
+
77
+ ### Bug Fixes
78
+
79
+ * **graphql-model-transformer:** fixed model transformer ID generation when ID field is not specified ([#8633](https://github.com/aws-amplify/amplify-cli/issues/8633)) ([b515d16](https://github.com/aws-amplify/amplify-cli/commit/b515d1617a98d613b2d9feb424ece12204d63402))
80
+ * **graphql-model-transformer:** override resource logical id to fix v1 to v2 transformer migration ([#8597](https://github.com/aws-amplify/amplify-cli/issues/8597)) ([e3a2afb](https://github.com/aws-amplify/amplify-cli/commit/e3a2afbbed6e97f143fc7c83064e2193f4c91bdd))
81
+
82
+
83
+ ### Features
84
+
85
+ * generate list types as non-null ([#8166](https://github.com/aws-amplify/amplify-cli/issues/8166)) ([93786c1](https://github.com/aws-amplify/amplify-cli/commit/93786c13ef04c72748ca32a1ef7878c0e6b5b129))
86
+
87
+
88
+
89
+
90
+
91
+ # [0.7.0-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/@aws-amplify/graphql-model-transformer@0.6.4...@aws-amplify/graphql-model-transformer@0.7.0-graphql-vnext-dev-preview.0) (2021-11-03)
92
+
93
+
94
+ ### Bug Fixes
95
+
96
+ * **graphql-model-transformer:** fixed model transformer ID generation when ID field is not specified ([#8633](https://github.com/aws-amplify/amplify-cli/issues/8633)) ([b515d16](https://github.com/aws-amplify/amplify-cli/commit/b515d1617a98d613b2d9feb424ece12204d63402))
97
+ * **graphql-model-transformer:** override resource logical id to fix v1 to v2 transformer migration ([#8597](https://github.com/aws-amplify/amplify-cli/issues/8597)) ([e3a2afb](https://github.com/aws-amplify/amplify-cli/commit/e3a2afbbed6e97f143fc7c83064e2193f4c91bdd))
98
+
99
+
100
+ ### Features
101
+
102
+ * generate list types as non-null ([#8166](https://github.com/aws-amplify/amplify-cli/issues/8166)) ([93786c1](https://github.com/aws-amplify/amplify-cli/commit/93786c13ef04c72748ca32a1ef7878c0e6b5b129))
103
+
104
+
105
+
106
+
107
+
108
+ ## [0.6.4](https://github.com/aws-amplify/amplify-cli/compare/@aws-amplify/graphql-model-transformer@0.6.3...@aws-amplify/graphql-model-transformer@0.6.4) (2021-10-10)
109
+
110
+ **Note:** Version bump only for package @aws-amplify/graphql-model-transformer
111
+
112
+
113
+
114
+
115
+
116
+ ## [0.6.3](https://github.com/aws-amplify/amplify-cli/compare/@aws-amplify/graphql-model-transformer@0.6.2...@aws-amplify/graphql-model-transformer@0.6.3) (2021-09-27)
117
+
118
+
119
+ ### Bug Fixes
120
+
121
+ * **graphql-model-transformer:** [@model](https://github.com/model) conflict resolution ([#8035](https://github.com/aws-amplify/amplify-cli/issues/8035)) ([f3bdc4a](https://github.com/aws-amplify/amplify-cli/commit/f3bdc4ac1fcf596f634d9d2e968785e76f7b138c))
122
+ * **graphql-model-transformer:** iam role name does not exceed 64 characters ([#8244](https://github.com/aws-amplify/amplify-cli/issues/8244)) ([812a671](https://github.com/aws-amplify/amplify-cli/commit/812a67163d6dd33160bf7ace9afd538c83a7af1a))
123
+ * **graphql-model-transformer:** remove unnecessary warnings for resolver config per type ([#8265](https://github.com/aws-amplify/amplify-cli/issues/8265)) ([2f2f0a5](https://github.com/aws-amplify/amplify-cli/commit/2f2f0a5bea59278219c1f4ebb5276927dc5a0fbd))
21
124
 
22
125
 
23
126
 
@@ -48,28 +48,31 @@ export declare class ModelTransformer extends TransformerModelBase implements Tr
48
48
  prepare: (context: TransformerPrepareStepContextProvider) => void;
49
49
  transformSchema: (ctx: TransformerTransformSchemaStepContextProvider) => void;
50
50
  generateResolvers: (context: TransformerContextProvider) => void;
51
- generateGetResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string) => TransformerResolverProvider;
52
- generateListResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string) => TransformerResolverProvider;
53
- generateUpdateResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string) => TransformerResolverProvider;
54
- generateDeleteResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string) => TransformerResolverProvider;
55
- generateOnCreateResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string) => TransformerResolverProvider;
56
- generateOnUpdateResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string) => TransformerResolverProvider;
57
- generateOnDeleteResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string) => TransformerResolverProvider;
58
- generateSyncResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string) => TransformerResolverProvider;
51
+ generateGetResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider;
52
+ generateListResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider;
53
+ generateUpdateResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider;
54
+ generateDeleteResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider;
55
+ generateOnCreateResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider;
56
+ generateOnUpdateResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider;
57
+ generateOnDeleteResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider;
58
+ generateSyncResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider;
59
59
  getQueryFieldNames: (ctx: TransformerTransformSchemaStepContextProvider, type: ObjectTypeDefinitionNode) => Set<{
60
60
  fieldName: string;
61
61
  typeName: string;
62
62
  type: QueryFieldType;
63
+ resolverLogicalId: string;
63
64
  }>;
64
65
  getMutationFieldNames: (ctx: TransformerTransformSchemaStepContextProvider, type: ObjectTypeDefinitionNode) => Set<{
65
66
  fieldName: string;
66
67
  typeName: string;
67
68
  type: MutationFieldType;
69
+ resolverLogicalId: string;
68
70
  }>;
69
71
  getMutationName: (subscriptionType: SubscriptionFieldType, mutationMap: Set<{
70
72
  fieldName: string;
71
73
  typeName: string;
72
74
  type: MutationFieldType;
75
+ resolverLogicalId: string;
73
76
  }>) => string;
74
77
  private createQueryFields;
75
78
  private createMutationFields;
@@ -78,10 +81,11 @@ export declare class ModelTransformer extends TransformerModelBase implements Tr
78
81
  fieldName: string;
79
82
  typeName: string;
80
83
  type: SubscriptionFieldType;
84
+ resolverLogicalId: string;
81
85
  }>;
82
86
  getDataSourceResource: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode) => DataSourceInstance;
83
87
  getDataSourceType: () => AppSyncDataSourceType;
84
- generateCreateResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string) => TransformerResolverProvider;
88
+ generateCreateResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider;
85
89
  getInputs: (ctx: TransformerTransformSchemaStepContextProvider, type: ObjectTypeDefinitionNode, operation: {
86
90
  fieldName: string;
87
91
  typeName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"graphql-model-transformer.d.ts","sourceRoot":"","sources":["../src/graphql-model-transformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphql-model-transformer.d.ts","sourceRoot":"","sources":["../src/graphql-model-transformer.ts"],"names":[],"mappings":"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"}
@@ -91,7 +91,7 @@ class ModelTransformer extends graphql_transformer_core_1.TransformerModelBase {
91
91
  if (ctx.isProjectUsingDataStore()) {
92
92
  graphql_transformer_core_1.SyncUtils.validateResolverConfigForType(ctx, typeName);
93
93
  }
94
- const directiveWrapped = new object_definition_wrapper_1.DirectiveWrapper(directive);
94
+ const directiveWrapped = new graphql_transformer_core_1.DirectiveWrapper(directive);
95
95
  const options = directiveWrapped.getArguments({
96
96
  queries: {
97
97
  get: graphql_transformer_common_1.toCamelCase(['get', typeName]),
@@ -138,8 +138,6 @@ class ModelTransformer extends graphql_transformer_core_1.TransformerModelBase {
138
138
  ctx.output.addSubscriptionFields(subscriptionsFields);
139
139
  this.addAutoGeneratableFields(ctx, type);
140
140
  if (ctx.isProjectUsingDataStore()) {
141
- graphql_transformer_core_1.SyncUtils.validateResolverConfigForType(ctx, def.name.value);
142
- this.options.SyncConfig = graphql_transformer_core_1.SyncUtils.getSyncConfig(ctx, def.name.value);
143
141
  this.addModelSyncFields(ctx, type);
144
142
  }
145
143
  }
@@ -156,13 +154,13 @@ class ModelTransformer extends graphql_transformer_core_1.TransformerModelBase {
156
154
  let resolver;
157
155
  switch (query.type) {
158
156
  case graphql_transformer_interfaces_1.QueryFieldType.GET:
159
- resolver = this.generateGetResolver(context, def, query.typeName, query.fieldName);
157
+ resolver = this.generateGetResolver(context, def, query.typeName, query.fieldName, query.resolverLogicalId);
160
158
  break;
161
159
  case graphql_transformer_interfaces_1.QueryFieldType.LIST:
162
- resolver = this.generateListResolver(context, def, query.typeName, query.fieldName);
160
+ resolver = this.generateListResolver(context, def, query.typeName, query.fieldName, query.resolverLogicalId);
163
161
  break;
164
162
  case graphql_transformer_interfaces_1.QueryFieldType.SYNC:
165
- resolver = this.generateSyncResolver(context, def, query.typeName, query.fieldName);
163
+ resolver = this.generateSyncResolver(context, def, query.typeName, query.fieldName, query.resolverLogicalId);
166
164
  break;
167
165
  default:
168
166
  throw new Error('Unknown query field type');
@@ -176,13 +174,13 @@ class ModelTransformer extends graphql_transformer_core_1.TransformerModelBase {
176
174
  let resolver;
177
175
  switch (mutation.type) {
178
176
  case graphql_transformer_interfaces_1.MutationFieldType.CREATE:
179
- resolver = this.generateCreateResolver(context, def, mutation.typeName, mutation.fieldName);
177
+ resolver = this.generateCreateResolver(context, def, mutation.typeName, mutation.fieldName, mutation.resolverLogicalId);
180
178
  break;
181
179
  case graphql_transformer_interfaces_1.MutationFieldType.DELETE:
182
- resolver = this.generateDeleteResolver(context, def, mutation.typeName, mutation.fieldName);
180
+ resolver = this.generateDeleteResolver(context, def, mutation.typeName, mutation.fieldName, mutation.resolverLogicalId);
183
181
  break;
184
182
  case graphql_transformer_interfaces_1.MutationFieldType.UPDATE:
185
- resolver = this.generateUpdateResolver(context, def, mutation.typeName, mutation.fieldName);
183
+ resolver = this.generateUpdateResolver(context, def, mutation.typeName, mutation.fieldName, mutation.resolverLogicalId);
186
184
  break;
187
185
  default:
188
186
  throw new Error('Unknown mutation field type');
@@ -198,13 +196,13 @@ class ModelTransformer extends graphql_transformer_core_1.TransformerModelBase {
198
196
  let resolver;
199
197
  switch (subscription.type) {
200
198
  case graphql_transformer_interfaces_1.SubscriptionFieldType.ON_CREATE:
201
- resolver = this.generateOnCreateResolver(context, def, subscription.typeName, subscription.fieldName);
199
+ resolver = this.generateOnCreateResolver(context, def, subscription.typeName, subscription.fieldName, subscription.resolverLogicalId);
202
200
  break;
203
201
  case graphql_transformer_interfaces_1.SubscriptionFieldType.ON_UPDATE:
204
- resolver = this.generateOnUpdateResolver(context, def, subscription.typeName, subscription.fieldName);
202
+ resolver = this.generateOnUpdateResolver(context, def, subscription.typeName, subscription.fieldName, subscription.resolverLogicalId);
205
203
  break;
206
204
  case graphql_transformer_interfaces_1.SubscriptionFieldType.ON_DELETE:
207
- resolver = this.generateOnDeleteResolver(context, def, subscription.typeName, subscription.fieldName);
205
+ resolver = this.generateOnDeleteResolver(context, def, subscription.typeName, subscription.fieldName, subscription.resolverLogicalId);
208
206
  break;
209
207
  default:
210
208
  throw new Error('Unknown subscription field type');
@@ -216,71 +214,71 @@ class ModelTransformer extends graphql_transformer_core_1.TransformerModelBase {
216
214
  }
217
215
  }
218
216
  };
219
- this.generateGetResolver = (ctx, type, typeName, fieldName) => {
217
+ this.generateGetResolver = (ctx, type, typeName, fieldName, resolverLogicalId) => {
220
218
  const isSyncEnabled = ctx.isProjectUsingDataStore();
221
219
  const dataSource = this.datasourceMap[type.name.value];
222
220
  const resolverKey = `Get${resolvers_1.generateResolverKey(typeName, fieldName)}`;
223
221
  if (!this.resolverMap[resolverKey]) {
224
- this.resolverMap[resolverKey] = ctx.resolvers.generateQueryResolver(typeName, fieldName, dataSource, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(query_1.generateGetRequestTemplate(), `${typeName}.${fieldName}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(query_1.generateGetResponseTemplate(isSyncEnabled), `${typeName}.${fieldName}.res.vtl`));
222
+ this.resolverMap[resolverKey] = ctx.resolvers.generateQueryResolver(typeName, fieldName, resolverLogicalId, dataSource, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(query_1.generateGetRequestTemplate(), `${typeName}.${fieldName}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(query_1.generateGetResponseTemplate(isSyncEnabled), `${typeName}.${fieldName}.res.vtl`));
225
223
  }
226
224
  return this.resolverMap[resolverKey];
227
225
  };
228
- this.generateListResolver = (ctx, type, typeName, fieldName) => {
226
+ this.generateListResolver = (ctx, type, typeName, fieldName, resolverLogicalId) => {
229
227
  const isSyncEnabled = ctx.isProjectUsingDataStore();
230
228
  const dataSource = this.datasourceMap[type.name.value];
231
229
  const resolverKey = `List${resolvers_1.generateResolverKey(typeName, fieldName)}`;
232
230
  if (!this.resolverMap[resolverKey]) {
233
- this.resolverMap[resolverKey] = ctx.resolvers.generateQueryResolver(typeName, fieldName, dataSource, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(query_1.generateListRequestTemplate(), `${typeName}.${fieldName}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(resolvers_1.generateDefaultResponseMappingTemplate(isSyncEnabled), `${typeName}.${fieldName}.res.vtl`));
231
+ this.resolverMap[resolverKey] = ctx.resolvers.generateQueryResolver(typeName, fieldName, resolverLogicalId, dataSource, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(query_1.generateListRequestTemplate(), `${typeName}.${fieldName}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(resolvers_1.generateDefaultResponseMappingTemplate(isSyncEnabled), `${typeName}.${fieldName}.res.vtl`));
234
232
  }
235
233
  return this.resolverMap[resolverKey];
236
234
  };
237
- this.generateUpdateResolver = (ctx, type, typeName, fieldName) => {
235
+ this.generateUpdateResolver = (ctx, type, typeName, fieldName, resolverLogicalId) => {
238
236
  const isSyncEnabled = ctx.isProjectUsingDataStore();
239
237
  const dataSource = this.datasourceMap[type.name.value];
240
238
  const resolverKey = `Update${resolvers_1.generateResolverKey(typeName, fieldName)}`;
241
239
  if (!this.resolverMap[resolverKey]) {
242
- const resolver = ctx.resolvers.generateMutationResolver(typeName, fieldName, dataSource, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(resolvers_1.generateUpdateRequestTemplate(typeName, isSyncEnabled), `${typeName}.${fieldName}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(resolvers_1.generateDefaultResponseMappingTemplate(isSyncEnabled, true), `${typeName}.${fieldName}.res.vtl`));
240
+ const resolver = ctx.resolvers.generateMutationResolver(typeName, fieldName, resolverLogicalId, dataSource, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(resolvers_1.generateUpdateRequestTemplate(typeName, isSyncEnabled), `${typeName}.${fieldName}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(resolvers_1.generateDefaultResponseMappingTemplate(isSyncEnabled, true), `${typeName}.${fieldName}.res.vtl`));
243
241
  resolver.addToSlot('init', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(resolvers_1.generateUpdateInitSlotTemplate(type.name.value, this.modelDirectiveConfig.get(type.name.value)), `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`));
244
242
  this.resolverMap[resolverKey] = resolver;
245
243
  }
246
244
  return this.resolverMap[resolverKey];
247
245
  };
248
- this.generateDeleteResolver = (ctx, type, typeName, fieldName) => {
246
+ this.generateDeleteResolver = (ctx, type, typeName, fieldName, resolverLogicalId) => {
249
247
  const isSyncEnabled = ctx.isProjectUsingDataStore();
250
248
  const dataSource = this.datasourceMap[type.name.value];
251
249
  const resolverKey = `delete${resolvers_1.generateResolverKey(typeName, fieldName)}`;
252
250
  if (!this.resolverMap[resolverKey]) {
253
- this.resolverMap[resolverKey] = ctx.resolvers.generateMutationResolver(typeName, fieldName, dataSource, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(resolvers_1.generateDeleteRequestTemplate(isSyncEnabled), `${typeName}.${fieldName}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(resolvers_1.generateDefaultResponseMappingTemplate(isSyncEnabled, true), `${typeName}.${fieldName}.res.vtl`));
251
+ this.resolverMap[resolverKey] = ctx.resolvers.generateMutationResolver(typeName, fieldName, resolverLogicalId, dataSource, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(resolvers_1.generateDeleteRequestTemplate(isSyncEnabled), `${typeName}.${fieldName}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(resolvers_1.generateDefaultResponseMappingTemplate(isSyncEnabled, true), `${typeName}.${fieldName}.res.vtl`));
254
252
  }
255
253
  return this.resolverMap[resolverKey];
256
254
  };
257
- this.generateOnCreateResolver = (ctx, type, typeName, fieldName) => {
255
+ this.generateOnCreateResolver = (ctx, type, typeName, fieldName, resolverLogicalId) => {
258
256
  const resolverKey = `OnCreate${resolvers_1.generateResolverKey(typeName, fieldName)}`;
259
257
  if (!this.resolverMap[resolverKey]) {
260
- this.resolverMap[resolverKey] = ctx.resolvers.generateSubscriptionResolver(typeName, fieldName, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(resolvers_1.generateSubscriptionRequestTemplate(), `${typeName}.${fieldName}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(resolvers_1.generateSubscriptionResponseTemplate(), `${typeName}.${fieldName}.res.vtl`));
258
+ this.resolverMap[resolverKey] = ctx.resolvers.generateSubscriptionResolver(typeName, fieldName, resolverLogicalId, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(resolvers_1.generateSubscriptionRequestTemplate(), `${typeName}.${fieldName}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(resolvers_1.generateSubscriptionResponseTemplate(), `${typeName}.${fieldName}.res.vtl`));
261
259
  }
262
260
  return this.resolverMap[resolverKey];
263
261
  };
264
- this.generateOnUpdateResolver = (ctx, type, typeName, fieldName) => {
262
+ this.generateOnUpdateResolver = (ctx, type, typeName, fieldName, resolverLogicalId) => {
265
263
  const resolverKey = `OnUpdate${resolvers_1.generateResolverKey(typeName, fieldName)}`;
266
264
  if (!this.resolverMap[resolverKey]) {
267
- this.resolverMap[resolverKey] = ctx.resolvers.generateSubscriptionResolver(typeName, fieldName, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(resolvers_1.generateSubscriptionRequestTemplate(), `${typeName}.${fieldName}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(resolvers_1.generateSubscriptionResponseTemplate(), `${typeName}.${fieldName}.res.vtl`));
265
+ this.resolverMap[resolverKey] = ctx.resolvers.generateSubscriptionResolver(typeName, fieldName, resolverLogicalId, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(resolvers_1.generateSubscriptionRequestTemplate(), `${typeName}.${fieldName}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(resolvers_1.generateSubscriptionResponseTemplate(), `${typeName}.${fieldName}.res.vtl`));
268
266
  }
269
267
  return this.resolverMap[resolverKey];
270
268
  };
271
- this.generateOnDeleteResolver = (ctx, type, typeName, fieldName) => {
269
+ this.generateOnDeleteResolver = (ctx, type, typeName, fieldName, resolverLogicalId) => {
272
270
  const resolverKey = `OnDelete${resolvers_1.generateResolverKey(typeName, fieldName)}`;
273
271
  if (!this.resolverMap[resolverKey]) {
274
- this.resolverMap[resolverKey] = ctx.resolvers.generateSubscriptionResolver(typeName, fieldName, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(resolvers_1.generateSubscriptionRequestTemplate(), `${typeName}.${fieldName}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(resolvers_1.generateSubscriptionResponseTemplate(), `${typeName}.${fieldName}.res.vtl`));
272
+ this.resolverMap[resolverKey] = ctx.resolvers.generateSubscriptionResolver(typeName, fieldName, resolverLogicalId, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(resolvers_1.generateSubscriptionRequestTemplate(), `${typeName}.${fieldName}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(resolvers_1.generateSubscriptionResponseTemplate(), `${typeName}.${fieldName}.res.vtl`));
275
273
  }
276
274
  return this.resolverMap[resolverKey];
277
275
  };
278
- this.generateSyncResolver = (ctx, type, typeName, fieldName) => {
276
+ this.generateSyncResolver = (ctx, type, typeName, fieldName, resolverLogicalId) => {
279
277
  const isSyncEnabled = ctx.isProjectUsingDataStore();
280
278
  const dataSource = this.datasourceMap[type.name.value];
281
279
  const resolverKey = `Sync${resolvers_1.generateResolverKey(typeName, fieldName)}`;
282
280
  if (!this.resolverMap[resolverKey]) {
283
- this.resolverMap[resolverKey] = ctx.resolvers.generateQueryResolver(typeName, fieldName, dataSource, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(query_1.generateSyncRequestTemplate(), `${typeName}.${fieldName}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(resolvers_1.generateDefaultResponseMappingTemplate(isSyncEnabled), `${typeName}.${fieldName}.res.vtl`));
281
+ this.resolverMap[resolverKey] = ctx.resolvers.generateQueryResolver(typeName, fieldName, resolverLogicalId, dataSource, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(query_1.generateSyncRequestTemplate(), `${typeName}.${fieldName}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(resolvers_1.generateDefaultResponseMappingTemplate(isSyncEnabled), `${typeName}.${fieldName}.res.vtl`));
284
282
  }
285
283
  return this.resolverMap[resolverKey];
286
284
  };
@@ -294,6 +292,7 @@ class ModelTransformer extends graphql_transformer_core_1.TransformerModelBase {
294
292
  typeName: 'Query',
295
293
  fieldName: modelDirectiveConfig.queries.get || graphql_transformer_common_1.toCamelCase(['get', typeName]),
296
294
  type: graphql_transformer_interfaces_1.QueryFieldType.GET,
295
+ resolverLogicalId: graphql_transformer_common_1.ResolverResourceIDs.DynamoDBGetResolverResourceID(typeName),
297
296
  });
298
297
  }
299
298
  if ((_b = modelDirectiveConfig === null || modelDirectiveConfig === void 0 ? void 0 : modelDirectiveConfig.queries) === null || _b === void 0 ? void 0 : _b.list) {
@@ -301,6 +300,7 @@ class ModelTransformer extends graphql_transformer_core_1.TransformerModelBase {
301
300
  typeName: 'Query',
302
301
  fieldName: modelDirectiveConfig.queries.list || graphql_transformer_common_1.toCamelCase(['list', typeName]),
303
302
  type: graphql_transformer_interfaces_1.QueryFieldType.LIST,
303
+ resolverLogicalId: graphql_transformer_common_1.ResolverResourceIDs.DynamoDBListResolverResourceID(typeName),
304
304
  });
305
305
  }
306
306
  if ((_c = modelDirectiveConfig === null || modelDirectiveConfig === void 0 ? void 0 : modelDirectiveConfig.queries) === null || _c === void 0 ? void 0 : _c.sync) {
@@ -308,6 +308,7 @@ class ModelTransformer extends graphql_transformer_core_1.TransformerModelBase {
308
308
  typeName: 'Query',
309
309
  fieldName: modelDirectiveConfig.queries.sync || graphql_transformer_common_1.toCamelCase(['sync', typeName]),
310
310
  type: graphql_transformer_interfaces_1.QueryFieldType.SYNC,
311
+ resolverLogicalId: graphql_transformer_common_1.ResolverResourceIDs.SyncResolverResourceID(typeName),
311
312
  });
312
313
  }
313
314
  return fields;
@@ -327,6 +328,18 @@ class ModelTransformer extends graphql_transformer_core_1.TransformerModelBase {
327
328
  throw new Error('Unknown mutation type');
328
329
  }
329
330
  };
331
+ const getMutationResolverLogicalId = (type) => {
332
+ switch (type) {
333
+ case 'create':
334
+ return graphql_transformer_common_1.ResolverResourceIDs.DynamoDBCreateResolverResourceID(typeName);
335
+ case 'update':
336
+ return graphql_transformer_common_1.ResolverResourceIDs.DynamoDBUpdateResolverResourceID(typeName);
337
+ case 'delete':
338
+ return graphql_transformer_common_1.ResolverResourceIDs.DynamoDBDeleteResolverResourceID(typeName);
339
+ default:
340
+ throw new Error('Unknown mutation type');
341
+ }
342
+ };
330
343
  const fieldNames = new Set();
331
344
  for (let [mutationType, mutationName] of Object.entries((modelDirectiveConfig === null || modelDirectiveConfig === void 0 ? void 0 : modelDirectiveConfig.mutations) || {})) {
332
345
  if (mutationName) {
@@ -334,6 +347,7 @@ class ModelTransformer extends graphql_transformer_core_1.TransformerModelBase {
334
347
  typeName: 'Mutation',
335
348
  fieldName: mutationName,
336
349
  type: getMutationType(mutationType),
350
+ resolverLogicalId: getMutationResolverLogicalId(mutationType),
337
351
  });
338
352
  }
339
353
  }
@@ -408,6 +422,7 @@ class ModelTransformer extends graphql_transformer_core_1.TransformerModelBase {
408
422
  typeName: 'Subscription',
409
423
  fieldName: fieldName,
410
424
  type: graphql_transformer_interfaces_1.SubscriptionFieldType.ON_CREATE,
425
+ resolverLogicalId: graphql_transformer_common_1.ModelResourceIDs.ModelOnCreateSubscriptionName(type.name.value),
411
426
  });
412
427
  }
413
428
  }
@@ -417,6 +432,7 @@ class ModelTransformer extends graphql_transformer_core_1.TransformerModelBase {
417
432
  typeName: 'Subscription',
418
433
  fieldName: fieldName,
419
434
  type: graphql_transformer_interfaces_1.SubscriptionFieldType.ON_UPDATE,
435
+ resolverLogicalId: graphql_transformer_common_1.ModelResourceIDs.ModelOnUpdateSubscriptionName(type.name.value),
420
436
  });
421
437
  }
422
438
  }
@@ -426,6 +442,7 @@ class ModelTransformer extends graphql_transformer_core_1.TransformerModelBase {
426
442
  typeName: 'Subscription',
427
443
  fieldName: fieldName,
428
444
  type: graphql_transformer_interfaces_1.SubscriptionFieldType.ON_DELETE,
445
+ resolverLogicalId: graphql_transformer_common_1.ModelResourceIDs.ModelOnDeleteSubscriptionName(type.name.value),
429
446
  });
430
447
  }
431
448
  }
@@ -438,12 +455,12 @@ class ModelTransformer extends graphql_transformer_core_1.TransformerModelBase {
438
455
  this.getDataSourceType = () => {
439
456
  return graphql_transformer_interfaces_1.AppSyncDataSourceType.AMAZON_DYNAMODB;
440
457
  };
441
- this.generateCreateResolver = (ctx, type, typeName, fieldName) => {
458
+ this.generateCreateResolver = (ctx, type, typeName, fieldName, resolverLogicalId) => {
442
459
  const isSyncEnabled = ctx.isProjectUsingDataStore();
443
460
  const dataSource = this.datasourceMap[type.name.value];
444
461
  const resolverKey = `Create${resolvers_1.generateResolverKey(typeName, fieldName)}`;
445
462
  if (!this.resolverMap[resolverKey]) {
446
- const resolver = ctx.resolvers.generateMutationResolver(typeName, fieldName, dataSource, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(resolvers_1.generateCreateRequestTemplate(type.name.value), `${typeName}.${fieldName}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(resolvers_1.generateDefaultResponseMappingTemplate(isSyncEnabled, true), `${typeName}.${fieldName}.res.vtl`));
463
+ const resolver = ctx.resolvers.generateMutationResolver(typeName, fieldName, resolverLogicalId, dataSource, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(resolvers_1.generateCreateRequestTemplate(type.name.value), `${typeName}.${fieldName}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(resolvers_1.generateDefaultResponseMappingTemplate(isSyncEnabled, true), `${typeName}.${fieldName}.res.vtl`));
447
464
  this.resolverMap[resolverKey] = resolver;
448
465
  resolver.addToSlot('init', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(resolvers_1.generateCreateInitSlotTemplate(type.name.value, this.modelDirectiveConfig.get(type.name.value)), `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`));
449
466
  }
@@ -740,6 +757,7 @@ class ModelTransformer extends graphql_transformer_core_1.TransformerModelBase {
740
757
  const dataSource = context.api.host.addDynamoDbDataSource(datasourceRoleLogicalID, table, { name: tableLogicalName, serviceRole: role }, stack);
741
758
  const cfnDataSource = dataSource.node.defaultChild;
742
759
  cfnDataSource.addDependsOn(role.node.defaultChild);
760
+ cfnDataSource.overrideLogicalId(datasourceRoleLogicalID);
743
761
  if (context.isProjectUsingDataStore()) {
744
762
  const datasourceDynamoDb = cfnDataSource.dynamoDbConfig;
745
763
  datasourceDynamoDb.deltaSyncConfig = {
@@ -800,8 +818,9 @@ class ModelTransformer extends graphql_transformer_core_1.TransformerModelBase {
800
818
  }),
801
819
  ],
802
820
  }));
803
- if (this.options.SyncConfig && graphql_transformer_core_1.SyncUtils.isLambdaSyncConfig(this.options.SyncConfig)) {
804
- role.attachInlinePolicy(graphql_transformer_core_1.SyncUtils.createSyncLambdaIAMPolicy(stack, this.options.SyncConfig.LambdaConflictHandler.name, this.options.SyncConfig.LambdaConflictHandler.region));
821
+ const syncConfig = graphql_transformer_core_1.SyncUtils.getSyncConfig(context, def.name.value);
822
+ if (syncConfig && graphql_transformer_core_1.SyncUtils.isLambdaSyncConfig(syncConfig)) {
823
+ role.attachInlinePolicy(graphql_transformer_core_1.SyncUtils.createSyncLambdaIAMPolicy(stack, syncConfig.LambdaConflictHandler.name, syncConfig.LambdaConflictHandler.region));
805
824
  }
806
825
  return role;
807
826
  }