@aws-amplify/graphql-model-transformer 0.7.0-graphql-vnext-dev-preview.1 → 0.7.0-graphql-vnext-dev-preview.7
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 +143 -9
- package/lib/graphql-model-transformer.d.ts +13 -9
- package/lib/graphql-model-transformer.d.ts.map +1 -1
- package/lib/graphql-model-transformer.js +51 -32
- package/lib/graphql-model-transformer.js.map +1 -1
- package/lib/graphql-types/mutation.d.ts.map +1 -1
- package/lib/graphql-types/mutation.js +2 -5
- package/lib/graphql-types/mutation.js.map +1 -1
- package/lib/graphql-types/query.js +1 -1
- package/lib/graphql-types/query.js.map +1 -1
- package/lib/wrappers/object-definition-wrapper.d.ts +2 -15
- package/lib/wrappers/object-definition-wrapper.d.ts.map +1 -1
- package/lib/wrappers/object-definition-wrapper.js +7 -43
- package/lib/wrappers/object-definition-wrapper.js.map +1 -1
- package/package.json +6 -6
- package/src/__tests__/__snapshots__/model-transformer.test.ts.snap +11 -11
- package/src/__tests__/model-transformer.test.ts +34 -1
- package/src/graphql-model-transformer.ts +86 -28
- package/src/graphql-types/mutation.ts +2 -4
- package/src/graphql-types/query.ts +1 -1
- package/src/wrappers/object-definition-wrapper.ts +2 -52
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,32 +3,166 @@
|
|
|
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.
|
|
6
|
+
# [0.7.0-graphql-vnext-dev-preview.7](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.7) (2021-11-07)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
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
|
+
* **graphql-model-transformer:** subscription resolver logical id fix ([#8712](https://github.com/aws-amplify/amplify-cli/issues/8712)) ([a380e12](https://github.com/aws-amplify/amplify-cli/commit/a380e12f674fec7cda616bdae54b49a153bbecf2))
|
|
7
14
|
|
|
8
15
|
|
|
9
16
|
### Features
|
|
10
17
|
|
|
11
|
-
*
|
|
18
|
+
* 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))
|
|
12
19
|
|
|
13
20
|
|
|
14
21
|
|
|
15
22
|
|
|
16
23
|
|
|
17
|
-
# [0.7.0-graphql-vnext-dev-preview.
|
|
24
|
+
# [0.7.0-graphql-vnext-dev-preview.6](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.6) (2021-11-07)
|
|
18
25
|
|
|
19
26
|
|
|
20
27
|
### Bug Fixes
|
|
21
28
|
|
|
22
|
-
* **
|
|
23
|
-
* **graphql-model-transformer:**
|
|
24
|
-
* **graphql-model-transformer:**
|
|
25
|
-
|
|
29
|
+
* **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))
|
|
30
|
+
* **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))
|
|
31
|
+
* **graphql-model-transformer:** subscription resolver logical id fix ([#8712](https://github.com/aws-amplify/amplify-cli/issues/8712)) ([4d0c7d5](https://github.com/aws-amplify/amplify-cli/commit/4d0c7d5b9b9c42749858c75f1265a75efad473e4))
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
### Features
|
|
35
|
+
|
|
36
|
+
* 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))
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
# [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-07)
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
### Bug Fixes
|
|
46
|
+
|
|
47
|
+
* **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))
|
|
48
|
+
* **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))
|
|
49
|
+
* **graphql-model-transformer:** subscription resolver logical id fix ([#8712](https://github.com/aws-amplify/amplify-cli/issues/8712)) ([4dcdc95](https://github.com/aws-amplify/amplify-cli/commit/4dcdc9524bb46bda5cdcfc0e835d43c64dc216a6))
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
### Features
|
|
53
|
+
|
|
54
|
+
* 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))
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
# [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-07)
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
### Bug Fixes
|
|
64
|
+
|
|
65
|
+
* **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))
|
|
66
|
+
* **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))
|
|
67
|
+
* **graphql-model-transformer:** subscription resolver logical id fix ([#8712](https://github.com/aws-amplify/amplify-cli/issues/8712)) ([ff7c202](https://github.com/aws-amplify/amplify-cli/commit/ff7c202252983938c3a32c31fc4b3bd09a73734e))
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
### Features
|
|
71
|
+
|
|
72
|
+
* 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))
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
# [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-07)
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
### Bug Fixes
|
|
82
|
+
|
|
83
|
+
* **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))
|
|
84
|
+
* **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))
|
|
85
|
+
* **graphql-model-transformer:** subscription resolver logical id fix ([#8712](https://github.com/aws-amplify/amplify-cli/issues/8712)) ([249a0a7](https://github.com/aws-amplify/amplify-cli/commit/249a0a75b0e918f49c1059274d9252a430ce34c6))
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
### Features
|
|
89
|
+
|
|
90
|
+
* 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))
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
# [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-07)
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
### Bug Fixes
|
|
100
|
+
|
|
101
|
+
* **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))
|
|
102
|
+
* **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))
|
|
103
|
+
* **graphql-model-transformer:** subscription resolver logical id fix ([#8712](https://github.com/aws-amplify/amplify-cli/issues/8712)) ([3641fe3](https://github.com/aws-amplify/amplify-cli/commit/3641fe344396206fbc829b17916cc71df02347ce))
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
### Features
|
|
107
|
+
|
|
108
|
+
* 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))
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
# [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-07)
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
### Bug Fixes
|
|
118
|
+
|
|
119
|
+
* **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))
|
|
120
|
+
* **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))
|
|
121
|
+
* **graphql-model-transformer:** subscription resolver logical id fix ([#8712](https://github.com/aws-amplify/amplify-cli/issues/8712)) ([0e1a014](https://github.com/aws-amplify/amplify-cli/commit/0e1a014286c466cb858be6f8be1fdf1778abd4af))
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
### Features
|
|
125
|
+
|
|
126
|
+
* 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))
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
# [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-07)
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
### Bug Fixes
|
|
136
|
+
|
|
137
|
+
* **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))
|
|
138
|
+
* **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))
|
|
139
|
+
* **graphql-model-transformer:** subscription resolver logical id fix ([#8712](https://github.com/aws-amplify/amplify-cli/issues/8712)) ([f562f37](https://github.com/aws-amplify/amplify-cli/commit/f562f3714b83903c71217c5901c02c9fc71ff365))
|
|
26
140
|
|
|
27
141
|
|
|
28
142
|
### Features
|
|
29
143
|
|
|
30
|
-
*
|
|
31
|
-
|
|
144
|
+
* 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))
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
## [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)
|
|
151
|
+
|
|
152
|
+
**Note:** Version bump only for package @aws-amplify/graphql-model-transformer
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
## [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)
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
### Bug Fixes
|
|
162
|
+
|
|
163
|
+
* **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))
|
|
164
|
+
* **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))
|
|
165
|
+
* **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))
|
|
32
166
|
|
|
33
167
|
|
|
34
168
|
|
|
@@ -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":"AAAA,OAAO,
|
|
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
|
|
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.ResolverResourceIDs.ResolverResourceID('Subscription', fieldName),
|
|
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.ResolverResourceIDs.ResolverResourceID('Subscription', fieldName),
|
|
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.ResolverResourceIDs.ResolverResourceID('Subscription', fieldName),
|
|
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
|
-
|
|
804
|
-
|
|
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
|
}
|