@aws-amplify/graphql-index-transformer 0.12.0-sub-username-identity-claim.2 → 0.12.0
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +4 -18
- package/lib/utils.d.ts.map +1 -1
- package/lib/utils.js +22 -37
- package/lib/utils.js.map +1 -1
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
@@ -3,34 +3,20 @@
|
|
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.12.0
|
6
|
+
# [0.12.0](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-index-transformer@0.11.11...@aws-amplify/graphql-index-transformer@0.12.0) (2022-06-13)
|
7
7
|
|
8
8
|
|
9
9
|
### Features
|
10
10
|
|
11
|
-
* add error when using an owner field as a sort key field ([
|
11
|
+
* add error when using an owner field as a sort key field ([#517](https://github.com/aws-amplify/amplify-category-api/issues/517)) ([201032d](https://github.com/aws-amplify/amplify-category-api/commit/201032d674a8272931fad0c75e9e146a22ed030b))
|
12
12
|
|
13
13
|
|
14
14
|
|
15
15
|
|
16
16
|
|
17
|
-
|
17
|
+
## [0.11.11](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-index-transformer@0.11.10...@aws-amplify/graphql-index-transformer@0.11.11) (2022-06-10)
|
18
18
|
|
19
|
-
|
20
|
-
### Features
|
21
|
-
|
22
|
-
* add error when using an owner field as a sort key field ([e668f8f](https://github.com/aws-amplify/amplify-category-api/commit/e668f8ffd9f236b5d8e35ab84432c681094ca4b6))
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
# [0.12.0-sub-username-identity-claim.0](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-index-transformer@0.11.10...@aws-amplify/graphql-index-transformer@0.12.0-sub-username-identity-claim.0) (2022-06-08)
|
29
|
-
|
30
|
-
|
31
|
-
### Features
|
32
|
-
|
33
|
-
* add error when using an owner field as a sort key field ([e668f8f](https://github.com/aws-amplify/amplify-category-api/commit/e668f8ffd9f236b5d8e35ab84432c681094ca4b6))
|
19
|
+
**Note:** Version bump only for package @aws-amplify/graphql-index-transformer
|
34
20
|
|
35
21
|
|
36
22
|
|
package/lib/utils.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AASzF,OAAO,EAAE,2BAA2B,EAAE,gCAAgC,EAAE,MAAM,SAAS,CAAC;AAExF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,gCAAgC,EAAE,GAAG,EAAE,0BAA0B,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAmCvI;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,2BAA2B,GAAG,gCAAgC,QAShH;AAKD,eAAO,MAAM,oBAAoB,iBACjB,MAAM,cACR,gCAAgC,OACvC,0BAA0B,KAC9B,OASF,CAAC"}
|
package/lib/utils.js
CHANGED
@@ -44,45 +44,30 @@ function validateNotSelfReferencing(config) {
|
|
44
44
|
}
|
45
45
|
exports.validateNotSelfReferencing = validateNotSelfReferencing;
|
46
46
|
const validateNotOwnerAuth = (sortKeyField, { object }, ctx) => {
|
47
|
-
var _a, _b, _c
|
48
|
-
const authDir = (
|
49
|
-
|
47
|
+
var _a, _b, _c;
|
48
|
+
const authDir = (object.directives || []).find(collectAuthDirectives);
|
49
|
+
const featureFlagEnabled = ctx.featureFlags.getBoolean('useSubUsernameForDefaultIdentityClaim');
|
50
|
+
if (!authDir || !featureFlagEnabled)
|
50
51
|
return true;
|
51
|
-
const
|
52
|
-
|
52
|
+
const authDirRules = ((_c = (_b = (_a = authDir.arguments) === null || _a === void 0 ? void 0 : _a.find(arg => arg.name.value === 'rules')) === null || _b === void 0 ? void 0 : _b.value) === null || _c === void 0 ? void 0 : _c.values) || [];
|
53
|
+
return !authDirRules.map(ownerFieldsFromOwnerRule).includes(sortKeyField);
|
54
|
+
};
|
55
|
+
exports.validateNotOwnerAuth = validateNotOwnerAuth;
|
56
|
+
const collectAuthDirectives = (dir) => dir.name.value === 'auth';
|
57
|
+
const ownerFieldsFromOwnerRule = (rule) => {
|
58
|
+
const ruleObject = {
|
59
|
+
ownerField: 'owner',
|
60
|
+
identityClaim: 'sub::username',
|
61
|
+
};
|
62
|
+
(rule.fields || []).forEach(field => {
|
53
63
|
var _a;
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
let usesMultiClaim = false;
|
58
|
-
let sortKeyFieldIsAuthField = false;
|
59
|
-
(_a = rule.fields) === null || _a === void 0 ? void 0 : _a.forEach(field => {
|
60
|
-
const name = field.name.value;
|
61
|
-
const { value } = field === null || field === void 0 ? void 0 : field.value;
|
62
|
-
if (name === 'allow' && value === 'owner') {
|
63
|
-
isOwner = true;
|
64
|
-
}
|
65
|
-
if (name === 'identityClaim') {
|
66
|
-
identityClaimIsSet = true;
|
67
|
-
if (value === 'sub::username') {
|
68
|
-
usesMultiClaim = true;
|
69
|
-
}
|
70
|
-
}
|
71
|
-
if (name === 'ownerField') {
|
72
|
-
ownerFieldIsSet = true;
|
73
|
-
if (value === sortKeyField) {
|
74
|
-
sortKeyFieldIsAuthField = true;
|
75
|
-
}
|
76
|
-
}
|
77
|
-
});
|
78
|
-
const featureFlagEnabled = ctx.featureFlags.getBoolean('useSubUsernameForDefaultIdentityClaim');
|
79
|
-
const usesImplicitIdentityClaim = !identityClaimIsSet && featureFlagEnabled;
|
80
|
-
const usesImplicitOwnerField = !ownerFieldIsSet && sortKeyField === 'owner';
|
81
|
-
const usesSubUsernameIdentityClaim = isOwner && (usesMultiClaim || usesImplicitIdentityClaim);
|
82
|
-
const invalidOwnerField = sortKeyFieldIsAuthField || usesImplicitOwnerField;
|
83
|
-
return usesSubUsernameIdentityClaim && invalidOwnerField;
|
64
|
+
const name = field.name.value;
|
65
|
+
const value = ((_a = field === null || field === void 0 ? void 0 : field.value) === null || _a === void 0 ? void 0 : _a.value) || '';
|
66
|
+
ruleObject[name] = value;
|
84
67
|
});
|
85
|
-
|
68
|
+
if (ruleObject.allow === 'owner' && ruleObject.identityClaim.split('::').length > 1) {
|
69
|
+
return ruleObject.ownerField;
|
70
|
+
}
|
71
|
+
return '';
|
86
72
|
};
|
87
|
-
exports.validateNotOwnerAuth = validateNotOwnerAuth;
|
88
73
|
//# sourceMappingURL=utils.js.map
|
package/lib/utils.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAAA,oFAA8E;
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.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.12.0
|
3
|
+
"version": "0.12.0",
|
4
4
|
"description": "Amplify GraphQL index and key transformers",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -27,9 +27,9 @@
|
|
27
27
|
"test": "jest"
|
28
28
|
},
|
29
29
|
"dependencies": {
|
30
|
-
"@aws-amplify/graphql-model-transformer": "0.14.
|
31
|
-
"@aws-amplify/graphql-transformer-core": "0.17.
|
32
|
-
"@aws-amplify/graphql-transformer-interfaces": "1.14.
|
30
|
+
"@aws-amplify/graphql-model-transformer": "0.14.5",
|
31
|
+
"@aws-amplify/graphql-transformer-core": "0.17.5",
|
32
|
+
"@aws-amplify/graphql-transformer-interfaces": "1.14.4",
|
33
33
|
"@aws-cdk/aws-appsync": "~1.124.0",
|
34
34
|
"@aws-cdk/aws-dynamodb": "~1.124.0",
|
35
35
|
"@aws-cdk/core": "~1.124.0",
|
@@ -55,5 +55,5 @@
|
|
55
55
|
],
|
56
56
|
"collectCoverage": true
|
57
57
|
},
|
58
|
-
"gitHead": "
|
58
|
+
"gitHead": "bae82b17dd552cf340c397cd009c6c72f6d47fba"
|
59
59
|
}
|