@aws-amplify/graphql-api-construct 1.1.1 → 1.1.2-rds-3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (321) hide show
  1. package/.jsii +19 -18
  2. package/CHANGELOG.md +4 -0
  3. package/lib/amplify-graphql-api.js +1 -1
  4. package/lib/amplify-graphql-definition.js +1 -1
  5. package/node_modules/@aws-amplify/graphql-auth-transformer/API.md +5 -1
  6. package/node_modules/@aws-amplify/graphql-auth-transformer/CHANGELOG.md +7 -0
  7. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.d.ts +3 -1
  8. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.d.ts.map +1 -1
  9. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.js +34 -44
  10. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.js.map +1 -1
  11. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/schema.d.ts.map +1 -1
  12. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/schema.js.map +1 -1
  13. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.d.ts +20 -0
  14. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.d.ts.map +1 -0
  15. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.js +24 -0
  16. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.js.map +1 -0
  17. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/field.d.ts +1 -1
  18. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/field.d.ts.map +1 -0
  19. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/field.js +1 -1
  20. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/field.js.map +1 -0
  21. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/helpers.d.ts +1 -1
  22. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/helpers.d.ts.map +1 -0
  23. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/helpers.js +1 -1
  24. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/helpers.js.map +1 -0
  25. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/index.d.ts.map +1 -0
  26. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/index.js.map +1 -0
  27. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/mutation.create.d.ts +1 -1
  28. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.create.d.ts.map +1 -0
  29. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/mutation.create.js +1 -1
  30. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.create.js.map +1 -0
  31. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/mutation.delete.d.ts +1 -1
  32. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.delete.d.ts.map +1 -0
  33. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/mutation.delete.js +1 -1
  34. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.delete.js.map +1 -0
  35. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/mutation.update.d.ts +1 -1
  36. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.update.d.ts.map +1 -0
  37. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/mutation.update.js +1 -1
  38. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.update.js.map +1 -0
  39. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/query.d.ts +6 -0
  40. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/query.d.ts.map +1 -0
  41. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/query.js +28 -3
  42. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/query.js.map +1 -0
  43. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/search.d.ts +1 -1
  44. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/search.d.ts.map +1 -0
  45. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/search.js +1 -1
  46. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/search.js.map +1 -0
  47. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/subscriptions.d.ts +1 -1
  48. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/subscriptions.d.ts.map +1 -0
  49. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/subscriptions.js +1 -1
  50. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/subscriptions.js.map +1 -0
  51. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.d.ts +20 -0
  52. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.d.ts.map +1 -0
  53. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.js +23 -0
  54. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.js.map +1 -0
  55. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.d.ts +2 -0
  56. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.d.ts.map +1 -0
  57. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.js +10 -0
  58. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.js.map +1 -0
  59. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.d.ts +2 -0
  60. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.d.ts.map +1 -0
  61. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.js +18 -0
  62. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.js.map +1 -0
  63. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.d.ts +19 -0
  64. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.d.ts.map +1 -0
  65. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.js +3 -0
  66. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.js.map +1 -0
  67. package/node_modules/@aws-amplify/graphql-auth-transformer/package.json +11 -11
  68. package/node_modules/@aws-amplify/graphql-default-value-transformer/CHANGELOG.md +6 -0
  69. package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.d.ts.map +1 -1
  70. package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.js +13 -1
  71. package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.js.map +1 -1
  72. package/node_modules/@aws-amplify/graphql-default-value-transformer/package.json +8 -8
  73. package/node_modules/@aws-amplify/graphql-function-transformer/CHANGELOG.md +4 -0
  74. package/node_modules/@aws-amplify/graphql-function-transformer/package.json +7 -7
  75. package/node_modules/@aws-amplify/graphql-http-transformer/CHANGELOG.md +4 -0
  76. package/node_modules/@aws-amplify/graphql-http-transformer/package.json +7 -7
  77. package/node_modules/@aws-amplify/graphql-index-transformer/CHANGELOG.md +7 -0
  78. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/generators/rds-vtl-generator.d.ts.map +1 -1
  79. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/generators/rds-vtl-generator.js +4 -1
  80. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/generators/rds-vtl-generator.js.map +1 -1
  81. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.d.ts +2 -1
  82. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.d.ts.map +1 -1
  83. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.js +11 -2
  84. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.js.map +1 -1
  85. package/node_modules/@aws-amplify/graphql-index-transformer/package.json +8 -8
  86. package/node_modules/@aws-amplify/graphql-maps-to-transformer/API.md +15 -0
  87. package/node_modules/@aws-amplify/graphql-maps-to-transformer/CHANGELOG.md +11 -0
  88. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/assets/mapping-lambda.zip +0 -0
  89. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.d.ts +1 -0
  90. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.d.ts.map +1 -1
  91. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.js +14 -1
  92. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.js.map +1 -1
  93. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.d.ts +2 -1
  94. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.d.ts.map +1 -1
  95. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.js +16 -33
  96. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.js.map +1 -1
  97. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.d.ts +10 -0
  98. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.d.ts.map +1 -0
  99. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.js +102 -0
  100. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.js.map +1 -0
  101. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.d.ts +13 -0
  102. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.d.ts.map +1 -0
  103. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.js +82 -0
  104. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.js.map +1 -0
  105. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.d.ts +1 -0
  106. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.d.ts.map +1 -1
  107. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.js +3 -1
  108. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.js.map +1 -1
  109. package/node_modules/@aws-amplify/graphql-maps-to-transformer/package.json +14 -14
  110. package/node_modules/@aws-amplify/graphql-model-transformer/API.md +15 -15
  111. package/node_modules/@aws-amplify/graphql-model-transformer/CHANGELOG.md +15 -0
  112. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-types/mutation.d.ts.map +1 -1
  113. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-types/mutation.js +9 -2
  114. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-types/mutation.js.map +1 -1
  115. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-lambda.zip +0 -0
  116. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-notification-lambda.zip +0 -0
  117. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-patching-lambda.zip +0 -0
  118. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.d.ts +6 -5
  119. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.d.ts.map +1 -1
  120. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.js +5 -5
  121. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.js.map +1 -1
  122. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.d.ts +6 -5
  123. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.d.ts.map +1 -1
  124. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.js +10 -10
  125. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.js.map +1 -1
  126. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/vtl-generator.d.ts +6 -5
  127. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/vtl-generator.d.ts.map +1 -1
  128. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.d.ts +4 -3
  129. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.d.ts.map +1 -1
  130. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.js +71 -55
  131. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.js.map +1 -1
  132. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.d.ts +2 -1
  133. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.d.ts.map +1 -1
  134. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.js +6 -2
  135. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.js.map +1 -1
  136. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.d.ts +8 -3
  137. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.d.ts.map +1 -1
  138. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.js +111 -42
  139. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.js.map +1 -1
  140. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/model-resource-generator.js +5 -5
  141. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/model-resource-generator.js.map +1 -1
  142. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.d.ts +1 -0
  143. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.d.ts.map +1 -1
  144. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.js +24 -0
  145. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.js.map +1 -1
  146. package/node_modules/@aws-amplify/graphql-model-transformer/package.json +9 -9
  147. package/node_modules/@aws-amplify/graphql-predictions-transformer/CHANGELOG.md +4 -0
  148. package/node_modules/@aws-amplify/graphql-predictions-transformer/lib/predictionsLambdaFunction.zip +0 -0
  149. package/node_modules/@aws-amplify/graphql-predictions-transformer/package.json +7 -7
  150. package/node_modules/@aws-amplify/graphql-relational-transformer/CHANGELOG.md +8 -0
  151. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.d.ts.map +1 -1
  152. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.js +41 -9
  153. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.js.map +1 -1
  154. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.d.ts.map +1 -1
  155. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.js +35 -8
  156. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.js.map +1 -1
  157. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.d.ts.map +1 -1
  158. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.js +30 -8
  159. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.js.map +1 -1
  160. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-many-to-many-transformer.d.ts.map +1 -1
  161. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-many-to-many-transformer.js +3 -2
  162. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-many-to-many-transformer.js.map +1 -1
  163. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.d.ts +13 -0
  164. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.d.ts.map +1 -0
  165. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.js +171 -0
  166. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.js.map +1 -0
  167. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.d.ts +4 -0
  168. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.d.ts.map +1 -0
  169. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.js +16 -0
  170. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.js.map +1 -0
  171. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.d.ts +8 -0
  172. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.d.ts.map +1 -0
  173. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.js +7 -0
  174. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.js.map +1 -0
  175. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.d.ts +14 -0
  176. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.d.ts.map +1 -0
  177. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.js +113 -0
  178. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.js.map +1 -0
  179. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.d.ts +4 -4
  180. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.d.ts.map +1 -1
  181. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.js +14 -161
  182. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.js.map +1 -1
  183. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/schema.d.ts.map +1 -1
  184. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/schema.js +14 -8
  185. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/schema.js.map +1 -1
  186. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/types.d.ts +4 -0
  187. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/types.d.ts.map +1 -1
  188. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.d.ts +5 -0
  189. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.d.ts.map +1 -1
  190. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.js +85 -1
  191. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.js.map +1 -1
  192. package/node_modules/@aws-amplify/graphql-relational-transformer/package.json +10 -10
  193. package/node_modules/@aws-amplify/graphql-searchable-transformer/CHANGELOG.md +6 -0
  194. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/graphql-searchable-transformer.d.ts.map +1 -1
  195. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/graphql-searchable-transformer.js +3 -0
  196. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/graphql-searchable-transformer.js.map +1 -1
  197. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/streaming-lambda.zip +0 -0
  198. package/node_modules/@aws-amplify/graphql-searchable-transformer/package.json +8 -8
  199. package/node_modules/@aws-amplify/graphql-sql-transformer/API.md +26 -0
  200. package/node_modules/@aws-amplify/graphql-sql-transformer/CHANGELOG.md +10 -0
  201. package/node_modules/@aws-amplify/graphql-sql-transformer/LICENSE +201 -0
  202. package/node_modules/@aws-amplify/graphql-sql-transformer/README.md +13 -0
  203. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.d.ts +12 -0
  204. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.d.ts.map +1 -0
  205. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.js +122 -0
  206. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.js.map +1 -0
  207. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.d.ts +2 -0
  208. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.d.ts.map +1 -0
  209. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.js +6 -0
  210. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.js.map +1 -0
  211. package/node_modules/@aws-amplify/graphql-sql-transformer/package.json +71 -0
  212. package/node_modules/@aws-amplify/graphql-transformer/API.md +4 -3
  213. package/node_modules/@aws-amplify/graphql-transformer/CHANGELOG.md +12 -0
  214. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.d.ts +4 -3
  215. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.d.ts.map +1 -1
  216. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.js +5 -1
  217. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.js.map +1 -1
  218. package/node_modules/@aws-amplify/graphql-transformer/package.json +15 -14
  219. package/node_modules/@aws-amplify/graphql-transformer/src/graphql-transformer.ts +10 -4
  220. package/node_modules/@aws-amplify/graphql-transformer-core/API.md +11 -2
  221. package/node_modules/@aws-amplify/graphql-transformer-core/CHANGELOG.md +14 -0
  222. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.d.ts +1 -1
  223. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.d.ts.map +1 -1
  224. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.js +4 -1
  225. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.js.map +1 -1
  226. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.d.ts +3 -4
  227. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.d.ts.map +1 -1
  228. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.js +2 -3
  229. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.js.map +1 -1
  230. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/types.d.ts +1 -0
  231. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/types.d.ts.map +1 -1
  232. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.d.ts +5 -4
  233. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.d.ts.map +1 -1
  234. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.js +2 -1
  235. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.js.map +1 -1
  236. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.d.ts +1 -0
  237. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.d.ts.map +1 -1
  238. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.d.ts +1 -1
  239. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.d.ts.map +1 -1
  240. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.js.map +1 -1
  241. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.d.ts +3 -2
  242. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.d.ts.map +1 -1
  243. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.js +9 -3
  244. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.js.map +1 -1
  245. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.d.ts +3 -0
  246. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.d.ts.map +1 -0
  247. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.js +19 -0
  248. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.js.map +1 -0
  249. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.d.ts +7 -0
  250. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.d.ts.map +1 -0
  251. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/{rds-secret-utils.js → rds-util.js} +16 -2
  252. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.js.map +1 -0
  253. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.d.ts +3 -1
  254. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.d.ts.map +1 -1
  255. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.js +7 -1
  256. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.js.map +1 -1
  257. package/node_modules/@aws-amplify/graphql-transformer-core/lib/wrappers/object-definition-wrapper.d.ts +1 -1
  258. package/node_modules/@aws-amplify/graphql-transformer-core/lib/wrappers/object-definition-wrapper.d.ts.map +1 -1
  259. package/node_modules/@aws-amplify/graphql-transformer-core/package.json +4 -4
  260. package/node_modules/@aws-amplify/graphql-transformer-interfaces/API.md +15 -1
  261. package/node_modules/@aws-amplify/graphql-transformer-interfaces/CHANGELOG.md +7 -0
  262. package/node_modules/@aws-amplify/graphql-transformer-interfaces/LICENSE +201 -0
  263. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/graphql-api-provider.d.ts +8 -0
  264. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/graphql-api-provider.d.ts.map +1 -1
  265. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/graphql-api-provider.js.map +1 -1
  266. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/index.d.ts +1 -1
  267. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/index.d.ts.map +1 -1
  268. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/index.js.map +1 -1
  269. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-context-provider.d.ts +3 -2
  270. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-context-provider.d.ts.map +1 -1
  271. package/node_modules/@aws-amplify/graphql-transformer-interfaces/package.json +3 -2
  272. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/graphql-api-provider.ts +10 -0
  273. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/index.ts +2 -0
  274. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/transformer-context-provider.ts +3 -2
  275. package/node_modules/@aws-amplify/graphql-transformer-interfaces/tsconfig.tsbuildinfo +1 -1
  276. package/node_modules/graphql-mapping-template/CHANGELOG.md +4 -0
  277. package/node_modules/graphql-mapping-template/LICENSE +201 -0
  278. package/node_modules/graphql-mapping-template/package.json +3 -2
  279. package/node_modules/graphql-transformer-common/API.md +21 -0
  280. package/node_modules/graphql-transformer-common/CHANGELOG.md +11 -0
  281. package/node_modules/graphql-transformer-common/LICENSE +201 -0
  282. package/node_modules/graphql-transformer-common/lib/definition.d.ts +9 -2
  283. package/node_modules/graphql-transformer-common/lib/definition.d.ts.map +1 -1
  284. package/node_modules/graphql-transformer-common/lib/definition.js +52 -1
  285. package/node_modules/graphql-transformer-common/lib/definition.js.map +1 -1
  286. package/node_modules/graphql-transformer-common/lib/util.d.ts.map +1 -1
  287. package/node_modules/graphql-transformer-common/lib/util.js +3 -1
  288. package/node_modules/graphql-transformer-common/lib/util.js.map +1 -1
  289. package/node_modules/graphql-transformer-common/package.json +7 -6
  290. package/node_modules/zod/README.md +191 -83
  291. package/node_modules/zod/lib/helpers/parseUtil.js +2 -1
  292. package/node_modules/zod/lib/index.mjs +82 -29
  293. package/node_modules/zod/lib/index.umd.js +82 -28
  294. package/node_modules/zod/lib/types.d.ts +22 -5
  295. package/node_modules/zod/lib/types.js +65 -29
  296. package/node_modules/zod/package.json +29 -15
  297. package/package.json +19 -17
  298. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/field.d.ts.map +0 -1
  299. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/field.js.map +0 -1
  300. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/helpers.d.ts.map +0 -1
  301. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/helpers.js.map +0 -1
  302. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/index.d.ts.map +0 -1
  303. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/index.js.map +0 -1
  304. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.create.d.ts.map +0 -1
  305. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.create.js.map +0 -1
  306. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.delete.d.ts.map +0 -1
  307. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.delete.js.map +0 -1
  308. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.update.d.ts.map +0 -1
  309. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.update.js.map +0 -1
  310. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/query.d.ts +0 -6
  311. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/query.d.ts.map +0 -1
  312. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/query.js.map +0 -1
  313. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/search.d.ts.map +0 -1
  314. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/search.js.map +0 -1
  315. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/subscriptions.d.ts.map +0 -1
  316. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/subscriptions.js.map +0 -1
  317. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-secret-utils.d.ts +0 -2
  318. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-secret-utils.d.ts.map +0 -1
  319. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-secret-utils.js.map +0 -1
  320. /package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/index.d.ts +0 -0
  321. /package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/index.js +0 -0
package/.jsii CHANGED
@@ -8,26 +8,27 @@
8
8
  "bundled": {
9
9
  "@aws-amplify/backend-output-schemas": "^0.2.0-alpha.3",
10
10
  "@aws-amplify/backend-output-storage": "^0.1.1-alpha.0",
11
- "@aws-amplify/graphql-auth-transformer": "3.1.5",
12
- "@aws-amplify/graphql-default-value-transformer": "2.1.5",
13
- "@aws-amplify/graphql-function-transformer": "2.1.4",
14
- "@aws-amplify/graphql-http-transformer": "2.1.4",
15
- "@aws-amplify/graphql-index-transformer": "2.1.5",
16
- "@aws-amplify/graphql-maps-to-transformer": "3.2.2",
17
- "@aws-amplify/graphql-model-transformer": "2.2.1",
18
- "@aws-amplify/graphql-predictions-transformer": "2.1.4",
19
- "@aws-amplify/graphql-relational-transformer": "2.1.5",
20
- "@aws-amplify/graphql-searchable-transformer": "2.2.1",
21
- "@aws-amplify/graphql-transformer": "1.2.1",
22
- "@aws-amplify/graphql-transformer-core": "2.2.1",
23
- "@aws-amplify/graphql-transformer-interfaces": "3.2.0",
11
+ "@aws-amplify/graphql-auth-transformer": "3.2.0-rds-3.0",
12
+ "@aws-amplify/graphql-default-value-transformer": "2.1.6-rds-3.0",
13
+ "@aws-amplify/graphql-function-transformer": "2.1.5-rds-3.0",
14
+ "@aws-amplify/graphql-http-transformer": "2.1.5-rds-3.0",
15
+ "@aws-amplify/graphql-index-transformer": "2.2.0-rds-3.0",
16
+ "@aws-amplify/graphql-maps-to-transformer": "3.3.0-rds-3.0",
17
+ "@aws-amplify/graphql-model-transformer": "2.3.0-rds-3.0",
18
+ "@aws-amplify/graphql-predictions-transformer": "2.1.5-rds-3.0",
19
+ "@aws-amplify/graphql-relational-transformer": "2.2.0-rds-3.0",
20
+ "@aws-amplify/graphql-searchable-transformer": "2.3.0-rds-3.0",
21
+ "@aws-amplify/graphql-sql-transformer": "0.1.0-rds-3.0",
22
+ "@aws-amplify/graphql-transformer": "1.3.0-rds-3.0",
23
+ "@aws-amplify/graphql-transformer-core": "2.3.0-rds-3.0",
24
+ "@aws-amplify/graphql-transformer-interfaces": "3.3.0-rds-3.0",
24
25
  "charenc": "^0.0.2",
25
26
  "crypt": "^0.0.2",
26
27
  "fs-extra": "^8.1.0",
27
28
  "graceful-fs": "^4.2.11",
28
29
  "graphql": "^15.5.0",
29
- "graphql-mapping-template": "4.20.12",
30
- "graphql-transformer-common": "4.25.1",
30
+ "graphql-mapping-template": "4.20.13-rds-3.0",
31
+ "graphql-transformer-common": "4.26.0-rds-3.0",
31
32
  "hjson": "^3.2.2",
32
33
  "immer": "^9.0.12",
33
34
  "is-buffer": "^2.0.5",
@@ -3487,7 +3488,7 @@
3487
3488
  "stability": "stable"
3488
3489
  },
3489
3490
  "homepage": "https://github.com/aws-amplify/amplify-category-api.git",
3490
- "jsiiVersion": "5.1.12 (build 0675712)",
3491
+ "jsiiVersion": "5.2.8 (build 02112e0)",
3491
3492
  "keywords": [
3492
3493
  "awscdk",
3493
3494
  "aws-cdk",
@@ -6565,6 +6566,6 @@
6565
6566
  "symbolId": "src/types:UserPoolAuthorizationConfig"
6566
6567
  }
6567
6568
  },
6568
- "version": "1.1.1",
6569
- "fingerprint": "6+DKvA63NCraSK1fTQtw3o7ZC5wJ9tZYCw6kw4tjmCo="
6569
+ "version": "1.1.2-rds-3.0",
6570
+ "fingerprint": "oLM9IsBdZyZAGB0udBMO2B3gdCGJxdVqiG4n9lzqS6U="
6570
6571
  }
package/CHANGELOG.md CHANGED
@@ -3,6 +3,10 @@
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
+ ## [1.1.2-rds-3.0](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-api-construct@1.1.1...@aws-amplify/graphql-api-construct@1.1.2-rds-3.0) (2023-10-03)
7
+
8
+ **Note:** Version bump only for package @aws-amplify/graphql-api-construct
9
+
6
10
  ## [1.1.1](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-api-construct@1.1.0...@aws-amplify/graphql-api-construct@1.1.1) (2023-10-02)
7
11
 
8
12
  **Note:** Version bump only for package @aws-amplify/graphql-api-construct
@@ -228,5 +228,5 @@ class AmplifyGraphqlApi extends constructs_1.Construct {
228
228
  }
229
229
  exports.AmplifyGraphqlApi = AmplifyGraphqlApi;
230
230
  _a = JSII_RTTI_SYMBOL_1;
231
- AmplifyGraphqlApi[_a] = { fqn: "@aws-amplify/graphql-api-construct.AmplifyGraphqlApi", version: "1.1.1" };
231
+ AmplifyGraphqlApi[_a] = { fqn: "@aws-amplify/graphql-api-construct.AmplifyGraphqlApi", version: "1.1.2-rds-3.0" };
232
232
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGlmeS1ncmFwaHFsLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9hbXBsaWZ5LWdyYXBocWwtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMkNBQXVDO0FBQ3ZDLDBFQUFvRTtBQUNwRSw2Q0FBaUQ7QUFDakQsNkRBQWtEO0FBRWxELGdGQUFnRztBQUNoRyxnRkFBdUU7QUFFdkUseURBY2lDO0FBUWpDLHNFQUE0RztBQVE1Ryx5Q0FTb0I7QUFFcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJHO0FBQ0gsTUFBYSxpQkFBa0IsU0FBUSxzQkFBUztJQWdDOUM7Ozs7OztPQU1HO0lBQ0gsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUE2QjtRQUNyRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sRUFDSixVQUFVLEVBQ1Ysa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUNsQixhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixxQkFBcUIsR0FDdEIsR0FBRyxLQUFLLENBQUM7UUFFVixJQUFBLCtDQUFvQyxFQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTVDLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSxHQUNuRSxJQUFBLDJEQUFnRCxFQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFdkUsSUFBQSwwQ0FBcUIsRUFBQyxhQUFhLElBQUksRUFBRSxDQUFDLENBQUM7UUFDM0MsTUFBTSxzQkFBc0IsR0FBRyxJQUFBLGtDQUFhLEVBQUMsQ0FBQyxHQUFHLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFFdEcsMkdBQTJHO1FBQzNHLDBHQUEwRztRQUMxRyxrRkFBa0Y7UUFDbEYsTUFB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QXFCLEVBQ3JCLE9BQTJCO1FBRTNCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDL0csQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksV0FBVyxDQUFDLEVBQVUsRUFBRSxLQUE0QjtRQUN6RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxXQUFXLENBQUMsRUFBVSxFQUFFLEtBQXVCO1FBQ3BELE9BQU8sSUFBSSw2QkFBZSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUU7WUFDbkMsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVTtZQUM5QixHQUFHLEtBQUs7U0FDVCxDQUFDLENBQUM7SUFDTCxDQUFDOztBQXhRSCw4Q0F5UUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IGV4ZWN1dGVUcmFuc2Zvcm0gfSBmcm9tICdAYXdzLWFtcGxpZnkvZ3JhcGhxbC10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBOZXN0ZWRTdGFjaywgU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBBc3NldCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMy1hc3NldHMnO1xuaW1wb3J0IHsgQXNzZXRQcm9wcyB9IGZyb20gJ0Bhd3MtYW1wbGlmeS9ncmFwaHFsLXRyYW5zZm9ybWVyLWludGVyZmFjZXMnO1xuaW1wb3J0IHsgU3RhY2tNZXRhZGF0YUJhY2tlbmRPdXRwdXRTdG9yYWdlU3RyYXRlZ3kgfSBmcm9tICdAYXdzLWFtcGxpZnkvYmFja2VuZC1vdXRwdXQtc3RvcmFnZSc7XG5pbXBvcnQgeyBncmFwaHFsT3V0cHV0S2V5IH0gZnJvbSAnQGF3cy1hbXBsaWZ5L2JhY2tlbmQtb3V0cHV0LXNjaGVtYXMnO1xuaW1wb3J0IHR5cGUgeyBHcmFwaHFsT3V0cHV0LCBBd3NBcHBzeW5jQXV0aGVudGljYXRpb25UeXBlIH0gZnJvbSAnQGF3cy1hbXBsaWZ5L2JhY2tlbmQtb3V0cHV0LXNjaGVtYXMnO1xuaW1wb3J0IHtcbiAgQXBwc3luY0Z1bmN0aW9uLFxuICBEYXRhU291cmNlT3B0aW9ucyxcbiAgRHluYW1vRGJEYXRhU291cmNlLFxuICBFbGFzdGljc2VhcmNoRGF0YVNvdXJjZSxcbiAgRXZlbnRCcmlkZ2VEYXRhU291cmNlLFxuICBFeHRlbmRlZFJlc29sdmVyUHJvcHMsXG4gIEh0dHBEYXRhU291cmNlLFxuICBIdHRwRGF0YVNvdXJjZU9wdGlvbnMsXG4gIExhbWJkYURhdGFTb3VyY2UsXG4gIE5vbmVEYXRhU291cmNlLFxuICBPcGVuU2VhcmNoRGF0YVNvdXJjZSxcbiAgUmRzRGF0YVNvdXJjZSxcbiAgUmVzb2x2ZXIsXG59IGZyb20gJ2F3cy1jZGstbGliL2F3cy1hcHBzeW5jJztcbmltcG9ydCB7IElUYWJsZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1keW5hbW9kYic7XG5pbXBvcnQgeyBJRG9tYWluIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVsYXN0aWNzZWFyY2gnO1xuaW1wb3J0IHsgSURvbWFpbiBhcyBJT3BlblNlYXJjaERvbWFpbiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1vcGVuc2VhcmNoc2VydmljZSc7XG5pbXBvcnQgeyBJRXZlbnRCdXMgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZXZlbnRzJztcbmltcG9ydCB7IElGdW5jdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgSVNlcnZlcmxlc3NDbHVzdGVyIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXJkcyc7XG5pbXBvcnQgeyBJU2VjcmV0IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXNlY3JldHNtYW5hZ2VyJztcbmltcG9ydCB7IHBhcnNlVXNlckRlZmluZWRTbG90cywgdmFsaWRhdGVGdW5jdGlvblNsb3RzLCBzZXBhcmF0ZVNsb3RzIH0gZnJvbSAnLi9pbnRlcm5hbC91c2VyLWRlZmluZWQtc2xvdHMnO1xuaW1wb3J0IHR5cGUge1xuICBBbXBsaWZ5R3JhcGhxbEFwaVJlc291cmNlcyxcbiAgQW1wbGlmeUdyYXBocWxBcGlQcm9wcyxcbiAgRnVuY3Rpb25TbG90LFxuICBJQmFja2VuZE91dHB1dFN0b3JhZ2VTdHJhdGVneSxcbiAgQWRkRnVuY3Rpb25Qcm9wcyxcbn0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQge1xuICBjb252ZXJ0QXV0aG9yaXphdGlvbk1vZGVzVG9UcmFuc2Zvcm1lckF1dGhDb25maWcsXG4gIGNvbnZlcnRUb1Jlc29sdmVyQ29uZmlnLFxuICBkZWZhdWx0VHJhbnNsYXRpb25CZWhhdmlvcixcbiAgQXNzZXRNYW5hZ2VyLFxuICBnZXRHZW5lcmF0ZWRSZXNvdXJjZXMsXG4gIGdldEdlbmVyYXRlZEZ1bmN0aW9uU2xvdHMsXG4gIENvZGVnZW5Bc3NldHMsXG4gIGFkZEFtcGxpZnlNZXRhZGF0YVRvU3RhY2tEZXNjcmlwdGlvbixcbn0gZnJvbSAnLi9pbnRlcm5hbCc7XG5cbi8qKlxuICogTDMgQ29uc3RydWN0IHdoaWNoIGludm9rZXMgdGhlIEFtcGxpZnkgVHJhbnNmb3JtZXIgUGF0dGVybiBvdmVyIGFuIGlucHV0IEdyYXBocWwgU2NoZW1hLlxuICpcbiAqIFRoaXMgY2FuIGJlIHVzZWQgdG8gcXVpY2tseSBkZWZpbmUgYXBwc3luYyBhcGlzIHdoaWNoIHN1cHBvcnQgZnVsbCBDUlVEK0xpc3QgYW5kIFN1YnNjcmlwdGlvbnMsIHJlbGF0aW9uc2hpcHMsXG4gKiBhdXRoLCBzZWFyY2ggb3ZlciBkYXRhLCB0aGUgYWJpbGl0eSB0byBpbmplY3QgY3VzdG9tIGJ1c2luZXNzIGxvZ2ljIGFuZCBxdWVyeS9tdXRhdGlvbiBvcGVyYXRpb25zLCBhbmQgY29ubmVjdCB0byBNTCBzZXJ2aWNlcy5cbiAqXG4gKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgcmVmZXIgdG8gdGhlIGRvY3MgbGlua3MgYmVsb3c6XG4gKiBEYXRhIE1vZGVsaW5nIC0gaHR0cHM6Ly9kb2NzLmFtcGxpZnkuYXdzL2NsaS9ncmFwaHFsL2RhdGEtbW9kZWxpbmcvXG4gKiBBdXRob3JpemF0aW9uIC0gaHR0cHM6Ly9kb2NzLmFtcGxpZnkuYXdzL2NsaS9ncmFwaHFsL2F1dGhvcml6YXRpb24tcnVsZXMvXG4gKiBDdXN0b20gQnVzaW5lc3MgTG9naWMgLSBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL2dyYXBocWwvY3VzdG9tLWJ1c2luZXNzLWxvZ2ljL1xuICogU2VhcmNoIC0gaHR0cHM6Ly9kb2NzLmFtcGxpZnkuYXdzL2NsaS9ncmFwaHFsL3NlYXJjaC1hbmQtcmVzdWx0LWFnZ3JlZ2F0aW9ucy9cbiAqIE1MIFNlcnZpY2VzIC0gaHR0cHM6Ly9kb2NzLmFtcGxpZnkuYXdzL2NsaS9ncmFwaHFsL2Nvbm5lY3QtdG8tbWFjaGluZS1sZWFybmluZy1zZXJ2aWNlcy9cbiAqXG4gKiBGb3IgYSBmdWxsIHJlZmVyZW5jZSBvZiB0aGUgc3VwcG9ydGVkIGN1c3RvbSBncmFwaHFsIGRpcmVjdGl2ZXMgLSBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL2dyYXBocWwvZGlyZWN0aXZlcy1yZWZlcmVuY2UvXG4gKlxuICogVGhlIG91dHB1dCBvZiB0aGlzIGNvbnN0cnVjdCBpcyBhIG1hcHBpbmcgb2YgTDEgcmVzb3VyY2VzIGdlbmVyYXRlZCBieSB0aGUgdHJhbnNmb3JtZXIsIHdoaWNoIGdlbmVyYWxseSBmb2xsb3cgdGhlIGFjY2VzcyBwYXR0ZXJuXG4gKlxuICogYGBgdHlwZXNjcmlwdFxuICogICBjb25zdCBhcGkgPSBuZXcgQW1wbGlmeUdyYXBoUWxBcGkodGhpcywgJ2FwaScsIHsgPHBhcmFtcz4gfSk7XG4gKiAgIGFwaS5yZXNvdXJjZXMuYXBpLnhyYXlFbmFibGVkID0gdHJ1ZTtcbiAqICAgT2JqZWN0LnZhbHVlcyhhcGkucmVzb3VyY2VzLnRhYmxlcykuZm9yRWFjaCh0YWJsZSA9PiB0YWJsZS5wb2ludEluVGltZVJlY292ZXJ5U3BlY2lmaWNhdGlvbiA9IHsgcG9pbnRJblRpbWVSZWNvdmVyeUVuYWJsZWQ6IGZhbHNlIH0pO1xuICogYGBgXG4gKiBgcmVzb3VyY2VzLjxSZXNvdXJjZVR5cGU+LjxSZXNvdXJjZU5hbWU+YCAtIHlvdSBjYW4gdGhlbiBwZXJmb3JtIGFueSBDREsgYWN0aW9uIG9uIHRoZXNlIHJlc3VsdGluZyByZXNvdXJlY2VzLlxuICovXG5leHBvcnQgY2xhc3MgQW1wbGlmeUdyYXBocWxBcGkgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogR2VuZXJhdGVkIEwxIGFuZCBMMiBDREsgcmVzb3VyY2VzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJlc291cmNlczogQW1wbGlmeUdyYXBocWxBcGlSZXNvdXJjZXM7XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlZCBhc3NldHMgcmVxdWlyZWQgZm9yIGNvZGVnZW4gc3RlcHMuIFBlcnNpc3RlZCBpbiBvcmRlciB0byByZW5kZXIgYXMgcGFydCBvZiB0aGUgb3V0cHV0IHN0cmF0ZWd5LlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBjb2RlZ2VuQXNzZXRzOiBDb2RlZ2VuQXNzZXRzO1xuXG4gIC8qKlxuICAgKiBSZXNvbHZlcnMgZ2VuZXJhdGVkIGJ5IHRoZSB0cmFuc2Zvcm0gcHJvY2VzcywgcGVyc2lzdGVkIG9uIHRoZSBzaWRlIGluIG9yZGVyIHRvIGZhY2lsaXRhdGUgcHVsbGluZyBhIG1hbmlmZXN0XG4gICAqIGZvciB0aGUgcHVycG9zZXMgb2YgaW5zcGVjdGluZyBhbmQgcHJvZHVjaW5nIG92ZXJyaWRlcy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBnZW5lcmF0ZWRGdW5jdGlvblNsb3RzOiBGdW5jdGlvblNsb3RbXTtcblxuICAvKipcbiAgICogR3JhcGhxbCBVUkwgRm9yIHRoZSBnZW5lcmF0ZWQgQVBJLiBNYXkgYmUgYSBDREsgVG9rZW4uXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZ3JhcGhxbFVybDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZWFsdGltZSBVUkwgRm9yIHRoZSBnZW5lcmF0ZWQgQVBJLiBNYXkgYmUgYSBDREsgVG9rZW4uXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcmVhbHRpbWVVcmw6IHN0cmluZztcblxuICAvKipcbiAgICogR2VuZXJhdGVkIEFwaSBLZXkgaWYgZ2VuZXJhdGVkLiBNYXkgYmUgYSBDREsgVG9rZW4uXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYXBpS2V5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIE5ldyBBbXBsaWZ5R3JhcGhxbEFwaSBjb25zdHJ1Y3QsIHRoaXMgd2lsbCBjcmVhdGUgYW4gYXBwc3luYyBhcGkgd2l0aCBhdXRob3JpemF0aW9uLCBhIHNjaGVtYSwgYW5kIGFsbCBuZWNlc3NhcnkgcmVzb2x2ZXJzLCBmdW5jdGlvbnMsXG4gICAqIGFuZCBkYXRhc291cmNlcy5cbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB0byBjcmVhdGUgdGhpcyBjb25zdHJ1Y3Qgd2l0aGluLlxuICAgKiBAcGFyYW0gaWQgdGhlIGlkIHRvIHVzZSBmb3IgdGhpcyBhcGkuXG4gICAqIEBwYXJhbSBwcm9wcyB0aGUgcHJvcGVydGllcyB1c2VkIHRvIGNvbmZpZ3VyZSB0aGUgZ2VuZXJhdGVkIGFwaS5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBBbXBsaWZ5R3JhcGhxbEFwaVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHtcbiAgICAgIGRlZmluaXRpb24sXG4gICAgICBhdXRob3JpemF0aW9uTW9kZXMsXG4gICAgICBjb25mbGljdFJlc29sdXRpb24sXG4gICAgICBmdW5jdGlvblNsb3RzLFxuICAgICAgdHJhbnNmb3JtZXJQbHVnaW5zLFxuICAgICAgcHJlZGljdGlvbnNCdWNrZXQsXG4gICAgICBzdGFja01hcHBpbmdzLFxuICAgICAgdHJhbnNsYXRpb25CZWhhdmlvcixcbiAgICAgIGZ1bmN0aW9uTmFtZU1hcCxcbiAgICAgIG91dHB1dFN0b3JhZ2VTdHJhdGVneSxcbiAgICB9ID0gcHJvcHM7XG5cbiAgICBhZGRBbXBsaWZ5TWV0YWRhdGFUb1N0YWNrRGVzY3JpcHRpb24oc2NvcGUpO1xuXG4gICAgY29uc3QgeyBhdXRoQ29uZmlnLCBpZGVudGl0eVBvb2xJZCwgYWRtaW5Sb2xlcywgYXV0aFN5bnRoUGFyYW1ldGVycyB9ID1cbiAgICAgIGNvbnZlcnRBdXRob3JpemF0aW9uTW9kZXNUb1RyYW5zZm9ybWVyQXV0aENvbmZpZyhhdXRob3JpemF0aW9uTW9kZXMpO1xuXG4gICAgdmFsaWRhdGVGdW5jdGlvblNsb3RzKGZ1bmN0aW9uU2xvdHMgPz8gW10pO1xuICAgIGNvbnN0IHNlcGFyYXRlZEZ1bmN0aW9uU2xvdHMgPSBzZXBhcmF0ZVNsb3RzKFsuLi4oZnVuY3Rpb25TbG90cyA/PyBbXSksIC4uLmRlZmluaXRpb24uZnVuY3Rpb25TbG90c10pO1xuXG4gICAgLy8gQWxsb3cgYW1wbGlmeUVudmlyb25tZW50TmFtZSB0byBiZSByZXRyaWV2ZSBmcm9tIGNvbnRleHQsIGFuZCB1c2UgdmFsdWUgJ05PTkUnIGlmIG5vIHZhbHVlIGNhbiBiZSBmb3VuZC5cbiAgICAvLyBhbXBsaWZ5RW52aXJvbm1lbnROYW1lIGlzIHJlcXVpcmVkIGZvciBsb2dpY2FsIGlkIHN1ZmZpeGluZywgYXMgd2VsbCBhcyBFeHBvcnRzIGZyb20gdGhlIG5lc3RlZCBzdGFja3MuXG4gICAgLy8gQWxsb3cgZXhwb3J0IHNvIGN1c3RvbWVycyBjYW4gcmV1c2UgdGhlIGVudiBpbiB0aGVpciBvd24gcmVmZXJlbmNlcyBkb3duc3RyZWFtLlxuICAgIGNvbnN0IGFtcGxpZnlFbnZpcm9ubWVudE5hbWUgPSB0aGlzLm5vZGUudHJ5R2V0Q29udGV4dCgnYW1wbGlmeUVudmlyb25tZW50TmFtZScpID8/ICdOT05FJztcbiAgICBpZiAoYW1wbGlmeUVudmlyb25tZW50TmFtZS5sZW5ndGggPiA4KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYG9yIGNkayAtLWNvbnRleHQgZW52IG11c3QgaGF2ZSBhIGxlbmd0aCA8PSA4LCBmb3VuZCAke2FtcGxpZnlFbnZpcm9ubWVudE5hbWV9YCk7XG4gICAgfVxuXG4gICAgY29uc3QgYXNzZXRNYW5hZ2VyID0gbmV3IEFzc2V0TWFuYWdlcigpO1xuXG4gICAgZXhlY3V0ZVRyYW5zZm9ybSh7XG4gICAgICBzY29wZTogdGhpcyxcbiAgICAgIG5lc3RlZFN0YWNrUHJvdmlkZXI6IHtcbiAgICAgICAgcHJvdmlkZTogKG5lc3RlZFN0YWNrU2NvcGU6IENvbnN0cnVjdCwgbmFtZTogc3RyaW5nKSA9PiBuZXcgTmVzdGVkU3RhY2sobmVzdGVkU3RhY2tTY29wZSwgbmFtZSksXG4gICAgICB9LFxuICAgICAgYXNzZXRQcm92aWRlcjoge1xuICAgICAgICBwcm92aWRlOiAoYXNzZXRTY29wZTogQ29uc3RydWN0LCBhc3NldElkOiBzdHJpbmcsIGFzc2V0UHJvcHM6IEFzc2V0UHJvcHMpID0+XG4gICAgICAgICAgbmV3IEFzc2V0KGFzc2V0U2NvcGUsIGFzc2V0SWQsIHsgcGF0aDogYXNzZXRNYW5hZ2VyLmFkZEFzc2V0KGFzc2V0UHJvcHMuZmlsZU5hbWUsIGFzc2V0UHJvcHMuZmlsZUNvbnRlbnQpIH0pLFxuICAgICAgfSxcbiAgICAgIHN5bnRoUGFyYW1ldGVyczoge1xuICAgICAgICBhbXBsaWZ5RW52aXJvbm1lbnROYW1lOiBhbXBsaWZ5RW52aXJvbm1lbnROYW1lLFxuICAgICAgICBhcGlOYW1lOiBwcm9wcy5hcGlOYW1lID8/IGlkLFxuICAgICAgICAuLi5hdXRoU3ludGhQYXJhbWV0ZXJzLFxuICAgICAgfSxcbiAgICAgIHNjaGVtYTogZGVmaW5pdGlvbi5zY2hlbWEsXG4gICAgICB1c2VyRGVmaW5lZFNsb3RzOiBwYXJzZVVzZXJEZWZpbmVkU2xvdHMoc2VwYXJhdGVkRnVuY3Rpb25TbG90cyksXG4gICAgICB0cmFuc2Zvcm1lcnNGYWN0b3J5QXJnczoge1xuICAgICAgICBhdXRoQ29uZmlnLFxuICAgICAgICBpZGVudGl0eVBvb2xJZCxcbiAgICAgICAgYWRtaW5Sb2xlcyxcbiAgICAgICAgY3VzdG9tVHJhbnNmb3JtZXJzOiB0cmFuc2Zvcm1lclBsdWdpbnMgPz8gW10sXG4gICAgICAgIC4uLihwcmVkaWN0aW9uc0J1Y2tldCA/IHsgc3RvcmFnZUNvbmZpZzogeyBidWNrZXROYW1lOiBwcmVkaWN0aW9uc0J1Y2tldC5idWNrZXROYW1lIH0gfSA6IHt9KSxcbiAgICAgICAgZnVuY3Rpb25OYW1lTWFwLFxuICAgICAgfSxcbiAgICAgIGF1dGhDb25maWcsXG4gICAgICBzdGFja01hcHBpbmc6IHN0YWNrTWFwcGluZ3MgPz8ge30sXG4gICAgICByZXNvbHZlckNvbmZpZzogY29uZmxpY3RSZXNvbHV0aW9uID8gY29udmVydFRvUmVzb2x2ZXJDb25maWcoY29uZmxpY3RSZXNvbHV0aW9uKSA6IHVuZGVmaW5lZCxcbiAgICAgIHRyYW5zZm9ybVBhcmFtZXRlcnM6IHtcbiAgICAgICAgLi4uZGVmYXVsdFRyYW5zbGF0aW9uQmVoYXZpb3IsXG4gICAgICAgIC4uLih0cmFuc2xhdGlvbkJlaGF2aW9yID8/IHt9KSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLmNvZGVnZW5Bc3NldHMgPSBuZXcgQ29kZWdlbkFzc2V0cyh0aGlzLCAnQW1wbGlmeUNvZGVnZW5Bc3NldHMnLCB7IG1vZGVsU2NoZW1hOiBkZWZpbml0aW9uLnNjaGVtYSB9KTtcblxuICAgIHRoaXMucmVzb3VyY2VzID0gZ2V0R2VuZXJhdGVkUmVzb3VyY2VzKHRoaXMpO1xuICAgIHRoaXMuZ2VuZXJhdGVkRnVuY3Rpb25TbG90cyA9IGdldEdlbmVyYXRlZEZ1bmN0aW9uU2xvdHMoYXNzZXRNYW5hZ2VyLnJlc29sdmVyQXNzZXRzKTtcbiAgICB0aGlzLnN0b3JlT3V0cHV0KG91dHB1dFN0b3JhZ2VTdHJhdGVneSk7XG5cbiAgICB0aGlzLmdyYXBocWxVcmwgPSB0aGlzLnJlc291cmNlcy5jZm5SZXNvdXJjZXMuY2ZuR3JhcGhxbEFwaS5hdHRyR3JhcGhRbFVybDtcbiAgICB0aGlzLnJlYWx0aW1lVXJsID0gdGhpcy5yZXNvdXJjZXMuY2ZuUmVzb3VyY2VzLmNmbkdyYXBocWxBcGkuYXR0clJlYWx0aW1lVXJsO1xuICAgIHRoaXMuYXBpS2V5ID0gdGhpcy5yZXNvdXJjZXMuY2ZuUmVzb3VyY2VzLmNmbkFwaUtleT8uYXR0ckFwaUtleTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9yZXMgZ3JhcGhxbCBhcGkgb3V0cHV0IHRvIGJlIHVzZWQgZm9yIGNsaWVudCBjb25maWcgZ2VuZXJhdGlvblxuICAgKiBAcGFyYW0gb3V0cHV0U3RvcmFnZVN0cmF0ZWd5IFN0cmF0ZWd5IHRvIHN0b3JlIGNvbnN0cnVjdCBvdXRwdXRzLiBJZiBubyBzdHJhdGVneSBpcyBwcm92aWRlZCBhIGRlZmF1bHQgc3RyYXRlZ3kgd2lsbCBiZSB1c2VkLlxuICAgKi9cbiAgcHJpdmF0ZSBzdG9yZU91dHB1dChcbiAgICBvdXRwdXRTdG9yYWdlU3RyYXRlZ3k6IElCYWNrZW5kT3V0cHV0U3RvcmFnZVN0cmF0ZWd5ID0gbmV3IFN0YWNrTWV0YWRhdGFCYWNrZW5kT3V0cHV0U3RvcmFnZVN0cmF0ZWd5KFN0YWNrLm9mKHRoaXMpKSxcbiAgKTogdm9pZCB7XG4gICAgY29uc3Qgc3RhY2sgPSBTdGFjay5vZih0aGlzKTtcbiAgICBjb25zdCBvdXRwdXQ6IEdyYXBocWxPdXRwdXQgPSB7XG4gICAgICB2ZXJzaW9uOiAnMScsXG4gICAgICBwYXlsb2FkOiB7XG4gICAgICAgIGF3c0FwcHN5bmNBcGlJZDogdGhpcy5yZXNvdXJjZXMuY2ZuUmVzb3VyY2VzLmNmbkdyYXBocWxBcGkuYXR0ckFwaUlkLFxuICAgICAgICBhd3NBcHBzeW5jQXBpRW5kcG9pbnQ6IHRoaXMucmVzb3VyY2VzLmNmblJlc291cmNlcy5jZm5HcmFwaHFsQXBpLmF0dHJHcmFwaFFsVXJsLFxuICAgICAgICBhd3NBcHBzeW5jQXV0aGVudGljYXRpb25UeXBlOiB0aGlzLnJlc291cmNlcy5jZm5SZXNvdXJjZXMuY2ZuR3JhcGhxbEFwaS5hdXRoZW50aWNhdGlvblR5cGUgYXMgQXdzQXBwc3luY0F1dGhlbnRpY2F0aW9uVHlwZSxcbiAgICAgICAgYXdzQXBwc3luY1JlZ2lvbjogc3RhY2sucmVnaW9uLFxuICAgICAgICBhbXBsaWZ5QXBpTW9kZWxTY2hlbWFTM1VyaTogdGhpcy5jb2RlZ2VuQXNzZXRzLm1vZGVsU2NoZW1hUzNVcmksXG4gICAgICB9LFxuICAgIH07XG5cbiAgICBpZiAodGhpcy5yZXNvdXJjZXMuY2ZuUmVzb3VyY2VzLmNmbkFwaUtleSkge1xuICAgICAgb3V0cHV0LnBheWxvYWQuYXdzQXBwc3luY0FwaUtleSA9IHRoaXMucmVzb3VyY2VzLmNmblJlc291cmNlcy5jZm5BcGlLZXkuYXR0ckFwaUtleTtcbiAgICB9XG5cbiAgICBvdXRwdXRTdG9yYWdlU3RyYXRlZ3kuYWRkQmFja2VuZE91dHB1dEVudHJ5KGdyYXBocWxPdXRwdXRLZXksIG91dHB1dCk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGZvbGxvd2luZyBhcmUgcHJveHkgbWV0aG9kcyB0byB0aGUgTDIgSUdyYXBocWxBcGkgaW50ZXJmYWNlLCB0byBmYWNpbGl0YXRlIGVhc2llciB1c2Ugb2YgdGhlIEwzIHdpdGhvdXQgbmVlZGluZ1xuICAgKiB0byBhY2Nlc3MgdGhlIHVuZGVybHlpbmcgcmVzb3VyY2VzLlxuICAgKi9cblxuICAvKipcbiAgICogQWRkIGEgbmV3IER5bmFtb0RCIGRhdGEgc291cmNlIHRvIHRoaXMgQVBJLiBUaGlzIGlzIGEgcHJveHkgbWV0aG9kIHRvIHRoZSBMMiBHcmFwaHFsQXBpIENvbnN0cnVjdC5cbiAgICogQHBhcmFtIGlkIFRoZSBkYXRhIHNvdXJjZSdzIGlkLlxuICAgKiBAcGFyYW0gdGFibGUgVGhlIER5bmFtb0RCIHRhYmxlIGJhY2tpbmcgdGhpcyBkYXRhIHNvdXJjZS5cbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gZm9yIHRoaXMgZGF0YSBzb3VyY2UuXG4gICAqIEByZXR1cm5zIHRoZSBnZW5lcmF0ZWQgZGF0YSBzb3VyY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkRHluYW1vRGJEYXRhU291cmNlKGlkOiBzdHJpbmcsIHRhYmxlOiBJVGFibGUsIG9wdGlvbnM/OiBEYXRhU291cmNlT3B0aW9ucyk6IER5bmFtb0RiRGF0YVNvdXJjZSB7XG4gICAgcmV0dXJuIHRoaXMucmVzb3VyY2VzLmdyYXBocWxBcGkuYWRkRHluYW1vRGJEYXRhU291cmNlKGlkLCB0YWJsZSwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgbmV3IGVsYXN0aWNzZWFyY2ggZGF0YSBzb3VyY2UgdG8gdGhpcyBBUEkuIFRoaXMgaXMgYSBwcm94eSBtZXRob2QgdG8gdGhlIEwyIEdyYXBocWxBcGkgQ29uc3RydWN0LlxuICAgKiBAZGVwcmVjYXRlZCB1c2UgYGFkZE9wZW5TZWFyY2hEYXRhU291cmNlYFxuICAgKiBAcGFyYW0gaWQgVGhlIGRhdGEgc291cmNlJ3MgaWQuXG4gICAqIEBwYXJhbSBkb21haW4gVGhlIGVsYXN0aWNzZWFyY2ggZG9tYWluIGZvciB0aGlzIGRhdGEgc291cmNlLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9uYWwgY29uZmlndXJhdGlvbiBmb3IgdGhpcyBkYXRhIHNvdXJjZS5cbiAgICogQHJldHVybnMgdGhlIGdlbmVyYXRlZCBkYXRhIHNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBhZGRFbGFzdGljc2VhcmNoRGF0YVNvdXJjZShpZDogc3RyaW5nLCBkb21haW46IElEb21haW4sIG9wdGlvbnM/OiBEYXRhU291cmNlT3B0aW9ucyk6IEVsYXN0aWNzZWFyY2hEYXRhU291cmNlIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvdXJjZXMuZ3JhcGhxbEFwaS5hZGRFbGFzdGljc2VhcmNoRGF0YVNvdXJjZShpZCwgZG9tYWluLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYW4gRXZlbnRCcmlkZ2UgZGF0YSBzb3VyY2UgdG8gdGhpcyBhcGkuIFRoaXMgaXMgYSBwcm94eSBtZXRob2QgdG8gdGhlIEwyIEdyYXBocWxBcGkgQ29uc3RydWN0LlxuICAgKiBAcGFyYW0gaWQgVGhlIGRhdGEgc291cmNlJ3MgaWQuXG4gICAqIEBwYXJhbSBldmVudEJ1cyBUaGUgRXZlbnRCcmlkZ2UgRXZlbnRCdXMgb24gd2hpY2ggdG8gcHV0IGV2ZW50cy5cbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gZm9yIHRoaXMgZGF0YSBzb3VyY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkRXZlbnRCcmlkZ2VEYXRhU291cmNlKGlkOiBzdHJpbmcsIGV2ZW50QnVzOiBJRXZlbnRCdXMsIG9wdGlvbnM/OiBEYXRhU291cmNlT3B0aW9ucyk6IEV2ZW50QnJpZGdlRGF0YVNvdXJjZSB7XG4gICAgcmV0dXJuIHRoaXMucmVzb3VyY2VzLmdyYXBocWxBcGkuYWRkRXZlbnRCcmlkZ2VEYXRhU291cmNlKGlkLCBldmVudEJ1cywgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgbmV3IGh0dHAgZGF0YSBzb3VyY2UgdG8gdGhpcyBBUEkuIFRoaXMgaXMgYSBwcm94eSBtZXRob2QgdG8gdGhlIEwyIEdyYXBocWxBcGkgQ29uc3RydWN0LlxuICAgKiBAcGFyYW0gaWQgVGhlIGRhdGEgc291cmNlJ3MgaWQuXG4gICAqIEBwYXJhbSBlbmRwb2ludCBUaGUgaHR0cCBlbmRwb2ludC5cbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gZm9yIHRoaXMgZGF0YSBzb3VyY2UuXG4gICAqIEByZXR1cm5zIHRoZSBnZW5lcmF0ZWQgZGF0YSBzb3VyY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkSHR0cERhdGFTb3VyY2UoaWQ6IHN0cmluZywgZW5kcG9pbnQ6IHN0cmluZywgb3B0aW9ucz86IEh0dHBEYXRhU291cmNlT3B0aW9ucyk6IEh0dHBEYXRhU291cmNlIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvdXJjZXMuZ3JhcGhxbEFwaS5hZGRIdHRwRGF0YVNvdXJjZShpZCwgZW5kcG9pbnQsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIG5ldyBMYW1iZGEgZGF0YSBzb3VyY2UgdG8gdGhpcyBBUEkuIFRoaXMgaXMgYSBwcm94eSBtZXRob2QgdG8gdGhlIEwyIEdyYXBocWxBcGkgQ29uc3RydWN0LlxuICAgKiBAcGFyYW0gaWQgVGhlIGRhdGEgc291cmNlJ3MgaWQuXG4gICAqIEBwYXJhbSBsYW1iZGFGdW5jdGlvbiBUaGUgTGFtYmRhIGZ1bmN0aW9uIHRvIGNhbGwgdG8gaW50ZXJhY3Qgd2l0aCB0aGlzIGRhdGEgc291cmNlLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9uYWwgY29uZmlndXJhdGlvbiBmb3IgdGhpcyBkYXRhIHNvdXJjZS5cbiAgICogQHJldHVybnMgdGhlIGdlbmVyYXRlZCBkYXRhIHNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBhZGRMYW1iZGFEYXRhU291cmNlKGlkOiBzdHJpbmcsIGxhbWJkYUZ1bmN0aW9uOiBJRnVuY3Rpb24sIG9wdGlvbnM/OiBEYXRhU291cmNlT3B0aW9ucyk6IExhbWJkYURhdGFTb3VyY2Uge1xuICAgIHJldHVybiB0aGlzLnJlc291cmNlcy5ncmFwaHFsQXBpLmFkZExhbWJkYURhdGFTb3VyY2UoaWQsIGxhbWJkYUZ1bmN0aW9uLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBuZXcgZHVtbXkgZGF0YSBzb3VyY2UgdG8gdGhpcyBBUEkuIFRoaXMgaXMgYSBwcm94eSBtZXRob2QgdG8gdGhlIEwyIEdyYXBocWxBcGkgQ29uc3RydWN0LlxuICAgKiBVc2VmdWwgZm9yIHBpcGVsaW5lIHJlc29sdmVycyBhbmQgZm9yIGJhY2tlbmQgY2hhbmdlcyB0aGF0IGRvbid0IHJlcXVpcmUgYSBkYXRhIHNvdXJjZS5cbiAgICogQHBhcmFtIGlkIFRoZSBkYXRhIHNvdXJjZSdzIGlkLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9uYWwgY29uZmlndXJhdGlvbiBmb3IgdGhpcyBkYXRhIHNvdXJjZS5cbiAgICogQHJldHVybnMgdGhlIGdlbmVyYXRlZCBkYXRhIHNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBhZGROb25lRGF0YVNvdXJjZShpZDogc3RyaW5nLCBvcHRpb25zPzogRGF0YVNvdXJjZU9wdGlvbnMpOiBOb25lRGF0YVNvdXJjZSB7XG4gICAgcmV0dXJuIHRoaXMucmVzb3VyY2VzLmdyYXBocWxBcGkuYWRkTm9uZURhdGFTb3VyY2UoaWQsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIGRkIGEgbmV3IE9wZW5TZWFyY2ggZGF0YSBzb3VyY2UgdG8gdGhpcyBBUEkuIFRoaXMgaXMgYSBwcm94eSBtZXRob2QgdG8gdGhlIEwyIEdyYXBocWxBcGkgQ29uc3RydWN0LlxuICAgKiBAcGFyYW0gaWQgVGhlIGRhdGEgc291cmNlJ3MgaWQuXG4gICAqIEBwYXJhbSBkb21haW4gVGhlIE9wZW5TZWFyY2ggZG9tYWluIGZvciB0aGlzIGRhdGEgc291cmNlLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9uYWwgY29uZmlndXJhdGlvbiBmb3IgdGhpcyBkYXRhIHNvdXJjZS5cbiAgICogQHJldHVybnMgdGhlIGdlbmVyYXRlZCBkYXRhIHNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBhZGRPcGVuU2VhcmNoRGF0YVNvdXJjZShpZDogc3RyaW5nLCBkb21haW46IElPcGVuU2VhcmNoRG9tYWluLCBvcHRpb25zPzogRGF0YVNvdXJjZU9wdGlvbnMpOiBPcGVuU2VhcmNoRGF0YVNvdXJjZSB7XG4gICAgcmV0dXJuIHRoaXMucmVzb3VyY2VzLmdyYXBocWxBcGkuYWRkT3BlblNlYXJjaERhdGFTb3VyY2UoaWQsIGRvbWFpbiwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgbmV3IFJkcyBkYXRhIHNvdXJjZSB0byB0aGlzIEFQSS4gVGhpcyBpcyBhIHByb3h5IG1ldGhvZCB0byB0aGUgTDIgR3JhcGhxbEFwaSBDb25zdHJ1Y3QuXG4gICAqIEBwYXJhbSBpZCBUaGUgZGF0YSBzb3VyY2UncyBpZC5cbiAgICogQHBhcmFtIHNlcnZlcmxlc3NDbHVzdGVyIFRoZSBzZXJ2ZXJsZXNzIGNsdXN0ZXIgdG8gaW50ZXJhY3Qgd2l0aCB0aGlzIGRhdGEgc291cmNlLlxuICAgKiBAcGFyYW0gc2VjcmV0U3RvcmUgVGhlIHNlY3JldCBzdG9yZSB0aGF0IGNvbnRhaW5zIHRoZSB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZm9yIHRoZSBzZXJ2ZXJsZXNzIGNsdXN0ZXIuXG4gICAqIEBwYXJhbSBkYXRhYmFzZU5hbWUgVGhlIG9wdGlvbmFsIG5hbWUgb2YgdGhlIGRhdGFiYXNlIHRvIHVzZSB3aXRoaW4gdGhlIGNsdXN0ZXIuXG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25hbCBjb25maWd1cmF0aW9uIGZvciB0aGlzIGRhdGEgc291cmNlLlxuICAgKiBAcmV0dXJucyB0aGUgZ2VuZXJhdGVkIGRhdGEgc291cmNlLlxuICAgKi9cbiAgcHVibGljIGFkZFJkc0RhdGFTb3VyY2UoXG4gICAgaWQ6IHN0cmluZyxcbiAgICBzZXJ2ZXJsZXNzQ2x1c3RlcjogSVNlcnZlcmxlc3NDbHVzdGVyLFxuICAgIHNlY3JldFN0b3JlOiBJU2VjcmV0LFxuICAgIGRhdGFiYXNlTmFtZT86IHN0cmluZyxcbiAgICBvcHRpb25zPzogRGF0YVNvdXJjZU9wdGlvbnMsXG4gICk6IFJkc0RhdGFTb3VyY2Uge1xuICAgIHJldHVybiB0aGlzLnJlc291cmNlcy5ncmFwaHFsQXBpLmFkZFJkc0RhdGFTb3VyY2UoaWQsIHNlcnZlcmxlc3NDbHVzdGVyLCBzZWNyZXRTdG9yZSwgZGF0YWJhc2VOYW1lLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSByZXNvbHZlciB0byB0aGUgYXBpLiBUaGlzIGlzIGEgcHJveHkgbWV0aG9kIHRvIHRoZSBMMiBHcmFwaHFsQXBpIENvbnN0cnVjdC5cbiAgICogQHBhcmFtIGlkIFRoZSByZXNvbHZlcidzIGlkLlxuICAgKiBAcGFyYW0gcHJvcHMgdGhlIHJlc29sdmVyIHByb3BlcnRpZXMuXG4gICAqIEByZXR1cm5zIHRoZSBnZW5lcmF0ZWQgcmVzb2x2ZXIuXG4gICAqL1xuICBwdWJsaWMgYWRkUmVzb2x2ZXIoaWQ6IHN0cmluZywgcHJvcHM6IEV4dGVuZGVkUmVzb2x2ZXJQcm9wcyk6IFJlc29sdmVyIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvdXJjZXMuZ3JhcGhxbEFwaS5jcmVhdGVSZXNvbHZlcihpZCwgcHJvcHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhbiBhcHBzeW5jIGZ1bmN0aW9uIHRvIHRoZSBhcGkuXG4gICAqIEBwYXJhbSBpZCB0aGUgZnVuY3Rpb24ncyBpZC5cbiAgICogQHJldHVybnMgdGhlIGdlbmVyYXRlZCBhcHBzeW5jIGZ1bmN0aW9uLlxuICAgKi9cbiAgcHVibGljIGFkZEZ1bmN0aW9uKGlkOiBzdHJpbmcsIHByb3BzOiBBZGRGdW5jdGlvblByb3BzKTogQXBwc3luY0Z1bmN0aW9uIHtcbiAgICByZXR1cm4gbmV3IEFwcHN5bmNGdW5jdGlvbih0aGlzLCBpZCwge1xuICAgICAgYXBpOiB0aGlzLnJlc291cmNlcy5ncmFwaHFsQXBpLFxuICAgICAgLi4ucHJvcHMsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -34,5 +34,5 @@ class AmplifyGraphqlDefinition {
34
34
  }
35
35
  exports.AmplifyGraphqlDefinition = AmplifyGraphqlDefinition;
36
36
  _a = JSII_RTTI_SYMBOL_1;
37
- AmplifyGraphqlDefinition[_a] = { fqn: "@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition", version: "1.1.1" };
37
+ AmplifyGraphqlDefinition[_a] = { fqn: "@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition", version: "1.1.2-rds-3.0" };
38
38
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGlmeS1ncmFwaHFsLWRlZmluaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYW1wbGlmeS1ncmFwaHFsLWRlZmluaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5QkFBeUI7QUFDekIseURBQXFEO0FBR3JEOztHQUVHO0FBQ0gsTUFBYSx3QkFBd0I7SUFDbkM7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBYztRQUM5QixPQUFPO1lBQ0wsTUFBTTtZQUNOLGFBQWEsRUFBRSxFQUFFO1NBQ2xCLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxTQUFtQjtRQUNyQyxPQUFPO1lBQ0wsTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksd0JBQVUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUM7WUFDekYsYUFBYSxFQUFFLEVBQUU7U0FDbEIsQ0FBQztJQUNKLENBQUM7O0FBdkJILDREQXdCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIG9zIGZyb20gJ29zJztcbmltcG9ydCB7IFNjaGVtYUZpbGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtYXBwc3luYyc7XG5pbXBvcnQgeyBJQW1wbGlmeUdyYXBocWxEZWZpbml0aW9uIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogQ2xhc3MgZXhwb3NpbmcgdXRpbGl0aWVzIHRvIHByb2R1Y2UgSUFtcGxpZnlHcmFwaHFsRGVmaW5pdGlvbiBvYmplY3RzIGdpdmVuIHZhcmlvdXMgaW5wdXRzLlxuICovXG5leHBvcnQgY2xhc3MgQW1wbGlmeUdyYXBocWxEZWZpbml0aW9uIHtcbiAgLyoqXG4gICAqIFByb2R1Y2UgYSBzY2hlbWEgZGVmaW5pdGlvbiBmcm9tIGEgc3RyaW5nIGlucHV0XG4gICAqIEBwYXJhbSBzY2hlbWEgdGhlIGdyYXBocWwgaW5wdXQgYXMgYSBzdHJpbmdcbiAgICogQHJldHVybnMgYSBmdWxseSBmb3JtZWQgYW1wbGlmeSBncmFwaHFsIGRlZmluaXRpb25cbiAgICovXG4gIHN0YXRpYyBmcm9tU3RyaW5nKHNjaGVtYTogc3RyaW5nKTogSUFtcGxpZnlHcmFwaHFsRGVmaW5pdGlvbiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNjaGVtYSxcbiAgICAgIGZ1bmN0aW9uU2xvdHM6IFtdLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydCBvbmUgb3IgbW9yZSBhcHBzeW5jIFNjaGVtYUZpbGUgb2JqZWN0cyBpbnRvIGFuIEFtcGxpZnkgR3JhcGhxbCBTY2hlbWFcbiAgICogQHBhcmFtIGZpbGVQYXRocyBvbmUgb3IgbW9yZSBwYXRocyB0byB0aGUgZ3JhcGhxbCBmaWxlcyB0byBwcm9jZXNzXG4gICAqIEByZXR1cm5zIGEgZnVsbHkgZm9ybWVkIGFtcGxpZnkgZ3JhcGhxbCBkZWZpbml0aW9uXG4gICAqL1xuICBzdGF0aWMgZnJvbUZpbGVzKC4uLmZpbGVQYXRoczogc3RyaW5nW10pOiBJQW1wbGlmeUdyYXBocWxEZWZpbml0aW9uIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2NoZW1hOiBmaWxlUGF0aHMubWFwKChmaWxlUGF0aCkgPT4gbmV3IFNjaGVtYUZpbGUoeyBmaWxlUGF0aCB9KS5kZWZpbml0aW9uKS5qb2luKG9zLkVPTCksXG4gICAgICBmdW5jdGlvblNsb3RzOiBbXSxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -124,6 +124,10 @@ export class AuthTransformer extends TransformerAuthBase implements TransformerA
124
124
  generateResolvers: (context: TransformerContextProvider) => void;
125
125
  // (undocumented)
126
126
  getRelatedModelObject: (ctx: TransformerContextProvider, typeName: string) => ObjectTypeDefinitionNode;
127
+ // Warning: (ae-forgotten-export) The symbol "AuthVTLGenerator" needs to be exported by the entry point index.d.ts
128
+ //
129
+ // (undocumented)
130
+ getVtlGenerator: (ctx: TransformerContextProvider, typename: string) => AuthVTLGenerator;
127
131
  // (undocumented)
128
132
  object: (def: ObjectTypeDefinitionNode, directive: DirectiveNode, context: TransformerSchemaVisitStepContextProvider) => void;
129
133
  // (undocumented)
@@ -143,7 +147,7 @@ export class AuthTransformer extends TransformerAuthBase implements TransformerA
143
147
  // (undocumented)
144
148
  protectSearchResolver: (ctx: TransformerContextProvider, def: ObjectTypeDefinitionNode, typeName: string, fieldName: string, acm: AccessControlMatrix) => void;
145
149
  // (undocumented)
146
- protectSubscriptionResolver: (ctx: TransformerContextProvider, typeName: string, fieldName: string, subscriptionRoles: Array<RoleDefinition>) => void;
150
+ protectSubscriptionResolver: (ctx: TransformerContextProvider, typeName: string, fieldName: string, subscriptionRoles: Array<RoleDefinition>, def: ObjectTypeDefinitionNode) => void;
147
151
  // (undocumented)
148
152
  protectSyncResolver: (ctx: TransformerContextProvider, def: ObjectTypeDefinitionNode, typeName: string, fieldName: string, acm: AccessControlMatrix) => void;
149
153
  // (undocumented)
@@ -3,6 +3,13 @@
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
+ # [3.2.0-rds-3.0](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-auth-transformer@3.1.5...@aws-amplify/graphql-auth-transformer@3.2.0-rds-3.0) (2023-10-03)
7
+
8
+ ### Features
9
+
10
+ - **api:** refactor auth transformer to use vtl generator factory pattern ([e965d24](https://github.com/aws-amplify/amplify-category-api/commit/e965d24731fc1e2300ef0e16b61af6b39afb0cad))
11
+ - refersTo supports field name mappings on RDS models ([#1865](https://github.com/aws-amplify/amplify-category-api/issues/1865)) ([ee60011](https://github.com/aws-amplify/amplify-category-api/commit/ee60011f5c41d0442e1096dd16d80e94b900745a))
12
+
6
13
  ## [3.1.5](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-auth-transformer@3.1.4...@aws-amplify/graphql-auth-transformer@3.1.5) (2023-10-02)
7
14
 
8
15
  **Note:** Version bump only for package @aws-amplify/graphql-auth-transformer
@@ -3,6 +3,7 @@ import { TransformerTransformSchemaStepContextProvider, TransformerContextProvid
3
3
  import { DirectiveNode, FieldDefinitionNode, ObjectTypeDefinitionNode, InterfaceTypeDefinitionNode } from 'graphql';
4
4
  import { AccessControlMatrix } from './accesscontrol';
5
5
  import { AuthTransformerConfig, RoleDefinition } from './utils';
6
+ import { AuthVTLGenerator } from './vtl-generator/vtl-generator';
6
7
  export declare class AuthTransformer extends TransformerAuthBase implements TransformerAuthProvider {
7
8
  private config;
8
9
  private configuredAuthProviders;
@@ -35,7 +36,7 @@ export declare class AuthTransformer extends TransformerAuthBase implements Tran
35
36
  protectCreateResolver: (ctx: TransformerContextProvider, def: ObjectTypeDefinitionNode, typeName: string, fieldName: string, acm: AccessControlMatrix) => void;
36
37
  protectUpdateResolver: (ctx: TransformerContextProvider, def: ObjectTypeDefinitionNode, typeName: string, fieldName: string, acm: AccessControlMatrix) => void;
37
38
  protectDeleteResolver: (ctx: TransformerContextProvider, def: ObjectTypeDefinitionNode, typeName: string, fieldName: string, acm: AccessControlMatrix) => void;
38
- protectSubscriptionResolver: (ctx: TransformerContextProvider, typeName: string, fieldName: string, subscriptionRoles: Array<RoleDefinition>) => void;
39
+ protectSubscriptionResolver: (ctx: TransformerContextProvider, typeName: string, fieldName: string, subscriptionRoles: Array<RoleDefinition>, def: ObjectTypeDefinitionNode) => void;
39
40
  private convertRulesToRoles;
40
41
  private doesTypeHaveRulesForOperation;
41
42
  private getAuthProviders;
@@ -56,5 +57,6 @@ export declare class AuthTransformer extends TransformerAuthBase implements Tran
56
57
  addAutoGeneratedHasManyFields: (ctx: TransformerContextProvider, typeDefinitions: ObjectTypeDefinitionNode[], def: ObjectTypeDefinitionNode, allowedFields: Set<string>) => void;
57
58
  addAutoGeneratedHasOneFields: (ctx: TransformerContextProvider, typeDefinitions: ObjectTypeDefinitionNode[], fields: readonly string[], def: ObjectTypeDefinitionNode, allowedFields: Set<string>) => void;
58
59
  addAutoGeneratedDataStoreFields: (ctx: TransformerContextProvider, allowedFields: Set<string>) => void;
60
+ getVtlGenerator: (ctx: TransformerContextProvider, typename: string) => AuthVTLGenerator;
59
61
  }
60
62
  //# sourceMappingURL=graphql-auth-transformer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphql-auth-transformer.d.ts","sourceRoot":"","sources":["../src/graphql-auth-transformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphql-auth-transformer.d.ts","sourceRoot":"","sources":["../src/graphql-auth-transformer.ts"],"names":[],"mappings":"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"}
@@ -33,11 +33,11 @@ const graphql_transformer_common_1 = require("graphql-transformer-common");
33
33
  const iam = __importStar(require("aws-cdk-lib/aws-iam"));
34
34
  const cdk = __importStar(require("aws-cdk-lib"));
35
35
  const graphql_relational_transformer_1 = require("@aws-amplify/graphql-relational-transformer");
36
- const resolvers_1 = require("./resolvers");
37
- const field_1 = require("./resolvers/field");
38
36
  const accesscontrol_1 = require("./accesscontrol");
39
37
  const utils_1 = require("./utils");
40
38
  const warnings_1 = require("./utils/warnings");
39
+ const ddb_vtl_generator_1 = require("./vtl-generator/ddb/ddb-vtl-generator");
40
+ const rds_vtl_generator_1 = require("./vtl-generator/rds/rds-vtl-generator");
41
41
  const getReadRolesForField = (acm, readRoles, fieldName) => {
42
42
  const hasCognitoPrivateRole = readRoles.some((r) => r === 'userPools:private') &&
43
43
  acm.isAllowed('userPools:private', fieldName, 'get') &&
@@ -223,7 +223,7 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
223
223
  if (context.metadata.has(indexKeyName)) {
224
224
  context.metadata.get(indexKeyName).forEach((index) => {
225
225
  const [indexName, indexQueryName] = index.split(':');
226
- this.protectListResolver(context, def, def.name.value, indexQueryName, acm, indexName);
226
+ this.protectListResolver(context, def, 'Query', indexQueryName, acm, indexName);
227
227
  });
228
228
  }
229
229
  if (searchableDirective) {
@@ -272,7 +272,7 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
272
272
  const subscriptionFieldNames = (0, utils_1.getSubscriptionFieldNames)(this.modelDirectiveConfig.get(modelName));
273
273
  const subscriptionRoles = acm.getRolesPerOperation('listen').map((role) => this.roleMap.get(role));
274
274
  subscriptionFieldNames.forEach((subscription) => {
275
- this.protectSubscriptionResolver(context, subscription.typeName, subscription.fieldName, subscriptionRoles);
275
+ this.protectSubscriptionResolver(context, subscription.typeName, subscription.fieldName, subscriptionRoles, def);
276
276
  });
277
277
  if (context.transformParameters.useSubUsernameForDefaultIdentityClaim) {
278
278
  const roleDefinitions = acm.getRoles().map((role) => this.roleMap.get(role));
@@ -307,12 +307,12 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
307
307
  this.addFieldResolverForDynamicAuth = (ctx, def, typeName, fieldName) => {
308
308
  let resolver = ctx.resolvers.getResolver(typeName, fieldName);
309
309
  if (resolver) {
310
- resolver.addToSlot('finish', undefined, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString((0, resolvers_1.generateFieldResolverForOwner)(fieldName), `${typeName}.${fieldName}.{slotName}.{slotIndex}.res.vtl`));
310
+ resolver.addToSlot('finish', undefined, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(this.getVtlGenerator(ctx, def.name.value).generateFieldResolverForOwner(fieldName), `${typeName}.${fieldName}.{slotName}.{slotIndex}.res.vtl`));
311
311
  }
312
312
  else {
313
313
  const hasModelDirective = def.directives.some((dir) => dir.name.value === 'model');
314
314
  const scope = (0, utils_1.getScopeForField)(ctx, def, fieldName, hasModelDirective);
315
- resolver = ctx.resolvers.addResolver(typeName, fieldName, new graphql_transformer_core_1.TransformerResolver(typeName, fieldName, graphql_transformer_common_1.ResolverResourceIDs.ResolverResourceID(typeName, fieldName), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString('$util.toJson({"version":"2018-05-29","payload":{}})', `${typeName}.${fieldName}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString((0, resolvers_1.generateFieldResolverForOwner)(fieldName), `${typeName}.${fieldName}.res.vtl`), ['init'], ['finish']));
315
+ resolver = ctx.resolvers.addResolver(typeName, fieldName, new graphql_transformer_core_1.TransformerResolver(typeName, fieldName, graphql_transformer_common_1.ResolverResourceIDs.ResolverResourceID(typeName, fieldName), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString('$util.toJson({"version":"2018-05-29","payload":{}})', `${typeName}.${fieldName}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(this.getVtlGenerator(ctx, def.name.value).generateFieldResolverForOwner(fieldName), `${typeName}.${fieldName}.res.vtl`), ['init'], ['finish']));
316
316
  resolver.setScope(scope);
317
317
  }
318
318
  };
@@ -379,31 +379,14 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
379
379
  var _a;
380
380
  const resolver = ctx.resolvers.getResolver(typeName, fieldName);
381
381
  const roleDefinitions = acm.getRolesPerOperation('get').map((r) => this.roleMap.get(r));
382
- const tableKeySchema = (0, graphql_transformer_core_1.getTable)(ctx, def).keySchema;
383
- const primaryKey = (0, utils_1.getPartitionKey)(tableKeySchema);
384
- const authExpression = (0, resolvers_1.generateAuthExpressionForQueries)(this.configuredAuthProviders, roleDefinitions, (_a = def.fields) !== null && _a !== void 0 ? _a : [], tableKeySchema, false, primaryKey);
382
+ const authExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthExpressionForQueries(ctx, this.configuredAuthProviders, roleDefinitions, (_a = def.fields) !== null && _a !== void 0 ? _a : [], def, undefined);
385
383
  resolver.addToSlot('auth', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(authExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`));
386
384
  };
387
385
  this.protectListResolver = (ctx, def, typeName, fieldName, acm, indexName) => {
388
386
  var _a;
389
387
  const resolver = ctx.resolvers.getResolver(typeName, fieldName);
390
388
  const roleDefinitions = acm.getRolesPerOperation('list').map((r) => this.roleMap.get(r));
391
- let keySchema;
392
- let partitionKey;
393
- const table = (0, graphql_transformer_core_1.getTable)(ctx, def);
394
- try {
395
- if (indexName) {
396
- keySchema = (0, graphql_transformer_core_1.getKeySchema)(table, indexName);
397
- }
398
- else {
399
- keySchema = table.keySchema;
400
- partitionKey = (0, utils_1.getPartitionKey)(table.keySchema);
401
- }
402
- }
403
- catch (err) {
404
- throw new graphql_transformer_core_1.InvalidDirectiveError(`Could not fetch keySchema for ${def.name.value}.`);
405
- }
406
- const authExpression = (0, resolvers_1.generateAuthExpressionForQueries)(this.configuredAuthProviders, roleDefinitions, (_a = def.fields) !== null && _a !== void 0 ? _a : [], keySchema, !!indexName, partitionKey);
389
+ const authExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthExpressionForQueries(ctx, this.configuredAuthProviders, roleDefinitions, (_a = def.fields) !== null && _a !== void 0 ? _a : [], def, indexName);
407
390
  resolver.addToSlot('auth', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(authExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`));
408
391
  };
409
392
  this.protectRelationalResolver = (ctx, def, typeName, field, fieldRoles) => {
@@ -422,17 +405,16 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
422
405
  ...acm.getRolesPerOperation('listen'),
423
406
  ]),
424
407
  ].map((r) => this.roleMap.get(r));
425
- const relationalPrimaryMap = (0, utils_1.getRelationalPrimaryMap)(ctx, def, field, relatedModelObject);
426
- relatedAuthExpression = (0, resolvers_1.generateAuthExpressionForRelationQuery)(this.configuredAuthProviders, roleDefinitions, (_a = relatedModelObject.fields) !== null && _a !== void 0 ? _a : [], relationalPrimaryMap);
408
+ relatedAuthExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthExpressionForRelationQuery(ctx, def, field, relatedModelObject, this.configuredAuthProviders, roleDefinitions, (_a = relatedModelObject.fields) !== null && _a !== void 0 ? _a : []);
427
409
  }
428
410
  else {
429
- relatedAuthExpression = (0, field_1.generateSandboxExpressionForField)(ctx.transformParameters.sandboxModeEnabled);
411
+ relatedAuthExpression = this.getVtlGenerator(ctx, def.name.value).generateSandboxExpressionForField(ctx.transformParameters.sandboxModeEnabled);
430
412
  }
431
413
  if (fieldRoles) {
432
414
  const roleDefinitions = fieldRoles.map((r) => this.roleMap.get(r));
433
415
  const hasSubsEnabled = ((_b = this.modelDirectiveConfig.get(typeName).subscriptions) === null || _b === void 0 ? void 0 : _b.level) === 'on';
434
- relatedAuthExpression = `${(0, resolvers_1.setDeniedFieldFlag)('Mutation', hasSubsEnabled)}\n${relatedAuthExpression}`;
435
- fieldAuthExpression = (0, resolvers_1.generateAuthExpressionForField)(this.configuredAuthProviders, roleDefinitions, (_c = def.fields) !== null && _c !== void 0 ? _c : []);
416
+ relatedAuthExpression = `${this.getVtlGenerator(ctx, def.name.value).setDeniedFieldFlag('Mutation', hasSubsEnabled)}\n${relatedAuthExpression}`;
417
+ fieldAuthExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthExpressionForField(this.configuredAuthProviders, roleDefinitions, (_c = def.fields) !== null && _c !== void 0 ? _c : [], undefined);
436
418
  }
437
419
  const resolver = ctx.resolvers.getResolver(typeName, field.name.value);
438
420
  if (fieldAuthExpression) {
@@ -447,8 +429,7 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
447
429
  if (ctx.isProjectUsingDataStore()) {
448
430
  const resolver = ctx.resolvers.getResolver(typeName, fieldName);
449
431
  const roleDefinitions = acm.getRolesPerOperation('sync').map((r) => this.roleMap.get(r));
450
- const keySchema = (0, graphql_transformer_core_1.getTable)(ctx, def).keySchema;
451
- const authExpression = (0, resolvers_1.generateAuthExpressionForQueries)(this.configuredAuthProviders, roleDefinitions, (_a = def.fields) !== null && _a !== void 0 ? _a : [], keySchema);
432
+ const authExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthExpressionForQueries(ctx, this.configuredAuthProviders, roleDefinitions, (_a = def.fields) !== null && _a !== void 0 ? _a : [], def, undefined);
452
433
  resolver.addToSlot('auth', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(authExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`));
453
434
  }
454
435
  };
@@ -472,7 +453,7 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
472
453
  return roleDefinition;
473
454
  });
474
455
  allowedAggFields.push(...leastAllowedFields);
475
- const authExpression = (0, resolvers_1.generateAuthExpressionForSearchQueries)(this.configuredAuthProviders, readRoleDefinitions, modelFields, allowedAggFields);
456
+ const authExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthExpressionForSearchQueries(this.configuredAuthProviders, readRoleDefinitions, modelFields, allowedAggFields);
476
457
  resolver.addToSlot('auth', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(authExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`));
477
458
  };
478
459
  this.protectFieldResolver = (ctx, def, typeName, fieldName, roles) => {
@@ -482,7 +463,7 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
482
463
  const scope = (0, utils_1.getScopeForField)(ctx, def, fieldName, hasModelDirective);
483
464
  if (ctx.api.host.hasResolver(typeName, fieldName)) {
484
465
  const fieldResolver = ctx.api.host.getResolver(typeName, fieldName);
485
- const fieldAuthExpression = (0, resolvers_1.generateAuthExpressionForField)(this.configuredAuthProviders, roleDefinitions, [], fieldName);
466
+ const fieldAuthExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthExpressionForField(this.configuredAuthProviders, roleDefinitions, [], fieldName);
486
467
  if (!ctx.api.host.hasDataSource(utils_1.NONE_DS)) {
487
468
  ctx.api.host.addNoneDataSource(utils_1.NONE_DS);
488
469
  }
@@ -490,9 +471,9 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
490
471
  fieldResolver.pipelineConfig.functions.unshift(authFunction.functionId);
491
472
  }
492
473
  else {
493
- const fieldAuthExpression = (0, resolvers_1.generateAuthExpressionForField)(this.configuredAuthProviders, roleDefinitions, (_a = def.fields) !== null && _a !== void 0 ? _a : [], fieldName);
474
+ const fieldAuthExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthExpressionForField(this.configuredAuthProviders, roleDefinitions, (_a = def.fields) !== null && _a !== void 0 ? _a : [], fieldName);
494
475
  const subsEnabled = hasModelDirective ? ((_b = this.modelDirectiveConfig.get(typeName).subscriptions) === null || _b === void 0 ? void 0 : _b.level) === 'on' : false;
495
- const fieldResponse = (0, resolvers_1.generateFieldAuthResponse)('Mutation', fieldName, subsEnabled);
476
+ const fieldResponse = this.getVtlGenerator(ctx, def.name.value).generateFieldAuthResponse('Mutation', fieldName, subsEnabled);
496
477
  const resolver = ctx.resolvers.addResolver(typeName, fieldName, new graphql_transformer_core_1.TransformerResolver(typeName, fieldName, graphql_transformer_common_1.ResolverResourceIDs.ResolverResourceID(typeName, fieldName), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(fieldAuthExpression, `${typeName}.${fieldName}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(fieldResponse, `${typeName}.${fieldName}.res.vtl`), ['init'], ['finish']));
497
478
  resolver.setScope(scope);
498
479
  }
@@ -508,7 +489,7 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
508
489
  roleDefinition.allowedFields = this.addAutoGeneratedFields(ctx, def, allowedFields, fields);
509
490
  return roleDefinition;
510
491
  });
511
- const authExpression = (0, resolvers_1.generateAuthExpressionForCreate)(ctx, this.configuredAuthProviders, createRoles, (_a = def.fields) !== null && _a !== void 0 ? _a : []);
492
+ const authExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthExpressionForCreate(ctx, this.configuredAuthProviders, createRoles, (_a = def.fields) !== null && _a !== void 0 ? _a : []);
512
493
  resolver.addToSlot('auth', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(authExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`));
513
494
  };
514
495
  this.protectUpdateResolver = (ctx, def, typeName, fieldName, acm) => {
@@ -526,9 +507,12 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
526
507
  roleDefinition.nullAllowedFields = nullAllowedFields;
527
508
  return roleDefinition;
528
509
  });
529
- const dataSource = ctx.api.host.getDataSource(`${def.name.value}Table`);
530
- const requestExpression = (0, resolvers_1.generateAuthRequestExpression)();
531
- const authExpression = (0, resolvers_1.generateAuthExpressionForUpdate)(this.configuredAuthProviders, totalRoles, (_a = def.fields) !== null && _a !== void 0 ? _a : []);
510
+ const { RDSLambdaDataSourceLogicalID } = graphql_transformer_common_1.ResourceConstants.RESOURCES;
511
+ const dataSource = ((0, graphql_transformer_core_1.isRDSModel)(ctx, def.name.value)
512
+ ? ctx.api.host.getDataSource(RDSLambdaDataSourceLogicalID)
513
+ : ctx.api.host.getDataSource(`${def.name.value}Table`));
514
+ const requestExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthRequestExpression();
515
+ const authExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthExpressionForUpdate(this.configuredAuthProviders, totalRoles, (_a = def.fields) !== null && _a !== void 0 ? _a : []);
532
516
  resolver.addToSlot('auth', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(requestExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(authExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.res.vtl`), dataSource);
533
517
  };
534
518
  this.protectDeleteResolver = (ctx, def, typeName, fieldName, acm) => {
@@ -536,13 +520,13 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
536
520
  const resolver = ctx.resolvers.getResolver(typeName, fieldName);
537
521
  const deleteRoles = acm.getRolesPerOperation('delete', true).map((role) => this.roleMap.get(role));
538
522
  const dataSource = ctx.api.host.getDataSource(`${def.name.value}Table`);
539
- const requestExpression = (0, resolvers_1.generateAuthRequestExpression)();
540
- const authExpression = (0, resolvers_1.generateAuthExpressionForDelete)(this.configuredAuthProviders, deleteRoles, (_a = def.fields) !== null && _a !== void 0 ? _a : []);
523
+ const requestExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthRequestExpression();
524
+ const authExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthExpressionForDelete(this.configuredAuthProviders, deleteRoles, (_a = def.fields) !== null && _a !== void 0 ? _a : []);
541
525
  resolver.addToSlot('auth', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(requestExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(authExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.res.vtl`), dataSource);
542
526
  };
543
- this.protectSubscriptionResolver = (ctx, typeName, fieldName, subscriptionRoles) => {
527
+ this.protectSubscriptionResolver = (ctx, typeName, fieldName, subscriptionRoles, def) => {
544
528
  const resolver = ctx.resolvers.getResolver(typeName, fieldName);
545
- const authExpression = (0, resolvers_1.generateAuthExpressionForSubscriptions)(this.configuredAuthProviders, subscriptionRoles);
529
+ const authExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthExpressionForSubscriptions(this.configuredAuthProviders, subscriptionRoles);
546
530
  resolver.addToSlot('auth', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(authExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`));
547
531
  };
548
532
  this.getRelatedModelObject = (ctx, typeName) => {
@@ -628,6 +612,12 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
628
612
  const dataStoreFields = ctx.isProjectUsingDataStore() ? ['_version', '_deleted', '_lastChangedAt'] : [];
629
613
  dataStoreFields.forEach((item) => allowedFields.add(item));
630
614
  };
615
+ this.getVtlGenerator = (ctx, typename) => {
616
+ if ((0, graphql_transformer_core_1.isRDSModel)(ctx, typename)) {
617
+ return new rds_vtl_generator_1.RDSAuthVTLGenerator();
618
+ }
619
+ return new ddb_vtl_generator_1.DDBAuthVTLGenerator();
620
+ };
631
621
  this.config = config;
632
622
  this.modelDirectiveConfig = new Map();
633
623
  this.seenNonModelTypes = new Map();