@aws-amplify/graphql-index-transformer 0.11.5-beta.4 → 0.11.5-beta.6
Sign up to get free protection for your applications and to get access to all the features.
package/CHANGELOG.md
CHANGED
@@ -3,6 +3,28 @@
|
|
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.11.5-beta.6](https://github.com/aws-amplify/amplify-cli/compare/@aws-amplify/graphql-index-transformer@0.11.5...@aws-amplify/graphql-index-transformer@0.11.5-beta.6) (2022-04-26)
|
7
|
+
|
8
|
+
|
9
|
+
### Bug Fixes
|
10
|
+
|
11
|
+
* validate the presence of sortKeyFields when index is on the same field as the primary key ([#9841](https://github.com/aws-amplify/amplify-cli/issues/9841)) ([754ae44](https://github.com/aws-amplify/amplify-cli/commit/754ae44a738af7b344bbb64ba3db11f100c564ec)), closes [#4138](https://github.com/aws-amplify/amplify-cli/issues/4138)
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
## [0.11.5-beta.5](https://github.com/aws-amplify/amplify-cli/compare/@aws-amplify/graphql-index-transformer@0.11.5...@aws-amplify/graphql-index-transformer@0.11.5-beta.5) (2022-04-25)
|
18
|
+
|
19
|
+
|
20
|
+
### Bug Fixes
|
21
|
+
|
22
|
+
* validate the presence of sortKeyFields when index is on the same field as the primary key ([#9841](https://github.com/aws-amplify/amplify-cli/issues/9841)) ([754ae44](https://github.com/aws-amplify/amplify-cli/commit/754ae44a738af7b344bbb64ba3db11f100c564ec)), closes [#4138](https://github.com/aws-amplify/amplify-cli/issues/4138)
|
23
|
+
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
|
6
28
|
## [0.11.5-beta.4](https://github.com/aws-amplify/amplify-cli/compare/@aws-amplify/graphql-index-transformer@0.11.4...@aws-amplify/graphql-index-transformer@0.11.5-beta.4) (2022-04-15)
|
7
29
|
|
8
30
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"graphql-index-transformer.d.ts","sourceRoot":"","sources":["../src/graphql-index-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2C,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AACvH,OAAO,EACL,0BAA0B,EAE1B,yCAAyC,EACzC,6CAA6C,EAC9C,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,aAAa,EAEb,mBAAmB,EACnB,2BAA2B,EAE3B,wBAAwB,EACzB,MAAM,SAAS,CAAC;
|
1
|
+
{"version":3,"file":"graphql-index-transformer.d.ts","sourceRoot":"","sources":["../src/graphql-index-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2C,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AACvH,OAAO,EACL,0BAA0B,EAE1B,yCAAyC,EACzC,6CAA6C,EAC9C,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,aAAa,EAEb,mBAAmB,EACnB,2BAA2B,EAE3B,wBAAwB,EACzB,MAAM,SAAS,CAAC;AAejB,qBAAa,gBAAiB,SAAQ,qBAAqB;IACzD,OAAO,CAAC,aAAa,CAAqC;IAC1D,OAAO,CAAC,WAAW,CAAuD;;IAM1E,KAAK,WACK,wBAAwB,GAAG,2BAA2B,cAClD,mBAAmB,aACpB,aAAa,WACf,yCAAyC,KACjD,IAAI,CAkBL;IAEK,KAAK,QAAS,0BAA0B,KAAG,IAAI,CASpD;IAEF,eAAe,QAAS,6CAA6C,KAAG,IAAI,CAQ1E;IAEF,iBAAiB,QAAS,0BAA0B,KAAG,IAAI,CAKzD;CACH"}
|
@@ -59,12 +59,11 @@ class IndexTransformer extends graphql_transformer_core_1.TransformerPluginBase
|
|
59
59
|
}
|
60
60
|
}
|
61
61
|
exports.IndexTransformer = IndexTransformer;
|
62
|
-
|
63
|
-
const { name, object, field, sortKeyFields } = config;
|
62
|
+
const validate = (config, ctx) => {
|
63
|
+
const { name, object, field, sortKeyFields, } = config;
|
64
|
+
const defaultGSI = ctx.featureFlags.getBoolean('secondaryKeyAsGSI', true);
|
64
65
|
(0, utils_1.validateNotSelfReferencing)(config);
|
65
|
-
const modelDirective = object.directives.find(directive =>
|
66
|
-
return directive.name.value === 'model';
|
67
|
-
});
|
66
|
+
const modelDirective = object.directives.find(directive => directive.name.value === 'model');
|
68
67
|
if (!modelDirective) {
|
69
68
|
throw new graphql_transformer_core_1.InvalidDirectiveError(`The @${directiveName} directive may only be added to object definitions annotated with @model.`);
|
70
69
|
}
|
@@ -77,19 +76,27 @@ function validate(config, ctx) {
|
|
77
76
|
continue;
|
78
77
|
}
|
79
78
|
if (peerDirective.name.value === 'primaryKey') {
|
79
|
+
const hasSortFields = peerDirective.arguments.some((arg) => { var _a; return arg.name.value === 'sortKeyFields' && ((_a = arg.value.values) === null || _a === void 0 ? void 0 : _a.length) > 0; });
|
80
80
|
config.primaryKeyField = objectField;
|
81
|
-
if (objectField.name.value === field.name.value
|
82
|
-
|
83
|
-
|
84
|
-
'
|
85
|
-
'You cannot have a local secondary index without a sort key in the primary key.');
|
81
|
+
if (!hasSortFields && objectField.name.value === field.name.value) {
|
82
|
+
throw new graphql_transformer_core_1.InvalidDirectiveError(`Invalid @index '${name}'. You may not create an index where the partition key `
|
83
|
+
+ 'is the same as that of the primary key unless the primary key has a sort field. '
|
84
|
+
+ 'You cannot have a local secondary index without a sort key in the primary key.');
|
86
85
|
}
|
87
86
|
}
|
88
|
-
if (peerDirective.name.value === directiveName
|
89
|
-
peerDirective.arguments.some((arg) => arg.name.value === 'name' && arg.value.value === name)) {
|
87
|
+
if (peerDirective.name.value === directiveName
|
88
|
+
&& peerDirective.arguments.some((arg) => arg.name.value === 'name' && arg.value.value === name)) {
|
90
89
|
throw new graphql_transformer_core_1.InvalidDirectiveError(`You may only supply one @${directiveName} with the name '${name}' on type '${object.name.value}'.`);
|
91
90
|
}
|
92
91
|
}
|
92
|
+
for (const peerDirective of objectField.directives) {
|
93
|
+
const hasSortFields = peerDirective.arguments.some((arg) => { var _a; return arg.name.value === 'sortKeyFields' && ((_a = arg.value.values) === null || _a === void 0 ? void 0 : _a.length) > 0; });
|
94
|
+
if (!defaultGSI && !hasSortFields && objectField == config.primaryKeyField && objectField.name.value === field.name.value) {
|
95
|
+
throw new graphql_transformer_core_1.InvalidDirectiveError(`Invalid @index '${name}'. You may not create an index where the partition key `
|
96
|
+
+ 'is the same as that of the primary key unless the index has a sort field. '
|
97
|
+
+ 'You cannot have a local secondary index without a sort key in the index.');
|
98
|
+
}
|
99
|
+
}
|
93
100
|
}
|
94
101
|
const enums = ctx.output.getTypeDefinitionsOfKind(graphql_1.Kind.ENUM_TYPE_DEFINITION);
|
95
102
|
if (!(0, graphql_transformer_common_1.isScalarOrEnum)(field.type, enums) || (0, graphql_transformer_common_1.isListType)(field.type)) {
|
@@ -105,5 +112,5 @@ function validate(config, ctx) {
|
|
105
112
|
}
|
106
113
|
config.sortKey.push(sortField);
|
107
114
|
}
|
108
|
-
}
|
115
|
+
};
|
109
116
|
//# sourceMappingURL=graphql-index-transformer.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"graphql-index-transformer.js","sourceRoot":"","sources":["../src/graphql-index-transformer.ts"],"names":[],"mappings":";;;AAAA,oFAAuH;AAOvH,qCAOiB;AACjB,2EAAwE;AACxE,2CAA8F;AAC9F,qCAAiG;AAEjG,mCAAqD;AAErD,MAAM,aAAa,GAAG,OAAO,CAAC;AAC9B,MAAM,mBAAmB,GAAG;eACb,aAAa;CAC3B,CAAC;
|
1
|
+
{"version":3,"file":"graphql-index-transformer.js","sourceRoot":"","sources":["../src/graphql-index-transformer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@aws-amplify/graphql-index-transformer",
|
3
|
-
"version": "0.11.5-beta.
|
3
|
+
"version": "0.11.5-beta.6",
|
4
4
|
"description": "Amplify GraphQL index and key transformers",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -27,8 +27,8 @@
|
|
27
27
|
"test": "jest"
|
28
28
|
},
|
29
29
|
"dependencies": {
|
30
|
-
"@aws-amplify/graphql-model-transformer": "0.13.5-beta.
|
31
|
-
"@aws-amplify/graphql-transformer-core": "0.16.5-beta.
|
30
|
+
"@aws-amplify/graphql-model-transformer": "0.13.5-beta.6",
|
31
|
+
"@aws-amplify/graphql-transformer-core": "0.16.5-beta.6",
|
32
32
|
"@aws-amplify/graphql-transformer-interfaces": "1.13.1-beta.4",
|
33
33
|
"@aws-cdk/aws-appsync": "~1.124.0",
|
34
34
|
"@aws-cdk/aws-dynamodb": "~1.124.0",
|
@@ -55,5 +55,5 @@
|
|
55
55
|
],
|
56
56
|
"collectCoverage": true
|
57
57
|
},
|
58
|
-
"gitHead": "
|
58
|
+
"gitHead": "2238518f142bdc97df1550c503861e5bb8b77228"
|
59
59
|
}
|