@aws-amplify/graphql-model-transformer 0.10.2 → 0.10.4-beta.6

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.
@@ -107,7 +107,7 @@ enum ModelSortDirection {
107
107
  }
108
108
 
109
109
  type ModelTestConnection {
110
- items: [Test!]!
110
+ items: [Test]!
111
111
  nextToken: String
112
112
  }
113
113
 
@@ -162,7 +162,7 @@ type Subscription {
162
162
  }
163
163
 
164
164
  type ModelEmailConnection {
165
- items: [Email!]!
165
+ items: [Email]!
166
166
  nextToken: String
167
167
  }
168
168
 
@@ -356,7 +356,7 @@ input EntityMetadataInput {
356
356
  }
357
357
 
358
358
  type ModelPostConnection {
359
- items: [Post!]!
359
+ items: [Post]!
360
360
  nextToken: String
361
361
  }
362
362
 
@@ -463,7 +463,7 @@ type Subscription {
463
463
  }
464
464
 
465
465
  type ModelAuthorConnection {
466
- items: [Author!]!
466
+ items: [Author]!
467
467
  nextToken: String
468
468
  }
469
469
 
@@ -501,7 +501,7 @@ input DeleteAuthorInput {
501
501
  }
502
502
 
503
503
  type ModelRequireConnection {
504
- items: [Require!]!
504
+ items: [Require]!
505
505
  nextToken: String
506
506
  }
507
507
 
@@ -539,7 +539,7 @@ input DeleteRequireInput {
539
539
  }
540
540
 
541
541
  type ModelCommentConnection {
542
- items: [Comment!]!
542
+ items: [Comment]!
543
543
  nextToken: String
544
544
  }
545
545
 
@@ -3174,8 +3174,8 @@ $util.toJson({})
3174
3174
  #if( !$util.isNullOrEmpty($filter) )
3175
3175
  #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) )
3176
3176
  #if( !$util.isNullOrBlank($filterExpression.expression) )
3177
- #if( $filterEpression.expressionValues.size() == 0 )
3178
- $util.qr($filterEpression.remove(\\"expressionValues\\"))
3177
+ #if( $filterExpression.expressionValues.size() == 0 )
3178
+ $util.qr($filterExpression.remove(\\"expressionValues\\"))
3179
3179
  #end
3180
3180
  #set( $ListRequest.filter = $filterExpression )
3181
3181
  #end
@@ -3657,8 +3657,8 @@ $util.toJson({})
3657
3657
  #if( !$util.isNullOrEmpty($filter) )
3658
3658
  #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) )
3659
3659
  #if( !$util.isNullOrBlank($filterExpression.expression) )
3660
- #if( $filterEpression.expressionValues.size() == 0 )
3661
- $util.qr($filterEpression.remove(\\"expressionValues\\"))
3660
+ #if( $filterExpression.expressionValues.size() == 0 )
3661
+ $util.qr($filterExpression.remove(\\"expressionValues\\"))
3662
3662
  #end
3663
3663
  #set( $ListRequest.filter = $filterExpression )
3664
3664
  #end
@@ -3716,8 +3716,8 @@ $util.toJson({})
3716
3716
  #if( !$util.isNullOrEmpty($filter) )
3717
3717
  #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) )
3718
3718
  #if( !$util.isNullOrBlank($filterExpression.expression) )
3719
- #if( $filterEpression.expressionValues.size() == 0 )
3720
- $util.qr($filterEpression.remove(\\"expressionValues\\"))
3719
+ #if( $filterExpression.expressionValues.size() == 0 )
3720
+ $util.qr($filterExpression.remove(\\"expressionValues\\"))
3721
3721
  #end
3722
3722
  #set( $ListRequest.filter = $filterExpression )
3723
3723
  #end
@@ -3775,8 +3775,8 @@ $util.toJson({})
3775
3775
  #if( !$util.isNullOrEmpty($filter) )
3776
3776
  #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) )
3777
3777
  #if( !$util.isNullOrBlank($filterExpression.expression) )
3778
- #if( $filterEpression.expressionValues.size() == 0 )
3779
- $util.qr($filterEpression.remove(\\"expressionValues\\"))
3778
+ #if( $filterExpression.expressionValues.size() == 0 )
3779
+ $util.qr($filterExpression.remove(\\"expressionValues\\"))
3780
3780
  #end
3781
3781
  #set( $ListRequest.filter = $filterExpression )
3782
3782
  #end
@@ -3834,8 +3834,8 @@ $util.toJson({})
3834
3834
  #if( !$util.isNullOrEmpty($filter) )
3835
3835
  #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) )
3836
3836
  #if( !$util.isNullOrBlank($filterExpression.expression) )
3837
- #if( $filterEpression.expressionValues.size() == 0 )
3838
- $util.qr($filterEpression.remove(\\"expressionValues\\"))
3837
+ #if( $filterExpression.expressionValues.size() == 0 )
3838
+ $util.qr($filterExpression.remove(\\"expressionValues\\"))
3839
3839
  #end
3840
3840
  #set( $ListRequest.filter = $filterExpression )
3841
3841
  #end
@@ -3893,8 +3893,8 @@ $util.toJson({})
3893
3893
  #if( !$util.isNullOrEmpty($filter) )
3894
3894
  #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) )
3895
3895
  #if( !$util.isNullOrBlank($filterExpression.expression) )
3896
- #if( $filterEpression.expressionValues.size() == 0 )
3897
- $util.qr($filterEpression.remove(\\"expressionValues\\"))
3896
+ #if( $filterExpression.expressionValues.size() == 0 )
3897
+ $util.qr($filterExpression.remove(\\"expressionValues\\"))
3898
3898
  #end
3899
3899
  #set( $ListRequest.filter = $filterExpression )
3900
3900
  #end
@@ -3952,8 +3952,8 @@ $util.toJson({})
3952
3952
  #if( !$util.isNullOrEmpty($filter) )
3953
3953
  #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) )
3954
3954
  #if( !$util.isNullOrBlank($filterExpression.expression) )
3955
- #if( $filterEpression.expressionValues.size() == 0 )
3956
- $util.qr($filterEpression.remove(\\"expressionValues\\"))
3955
+ #if( $filterExpression.expressionValues.size() == 0 )
3956
+ $util.qr($filterExpression.remove(\\"expressionValues\\"))
3957
3957
  #end
3958
3958
  #set( $ListRequest.filter = $filterExpression )
3959
3959
  #end
@@ -4011,8 +4011,8 @@ $util.toJson({})
4011
4011
  #if( !$util.isNullOrEmpty($filter) )
4012
4012
  #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) )
4013
4013
  #if( !$util.isNullOrBlank($filterExpression.expression) )
4014
- #if( $filterEpression.expressionValues.size() == 0 )
4015
- $util.qr($filterEpression.remove(\\"expressionValues\\"))
4014
+ #if( $filterExpression.expressionValues.size() == 0 )
4015
+ $util.qr($filterExpression.remove(\\"expressionValues\\"))
4016
4016
  #end
4017
4017
  #set( $ListRequest.filter = $filterExpression )
4018
4018
  #end
@@ -4062,8 +4062,8 @@ $util.toJson({})
4062
4062
  #if( !$util.isNullOrEmpty($filter) )
4063
4063
  #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) )
4064
4064
  #if( !$util.isNullOrBlank($filterExpression.expression) )
4065
- #if( $filterEpression.expressionValues.size() == 0 )
4066
- $util.qr($filterEpression.remove(\\"expressionValues\\"))
4065
+ #if( $filterExpression.expressionValues.size() == 0 )
4066
+ $util.qr($filterExpression.remove(\\"expressionValues\\"))
4067
4067
  #end
4068
4068
  #set( $filter = $filterExpression )
4069
4069
  #end
@@ -6997,8 +6997,8 @@ $util.toJson({})
6997
6997
  #if( !$util.isNullOrEmpty($filter) )
6998
6998
  #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) )
6999
6999
  #if( !$util.isNullOrBlank($filterExpression.expression) )
7000
- #if( $filterEpression.expressionValues.size() == 0 )
7001
- $util.qr($filterEpression.remove(\\"expressionValues\\"))
7000
+ #if( $filterExpression.expressionValues.size() == 0 )
7001
+ $util.qr($filterExpression.remove(\\"expressionValues\\"))
7002
7002
  #end
7003
7003
  #set( $ListRequest.filter = $filterExpression )
7004
7004
  #end
@@ -7480,8 +7480,8 @@ $util.toJson({})
7480
7480
  #if( !$util.isNullOrEmpty($filter) )
7481
7481
  #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) )
7482
7482
  #if( !$util.isNullOrBlank($filterExpression.expression) )
7483
- #if( $filterEpression.expressionValues.size() == 0 )
7484
- $util.qr($filterEpression.remove(\\"expressionValues\\"))
7483
+ #if( $filterExpression.expressionValues.size() == 0 )
7484
+ $util.qr($filterExpression.remove(\\"expressionValues\\"))
7485
7485
  #end
7486
7486
  #set( $ListRequest.filter = $filterExpression )
7487
7487
  #end
@@ -7539,8 +7539,8 @@ $util.toJson({})
7539
7539
  #if( !$util.isNullOrEmpty($filter) )
7540
7540
  #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) )
7541
7541
  #if( !$util.isNullOrBlank($filterExpression.expression) )
7542
- #if( $filterEpression.expressionValues.size() == 0 )
7543
- $util.qr($filterEpression.remove(\\"expressionValues\\"))
7542
+ #if( $filterExpression.expressionValues.size() == 0 )
7543
+ $util.qr($filterExpression.remove(\\"expressionValues\\"))
7544
7544
  #end
7545
7545
  #set( $ListRequest.filter = $filterExpression )
7546
7546
  #end
@@ -7598,8 +7598,8 @@ $util.toJson({})
7598
7598
  #if( !$util.isNullOrEmpty($filter) )
7599
7599
  #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) )
7600
7600
  #if( !$util.isNullOrBlank($filterExpression.expression) )
7601
- #if( $filterEpression.expressionValues.size() == 0 )
7602
- $util.qr($filterEpression.remove(\\"expressionValues\\"))
7601
+ #if( $filterExpression.expressionValues.size() == 0 )
7602
+ $util.qr($filterExpression.remove(\\"expressionValues\\"))
7603
7603
  #end
7604
7604
  #set( $ListRequest.filter = $filterExpression )
7605
7605
  #end
@@ -7657,8 +7657,8 @@ $util.toJson({})
7657
7657
  #if( !$util.isNullOrEmpty($filter) )
7658
7658
  #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) )
7659
7659
  #if( !$util.isNullOrBlank($filterExpression.expression) )
7660
- #if( $filterEpression.expressionValues.size() == 0 )
7661
- $util.qr($filterEpression.remove(\\"expressionValues\\"))
7660
+ #if( $filterExpression.expressionValues.size() == 0 )
7661
+ $util.qr($filterExpression.remove(\\"expressionValues\\"))
7662
7662
  #end
7663
7663
  #set( $ListRequest.filter = $filterExpression )
7664
7664
  #end
@@ -7716,8 +7716,8 @@ $util.toJson({})
7716
7716
  #if( !$util.isNullOrEmpty($filter) )
7717
7717
  #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) )
7718
7718
  #if( !$util.isNullOrBlank($filterExpression.expression) )
7719
- #if( $filterEpression.expressionValues.size() == 0 )
7720
- $util.qr($filterEpression.remove(\\"expressionValues\\"))
7719
+ #if( $filterExpression.expressionValues.size() == 0 )
7720
+ $util.qr($filterExpression.remove(\\"expressionValues\\"))
7721
7721
  #end
7722
7722
  #set( $ListRequest.filter = $filterExpression )
7723
7723
  #end
@@ -7775,8 +7775,8 @@ $util.toJson({})
7775
7775
  #if( !$util.isNullOrEmpty($filter) )
7776
7776
  #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) )
7777
7777
  #if( !$util.isNullOrBlank($filterExpression.expression) )
7778
- #if( $filterEpression.expressionValues.size() == 0 )
7779
- $util.qr($filterEpression.remove(\\"expressionValues\\"))
7778
+ #if( $filterExpression.expressionValues.size() == 0 )
7779
+ $util.qr($filterExpression.remove(\\"expressionValues\\"))
7780
7780
  #end
7781
7781
  #set( $ListRequest.filter = $filterExpression )
7782
7782
  #end
@@ -7834,8 +7834,8 @@ $util.toJson({})
7834
7834
  #if( !$util.isNullOrEmpty($filter) )
7835
7835
  #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) )
7836
7836
  #if( !$util.isNullOrBlank($filterExpression.expression) )
7837
- #if( $filterEpression.expressionValues.size() == 0 )
7838
- $util.qr($filterEpression.remove(\\"expressionValues\\"))
7837
+ #if( $filterExpression.expressionValues.size() == 0 )
7838
+ $util.qr($filterExpression.remove(\\"expressionValues\\"))
7839
7839
  #end
7840
7840
  #set( $ListRequest.filter = $filterExpression )
7841
7841
  #end
@@ -7885,8 +7885,8 @@ $util.toJson({})
7885
7885
  #if( !$util.isNullOrEmpty($filter) )
7886
7886
  #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) )
7887
7887
  #if( !$util.isNullOrBlank($filterExpression.expression) )
7888
- #if( $filterEpression.expressionValues.size() == 0 )
7889
- $util.qr($filterEpression.remove(\\"expressionValues\\"))
7888
+ #if( $filterExpression.expressionValues.size() == 0 )
7889
+ $util.qr($filterExpression.remove(\\"expressionValues\\"))
7890
7890
  #end
7891
7891
  #set( $filter = $filterExpression )
7892
7892
  #end
@@ -10820,8 +10820,8 @@ $util.toJson({})
10820
10820
  #if( !$util.isNullOrEmpty($filter) )
10821
10821
  #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) )
10822
10822
  #if( !$util.isNullOrBlank($filterExpression.expression) )
10823
- #if( $filterEpression.expressionValues.size() == 0 )
10824
- $util.qr($filterEpression.remove(\\"expressionValues\\"))
10823
+ #if( $filterExpression.expressionValues.size() == 0 )
10824
+ $util.qr($filterExpression.remove(\\"expressionValues\\"))
10825
10825
  #end
10826
10826
  #set( $ListRequest.filter = $filterExpression )
10827
10827
  #end
@@ -11303,8 +11303,8 @@ $util.toJson({})
11303
11303
  #if( !$util.isNullOrEmpty($filter) )
11304
11304
  #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) )
11305
11305
  #if( !$util.isNullOrBlank($filterExpression.expression) )
11306
- #if( $filterEpression.expressionValues.size() == 0 )
11307
- $util.qr($filterEpression.remove(\\"expressionValues\\"))
11306
+ #if( $filterExpression.expressionValues.size() == 0 )
11307
+ $util.qr($filterExpression.remove(\\"expressionValues\\"))
11308
11308
  #end
11309
11309
  #set( $ListRequest.filter = $filterExpression )
11310
11310
  #end
@@ -11362,8 +11362,8 @@ $util.toJson({})
11362
11362
  #if( !$util.isNullOrEmpty($filter) )
11363
11363
  #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) )
11364
11364
  #if( !$util.isNullOrBlank($filterExpression.expression) )
11365
- #if( $filterEpression.expressionValues.size() == 0 )
11366
- $util.qr($filterEpression.remove(\\"expressionValues\\"))
11365
+ #if( $filterExpression.expressionValues.size() == 0 )
11366
+ $util.qr($filterExpression.remove(\\"expressionValues\\"))
11367
11367
  #end
11368
11368
  #set( $ListRequest.filter = $filterExpression )
11369
11369
  #end
@@ -11421,8 +11421,8 @@ $util.toJson({})
11421
11421
  #if( !$util.isNullOrEmpty($filter) )
11422
11422
  #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) )
11423
11423
  #if( !$util.isNullOrBlank($filterExpression.expression) )
11424
- #if( $filterEpression.expressionValues.size() == 0 )
11425
- $util.qr($filterEpression.remove(\\"expressionValues\\"))
11424
+ #if( $filterExpression.expressionValues.size() == 0 )
11425
+ $util.qr($filterExpression.remove(\\"expressionValues\\"))
11426
11426
  #end
11427
11427
  #set( $ListRequest.filter = $filterExpression )
11428
11428
  #end
@@ -11480,8 +11480,8 @@ $util.toJson({})
11480
11480
  #if( !$util.isNullOrEmpty($filter) )
11481
11481
  #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) )
11482
11482
  #if( !$util.isNullOrBlank($filterExpression.expression) )
11483
- #if( $filterEpression.expressionValues.size() == 0 )
11484
- $util.qr($filterEpression.remove(\\"expressionValues\\"))
11483
+ #if( $filterExpression.expressionValues.size() == 0 )
11484
+ $util.qr($filterExpression.remove(\\"expressionValues\\"))
11485
11485
  #end
11486
11486
  #set( $ListRequest.filter = $filterExpression )
11487
11487
  #end
@@ -11539,8 +11539,8 @@ $util.toJson({})
11539
11539
  #if( !$util.isNullOrEmpty($filter) )
11540
11540
  #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) )
11541
11541
  #if( !$util.isNullOrBlank($filterExpression.expression) )
11542
- #if( $filterEpression.expressionValues.size() == 0 )
11543
- $util.qr($filterEpression.remove(\\"expressionValues\\"))
11542
+ #if( $filterExpression.expressionValues.size() == 0 )
11543
+ $util.qr($filterExpression.remove(\\"expressionValues\\"))
11544
11544
  #end
11545
11545
  #set( $ListRequest.filter = $filterExpression )
11546
11546
  #end
@@ -11598,8 +11598,8 @@ $util.toJson({})
11598
11598
  #if( !$util.isNullOrEmpty($filter) )
11599
11599
  #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) )
11600
11600
  #if( !$util.isNullOrBlank($filterExpression.expression) )
11601
- #if( $filterEpression.expressionValues.size() == 0 )
11602
- $util.qr($filterEpression.remove(\\"expressionValues\\"))
11601
+ #if( $filterExpression.expressionValues.size() == 0 )
11602
+ $util.qr($filterExpression.remove(\\"expressionValues\\"))
11603
11603
  #end
11604
11604
  #set( $ListRequest.filter = $filterExpression )
11605
11605
  #end
@@ -11657,8 +11657,8 @@ $util.toJson({})
11657
11657
  #if( !$util.isNullOrEmpty($filter) )
11658
11658
  #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) )
11659
11659
  #if( !$util.isNullOrBlank($filterExpression.expression) )
11660
- #if( $filterEpression.expressionValues.size() == 0 )
11661
- $util.qr($filterEpression.remove(\\"expressionValues\\"))
11660
+ #if( $filterExpression.expressionValues.size() == 0 )
11661
+ $util.qr($filterExpression.remove(\\"expressionValues\\"))
11662
11662
  #end
11663
11663
  #set( $ListRequest.filter = $filterExpression )
11664
11664
  #end
@@ -11708,8 +11708,8 @@ $util.toJson({})
11708
11708
  #if( !$util.isNullOrEmpty($filter) )
11709
11709
  #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) )
11710
11710
  #if( !$util.isNullOrBlank($filterExpression.expression) )
11711
- #if( $filterEpression.expressionValues.size() == 0 )
11712
- $util.qr($filterEpression.remove(\\"expressionValues\\"))
11711
+ #if( $filterExpression.expressionValues.size() == 0 )
11712
+ $util.qr($filterExpression.remove(\\"expressionValues\\"))
11713
11713
  #end
11714
11714
  #set( $filter = $filterExpression )
11715
11715
  #end
@@ -12153,7 +12153,7 @@ enum ModelSortDirection {
12153
12153
  }
12154
12154
 
12155
12155
  type ModelPostConnection {
12156
- items: [Post!]!
12156
+ items: [Post]!
12157
12157
  nextToken: String
12158
12158
  }
12159
12159
 
@@ -12690,7 +12690,7 @@ enum ModelSortDirection {
12690
12690
  }
12691
12691
 
12692
12692
  type ModelPostConnection {
12693
- items: [Post!]!
12693
+ items: [Post]!
12694
12694
  nextToken: String
12695
12695
  }
12696
12696
 
@@ -13050,7 +13050,7 @@ enum ModelSortDirection {
13050
13050
  }
13051
13051
 
13052
13052
  type ModelPostConnection {
13053
- items: [Post!]!
13053
+ items: [Post]!
13054
13054
  nextToken: String
13055
13055
  }
13056
13056
 
@@ -13404,7 +13404,7 @@ enum ModelSortDirection {
13404
13404
  }
13405
13405
 
13406
13406
  type ModelPostConnection {
13407
- items: [Post!]!
13407
+ items: [Post]!
13408
13408
  nextToken: String
13409
13409
  }
13410
13410
 
@@ -13674,8 +13674,8 @@ exports[`ModelTransformer: the datastore table should be configured 1`] = `
13674
13674
  #if( !$util.isNullOrEmpty($filter) )
13675
13675
  #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) )
13676
13676
  #if( !$util.isNullOrBlank($filterExpression.expression) )
13677
- #if( $filterEpression.expressionValues.size() == 0 )
13678
- $util.qr($filterEpression.remove(\\"expressionValues\\"))
13677
+ #if( $filterExpression.expressionValues.size() == 0 )
13678
+ $util.qr($filterExpression.remove(\\"expressionValues\\"))
13679
13679
  #end
13680
13680
  #set( $filter = $filterExpression )
13681
13681
  #end
@@ -1261,4 +1261,83 @@ describe('ModelTransformer: ', () => {
1261
1261
  expect(field.directives!.some(dir => dir.name.value === 'aws_api_key')).toEqual(true);
1262
1262
  }
1263
1263
  });
1264
+
1265
+ it('allow aws_lambda to pass through', () => {
1266
+ const validSchema = `
1267
+ type Todo @aws_lambda {
1268
+ id: ID!
1269
+ name: String!
1270
+ description: String
1271
+ }
1272
+
1273
+ schema {
1274
+ query: Query
1275
+ }
1276
+
1277
+ type Query {
1278
+ todo: Todo @aws_lambda
1279
+ }`;
1280
+ const transformer = new GraphQLTransform({
1281
+ transformers: [new ModelTransformer()],
1282
+ });
1283
+ const out = transformer.transform(validSchema);
1284
+ expect(out).toBeDefined();
1285
+
1286
+ const schema = parse(out.schema);
1287
+ validateModelSchema(schema);
1288
+ });
1289
+
1290
+ it('handles custom subscriptions passed as strings', () => {
1291
+ const validSchema = `type Post @model(subscriptions: {
1292
+ onCreate: "onFeedCreated",
1293
+ onUpdate: "onFeedUpdated",
1294
+ onDelete: "onFeedDeleted"
1295
+ }) {
1296
+ id: ID!
1297
+ }
1298
+ `;
1299
+ const transformer = new GraphQLTransform({
1300
+ transformers: [new ModelTransformer()],
1301
+ featureFlags,
1302
+ });
1303
+ const out = transformer.transform(validSchema);
1304
+ expect(out).toBeDefined();
1305
+ const definition = out.schema;
1306
+ expect(definition).toBeDefined();
1307
+ const parsed = parse(definition);
1308
+ validateModelSchema(parsed);
1309
+
1310
+ const subscriptionType = getObjectType(parsed, 'Subscription');
1311
+ expect(subscriptionType).toBeDefined();
1312
+ expect(subscriptionType!.fields!.length).toEqual(3);
1313
+ expectFields(subscriptionType!, ['onFeedCreated', 'onFeedUpdated', 'onFeedDeleted']);
1314
+ });
1315
+
1316
+ it('should generate id for the update input object', async () => {
1317
+ const validSchema = `
1318
+ type Todo @model {
1319
+ uid: String!
1320
+ username: String
1321
+ }
1322
+ `;
1323
+
1324
+ const transformer = new GraphQLTransform({
1325
+ transformers: [new ModelTransformer()],
1326
+ featureFlags,
1327
+ });
1328
+ const out = transformer.transform(validSchema);
1329
+ expect(out).toBeDefined();
1330
+ const definition = out.schema;
1331
+ expect(definition).toBeDefined();
1332
+
1333
+ const parsed = parse(definition);
1334
+ validateModelSchema(parsed);
1335
+
1336
+ const updateTodoInput = getInputType(parsed, 'UpdateTodoInput');
1337
+ expect(updateTodoInput).toBeDefined();
1338
+
1339
+ expectFieldsOnInputType(updateTodoInput!, ['id']);
1340
+ const updateTodoIdField = getFieldOnInputType(updateTodoInput!, 'id');
1341
+ expect(updateTodoIdField.type.kind).toBe('NonNullType');
1342
+ });
1264
1343
  });
@@ -247,6 +247,19 @@ export class ModelTransformer extends TransformerModelBase implements Transforme
247
247
  updatedAt: 'updatedAt',
248
248
  },
249
249
  });
250
+
251
+ if (options.subscriptions?.onCreate && !Array.isArray(options.subscriptions.onCreate)) {
252
+ options.subscriptions.onCreate = [options.subscriptions.onCreate];
253
+ }
254
+
255
+ if (options.subscriptions?.onDelete && !Array.isArray(options.subscriptions.onDelete)) {
256
+ options.subscriptions.onDelete = [options.subscriptions.onDelete];
257
+ }
258
+
259
+ if (options.subscriptions?.onUpdate && !Array.isArray(options.subscriptions.onUpdate)) {
260
+ options.subscriptions.onUpdate = [options.subscriptions.onUpdate];
261
+ }
262
+
250
263
  this.modelDirectiveConfig.set(typeName, options);
251
264
  this.typesWithModelDirective.add(typeName);
252
265
  };
@@ -44,8 +44,10 @@ export const makeUpdateInputField = (
44
44
  // make all the fields optional
45
45
  input.fields.forEach(f => f.makeNullable());
46
46
 
47
- // Add id field and make it optional
48
- if (hasIdField) {
47
+ if (!hasIdField) {
48
+ // Add id field and make it optional
49
+ input.addField(InputFieldWrapper.create('id', 'ID', false));
50
+ } else {
49
51
  const idField = input.fields.find(f => f.name === 'id');
50
52
  if (idField) {
51
53
  idField.makeNonNullable();
@@ -13,7 +13,7 @@ export const makeListQueryFilterInput = (
13
13
  export const makeListQueryModel = (type: ObjectTypeDefinitionNode, modelName: string, isSyncEnabled: boolean): ObjectTypeDefinitionNode => {
14
14
  const outputType = ObjectDefinitionWrapper.create(modelName);
15
15
 
16
- outputType.addField(FieldWrapper.create('items', type.name.value, false, true));
16
+ outputType.addField(FieldWrapper.create('items', type.name.value, true, true));
17
17
  outputType.addField(FieldWrapper.create('nextToken', 'String', true, false));
18
18
 
19
19
  if (isSyncEnabled) {
@@ -129,8 +129,8 @@ export const generateListRequestTemplate = (): string => {
129
129
  not(methodCall(ref('util.isNullOrBlank'), ref('filterExpression.expression'))),
130
130
  compoundExpression([
131
131
  iff(
132
- equals(methodCall(ref('filterEpression.expressionValues.size')), int(0)),
133
- qref(methodCall(ref('filterEpression.remove'), str('expressionValues'))),
132
+ equals(methodCall(ref('filterExpression.expressionValues.size')), int(0)),
133
+ qref(methodCall(ref('filterExpression.remove'), str('expressionValues'))),
134
134
  ),
135
135
  set(ref(`${requestVariable}.filter`), ref(`filterExpression`)),
136
136
  ]),
@@ -181,8 +181,8 @@ export const generateSyncRequestTemplate = (): string => {
181
181
  not(methodCall(ref('util.isNullOrBlank'), ref('filterExpression.expression'))),
182
182
  compoundExpression([
183
183
  iff(
184
- equals(methodCall(ref('filterEpression.expressionValues.size')), int(0)),
185
- qref(methodCall(ref('filterEpression.remove'), str('expressionValues'))),
184
+ equals(methodCall(ref('filterExpression.expressionValues.size')), int(0)),
185
+ qref(methodCall(ref('filterExpression.remove'), str('expressionValues'))),
186
186
  ),
187
187
  set(ref('filter'), ref('filterExpression')),
188
188
  ]),