@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 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-sub-username-identity-claim.2](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.2) (2022-06-08)
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 ([e668f8f](https://github.com/aws-amplify/amplify-category-api/commit/e668f8ffd9f236b5d8e35ab84432c681094ca4b6))
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
- # [0.12.0-sub-username-identity-claim.1](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.1) (2022-06-08)
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
 
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AAGzF,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,OAgDF,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, _d;
48
- const authDir = (_a = object.directives) === null || _a === void 0 ? void 0 : _a.find(dir => dir.name.value === 'auth');
49
- if (!authDir)
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 dirRules = ((_d = (_c = (_b = authDir.arguments) === null || _b === void 0 ? void 0 : _b.find(arg => arg.name.value === 'rules')) === null || _c === void 0 ? void 0 : _c.value) === null || _d === void 0 ? void 0 : _d.values) || [];
52
- const hasOwnerFieldAsSortKey = dirRules.some(rule => {
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
- let isOwner = false;
55
- let identityClaimIsSet = false;
56
- let ownerFieldIsSet = false;
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
- return !hasOwnerFieldAsSortKey;
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":"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"}
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-sub-username-identity-claim.2",
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.4-sub-username-identity-claim.2",
31
- "@aws-amplify/graphql-transformer-core": "0.17.4-sub-username-identity-claim.2",
32
- "@aws-amplify/graphql-transformer-interfaces": "1.14.3",
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": "363607577097967e180fafdfb78bffdcbee269ef"
58
+ "gitHead": "bae82b17dd552cf340c397cd009c6c72f6d47fba"
59
59
  }