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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (358) hide show
  1. package/.jsii +162 -162
  2. package/CHANGELOG.md +7 -1
  3. package/README.md +2 -0
  4. package/lib/amplify-graphql-api.d.ts +4 -0
  5. package/lib/amplify-graphql-api.js +10 -2
  6. package/lib/amplify-graphql-definition.js +1 -1
  7. package/lib/internal/authorization-modes.d.ts +5 -0
  8. package/lib/internal/authorization-modes.js +15 -2
  9. package/lib/types.d.ts +1 -0
  10. package/lib/types.js +1 -1
  11. package/node_modules/@aws-amplify/backend-output-schemas/lib/graphql/index.d.ts +10 -0
  12. package/node_modules/@aws-amplify/backend-output-schemas/lib/graphql/v1.d.ts +10 -0
  13. package/node_modules/@aws-amplify/backend-output-schemas/lib/graphql/v1.js +2 -0
  14. package/node_modules/@aws-amplify/backend-output-schemas/lib/index.d.ts +50 -0
  15. package/node_modules/@aws-amplify/backend-output-schemas/lib/index.js +6 -2
  16. package/node_modules/@aws-amplify/backend-output-schemas/lib/stack/index.d.ts +23 -0
  17. package/node_modules/@aws-amplify/backend-output-schemas/lib/stack/index.js +12 -0
  18. package/node_modules/@aws-amplify/backend-output-schemas/lib/stack/v1.d.ts +22 -0
  19. package/node_modules/@aws-amplify/backend-output-schemas/lib/stack/v1.js +14 -0
  20. package/node_modules/@aws-amplify/backend-output-schemas/package.json +3 -2
  21. package/node_modules/@aws-amplify/backend-output-storage/lib/stack_metadata_output_storage_strategy.d.ts +0 -4
  22. package/node_modules/@aws-amplify/backend-output-storage/lib/stack_metadata_output_storage_strategy.js +1 -13
  23. package/node_modules/@aws-amplify/backend-output-storage/package.json +3 -2
  24. package/node_modules/@aws-amplify/graphql-auth-transformer/API.md +3 -9
  25. package/node_modules/@aws-amplify/graphql-auth-transformer/CHANGELOG.md +9 -4
  26. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.d.ts +1 -3
  27. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.d.ts.map +1 -1
  28. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.js +46 -36
  29. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.js.map +1 -1
  30. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/field.d.ts +1 -1
  31. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/field.d.ts.map +1 -0
  32. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/field.js +2 -2
  33. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/field.js.map +1 -0
  34. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/helpers.d.ts +4 -4
  35. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/helpers.d.ts.map +1 -0
  36. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/helpers.js +9 -10
  37. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/helpers.js.map +1 -0
  38. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/index.d.ts.map +1 -0
  39. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/index.js.map +1 -0
  40. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/mutation.create.d.ts +1 -1
  41. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.create.d.ts.map +1 -0
  42. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/mutation.create.js +6 -6
  43. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.create.js.map +1 -0
  44. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/mutation.delete.d.ts +1 -1
  45. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.delete.d.ts.map +1 -0
  46. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/mutation.delete.js +5 -5
  47. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.delete.js.map +1 -0
  48. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/mutation.update.d.ts +1 -1
  49. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.update.d.ts.map +1 -0
  50. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/mutation.update.js +6 -6
  51. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.update.js.map +1 -0
  52. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/query.d.ts +6 -0
  53. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/query.d.ts.map +1 -0
  54. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/query.js +5 -30
  55. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/query.js.map +1 -0
  56. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/search.d.ts +1 -1
  57. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/search.d.ts.map +1 -0
  58. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/search.js +5 -5
  59. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/search.js.map +1 -0
  60. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/subscriptions.d.ts +1 -1
  61. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/subscriptions.d.ts.map +1 -0
  62. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/subscriptions.js +2 -2
  63. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/subscriptions.js.map +1 -0
  64. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/definitions.d.ts +1 -2
  65. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/definitions.d.ts.map +1 -1
  66. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/definitions.js.map +1 -1
  67. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/iam.d.ts +2 -1
  68. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/iam.d.ts.map +1 -1
  69. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/iam.js +3 -3
  70. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/iam.js.map +1 -1
  71. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/index.d.ts.map +1 -1
  72. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/index.js +1 -2
  73. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/index.js.map +1 -1
  74. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/schema.d.ts.map +1 -1
  75. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/schema.js.map +1 -1
  76. package/node_modules/@aws-amplify/graphql-auth-transformer/package.json +11 -11
  77. package/node_modules/@aws-amplify/graphql-default-value-transformer/CHANGELOG.md +2 -4
  78. package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.d.ts.map +1 -1
  79. package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.js +1 -13
  80. package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.js.map +1 -1
  81. package/node_modules/@aws-amplify/graphql-default-value-transformer/package.json +8 -8
  82. package/node_modules/@aws-amplify/graphql-function-transformer/CHANGELOG.md +1 -1
  83. package/node_modules/@aws-amplify/graphql-function-transformer/package.json +7 -7
  84. package/node_modules/@aws-amplify/graphql-http-transformer/CHANGELOG.md +1 -1
  85. package/node_modules/@aws-amplify/graphql-http-transformer/package.json +7 -7
  86. package/node_modules/@aws-amplify/graphql-index-transformer/CHANGELOG.md +2 -5
  87. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/generators/rds-vtl-generator.d.ts.map +1 -1
  88. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/generators/rds-vtl-generator.js +1 -4
  89. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/generators/rds-vtl-generator.js.map +1 -1
  90. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.d.ts +1 -2
  91. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.d.ts.map +1 -1
  92. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.js +2 -11
  93. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.js.map +1 -1
  94. package/node_modules/@aws-amplify/graphql-index-transformer/package.json +8 -8
  95. package/node_modules/@aws-amplify/graphql-maps-to-transformer/API.md +0 -15
  96. package/node_modules/@aws-amplify/graphql-maps-to-transformer/CHANGELOG.md +2 -9
  97. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/assets/mapping-lambda.zip +0 -0
  98. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.d.ts +0 -1
  99. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.d.ts.map +1 -1
  100. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.js +1 -14
  101. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.js.map +1 -1
  102. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.d.ts +1 -2
  103. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.d.ts.map +1 -1
  104. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.js +33 -16
  105. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.js.map +1 -1
  106. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.d.ts +0 -1
  107. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.d.ts.map +1 -1
  108. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.js +1 -3
  109. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.js.map +1 -1
  110. package/node_modules/@aws-amplify/graphql-maps-to-transformer/package.json +14 -14
  111. package/node_modules/@aws-amplify/graphql-model-transformer/API.md +15 -15
  112. package/node_modules/@aws-amplify/graphql-model-transformer/CHANGELOG.md +2 -13
  113. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-types/mutation.d.ts.map +1 -1
  114. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-types/mutation.js +2 -9
  115. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-types/mutation.js.map +1 -1
  116. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-lambda.zip +0 -0
  117. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-notification-lambda.zip +0 -0
  118. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-patching-lambda.zip +0 -0
  119. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.d.ts +5 -6
  120. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.d.ts.map +1 -1
  121. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.js +5 -5
  122. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.js.map +1 -1
  123. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.d.ts +5 -6
  124. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.d.ts.map +1 -1
  125. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.js +10 -10
  126. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.js.map +1 -1
  127. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/vtl-generator.d.ts +5 -6
  128. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/vtl-generator.d.ts.map +1 -1
  129. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.d.ts +3 -4
  130. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.d.ts.map +1 -1
  131. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.js +55 -71
  132. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.js.map +1 -1
  133. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.d.ts +1 -2
  134. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.d.ts.map +1 -1
  135. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.js +2 -6
  136. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.js.map +1 -1
  137. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.d.ts +3 -8
  138. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.d.ts.map +1 -1
  139. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.js +42 -111
  140. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.js.map +1 -1
  141. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/model-resource-generator.js +5 -5
  142. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/model-resource-generator.js.map +1 -1
  143. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.d.ts +0 -1
  144. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.d.ts.map +1 -1
  145. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.js +0 -24
  146. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.js.map +1 -1
  147. package/node_modules/@aws-amplify/graphql-model-transformer/package.json +9 -9
  148. package/node_modules/@aws-amplify/graphql-predictions-transformer/CHANGELOG.md +1 -1
  149. package/node_modules/@aws-amplify/graphql-predictions-transformer/lib/predictionsLambdaFunction.zip +0 -0
  150. package/node_modules/@aws-amplify/graphql-predictions-transformer/package.json +7 -7
  151. package/node_modules/@aws-amplify/graphql-relational-transformer/CHANGELOG.md +2 -6
  152. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.d.ts.map +1 -1
  153. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.js +9 -41
  154. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.js.map +1 -1
  155. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.d.ts.map +1 -1
  156. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.js +8 -35
  157. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.js.map +1 -1
  158. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.d.ts.map +1 -1
  159. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.js +8 -30
  160. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.js.map +1 -1
  161. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-many-to-many-transformer.d.ts.map +1 -1
  162. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-many-to-many-transformer.js +2 -3
  163. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-many-to-many-transformer.js.map +1 -1
  164. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.d.ts +4 -4
  165. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.d.ts.map +1 -1
  166. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.js +161 -14
  167. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.js.map +1 -1
  168. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/schema.d.ts.map +1 -1
  169. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/schema.js +8 -14
  170. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/schema.js.map +1 -1
  171. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/types.d.ts +0 -4
  172. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/types.d.ts.map +1 -1
  173. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.d.ts +0 -5
  174. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.d.ts.map +1 -1
  175. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.js +1 -85
  176. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.js.map +1 -1
  177. package/node_modules/@aws-amplify/graphql-relational-transformer/package.json +10 -10
  178. package/node_modules/@aws-amplify/graphql-searchable-transformer/CHANGELOG.md +3 -3
  179. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/graphql-searchable-transformer.d.ts.map +1 -1
  180. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/graphql-searchable-transformer.js +0 -3
  181. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/graphql-searchable-transformer.js.map +1 -1
  182. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/streaming-lambda.zip +0 -0
  183. package/node_modules/@aws-amplify/graphql-searchable-transformer/package.json +8 -8
  184. package/node_modules/@aws-amplify/graphql-transformer/API.md +3 -4
  185. package/node_modules/@aws-amplify/graphql-transformer/CHANGELOG.md +4 -6
  186. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.d.ts +3 -4
  187. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.d.ts.map +1 -1
  188. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.js +10 -9
  189. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.js.map +1 -1
  190. package/node_modules/@aws-amplify/graphql-transformer/package.json +14 -15
  191. package/node_modules/@aws-amplify/graphql-transformer/src/graphql-transformer.ts +13 -12
  192. package/node_modules/@aws-amplify/graphql-transformer-core/API.md +2 -11
  193. package/node_modules/@aws-amplify/graphql-transformer-core/CHANGELOG.md +2 -10
  194. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.d.ts +1 -1
  195. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.d.ts.map +1 -1
  196. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.js +1 -4
  197. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.js.map +1 -1
  198. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.d.ts +4 -3
  199. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.d.ts.map +1 -1
  200. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.js +3 -2
  201. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.js.map +1 -1
  202. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/types.d.ts +0 -1
  203. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/types.d.ts.map +1 -1
  204. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.d.ts +4 -5
  205. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.d.ts.map +1 -1
  206. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.js +1 -2
  207. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.js.map +1 -1
  208. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/resolver.d.ts.map +1 -1
  209. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/resolver.js +19 -7
  210. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/resolver.js.map +1 -1
  211. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.d.ts +0 -1
  212. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.d.ts.map +1 -1
  213. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.d.ts +1 -1
  214. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.d.ts.map +1 -1
  215. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.js.map +1 -1
  216. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.d.ts +2 -3
  217. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.d.ts.map +1 -1
  218. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.js +3 -9
  219. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.js.map +1 -1
  220. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-secret-utils.d.ts +2 -0
  221. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-secret-utils.d.ts.map +1 -0
  222. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/{rds-util.js → rds-secret-utils.js} +2 -16
  223. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-secret-utils.js.map +1 -0
  224. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.d.ts +1 -3
  225. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.d.ts.map +1 -1
  226. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.js +1 -7
  227. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.js.map +1 -1
  228. package/node_modules/@aws-amplify/graphql-transformer-core/lib/wrappers/object-definition-wrapper.d.ts +1 -1
  229. package/node_modules/@aws-amplify/graphql-transformer-core/lib/wrappers/object-definition-wrapper.d.ts.map +1 -1
  230. package/node_modules/@aws-amplify/graphql-transformer-core/package.json +4 -4
  231. package/node_modules/@aws-amplify/graphql-transformer-interfaces/API.md +3 -15
  232. package/node_modules/@aws-amplify/graphql-transformer-interfaces/CHANGELOG.md +3 -4
  233. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/graphql-api-provider.d.ts +0 -8
  234. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/graphql-api-provider.d.ts.map +1 -1
  235. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/graphql-api-provider.js.map +1 -1
  236. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/index.d.ts +1 -1
  237. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/index.d.ts.map +1 -1
  238. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/index.js.map +1 -1
  239. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/synth-parameters.d.ts +2 -0
  240. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/synth-parameters.d.ts.map +1 -1
  241. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-context-provider.d.ts +2 -3
  242. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-context-provider.d.ts.map +1 -1
  243. package/node_modules/@aws-amplify/graphql-transformer-interfaces/package.json +2 -2
  244. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/graphql-api-provider.ts +0 -10
  245. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/index.ts +0 -2
  246. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/synth-parameters.ts +2 -0
  247. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/transformer-context-provider.ts +2 -3
  248. package/node_modules/@aws-amplify/graphql-transformer-interfaces/tsconfig.tsbuildinfo +1 -1
  249. package/node_modules/graphql-mapping-template/CHANGELOG.md +0 -4
  250. package/node_modules/graphql-mapping-template/package.json +2 -3
  251. package/node_modules/graphql-transformer-common/API.md +0 -21
  252. package/node_modules/graphql-transformer-common/CHANGELOG.md +0 -11
  253. package/node_modules/graphql-transformer-common/lib/definition.d.ts +2 -9
  254. package/node_modules/graphql-transformer-common/lib/definition.d.ts.map +1 -1
  255. package/node_modules/graphql-transformer-common/lib/definition.js +1 -52
  256. package/node_modules/graphql-transformer-common/lib/definition.js.map +1 -1
  257. package/node_modules/graphql-transformer-common/lib/util.d.ts.map +1 -1
  258. package/node_modules/graphql-transformer-common/lib/util.js +1 -3
  259. package/node_modules/graphql-transformer-common/lib/util.js.map +1 -1
  260. package/node_modules/graphql-transformer-common/package.json +6 -7
  261. package/node_modules/zod/README.md +83 -191
  262. package/node_modules/zod/lib/helpers/parseUtil.js +1 -2
  263. package/node_modules/zod/lib/index.mjs +29 -82
  264. package/node_modules/zod/lib/index.umd.js +28 -82
  265. package/node_modules/zod/lib/types.d.ts +5 -22
  266. package/node_modules/zod/lib/types.js +29 -65
  267. package/node_modules/zod/package.json +15 -29
  268. package/package.json +19 -21
  269. package/src/amplify-graphql-api.ts +17 -0
  270. package/src/internal/authorization-modes.ts +18 -0
  271. package/src/types.ts +1 -0
  272. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.d.ts +0 -20
  273. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.d.ts.map +0 -1
  274. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.js +0 -24
  275. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.js.map +0 -1
  276. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/field.d.ts.map +0 -1
  277. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/field.js.map +0 -1
  278. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/helpers.d.ts.map +0 -1
  279. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/helpers.js.map +0 -1
  280. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/index.d.ts.map +0 -1
  281. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/index.js.map +0 -1
  282. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.create.d.ts.map +0 -1
  283. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.create.js.map +0 -1
  284. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.delete.d.ts.map +0 -1
  285. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.delete.js.map +0 -1
  286. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.update.d.ts.map +0 -1
  287. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.update.js.map +0 -1
  288. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/query.d.ts +0 -6
  289. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/query.d.ts.map +0 -1
  290. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/query.js.map +0 -1
  291. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/search.d.ts.map +0 -1
  292. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/search.js.map +0 -1
  293. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/subscriptions.d.ts.map +0 -1
  294. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/subscriptions.js.map +0 -1
  295. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.d.ts +0 -20
  296. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.d.ts.map +0 -1
  297. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.js +0 -23
  298. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.js.map +0 -1
  299. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.d.ts +0 -2
  300. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.d.ts.map +0 -1
  301. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.js +0 -10
  302. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.js.map +0 -1
  303. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.d.ts +0 -2
  304. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.d.ts.map +0 -1
  305. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.js +0 -18
  306. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.js.map +0 -1
  307. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.d.ts +0 -19
  308. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.d.ts.map +0 -1
  309. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.js +0 -3
  310. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.js.map +0 -1
  311. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.d.ts +0 -10
  312. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.d.ts.map +0 -1
  313. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.js +0 -102
  314. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.js.map +0 -1
  315. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.d.ts +0 -13
  316. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.d.ts.map +0 -1
  317. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.js +0 -82
  318. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.js.map +0 -1
  319. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.d.ts +0 -13
  320. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.d.ts.map +0 -1
  321. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.js +0 -171
  322. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.js.map +0 -1
  323. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.d.ts +0 -4
  324. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.d.ts.map +0 -1
  325. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.js +0 -16
  326. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.js.map +0 -1
  327. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.d.ts +0 -8
  328. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.d.ts.map +0 -1
  329. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.js +0 -7
  330. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.js.map +0 -1
  331. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.d.ts +0 -14
  332. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.d.ts.map +0 -1
  333. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.js +0 -113
  334. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.js.map +0 -1
  335. package/node_modules/@aws-amplify/graphql-sql-transformer/API.md +0 -26
  336. package/node_modules/@aws-amplify/graphql-sql-transformer/CHANGELOG.md +0 -10
  337. package/node_modules/@aws-amplify/graphql-sql-transformer/LICENSE +0 -201
  338. package/node_modules/@aws-amplify/graphql-sql-transformer/README.md +0 -13
  339. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.d.ts +0 -12
  340. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.d.ts.map +0 -1
  341. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.js +0 -122
  342. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.js.map +0 -1
  343. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.d.ts +0 -2
  344. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.d.ts.map +0 -1
  345. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.js +0 -6
  346. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.js.map +0 -1
  347. package/node_modules/@aws-amplify/graphql-sql-transformer/package.json +0 -71
  348. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.d.ts +0 -3
  349. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.d.ts.map +0 -1
  350. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.js +0 -19
  351. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.js.map +0 -1
  352. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.d.ts +0 -7
  353. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.d.ts.map +0 -1
  354. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.js.map +0 -1
  355. package/node_modules/graphql-mapping-template/LICENSE +0 -201
  356. package/node_modules/graphql-transformer-common/LICENSE +0 -201
  357. /package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/index.d.ts +0 -0
  358. /package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/index.js +0 -0
@@ -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");
36
38
  const accesscontrol_1 = require("./accesscontrol");
37
39
  const utils_1 = require("./utils");
38
40
  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, 'Query', indexQueryName, acm, indexName);
226
+ this.protectListResolver(context, def, def.name.value, 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, def);
275
+ this.protectSubscriptionResolver(context, subscription.typeName, subscription.fieldName, subscriptionRoles);
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(this.getVtlGenerator(ctx, def.name.value).generateFieldResolverForOwner(fieldName), `${typeName}.${fieldName}.{slotName}.{slotIndex}.res.vtl`));
310
+ resolver.addToSlot('finish', undefined, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString((0, resolvers_1.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(this.getVtlGenerator(ctx, def.name.value).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((0, resolvers_1.generateFieldResolverForOwner)(fieldName), `${typeName}.${fieldName}.res.vtl`), ['init'], ['finish']));
316
316
  resolver.setScope(scope);
317
317
  }
318
318
  };
@@ -379,14 +379,31 @@ 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 authExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthExpressionForQueries(ctx, this.configuredAuthProviders, roleDefinitions, (_a = def.fields) !== null && _a !== void 0 ? _a : [], def, undefined);
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);
383
385
  resolver.addToSlot('auth', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(authExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`));
384
386
  };
385
387
  this.protectListResolver = (ctx, def, typeName, fieldName, acm, indexName) => {
386
388
  var _a;
387
389
  const resolver = ctx.resolvers.getResolver(typeName, fieldName);
388
390
  const roleDefinitions = acm.getRolesPerOperation('list').map((r) => this.roleMap.get(r));
389
- const authExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthExpressionForQueries(ctx, this.configuredAuthProviders, roleDefinitions, (_a = def.fields) !== null && _a !== void 0 ? _a : [], def, indexName);
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);
390
407
  resolver.addToSlot('auth', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(authExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`));
391
408
  };
392
409
  this.protectRelationalResolver = (ctx, def, typeName, field, fieldRoles) => {
@@ -405,16 +422,17 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
405
422
  ...acm.getRolesPerOperation('listen'),
406
423
  ]),
407
424
  ].map((r) => this.roleMap.get(r));
408
- relatedAuthExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthExpressionForRelationQuery(ctx, def, field, relatedModelObject, this.configuredAuthProviders, roleDefinitions, (_a = relatedModelObject.fields) !== null && _a !== void 0 ? _a : []);
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);
409
427
  }
410
428
  else {
411
- relatedAuthExpression = this.getVtlGenerator(ctx, def.name.value).generateSandboxExpressionForField(ctx.transformParameters.sandboxModeEnabled);
429
+ relatedAuthExpression = (0, field_1.generateSandboxExpressionForField)(ctx.transformParameters.sandboxModeEnabled);
412
430
  }
413
431
  if (fieldRoles) {
414
432
  const roleDefinitions = fieldRoles.map((r) => this.roleMap.get(r));
415
433
  const hasSubsEnabled = ((_b = this.modelDirectiveConfig.get(typeName).subscriptions) === null || _b === void 0 ? void 0 : _b.level) === 'on';
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);
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 : []);
418
436
  }
419
437
  const resolver = ctx.resolvers.getResolver(typeName, field.name.value);
420
438
  if (fieldAuthExpression) {
@@ -429,7 +447,8 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
429
447
  if (ctx.isProjectUsingDataStore()) {
430
448
  const resolver = ctx.resolvers.getResolver(typeName, fieldName);
431
449
  const roleDefinitions = acm.getRolesPerOperation('sync').map((r) => this.roleMap.get(r));
432
- const authExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthExpressionForQueries(ctx, this.configuredAuthProviders, roleDefinitions, (_a = def.fields) !== null && _a !== void 0 ? _a : [], def, undefined);
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);
433
452
  resolver.addToSlot('auth', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(authExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`));
434
453
  }
435
454
  };
@@ -453,7 +472,7 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
453
472
  return roleDefinition;
454
473
  });
455
474
  allowedAggFields.push(...leastAllowedFields);
456
- const authExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthExpressionForSearchQueries(this.configuredAuthProviders, readRoleDefinitions, modelFields, allowedAggFields);
475
+ const authExpression = (0, resolvers_1.generateAuthExpressionForSearchQueries)(this.configuredAuthProviders, readRoleDefinitions, modelFields, allowedAggFields);
457
476
  resolver.addToSlot('auth', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(authExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`));
458
477
  };
459
478
  this.protectFieldResolver = (ctx, def, typeName, fieldName, roles) => {
@@ -463,7 +482,7 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
463
482
  const scope = (0, utils_1.getScopeForField)(ctx, def, fieldName, hasModelDirective);
464
483
  if (ctx.api.host.hasResolver(typeName, fieldName)) {
465
484
  const fieldResolver = ctx.api.host.getResolver(typeName, fieldName);
466
- const fieldAuthExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthExpressionForField(this.configuredAuthProviders, roleDefinitions, [], fieldName);
485
+ const fieldAuthExpression = (0, resolvers_1.generateAuthExpressionForField)(this.configuredAuthProviders, roleDefinitions, [], fieldName);
467
486
  if (!ctx.api.host.hasDataSource(utils_1.NONE_DS)) {
468
487
  ctx.api.host.addNoneDataSource(utils_1.NONE_DS);
469
488
  }
@@ -471,9 +490,9 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
471
490
  fieldResolver.pipelineConfig.functions.unshift(authFunction.functionId);
472
491
  }
473
492
  else {
474
- const fieldAuthExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthExpressionForField(this.configuredAuthProviders, roleDefinitions, (_a = def.fields) !== null && _a !== void 0 ? _a : [], fieldName);
493
+ const fieldAuthExpression = (0, resolvers_1.generateAuthExpressionForField)(this.configuredAuthProviders, roleDefinitions, (_a = def.fields) !== null && _a !== void 0 ? _a : [], fieldName);
475
494
  const subsEnabled = hasModelDirective ? ((_b = this.modelDirectiveConfig.get(typeName).subscriptions) === null || _b === void 0 ? void 0 : _b.level) === 'on' : false;
476
- const fieldResponse = this.getVtlGenerator(ctx, def.name.value).generateFieldAuthResponse('Mutation', fieldName, subsEnabled);
495
+ const fieldResponse = (0, resolvers_1.generateFieldAuthResponse)('Mutation', fieldName, subsEnabled);
477
496
  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']));
478
497
  resolver.setScope(scope);
479
498
  }
@@ -489,7 +508,7 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
489
508
  roleDefinition.allowedFields = this.addAutoGeneratedFields(ctx, def, allowedFields, fields);
490
509
  return roleDefinition;
491
510
  });
492
- const authExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthExpressionForCreate(ctx, this.configuredAuthProviders, createRoles, (_a = def.fields) !== null && _a !== void 0 ? _a : []);
511
+ const authExpression = (0, resolvers_1.generateAuthExpressionForCreate)(ctx, this.configuredAuthProviders, createRoles, (_a = def.fields) !== null && _a !== void 0 ? _a : []);
493
512
  resolver.addToSlot('auth', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(authExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`));
494
513
  };
495
514
  this.protectUpdateResolver = (ctx, def, typeName, fieldName, acm) => {
@@ -507,12 +526,9 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
507
526
  roleDefinition.nullAllowedFields = nullAllowedFields;
508
527
  return roleDefinition;
509
528
  });
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 : []);
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 : []);
516
532
  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);
517
533
  };
518
534
  this.protectDeleteResolver = (ctx, def, typeName, fieldName, acm) => {
@@ -520,13 +536,13 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
520
536
  const resolver = ctx.resolvers.getResolver(typeName, fieldName);
521
537
  const deleteRoles = acm.getRolesPerOperation('delete', true).map((role) => this.roleMap.get(role));
522
538
  const dataSource = ctx.api.host.getDataSource(`${def.name.value}Table`);
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 : []);
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 : []);
525
541
  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);
526
542
  };
527
- this.protectSubscriptionResolver = (ctx, typeName, fieldName, subscriptionRoles, def) => {
543
+ this.protectSubscriptionResolver = (ctx, typeName, fieldName, subscriptionRoles) => {
528
544
  const resolver = ctx.resolvers.getResolver(typeName, fieldName);
529
- const authExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthExpressionForSubscriptions(this.configuredAuthProviders, subscriptionRoles);
545
+ const authExpression = (0, resolvers_1.generateAuthExpressionForSubscriptions)(this.configuredAuthProviders, subscriptionRoles);
530
546
  resolver.addToSlot('auth', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(authExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`));
531
547
  };
532
548
  this.getRelatedModelObject = (ctx, typeName) => {
@@ -612,12 +628,6 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
612
628
  const dataStoreFields = ctx.isProjectUsingDataStore() ? ['_version', '_deleted', '_lastChangedAt'] : [];
613
629
  dataStoreFields.forEach((item) => allowedFields.add(item));
614
630
  };
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
- };
621
631
  this.config = config;
622
632
  this.modelDirectiveConfig = new Map();
623
633
  this.seenNonModelTypes = new Map();
@@ -816,7 +826,7 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
816
826
  }
817
827
  else {
818
828
  const authRole = ctx.synthParameters.authenticatedUserRoleName;
819
- const authPolicyDocuments = (0, utils_1.createPolicyDocumentForManagedPolicy)(this.authPolicyResources);
829
+ const authPolicyDocuments = (0, utils_1.createPolicyDocumentForManagedPolicy)(ctx, this.authPolicyResources);
820
830
  const { scope } = ctx.stackManager;
821
831
  const iamAuthRoleArn = iam.Role.fromRoleArn(scope, 'auth-role-name', `arn:aws:iam::${cdk.Stack.of(scope).account}:role/${authRole}`);
822
832
  authPolicyDocuments.forEach((authPolicyDocument, i) => {
@@ -834,7 +844,7 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
834
844
  throw new graphql_transformer_core_1.TransformerContractError('UnauthRole policies should be generated, but no resources were added');
835
845
  }
836
846
  const unauthRole = ctx.synthParameters.unauthenticatedUserRoleName;
837
- const unauthPolicyDocuments = (0, utils_1.createPolicyDocumentForManagedPolicy)(this.unauthPolicyResources);
847
+ const unauthPolicyDocuments = (0, utils_1.createPolicyDocumentForManagedPolicy)(ctx, this.unauthPolicyResources);
838
848
  const { scope } = ctx.stackManager;
839
849
  const iamUnauthRoleArn = iam.Role.fromRoleArn(scope, 'unauth-role-name', `arn:aws:iam::${cdk.Stack.of(scope).account}:role/${unauthRole}`);
840
850
  unauthPolicyDocuments.forEach((unauthPolicyDocument, i) => {
@@ -1 +1 @@
1
- {"version":3,"file":"graphql-auth-transformer.js","sourceRoot":"","sources":["../src/graphql-auth-transformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphql-auth-transformer.js","sourceRoot":"","sources":["../src/graphql-auth-transformer.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { FieldDefinitionNode } from 'graphql';
2
- import { RoleDefinition, ConfiguredAuthProviders } from '../../../utils';
2
+ import { RoleDefinition, ConfiguredAuthProviders } from '../utils';
3
3
  export declare const generateAuthExpressionForField: (providers: ConfiguredAuthProviders, roles: Array<RoleDefinition>, fields: ReadonlyArray<FieldDefinitionNode>, fieldName?: string) => string;
4
4
  export declare const generateFieldAuthResponse: (operation: string, fieldName: string, subscriptionsEnabled: boolean) => string;
5
5
  export declare const setDeniedFieldFlag: (operation: string, subscriptionsEnabled: boolean) => string;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../src/resolvers/field.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAwB9C,OAAO,EACL,cAAc,EAId,uBAAuB,EAIxB,MAAM,UAAU,CAAC;AA6FlB,eAAO,MAAM,8BAA8B,cAC9B,uBAAuB,SAC3B,MAAM,cAAc,CAAC,UACpB,cAAc,mBAAmB,CAAC,cAC/B,MAAM,KAChB,MAqCF,CAAC;AAKF,eAAO,MAAM,yBAAyB,cAAe,MAAM,aAAa,MAAM,wBAAwB,OAAO,KAAG,MAU/G,CAAC;AAKF,eAAO,MAAM,kBAAkB,cAAe,MAAM,wBAAwB,OAAO,KAAG,MAYrF,CAAC;AAKF,eAAO,MAAM,iCAAiC,mBAAoB,OAAO,KAAG,MAK3E,CAAC"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateSandboxExpressionForField = exports.setDeniedFieldFlag = exports.generateFieldAuthResponse = exports.generateAuthExpressionForField = void 0;
4
4
  const graphql_model_transformer_1 = require("@aws-amplify/graphql-model-transformer");
5
5
  const graphql_mapping_template_1 = require("graphql-mapping-template");
6
- const utils_1 = require("../../../utils");
6
+ const utils_1 = require("../utils");
7
7
  const helpers_1 = require("./helpers");
8
8
  const generateDynamicAuthReadExpression = (roles, fields) => {
9
9
  const ownerExpressions = new Array();
@@ -60,7 +60,7 @@ const generateAuthExpressionForField = (providers, roles, fields, fieldName = un
60
60
  totalAuthExpressions.push((0, helpers_1.lambdaExpression)(lambdaRoles));
61
61
  }
62
62
  if (providers.hasIAM) {
63
- totalAuthExpressions.push((0, helpers_1.iamExpression)(iamRoles, providers.hasAdminRolesEnabled, providers.adminRoles, providers.identityPoolId, fieldName));
63
+ totalAuthExpressions.push((0, helpers_1.iamExpression)(iamRoles, providers.hasAdminRolesEnabled, providers.hasIdentityPoolId, fieldName));
64
64
  }
65
65
  if (providers.hasUserPools) {
66
66
  totalAuthExpressions.push((0, graphql_mapping_template_1.iff)((0, graphql_mapping_template_1.equals)((0, graphql_mapping_template_1.ref)('util.authType()'), (0, graphql_mapping_template_1.str)(utils_1.COGNITO_AUTH_TYPE)), (0, graphql_mapping_template_1.compoundExpression)([
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field.js","sourceRoot":"","sources":["../../src/resolvers/field.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,16 @@
1
1
  import { Expression } from 'graphql-mapping-template';
2
- import { RoleDefinition } from '../../../utils';
2
+ import { RoleDefinition } from '../utils';
3
3
  export declare const setHasAuthExpression: Expression;
4
4
  export declare const getInputFields: () => Expression;
5
5
  export declare const getIdentityClaimExp: (value: Expression, defaultValueExp: Expression) => Expression;
6
- export declare const iamCheck: (claim: string, exp: Expression, identityPoolId?: string) => Expression;
6
+ export declare const iamCheck: (claim: string, exp: Expression, hasIdentityPoolId: boolean) => Expression;
7
7
  export declare const getOwnerClaim: (ownerClaim: string) => Expression;
8
8
  export declare const responseCheckForErrors: () => Expression;
9
9
  export declare const generateStaticRoleExpression: (roles: Array<RoleDefinition>) => Array<Expression>;
10
10
  export declare const apiKeyExpression: (roles: Array<RoleDefinition>) => Expression;
11
11
  export declare const lambdaExpression: (roles: Array<RoleDefinition>) => Expression;
12
- export declare const iamExpression: (roles: Array<RoleDefinition>, adminRolesEnabled: boolean, adminRoles?: Array<string>, identityPoolId?: string, fieldName?: string) => Expression;
13
- export declare const iamAdminRoleCheckExpression: (adminRoles: Array<string>, fieldName?: string, adminCheckExpression?: Expression) => Expression;
12
+ export declare const iamExpression: (roles: Array<RoleDefinition>, adminRolesEnabled: boolean, hasIdentityPoolId: boolean, fieldName?: string) => Expression;
13
+ export declare const iamAdminRoleCheckExpression: (fieldName?: string, adminCheckExpression?: Expression) => Expression;
14
14
  export declare const generateAuthRequestExpression: () => string;
15
15
  export declare const emptyPayload: import("graphql-mapping-template").ToJsonNode;
16
16
  export declare const generateOwnerClaimListExpression: (claim: string, refName: string) => Expression;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/resolvers/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EAsBX,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAEL,cAAc,EAOf,MAAM,UAAU,CAAC;AAGlB,eAAO,MAAM,oBAAoB,EAAE,UAA+E,CAAC;AAMnH,eAAO,MAAM,cAAc,QAAO,UAC0F,CAAC;AAK7H,eAAO,MAAM,mBAAmB,UAAW,UAAU,mBAAmB,UAAU,KAAG,UACsB,CAAC;AAK5G,eAAO,MAAM,QAAQ,UAAW,MAAM,OAAO,UAAU,qBAAqB,OAAO,KAAG,UAerF,CAAC;AAcF,eAAO,MAAM,aAAa,eAAgB,MAAM,KAAG,UAKlD,CAAC;AAKF,eAAO,MAAM,sBAAsB,QAAO,UAC6D,CAAC;AAOxG,eAAO,MAAM,4BAA4B,UAAW,MAAM,cAAc,CAAC,KAAG,MAAM,UAAU,CAyB3F,CAAC;AAKF,eAAO,MAAM,gBAAgB,UAAW,MAAM,cAAc,CAAC,KAAG,UAI7D,CAAC;AAKJ,eAAO,MAAM,gBAAgB,UAAW,MAAM,cAAc,CAAC,KAAG,UAI7D,CAAC;AAKJ,eAAO,MAAM,aAAa,UACjB,MAAM,cAAc,CAAC,qBACT,OAAO,qBACP,OAAO,cACf,MAAM,KAChB,UAgBF,CAAC;AAKF,eAAO,MAAM,2BAA2B,eAAgB,MAAM,yBAAyB,UAAU,KAAG,UAenG,CAAC;AAMF,eAAO,MAAM,6BAA6B,QAAO,MAYhD,CAAC;AAEF,eAAO,MAAM,YAAY,+CAAsE,CAAC;AAKhG,eAAO,MAAM,gCAAgC,UAAW,MAAM,WAAW,MAAM,KAAG,UAWjF,CAAC;AAKF,eAAO,MAAM,4BAA4B,eAAgB,MAAM,WAAW,MAAM,KAAG,UAmBlF,CAAC;AAKF,eAAO,MAAM,iCAAiC,eAAgB,MAAM,WAAW,MAAM,KAAG,UAAU,GAAG,SAQpG,CAAC;AAKF,eAAO,MAAM,8BAA8B,eAAgB,MAAM,WAAW,MAAM,KAAG,UAapF,CAAC;AAKF,eAAO,MAAM,0BAA0B,aAC3B,MAAM,eACH,MAAM,aACR,MAAM,gBACH,OAAO,qBACF,OAAO,qBACP,MAAM,2BACA,MAAM,KAC9B,UAiBF,CAAC;AAEF,eAAO,MAAM,sBAAsB,qBAAsB,MAAM,aAAa,MAAM,0BAAsB,UAKrG,CAAC;AAEJ,eAAO,MAAM,sBAAsB,eAAgB,MAAM,WAAW,MAAM,KAAG,MAgB5E,CAAC;AAKF,eAAO,MAAM,6BAA6B,WAAY,MAAM,KAAG,MA2B9D,CAAC"}