@aws-amplify/graphql-model-transformer 0.15.7-alpha.7 → 0.15.8-alpha.1

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,6 +3,14 @@
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.15.7](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-model-transformer@0.15.6...@aws-amplify/graphql-model-transformer@0.15.7) (2022-09-14)
7
+
8
+ **Note:** Version bump only for package @aws-amplify/graphql-model-transformer
9
+
10
+
11
+
12
+
13
+
6
14
  ## [0.15.6](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-model-transformer@0.15.5...@aws-amplify/graphql-model-transformer@0.15.6) (2022-08-23)
7
15
 
8
16
 
@@ -1,5 +1,5 @@
1
1
  import { SyncConfig, TransformerModelBase } from '@aws-amplify/graphql-transformer-core';
2
- import { AppSyncDataSourceType, DataSourceInstance, MutationFieldType, QueryFieldType, SubscriptionFieldType, TransformerContextProvider, TransformerModelProvider, TransformerPrepareStepContextProvider, TransformerResolverProvider, TransformerSchemaVisitStepContextProvider, TransformerTransformSchemaStepContextProvider, TransformerValidationStepContextProvider, TransformerBeforeStepContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
2
+ import { AppSyncDataSourceType, DataSourceInstance, MutationFieldType, QueryFieldType, SubscriptionFieldType, TransformerBeforeStepContextProvider, TransformerContextProvider, TransformerModelProvider, TransformerPrepareStepContextProvider, TransformerResolverProvider, TransformerSchemaVisitStepContextProvider, TransformerTransformSchemaStepContextProvider, TransformerValidationStepContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
3
3
  import * as iam from '@aws-cdk/aws-iam';
4
4
  import * as cdk from '@aws-cdk/core';
5
5
  import { DirectiveNode, InputValueDefinitionNode, ObjectTypeDefinitionNode } from 'graphql';
@@ -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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"}
@@ -105,7 +105,7 @@ class ModelTransformer extends graphql_transformer_core_1.TransformerModelBase {
105
105
  });
106
106
  };
107
107
  this.object = (definition, directive, ctx) => {
108
- var _a, _b, _c;
108
+ var _a, _b, _c, _d, _e, _f, _g;
109
109
  const isTypeNameReserved = definition.name.value === ctx.output.getQueryTypeName()
110
110
  || definition.name.value === ctx.output.getMutationTypeName()
111
111
  || definition.name.value === ctx.output.getSubscriptionTypeName();
@@ -138,14 +138,31 @@ class ModelTransformer extends graphql_transformer_core_1.TransformerModelBase {
138
138
  createdAt: 'createdAt',
139
139
  updatedAt: 'updatedAt',
140
140
  },
141
- });
142
- if (((_a = options.subscriptions) === null || _a === void 0 ? void 0 : _a.onCreate) && !Array.isArray(options.subscriptions.onCreate)) {
141
+ }, (0, graphql_transformer_core_1.generateGetArgumentsInput)(ctx.featureFlags));
142
+ if (!ctx.featureFlags.getBoolean('shouldDeepMergeDirectiveConfigDefaults', false)) {
143
+ const publicSubscriptionDefaults = {
144
+ onCreate: [(0, graphql_transformer_core_1.getFieldNameFor)('onCreate', typeName)],
145
+ onDelete: [(0, graphql_transformer_core_1.getFieldNameFor)('onDelete', typeName)],
146
+ onUpdate: [(0, graphql_transformer_core_1.getFieldNameFor)('onUpdate', typeName)],
147
+ };
148
+ const baseArgs = directiveWrapped.getArguments({
149
+ subscriptions: {
150
+ level: directive_1.SubscriptionLevel.on,
151
+ ...publicSubscriptionDefaults,
152
+ },
153
+ }, (0, graphql_transformer_core_1.generateGetArgumentsInput)(ctx.featureFlags));
154
+ if (((_a = baseArgs === null || baseArgs === void 0 ? void 0 : baseArgs.subscriptions) === null || _a === void 0 ? void 0 : _a.level) === directive_1.SubscriptionLevel.public
155
+ && !(((_b = baseArgs === null || baseArgs === void 0 ? void 0 : baseArgs.subscriptions) === null || _b === void 0 ? void 0 : _b.onCreate) || ((_c = baseArgs === null || baseArgs === void 0 ? void 0 : baseArgs.subscriptions) === null || _c === void 0 ? void 0 : _c.onDelete) || ((_d = baseArgs === null || baseArgs === void 0 ? void 0 : baseArgs.subscriptions) === null || _d === void 0 ? void 0 : _d.onUpdate))) {
156
+ options.subscriptions = { level: directive_1.SubscriptionLevel.public, ...publicSubscriptionDefaults };
157
+ }
158
+ }
159
+ if (((_e = options.subscriptions) === null || _e === void 0 ? void 0 : _e.onCreate) && !Array.isArray(options.subscriptions.onCreate)) {
143
160
  options.subscriptions.onCreate = [options.subscriptions.onCreate];
144
161
  }
145
- if (((_b = options.subscriptions) === null || _b === void 0 ? void 0 : _b.onDelete) && !Array.isArray(options.subscriptions.onDelete)) {
162
+ if (((_f = options.subscriptions) === null || _f === void 0 ? void 0 : _f.onDelete) && !Array.isArray(options.subscriptions.onDelete)) {
146
163
  options.subscriptions.onDelete = [options.subscriptions.onDelete];
147
164
  }
148
- if (((_c = options.subscriptions) === null || _c === void 0 ? void 0 : _c.onUpdate) && !Array.isArray(options.subscriptions.onUpdate)) {
165
+ if (((_g = options.subscriptions) === null || _g === void 0 ? void 0 : _g.onUpdate) && !Array.isArray(options.subscriptions.onUpdate)) {
149
166
  options.subscriptions.onUpdate = [options.subscriptions.onUpdate];
150
167
  }
151
168
  this.modelDirectiveConfig.set(typeName, options);
@@ -242,7 +259,7 @@ class ModelTransformer extends graphql_transformer_core_1.TransformerModelBase {
242
259
  context.resolvers.addResolver(mutation.typeName, mutation.fieldName, resolver);
243
260
  });
244
261
  const subscriptionLevel = (_b = (_a = this.modelDirectiveConfig.get(def.name.value)) === null || _a === void 0 ? void 0 : _a.subscriptions) === null || _b === void 0 ? void 0 : _b.level;
245
- if (subscriptionLevel === directive_1.SubscriptionLevel.on) {
262
+ if (subscriptionLevel !== directive_1.SubscriptionLevel.off) {
246
263
  const subscriptionFields = this.getSubscriptionFieldNames(def);
247
264
  subscriptionFields.forEach(subscription => {
248
265
  let resolver;
@@ -259,7 +276,9 @@ class ModelTransformer extends graphql_transformer_core_1.TransformerModelBase {
259
276
  default:
260
277
  throw new Error('Unknown subscription field type');
261
278
  }
262
- resolver.addToSlot('postAuth', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString((0, resolvers_1.generateAuthExpressionForSandboxMode)(context.sandboxModeEnabled), `${subscription.typeName}.${subscription.fieldName}.{slotName}.{slotIndex}.req.vtl`));
279
+ if (subscriptionLevel === directive_1.SubscriptionLevel.on) {
280
+ resolver.addToSlot('postAuth', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString((0, resolvers_1.generateAuthExpressionForSandboxMode)(context.sandboxModeEnabled), `${subscription.typeName}.${subscription.fieldName}.{slotName}.{slotIndex}.req.vtl`));
281
+ }
263
282
  resolver.mapToStack(context.stackManager.getStackFor(subscription.resolverLogicalId, def.name.value));
264
283
  context.resolvers.addResolver(subscription.typeName, subscription.fieldName, resolver);
265
284
  });
@@ -1 +1 @@
1
- {"version":3,"file":"graphql-model-transformer.js","sourceRoot":"","sources":["../src/graphql-model-transformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphql-model-transformer.js","sourceRoot":"","sources":["../src/graphql-model-transformer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-amplify/graphql-model-transformer",
3
- "version": "0.15.7-alpha.7+c79232ff8",
3
+ "version": "0.15.8-alpha.1+e7b4b026f",
4
4
  "description": "Amplify graphql @model transformer",
5
5
  "repository": {
6
6
  "type": "git",
@@ -28,8 +28,8 @@
28
28
  "test-watch": "jest --watch"
29
29
  },
30
30
  "dependencies": {
31
- "@aws-amplify/graphql-transformer-core": "0.17.12-alpha.7+c79232ff8",
32
- "@aws-amplify/graphql-transformer-interfaces": "1.14.8-alpha.25+c79232ff8",
31
+ "@aws-amplify/graphql-transformer-core": "0.17.13-alpha.1+e7b4b026f",
32
+ "@aws-amplify/graphql-transformer-interfaces": "1.14.8-alpha.50+e7b4b026f",
33
33
  "@aws-cdk/aws-applicationautoscaling": "~1.124.0",
34
34
  "@aws-cdk/aws-appsync": "~1.124.0",
35
35
  "@aws-cdk/aws-cloudwatch": "~1.124.0",
@@ -46,8 +46,8 @@
46
46
  "@aws-cdk/region-info": "~1.124.0",
47
47
  "constructs": "^3.3.125",
48
48
  "graphql": "^14.5.8",
49
- "graphql-mapping-template": "4.20.6-alpha.124+c79232ff8",
50
- "graphql-transformer-common": "4.24.1-alpha.89+c79232ff8"
49
+ "graphql-mapping-template": "4.20.6-alpha.149+e7b4b026f",
50
+ "graphql-transformer-common": "4.24.1-alpha.114+e7b4b026f"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@aws-cdk/assert": "~1.124.0",
@@ -71,5 +71,5 @@
71
71
  "overrides"
72
72
  ]
73
73
  },
74
- "gitHead": "c79232ff8a2f7809447f51233a2dbe0046c25e47"
74
+ "gitHead": "e7b4b026fcaa738d4c369597999792a4bff5f72c"
75
75
  }
@@ -613,11 +613,34 @@ describe('ModelTransformer: ', () => {
613
613
  expect(verifyInputCount(parsed, 'ModelPostFilterInput', 1)).toBeTruthy();
614
614
  });
615
615
 
616
+ it('Should support public level subscriptions without defining custom names', () => {
617
+ const validSchema = `
618
+ type Post @model(subscriptions: { level: public }) {
619
+ id: ID!
620
+ title: String!
621
+ }
622
+ `;
623
+ const transformer = new GraphQLTransform({
624
+ transformers: [new ModelTransformer()],
625
+ featureFlags,
626
+ });
627
+ const out = transformer.transform(validSchema);
628
+ expect(out).toBeDefined();
629
+ const definition = out.schema;
630
+ expect(definition).toBeDefined();
631
+ const parsed = parse(definition);
632
+ validateModelSchema(parsed);
633
+
634
+ const subscriptionType = getObjectType(parsed, 'Subscription');
635
+ expect(subscriptionType).toBeDefined();
636
+ expectFields(subscriptionType!, ['onUpdatePost', 'onCreatePost', 'onDeletePost']);
637
+ });
638
+
616
639
  it('should support advanced subscriptions', () => {
617
640
  const validSchema = `type Post @model(subscriptions: {
618
- onCreate: ["onFeedUpdated", "onCreatePost"],
619
- onUpdate: ["onFeedUpdated"],
620
- onDelete: ["onFeedUpdated"]
641
+ onCreate: ["onCreatePoster", "onCreatePost"],
642
+ onUpdate: ["onUpdatePoster"],
643
+ onDelete: ["onDeletePoster"]
621
644
  }) {
622
645
  id: ID!
623
646
  title: String!
@@ -638,16 +661,7 @@ describe('ModelTransformer: ', () => {
638
661
 
639
662
  const subscriptionType = getObjectType(parsed, 'Subscription');
640
663
  expect(subscriptionType).toBeDefined();
641
- expectFields(subscriptionType!, ['onFeedUpdated', 'onCreatePost']);
642
- const subField = subscriptionType!.fields!.find(f => f.name.value === 'onFeedUpdated');
643
- expect(subField!.directives!.length).toEqual(1);
644
- expect(subField!.directives![0].name!.value).toEqual('aws_subscribe');
645
- const mutationsList = subField!.directives![0].arguments!.find(a => a.name.value === 'mutations')!.value as ListValueNode;
646
- const mutList = mutationsList.values.map((v: any) => v.value);
647
- expect(mutList.length).toEqual(3);
648
- expect(mutList).toContain('createPost');
649
- expect(mutList).toContain('updatePost');
650
- expect(mutList).toContain('deletePost');
664
+ expectFields(subscriptionType!, ['onUpdatePoster', 'onCreatePoster', 'onDeletePoster', 'onCreatePost']);
651
665
  });
652
666
 
653
667
  it('should not generate superfluous input and filter types', () => {
@@ -1283,7 +1297,7 @@ describe('ModelTransformer: ', () => {
1283
1297
  expect(Object.keys(result.stacks.Blog.Resources!).includes('CreateBlogResolver')).toBe(false);
1284
1298
  expect(Object.keys(result.stacks.Blog.Resources!).includes('UpdateBlogResolver')).toBe(false);
1285
1299
  });
1286
-
1300
+
1287
1301
  it('allow aws_lambda to pass through', () => {
1288
1302
  const validSchema = `
1289
1303
  type Todo @aws_lambda {
@@ -1,15 +1,16 @@
1
1
  import {
2
2
  DirectiveWrapper,
3
+ FieldWrapper,
4
+ generateGetArgumentsInput,
5
+ getFieldNameFor,
6
+ InputObjectDefinitionWrapper,
3
7
  InvalidDirectiveError,
4
8
  MappingTemplate,
9
+ ObjectDefinitionWrapper,
5
10
  SyncConfig,
6
11
  SyncUtils,
7
12
  TransformerModelBase,
8
13
  TransformerNestedStack,
9
- FieldWrapper,
10
- InputObjectDefinitionWrapper,
11
- ObjectDefinitionWrapper,
12
- getFieldNameFor,
13
14
  } from '@aws-amplify/graphql-transformer-core';
14
15
  import {
15
16
  AppSyncDataSourceType,
@@ -18,6 +19,7 @@ import {
18
19
  MutationFieldType,
19
20
  QueryFieldType,
20
21
  SubscriptionFieldType,
22
+ TransformerBeforeStepContextProvider,
21
23
  TransformerContextProvider,
22
24
  TransformerModelProvider,
23
25
  TransformerPrepareStepContextProvider,
@@ -25,12 +27,17 @@ import {
25
27
  TransformerSchemaVisitStepContextProvider,
26
28
  TransformerTransformSchemaStepContextProvider,
27
29
  TransformerValidationStepContextProvider,
28
- TransformerBeforeStepContextProvider,
29
30
  } from '@aws-amplify/graphql-transformer-interfaces';
30
31
  import {
31
- AttributeType, CfnTable, ITable, StreamViewType, Table, TableEncryption,
32
+ AttributeType,
33
+ CfnTable,
34
+ ITable,
35
+ StreamViewType,
36
+ Table,
37
+ TableEncryption,
32
38
  } from '@aws-cdk/aws-dynamodb';
33
39
  import * as iam from '@aws-cdk/aws-iam';
40
+ import { CfnRole } from '@aws-cdk/aws-iam';
34
41
  import * as cdk from '@aws-cdk/core';
35
42
  import { CfnDataSource } from '@aws-cdk/aws-appsync';
36
43
  import {
@@ -57,7 +64,6 @@ import {
57
64
  toCamelCase,
58
65
  toPascalCase,
59
66
  } from 'graphql-transformer-common';
60
- import { CfnRole } from '@aws-cdk/aws-iam';
61
67
  import {
62
68
  addDirectivesToOperation,
63
69
  addModelConditionInputs,
@@ -92,7 +98,7 @@ import {
92
98
  generateSyncRequestTemplate,
93
99
  } from './resolvers/query';
94
100
  import { API_KEY_DIRECTIVE } from './definitions';
95
- import { SubscriptionLevel, ModelDirectiveConfiguration } from './directive';
101
+ import { ModelDirectiveConfiguration, SubscriptionLevel } from './directive';
96
102
 
97
103
  /**
98
104
  * Nullable
@@ -225,7 +231,31 @@ export class ModelTransformer extends TransformerModelBase implements Transforme
225
231
  createdAt: 'createdAt',
226
232
  updatedAt: 'updatedAt',
227
233
  },
228
- });
234
+ }, generateGetArgumentsInput(ctx.featureFlags));
235
+
236
+ // This property override is specifically to address parity between V1 and V2 when the FF is disabled
237
+ // If one subscription is defined, just let the others go to null without FF. But if public and none defined, default all subs
238
+ if (!ctx.featureFlags.getBoolean('shouldDeepMergeDirectiveConfigDefaults', false)) {
239
+ const publicSubscriptionDefaults = {
240
+ onCreate: [getFieldNameFor('onCreate', typeName)],
241
+ onDelete: [getFieldNameFor('onDelete', typeName)],
242
+ onUpdate: [getFieldNameFor('onUpdate', typeName)],
243
+ };
244
+
245
+ const baseArgs = directiveWrapped.getArguments(
246
+ {
247
+ subscriptions: {
248
+ level: SubscriptionLevel.on,
249
+ ...publicSubscriptionDefaults,
250
+ },
251
+ },
252
+ generateGetArgumentsInput(ctx.featureFlags),
253
+ );
254
+ if (baseArgs?.subscriptions?.level === SubscriptionLevel.public
255
+ && !(baseArgs?.subscriptions?.onCreate || baseArgs?.subscriptions?.onDelete || baseArgs?.subscriptions?.onUpdate)) {
256
+ options.subscriptions = { level: SubscriptionLevel.public, ...publicSubscriptionDefaults };
257
+ }
258
+ }
229
259
 
230
260
  if (options.subscriptions?.onCreate && !Array.isArray(options.subscriptions.onCreate)) {
231
261
  options.subscriptions.onCreate = [options.subscriptions.onCreate];
@@ -366,7 +396,7 @@ export class ModelTransformer extends TransformerModelBase implements Transforme
366
396
 
367
397
  const subscriptionLevel = this.modelDirectiveConfig.get(def.name.value)?.subscriptions?.level;
368
398
  // in order to create subscription resolvers the level needs to be on
369
- if (subscriptionLevel === SubscriptionLevel.on) {
399
+ if (subscriptionLevel !== SubscriptionLevel.off) {
370
400
  const subscriptionFields = this.getSubscriptionFieldNames(def!);
371
401
  subscriptionFields.forEach(subscription => {
372
402
  let resolver;
@@ -398,13 +428,15 @@ export class ModelTransformer extends TransformerModelBase implements Transforme
398
428
  default:
399
429
  throw new Error('Unknown subscription field type');
400
430
  }
401
- resolver.addToSlot(
402
- 'postAuth',
403
- MappingTemplate.s3MappingTemplateFromString(
404
- generateAuthExpressionForSandboxMode(context.sandboxModeEnabled),
405
- `${subscription.typeName}.${subscription.fieldName}.{slotName}.{slotIndex}.req.vtl`,
406
- ),
407
- );
431
+ if (subscriptionLevel === SubscriptionLevel.on) {
432
+ resolver.addToSlot(
433
+ 'postAuth',
434
+ MappingTemplate.s3MappingTemplateFromString(
435
+ generateAuthExpressionForSandboxMode(context.sandboxModeEnabled),
436
+ `${subscription.typeName}.${subscription.fieldName}.{slotName}.{slotIndex}.req.vtl`,
437
+ ),
438
+ );
439
+ }
408
440
  resolver.mapToStack(context.stackManager.getStackFor(subscription.resolverLogicalId, def!.name.value));
409
441
  context.resolvers.addResolver(subscription.typeName, subscription.fieldName, resolver);
410
442
  });