@marlonjd/graphql-relational-transformer-stack-limits 3.1.13-stack-limits.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/API.md +97 -0
  2. package/CHANGELOG.md +807 -0
  3. package/README.md +43 -0
  4. package/jest.config.js +12 -0
  5. package/lib/belongs-to/belongs-to-directive-ddb-fields-transformer.d.ts +11 -0
  6. package/lib/belongs-to/belongs-to-directive-ddb-fields-transformer.d.ts.map +1 -0
  7. package/lib/belongs-to/belongs-to-directive-ddb-fields-transformer.js +37 -0
  8. package/lib/belongs-to/belongs-to-directive-ddb-fields-transformer.js.map +1 -0
  9. package/lib/belongs-to/belongs-to-directive-ddb-references-transformer.d.ts +11 -0
  10. package/lib/belongs-to/belongs-to-directive-ddb-references-transformer.d.ts.map +1 -0
  11. package/lib/belongs-to/belongs-to-directive-ddb-references-transformer.js +37 -0
  12. package/lib/belongs-to/belongs-to-directive-ddb-references-transformer.js.map +1 -0
  13. package/lib/belongs-to/belongs-to-directive-sql-transformer.d.ts +11 -0
  14. package/lib/belongs-to/belongs-to-directive-sql-transformer.d.ts.map +1 -0
  15. package/lib/belongs-to/belongs-to-directive-sql-transformer.js +32 -0
  16. package/lib/belongs-to/belongs-to-directive-sql-transformer.js.map +1 -0
  17. package/lib/belongs-to/belongs-to-directive-transformer-factory.d.ts +5 -0
  18. package/lib/belongs-to/belongs-to-directive-transformer-factory.d.ts.map +1 -0
  19. package/lib/belongs-to/belongs-to-directive-transformer-factory.js +32 -0
  20. package/lib/belongs-to/belongs-to-directive-transformer-factory.js.map +1 -0
  21. package/lib/data-source-based-directive-transformer.d.ts +11 -0
  22. package/lib/data-source-based-directive-transformer.d.ts.map +1 -0
  23. package/lib/data-source-based-directive-transformer.js +3 -0
  24. package/lib/data-source-based-directive-transformer.js.map +1 -0
  25. package/lib/graphql-belongs-to-transformer.d.ts +13 -0
  26. package/lib/graphql-belongs-to-transformer.d.ts.map +1 -0
  27. package/lib/graphql-belongs-to-transformer.js +139 -0
  28. package/lib/graphql-belongs-to-transformer.js.map +1 -0
  29. package/lib/graphql-has-many-transformer.d.ts +13 -0
  30. package/lib/graphql-has-many-transformer.d.ts.map +1 -0
  31. package/lib/graphql-has-many-transformer.js +120 -0
  32. package/lib/graphql-has-many-transformer.js.map +1 -0
  33. package/lib/graphql-has-one-transformer.d.ts +13 -0
  34. package/lib/graphql-has-one-transformer.d.ts.map +1 -0
  35. package/lib/graphql-has-one-transformer.js +132 -0
  36. package/lib/graphql-has-one-transformer.js.map +1 -0
  37. package/lib/graphql-many-to-many-transformer.d.ts +22 -0
  38. package/lib/graphql-many-to-many-transformer.d.ts.map +1 -0
  39. package/lib/graphql-many-to-many-transformer.js +384 -0
  40. package/lib/graphql-many-to-many-transformer.js.map +1 -0
  41. package/lib/has-many/has-many-directive-ddb-fields-transformer.d.ts +11 -0
  42. package/lib/has-many/has-many-directive-ddb-fields-transformer.d.ts.map +1 -0
  43. package/lib/has-many/has-many-directive-ddb-fields-transformer.js +36 -0
  44. package/lib/has-many/has-many-directive-ddb-fields-transformer.js.map +1 -0
  45. package/lib/has-many/has-many-directive-ddb-references-transformer.d.ts +11 -0
  46. package/lib/has-many/has-many-directive-ddb-references-transformer.d.ts.map +1 -0
  47. package/lib/has-many/has-many-directive-ddb-references-transformer.js +52 -0
  48. package/lib/has-many/has-many-directive-ddb-references-transformer.js.map +1 -0
  49. package/lib/has-many/has-many-directive-sql-transformer.d.ts +11 -0
  50. package/lib/has-many/has-many-directive-sql-transformer.d.ts.map +1 -0
  51. package/lib/has-many/has-many-directive-sql-transformer.js +32 -0
  52. package/lib/has-many/has-many-directive-sql-transformer.js.map +1 -0
  53. package/lib/has-many/has-many-directive-transformer-factory.d.ts +5 -0
  54. package/lib/has-many/has-many-directive-transformer-factory.d.ts.map +1 -0
  55. package/lib/has-many/has-many-directive-transformer-factory.js +32 -0
  56. package/lib/has-many/has-many-directive-transformer-factory.js.map +1 -0
  57. package/lib/has-one/has-one-directive-ddb-fields-transformer.d.ts +11 -0
  58. package/lib/has-one/has-one-directive-ddb-fields-transformer.d.ts.map +1 -0
  59. package/lib/has-one/has-one-directive-ddb-fields-transformer.js +34 -0
  60. package/lib/has-one/has-one-directive-ddb-fields-transformer.js.map +1 -0
  61. package/lib/has-one/has-one-directive-ddb-references-transformer.d.ts +11 -0
  62. package/lib/has-one/has-one-directive-ddb-references-transformer.d.ts.map +1 -0
  63. package/lib/has-one/has-one-directive-ddb-references-transformer.js +52 -0
  64. package/lib/has-one/has-one-directive-ddb-references-transformer.js.map +1 -0
  65. package/lib/has-one/has-one-directive-sql-transformer.d.ts +11 -0
  66. package/lib/has-one/has-one-directive-sql-transformer.d.ts.map +1 -0
  67. package/lib/has-one/has-one-directive-sql-transformer.js +32 -0
  68. package/lib/has-one/has-one-directive-sql-transformer.js.map +1 -0
  69. package/lib/has-one/has-one-directive-transformer-factory.d.ts +5 -0
  70. package/lib/has-one/has-one-directive-transformer-factory.d.ts.map +1 -0
  71. package/lib/has-one/has-one-directive-transformer-factory.js +32 -0
  72. package/lib/has-one/has-one-directive-transformer-factory.js.map +1 -0
  73. package/lib/index.d.ts +6 -0
  74. package/lib/index.d.ts.map +1 -0
  75. package/lib/index.js +16 -0
  76. package/lib/index.js.map +1 -0
  77. package/lib/resolver/ddb-generator.d.ts +14 -0
  78. package/lib/resolver/ddb-generator.d.ts.map +1 -0
  79. package/lib/resolver/ddb-generator.js +188 -0
  80. package/lib/resolver/ddb-generator.js.map +1 -0
  81. package/lib/resolver/ddb-references-generator.d.ts +11 -0
  82. package/lib/resolver/ddb-references-generator.d.ts.map +1 -0
  83. package/lib/resolver/ddb-references-generator.js +216 -0
  84. package/lib/resolver/ddb-references-generator.js.map +1 -0
  85. package/lib/resolver/generator-factory.d.ts +4 -0
  86. package/lib/resolver/generator-factory.d.ts.map +1 -0
  87. package/lib/resolver/generator-factory.js +18 -0
  88. package/lib/resolver/generator-factory.js.map +1 -0
  89. package/lib/resolver/generator.d.ts +8 -0
  90. package/lib/resolver/generator.d.ts.map +1 -0
  91. package/lib/resolver/generator.js +7 -0
  92. package/lib/resolver/generator.js.map +1 -0
  93. package/lib/resolver/rds-generator.d.ts +16 -0
  94. package/lib/resolver/rds-generator.d.ts.map +1 -0
  95. package/lib/resolver/rds-generator.js +148 -0
  96. package/lib/resolver/rds-generator.js.map +1 -0
  97. package/lib/resolvers.d.ts +8 -0
  98. package/lib/resolvers.d.ts.map +1 -0
  99. package/lib/resolvers.js +246 -0
  100. package/lib/resolvers.js.map +1 -0
  101. package/lib/schema.d.ts +15 -0
  102. package/lib/schema.d.ts.map +1 -0
  103. package/lib/schema.js +379 -0
  104. package/lib/schema.js.map +1 -0
  105. package/lib/types.d.ts +79 -0
  106. package/lib/types.d.ts.map +1 -0
  107. package/lib/types.js +3 -0
  108. package/lib/types.js.map +1 -0
  109. package/lib/utils.d.ts +43 -0
  110. package/lib/utils.d.ts.map +1 -0
  111. package/lib/utils.js +465 -0
  112. package/lib/utils.js.map +1 -0
  113. package/package.json +49 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ddb-generator.js","sourceRoot":"","sources":["../../src/resolver/ddb-generator.ts"],"names":[],"mappings":";;;AAAA,oFAAmI;AAEnI,uEA0BkC;AAClC,2EASoC;AAEpC,sFAAuE;AAEvE,4CAAgD;AAChD,2CAA0D;AAE1D,MAAM,cAAc,GAAG,cAAc,CAAC;AACtC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AAC3C,MAAM,UAAU,GAAG,IAAA,8BAAG,EAAC,sBAAsB,CAAC,CAAC;AAC/C,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AAEhD,MAAa,8BAA+B,SAAQ,uCAA2B;IAA/E;;QACE,mBAAc,GAAG,CAAC,SAAgB,EAAE,oBAA8B,EAAc,EAAE;YAChF,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,oBAAoB,CAAC,CAAC,CAAC,EAAE;gBAC3C,IAAI,qBAAqB,CAAC;gBAE1B,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;oBACnC,MAAM,cAAc,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAErD,qBAAqB,GAAG,cAAc;yBACnC,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,cAAc,GAAG,GAAG,GAAG,CAAC;yBACrD,IAAI,CAAC,6CAAgB,CAAC,0BAA0B,EAAE,CAAC,CAAC;iBACxD;gBAED,OAAO,IAAA,8BAAG,EAAC;oBACT,UAAU,EAAE,IAAA,8BAAG,EAAC,uDAAuD,CAAC;oBACxE,eAAe,EAAE,IAAA,8BAAG,EAAC;wBACnB,eAAe,EAAE,IAAA,8BAAG,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;wBAChD,UAAU,EAAE,IAAA,8BAAG,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;qBAC5C,CAAC;oBACF,gBAAgB,EAAE,IAAA,8BAAG,EAAC;wBACpB,eAAe,EAAE,IAAA,8BAAG,EAAC,6BAA6B,mBAAmB,GAAG,CAAC;wBACzE,UAAU,EAAE,IAAA,8BAAG,EAAC,4BAA4B,qBAAqB,CAAC,CAAC,CAAC,IAAI,qBAAqB,GAAG,CAAC,CAAC,CAAC,IAAI,cAAc,GAAG,GAAG,CAAC;qBAC7H,CAAC;iBACH,CAAC,CAAC;aACJ;YAED,OAAO,IAAA,8BAAG,EAAC;gBACT,UAAU,EAAE,IAAA,8BAAG,EAAC,+BAA+B,CAAC;gBAChD,eAAe,EAAE,IAAA,8BAAG,EAAC;oBACnB,eAAe,EAAE,IAAA,8BAAG,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;iBACjD,CAAC;gBACF,gBAAgB,EAAE,IAAA,8BAAG,EAAC;oBACpB,eAAe,EAAE,IAAA,8BAAG,EAAC,6BAA6B,mBAAmB,GAAG,CAAC;iBAC1E,CAAC;aACH,CAAC,CAAC;QACL,CAAC,CAAC;QAOF,iDAA4C,GAAG,CAAC,MAAqC,EAAE,GAA+B,EAAQ,EAAE;YAC9H,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;YAC1F,MAAM,oBAAoB,GAAa,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;YACrF,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE;gBACrC,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;aAClF;YACD,MAAM,KAAK,GAAG,IAAA,mCAAQ,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YACzC,MAAM,cAAc,GAAG,IAAA,4DAAiC,EAAC,GAAG,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtF,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;YAC9D,MAAM,SAAS,GAAG,IAAA,uCAAY,EAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YACjD,MAAM,KAAK,GAAiB;gBAC1B,IAAA,8BAAG,EAAC,IAAA,8BAAG,EAAC,OAAO,CAAC,EAAE,IAAA,8BAAG,EAAC,2CAA2C,KAAK,GAAG,CAAC,CAAC;gBAC3E,GAAG,oBAAoB;qBACpB,KAAK,CAAC,CAAC,CAAC;qBACR,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CACf,IAAA,8BAAG,EACD,IAAA,8BAAG,EAAC,GAAG,cAAc,GAAG,GAAG,EAAE,CAAC,EAC9B,IAAA,qCAAU,EAAC,IAAA,8BAAG,EAAC,oBAAoB,CAAC,EAAE,IAAA,8BAAG,EAAC,sCAAsC,EAAE,IAAI,CAAC,EAAE,IAAA,8BAAG,EAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAClH,CACF;gBACH,IAAA,8BAAG,EAAC,IAAA,8BAAG,EAAC,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;aACxE,CAAC;YAIF,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE;gBAC5C,MAAM,gBAAgB,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;gBACpD,MAAM,YAAY,GAAG,WAAW,CAAC,MAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,gBAAgB,CAAC,CAAC;gBAExF,IAAI,YAAY,EAAE;oBAChB,KAAK,CAAC,IAAI,CAAC,IAAA,wDAA2B,EAAC,gBAAgB,EAAE,IAAA,oDAAuB,EAAC,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;iBAChH;qBAAM;oBACL,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,KAAK,CAAC,6CAAgB,CAAC,0BAA0B,EAAE,CAAC,CAAC;oBAEhG,KAAK,CAAC,IAAI,CAAC,IAAA,iEAAoC,EAAC,iBAAiB,EAAE,OAAO,EAAE,IAAA,wCAAW,EAAC,iBAAiB,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC;iBAChI;aACF;YAED,KAAK,CAAC,IAAI,CACR,oCAAO,EACP,IAAA,iCAAM,EACJ,IAAA,8BAAG,EAAC,IAAA,wCAAa,EAAC,UAAU,CAAC,CAAC,EAC9B,IAAA,6CAAkB,EAAC;gBACjB,IAAA,8BAAG,EAAC,IAAA,8BAAG,EAAC,QAAQ,CAAC,EAAE,UAAU,CAAC;gBAC9B,IAAA,8BAAG,EAAC,IAAA,8BAAG,EAAC,IAAA,wCAAa,EAAC,IAAA,8BAAG,EAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAA,8BAAG,EAAC,IAAA,8BAAG,EAAC,QAAQ,CAAC,EAAE,IAAA,8BAAG,EAAC,EAAE,GAAG,EAAE,IAAA,+BAAI,EAAC,CAAC,IAAA,8BAAG,EAAC,QAAQ,CAAC,EAAE,IAAA,8BAAG,EAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACzH,CAAC,EACF,IAAA,8BAAG,EAAC,IAAA,8BAAG,EAAC,IAAA,wCAAa,EAAC,IAAA,8BAAG,EAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAA,8BAAG,EAAC,IAAA,8BAAG,EAAC,QAAQ,CAAC,EAAE,IAAA,8BAAG,EAAC,aAAa,CAAC,CAAC,CAAC,CACpF,EACD,IAAA,8BAAG,EACD,IAAA,8BAAG,EAAC,IAAA,wCAAa,EAAC,IAAA,8BAAG,EAAC,QAAQ,CAAC,CAAC,CAAC,EACjC,IAAA,6CAAkB,EAAC;gBACjB,IAAA,8BAAG,EACD,IAAA,8BAAG,EAAC,kBAAkB,CAAC,EACvB,IAAA,qCAAU,EAAC,IAAA,8BAAG,EAAC,gBAAgB,CAAC,EAAE,IAAA,qCAAU,EAAC,IAAA,8BAAG,EAAC,2CAA2C,CAAC,EAAE,IAAA,8BAAG,EAAC,QAAQ,CAAC,CAAC,CAAC,CAC/G;gBACD,IAAA,8BAAG,EACD,IAAA,8BAAG,EAAC,IAAA,qCAAU,EAAC,IAAA,8BAAG,EAAC,oBAAoB,CAAC,EAAE,IAAA,8BAAG,EAAC,6BAA6B,CAAC,CAAC,CAAC,EAC9E,IAAA,6CAAkB,EAAC;oBACjB,IAAA,8BAAG,EACD,IAAA,iCAAM,EAAC,IAAA,qCAAU,EAAC,IAAA,8BAAG,EAAC,wCAAwC,CAAC,CAAC,EAAE,IAAA,8BAAG,EAAC,CAAC,CAAC,CAAC,EACzE,IAAA,+BAAI,EAAC,IAAA,qCAAU,EAAC,IAAA,8BAAG,EAAC,yBAAyB,CAAC,EAAE,IAAA,8BAAG,EAAC,kBAAkB,CAAC,CAAC,CAAC,CAC1E;oBACD,IAAA,8BAAG,EAAC,IAAA,8BAAG,EAAC,QAAQ,CAAC,EAAE,IAAA,8BAAG,EAAC,kBAAkB,CAAC,CAAC;iBAC5C,CAAC,CACH;aACF,CAAC,CACH,CACF,CAAC;YAEF,MAAM,cAAc,GAAG;gBACrB,KAAK,EAAE,IAAA,8BAAG,EAAC,sBAAsB,CAAC;gBAClC,gBAAgB,EAAE,IAAA,iCAAM,EACtB,IAAA,8BAAG,EAAC,4BAA4B,CAAC,EACjC,IAAA,iCAAM,EAAC,IAAA,iCAAM,EAAC,IAAA,8BAAG,EAAC,4BAA4B,CAAC,EAAE,IAAA,8BAAG,EAAC,KAAK,CAAC,CAAC,EAAE,IAAA,+BAAI,EAAC,IAAI,CAAC,EAAE,IAAA,+BAAI,EAAC,KAAK,CAAC,CAAC,EACtF,IAAA,+BAAI,EAAC,IAAI,CAAC,CACX;gBACD,MAAM,EAAE,IAAA,iCAAM,EAAC,IAAA,8BAAG,EAAC,QAAQ,CAAC,EAAE,IAAA,8BAAG,EAAC,sBAAsB,CAAC,EAAE,IAAA,8BAAG,GAAE,CAAC;gBACjE,KAAK,EAAE,IAAA,8BAAG,EAAC,OAAO,CAAC;gBACnB,SAAS,EAAE,IAAA,iCAAM,EAAC,IAAA,8BAAG,EAAC,wBAAwB,CAAC,EAAE,IAAA,8BAAG,EAAC,sCAAsC,CAAC,EAAE,IAAA,8BAAG,GAAE,CAAC;aAC9F,CAAC;YAET,IAAI,SAAS,EAAE;gBACb,cAAc,CAAC,KAAK,GAAG,IAAA,8BAAG,EAAC,SAAS,CAAC,CAAC;aACvC;YAED,MAAM,QAAQ,GAAG,kDAAuB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC/D,MAAM,kBAAkB,GAAG,gDAAmB,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvG,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,qBAAqB,CAClD,MAAM,CAAC,IAAI,CAAC,KAAK,EACjB,KAAK,CAAC,IAAI,CAAC,KAAK,EAChB,kBAAkB,EAClB,UAAiB,EACjB,0CAAe,CAAC,2BAA2B,CACzC,IAAA,gCAAK,EACH,IAAA,6CAAkB,EAAC;gBACjB,IAAA,8BAAG,EAAC,IAAA,8BAAG,EAAC,uBAAuB,CAAC,EAAE,IAAA,6CAAkB,EAAC,CAAC,IAAA,8BAAG,EAAC,IAAA,8BAAG,EAAC,QAAQ,CAAC,EAAE,IAAA,8BAAG,EAAC,EAAE,KAAK,EAAE,IAAA,+BAAI,EAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAA,8BAAG,EAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;gBAC9H,IAAA,8BAAG,EACD,IAAA,8BAAG,EAAC,mBAAmB,CAAC,EACxB,IAAA,qCAAU,EACR,IAAA,8BAAG,EAAC,oBAAoB,CAAC,EACzB,IAAA,8BAAG,EAAC,uCAAuC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,EACvE,IAAA,8BAAG,EAAC,cAAc,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,CAC7C,CACF;gBACD,IAAA,iCAAM,EACJ,IAAA,qCAAU,EAAC,IAAA,8BAAG,EAAC,aAAa,CAAC,EAAE,IAAA,8BAAG,EAAC,mBAAmB,CAAC,CAAC,EACxD,IAAA,6CAAkB,EAAC,CAAC,IAAA,8BAAG,EAAC,IAAA,8BAAG,EAAC,QAAQ,CAAC,EAAE,IAAA,8BAAG,EAAC,EAAE,KAAK,EAAE,IAAA,+BAAI,EAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAA,8BAAG,EAAC,kBAAkB,CAAC,CAAC,CAAC,EAC3F,IAAA,6CAAkB,EAAC,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC,CAAC,CACzC;aACF,CAAC,CACH,EACD,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,UAAU,CACnD,EACD,0CAAe,CAAC,2BAA2B,CACzC,IAAA,gCAAK,EACH,kDAAuB,CAAC,gBAAgB,CACtC,KAAK,EACL,IAAA,6CAAkB,EAAC;gBACjB,IAAA,8BAAG,EAAC,IAAA,8BAAG,EAAC,UAAU,CAAC,EAAE,IAAA,8BAAG,EAAC,IAAA,8BAAG,EAAC,QAAQ,CAAC,EAAE,IAAA,8BAAG,EAAC,YAAY,CAAC,CAAC,CAAC;gBAG3D,IAAA,6CAAkB,EAAC;oBACjB,IAAA,8BAAG,EACD,IAAA,iCAAM,EACJ,IAAA,qCAAU,EAAC,IAAA,8BAAG,EAAC,oBAAoB,CAAC,EAAE,IAAA,qCAAU,EAAC,IAAA,8BAAG,EAAC,gBAAgB,CAAC,EAAE,IAAA,8BAAG,EAAC,yCAAa,CAAC,CAAC,EAAE,IAAA,8BAAG,GAAE,CAAC,EACnG,IAAA,8BAAG,EAAC,UAAU,CAAC,CAChB,EACD,IAAA,kCAAO,EAAC,IAAA,8BAAG,EAAC,MAAM,CAAC,EAAE,IAAA,8BAAG,EAAC,cAAc,CAAC,EAAE,CAAC,IAAA,+BAAI,EAAC,IAAA,qCAAU,EAAC,IAAA,8BAAG,EAAC,UAAU,CAAC,EAAE,IAAA,8BAAG,EAAC,yCAAa,CAAC,EAAE,IAAA,8BAAG,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CACpH;oBACD,IAAA,8BAAG,EAAC,uBAAuB,CAAC;iBAC7B,CAAC;aACH,CAAC,CACH,CACF,EACD,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,UAAU,CACnD,CACF,CAAC;YAEF,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC,CAAC;YACtF,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC3E,CAAC,CAAC;QAOF,+CAA0C,GAAG,CAAC,MAAoC,EAAE,GAA+B,EAAQ,EAAE;YAC3H,IAAI,CAAC,kDAAkD,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACvE,CAAC,CAAC;QAEF,kDAA6C,GAAG,CAAC,MAAuC,EAAE,GAA+B,EAAQ,EAAE;YACjI,IAAI,CAAC,kDAAkD,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACvE,CAAC,CAAC;QAEF,uDAAkD,GAAG,CACnD,MAAsE,EACtE,GAA+B,EACzB,EAAE;YACR,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC;YAC1F,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;gBACjC,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;aAChF;YACD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;YAClE,MAAM,KAAK,GAAG,IAAA,mCAAQ,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YACzC,MAAM,EAAE,SAAS,EAAE,GAAG,KAAY,CAAC;YACnC,MAAM,cAAc,GAAG,IAAA,4DAAiC,EAAC,GAAG,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtF,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;YAC9D,MAAM,gBAAgB,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YACpD,MAAM,gBAAgB,GAAG,CAAC,iCAAiC,CAAC,CAAC;YAC7D,MAAM,oBAAoB,GAA+B;gBACvD,eAAe,EAAE,IAAA,8BAAG,EAAC,gBAAgB,CAAC;aACvC,CAAC;YAEF,MAAM,qBAAqB,GAA+B;gBACxD,iBAAiB,EAAE,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAE,EAAE,IAAI,CAAC;aAChH,CAAC;YAGF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/B,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC5C,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;gBAC/C,MAAM,qBAAqB,GAAG,IAAA,4BAAgB,EAAC,cAAc,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,iBAAiB,QAAQ,GAAG,CAAC,CAAC,CAAC;gBAE/G,gBAAgB,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;gBACrD,oBAAoB,CAAC,cAAc,CAAC,GAAG,IAAA,8BAAG,EAAC,WAAW,CAAC,CAAC;gBACxD,qBAAqB,CAAC,cAAc,CAAC,GAAG,IAAA,8BAAG,EACzC,4EAA4E,qBAAqB,OAAO,uCAAU,MAAM,CACzH,CAAC;aACH;iBAAM,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;gBACxC,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;gBAC/C,gBAAgB,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;gBACrD,oBAAoB,CAAC,cAAc,CAAC,GAAG,IAAA,8BAAG,EAAC,WAAW,CAAC,CAAC;gBACxD,qBAAqB,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC,CAAC;aAChI;YAED,MAAM,kBAAkB,GAAG,gDAAmB,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvG,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,qBAAqB,CAClD,MAAM,CAAC,IAAI,CAAC,KAAK,EACjB,KAAK,CAAC,IAAI,CAAC,KAAK,EAChB,kBAAkB,EAClB,UAAiB,EACjB,0CAAe,CAAC,2BAA2B,CACzC,IAAA,gCAAK,EACH,IAAA,6CAAkB,EAAC;gBACjB,IAAA,8BAAG,EAAC,IAAA,8BAAG,EAAC,uBAAuB,CAAC,EAAE,IAAA,8BAAG,EAAC,6BAA6B,CAAC,CAAC;gBACrE,IAAA,8BAAG,EACD,IAAA,8BAAG,EAAC,mBAAmB,CAAC,EACxB,IAAA,qCAAU,EACR,IAAA,8BAAG,EAAC,oBAAoB,CAAC,EACzB,IAAA,8BAAG,EAAC,sCAAsC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAC7D,IAAA,8BAAG,EAAC,cAAc,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CACpC,CACF;gBACD,IAAA,iCAAM,EACJ,IAAA,6BAAE,EAAC;oBACD,IAAA,qCAAU,EAAC,IAAA,8BAAG,EAAC,aAAa,CAAC,EAAE,IAAA,8BAAG,EAAC,mBAAmB,CAAC,CAAC;oBACxD,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,8BAAG,EAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC;iBAC1E,CAAC,EACF,IAAA,8BAAG,EAAC,SAAS,CAAC,EACd,IAAA,6CAAkB,EAAC;oBACjB,IAAA,8BAAG,EAAC,IAAA,8BAAG,EAAC,YAAY,CAAC,EAAE,IAAA,8BAAG,EAAC,EAAE,OAAO,EAAE,IAAA,8BAAG,EAAC,YAAY,CAAC,EAAE,SAAS,EAAE,IAAA,8BAAG,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBACpF,IAAA,+BAAI,EACF,IAAA,qCAAU,EACR,IAAA,8BAAG,EAAC,gBAAgB,CAAC,EACrB,IAAA,8BAAG,EAAC,OAAO,CAAC,EACZ,IAAA,8BAAG,EAAC;wBACF,UAAU,EAAE,IAAA,8BAAG,EAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBAC/C,eAAe,EAAE,IAAA,8BAAG,EAAC,oBAAoB,CAAC;wBAC1C,gBAAgB,EAAE,IAAA,8BAAG,EAAC,qBAAqB,CAAC;qBAC7C,CAAC,CACH,CACF;oBACD,IAAA,8BAAG,EACD,IAAA,8BAAG,EAAC,IAAA,wCAAa,EAAC,UAAU,CAAC,CAAC,EAC9B,IAAA,+BAAI,EACF,IAAA,qCAAU,EACR,IAAA,8BAAG,EAAC,gBAAgB,CAAC,EACrB,IAAA,8BAAG,EAAC,QAAQ,CAAC,EACb,IAAA,qCAAU,EAAC,IAAA,8BAAG,EAAC,gBAAgB,CAAC,EAAE,IAAA,qCAAU,EAAC,IAAA,8BAAG,EAAC,2CAA2C,CAAC,EAAE,UAAU,CAAC,CAAC,CAC5G,CACF,CACF;oBACD,IAAA,iCAAM,EAAC,IAAA,8BAAG,EAAC,YAAY,CAAC,CAAC;iBAC1B,CAAC,CACH;aACF,CAAC,CACH,EACD,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,UAAU,CACnD,EACD,0CAAe,CAAC,2BAA2B,CACzC,IAAA,gCAAK,EACH,kDAAuB,CAAC,gBAAgB,CACtC,KAAK,EACL,IAAA,iCAAM,EACJ,IAAA,8BAAG,EAAC,CAAC,IAAA,8BAAG,EAAC,IAAA,8BAAG,EAAC,4BAA4B,CAAC,CAAC,EAAE,IAAA,iCAAM,EAAC,IAAA,8BAAG,EAAC,yBAAyB,CAAC,EAAE,IAAA,8BAAG,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAE7F,IAAA,6CAAkB,EAAC;gBACjB,IAAA,8BAAG,EAAC,IAAA,8BAAG,EAAC,aAAa,CAAC,EAAE,IAAA,8BAAG,EAAC,qBAAqB,CAAC,CAAC;gBACnD,IAAA,8BAAG,EAAC,IAAA,8BAAG,EAAC,WAAW,CAAC,EAAE,IAAA,qCAAU,EAAC,IAAA,8BAAG,EAAC,oBAAoB,CAAC,EAAE,IAAA,qCAAU,EAAC,IAAA,8BAAG,EAAC,gBAAgB,CAAC,EAAE,IAAA,8BAAG,EAAC,yCAAa,CAAC,CAAC,EAAE,IAAA,8BAAG,GAAE,CAAC,CAAC;gBAC1H,IAAA,8BAAG,EACD,IAAA,iCAAM,EAAC,IAAA,8BAAG,EAAC,WAAW,CAAC,EAAE,IAAA,8BAAG,EAAC,UAAU,CAAC,CAAC,EACzC,IAAA,+BAAI,EAAC,IAAA,qCAAU,EAAC,IAAA,8BAAG,EAAC,iBAAiB,CAAC,EAAE,IAAA,8BAAG,EAAC,yCAAa,CAAC,EAAE,IAAA,8BAAG,EAAC,UAAU,CAAC,CAAC,CAAC,CAC9E;gBACD,IAAA,iCAAM,EAAC,IAAA,8BAAG,EAAC,aAAa,CAAC,CAAC;aAC3B,CAAC,EACF,IAAA,6CAAkB,EAAC;gBACjB,IAAA,8BAAG,EAAC,IAAA,8BAAG,EAAC,CAAC,IAAA,8BAAG,EAAC,4BAA4B,CAAC,EAAE,IAAA,iCAAM,EAAC,IAAA,8BAAG,EAAC,yBAAyB,CAAC,EAAE,IAAA,8BAAG,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAA,8BAAG,EAAC,qBAAqB,CAAC,CAAC;gBACzH,IAAA,iCAAM,EAAC,IAAA,8BAAG,GAAE,CAAC;aACd,CAAC,CACH,CACF,CACF,EACD,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,UAAU,CACnD,CACF,CAAC;YAEF,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC,CAAC;YACtF,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC3E,CAAC,CAAC;QAEF,4BAAuB,GAAG,CAAC,SAAiB,EAAE,MAAgC,EAAE,cAAc,GAAG,KAAK,EAAc,EAAE;;YACpH,MAAM,KAAK,GAAG,MAAA,MAAM,CAAC,MAAM,0CAAE,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;YAGvE,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,IAAA,oDAAuB,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAExE,OAAO,IAAA,8BAAG,EACR,sDAAsD,aAAa,KAAK,GAAG,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,eAAe,IACpH,cAAc,CAAC,CAAC,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC,CAAC,eAAe,SAAS,EACvE,MAAM,uCAAU,MAAM,CACvB,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;CAAA;AA/UD,wEA+UC"}
@@ -0,0 +1,11 @@
1
+ import { TransformerContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
2
+ import { ObjectNode } from 'graphql-mapping-template';
3
+ import { BelongsToDirectiveConfiguration, HasManyDirectiveConfiguration, HasOneDirectiveConfiguration } from '../types';
4
+ import { DDBRelationalResolverGenerator } from './ddb-generator';
5
+ export declare class DDBRelationalReferencesResolverGenerator extends DDBRelationalResolverGenerator {
6
+ makeQueryExpression: (references: string[]) => ObjectNode;
7
+ makeHasManyGetItemsConnectionWithKeyResolver: (config: HasManyDirectiveConfiguration, ctx: TransformerContextProvider) => void;
8
+ makeHasOneGetItemConnectionWithKeyResolver: (config: HasOneDirectiveConfiguration, ctx: TransformerContextProvider) => void;
9
+ makeBelongsToGetItemConnectionWithKeyResolver: (config: BelongsToDirectiveConfiguration, ctx: TransformerContextProvider) => void;
10
+ }
11
+ //# sourceMappingURL=ddb-references-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ddb-references-generator.d.ts","sourceRoot":"","sources":["../../src/resolver/ddb-references-generator.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AACzF,OAAO,EAGL,UAAU,EAwBX,MAAM,0BAA0B,CAAC;AAIlC,OAAO,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AACxH,OAAO,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAOjE,qBAAa,wCAAyC,SAAQ,8BAA8B;IAC1F,mBAAmB,eAAgB,MAAM,EAAE,KAAG,UAAU,CAqCtD;IAOF,4CAA4C,WAAY,6BAA6B,OAAO,0BAA0B,KAAG,IAAI,CA8H3H;IAEF,0CAA0C,WAAY,4BAA4B,OAAO,0BAA0B,KAAG,IAAI,CA0HxH;IAOF,6CAA6C,WAAY,+BAA+B,OAAO,0BAA0B,KAAG,IAAI,CAqH9H;CACH"}
@@ -0,0 +1,216 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DDBRelationalReferencesResolverGenerator = void 0;
4
+ const graphql_transformer_core_1 = require("@aws-amplify/graphql-transformer-core");
5
+ const graphql_mapping_template_1 = require("graphql-mapping-template");
6
+ const graphql_transformer_common_1 = require("graphql-transformer-common");
7
+ const graphql_model_transformer_1 = require("@aws-amplify/graphql-model-transformer");
8
+ const resolvers_1 = require("../resolvers");
9
+ const ddb_generator_1 = require("./ddb-generator");
10
+ const SORT_KEY_VALUE = 'sortKeyValue';
11
+ const CONNECTION_STACK = 'ConnectionStack';
12
+ const authFilter = (0, graphql_mapping_template_1.ref)('ctx.stash.authFilter');
13
+ const PARTITION_KEY_VALUE = 'partitionKeyValue';
14
+ class DDBRelationalReferencesResolverGenerator extends ddb_generator_1.DDBRelationalResolverGenerator {
15
+ constructor() {
16
+ super(...arguments);
17
+ this.makeQueryExpression = (references) => {
18
+ if (references.length > 1) {
19
+ const rangeKeyFields = references.slice(1);
20
+ const condensedSortKeyName = (0, resolvers_1.condenseRangeKey)(rangeKeyFields);
21
+ const condensedSortKeyValue = rangeKeyFields
22
+ .map((key, idx) => `\${${SORT_KEY_VALUE}${idx}}`)
23
+ .join(graphql_transformer_common_1.ModelResourceIDs.ModelCompositeKeySeparator());
24
+ return (0, graphql_mapping_template_1.obj)({
25
+ expression: (0, graphql_mapping_template_1.str)('#partitionKey = :partitionKey AND #sortKey = :sortKey'),
26
+ expressionNames: (0, graphql_mapping_template_1.obj)({
27
+ '#partitionKey': (0, graphql_mapping_template_1.str)(references[0]),
28
+ '#sortKey': (0, graphql_mapping_template_1.str)(condensedSortKeyName),
29
+ }),
30
+ expressionValues: (0, graphql_mapping_template_1.obj)({
31
+ ':partitionKey': (0, graphql_mapping_template_1.ref)(`util.dynamodb.toDynamoDB($${PARTITION_KEY_VALUE})`),
32
+ ':sortKey': (0, graphql_mapping_template_1.ref)(`util.dynamodb.toDynamoDB("${condensedSortKeyValue}")`),
33
+ }),
34
+ });
35
+ }
36
+ return (0, graphql_mapping_template_1.obj)({
37
+ expression: (0, graphql_mapping_template_1.str)('#partitionKey = :partitionKey'),
38
+ expressionNames: (0, graphql_mapping_template_1.obj)({
39
+ '#partitionKey': (0, graphql_mapping_template_1.str)(references[0]),
40
+ }),
41
+ expressionValues: (0, graphql_mapping_template_1.obj)({
42
+ ':partitionKey': (0, graphql_mapping_template_1.ref)(`util.dynamodb.toDynamoDB($${PARTITION_KEY_VALUE})`),
43
+ }),
44
+ });
45
+ };
46
+ this.makeHasManyGetItemsConnectionWithKeyResolver = (config, ctx) => {
47
+ const { field, indexName, limit, object, references, relatedType } = config;
48
+ if (references.length < 1) {
49
+ throw new graphql_transformer_core_1.InvalidDirectiveError(`Expected references for @${config.directiveName} on ${object.name.value}.${field.name.value}`);
50
+ }
51
+ const primaryKeyFields = (0, graphql_transformer_core_1.getPrimaryKeyFields)(object);
52
+ const dataSourceName = (0, graphql_transformer_core_1.getModelDataSourceNameForTypeName)(ctx, relatedType.name.value);
53
+ const dataSource = ctx.api.host.getDataSource(dataSourceName);
54
+ const setup = [
55
+ (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('limit'), (0, graphql_mapping_template_1.ref)(`util.defaultIfNull($context.args.limit, ${limit})`)),
56
+ ...primaryKeyFields
57
+ .slice(1)
58
+ .map((ca, idx) => (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)(`${SORT_KEY_VALUE}${idx}`), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.defaultIfNull'), (0, graphql_mapping_template_1.ref)(`ctx.stash.connectionAttibutes.get("${ca}")`), (0, graphql_mapping_template_1.ref)(`ctx.source.${ca}`)))),
59
+ (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('query'), this.makeQueryExpression(references)),
60
+ ];
61
+ setup.push(graphql_transformer_common_1.setArgs, (0, graphql_mapping_template_1.ifElse)((0, graphql_mapping_template_1.not)((0, graphql_mapping_template_1.isNullOrEmpty)(authFilter)), (0, graphql_mapping_template_1.compoundExpression)([
62
+ (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('filter'), authFilter),
63
+ (0, graphql_mapping_template_1.iff)((0, graphql_mapping_template_1.not)((0, graphql_mapping_template_1.isNullOrEmpty)((0, graphql_mapping_template_1.ref)('args.filter'))), (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('filter'), (0, graphql_mapping_template_1.obj)({ and: (0, graphql_mapping_template_1.list)([(0, graphql_mapping_template_1.ref)('filter'), (0, graphql_mapping_template_1.ref)('args.filter')]) }))),
64
+ ]), (0, graphql_mapping_template_1.iff)((0, graphql_mapping_template_1.not)((0, graphql_mapping_template_1.isNullOrEmpty)((0, graphql_mapping_template_1.ref)('args.filter'))), (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('filter'), (0, graphql_mapping_template_1.ref)('args.filter')))), (0, graphql_mapping_template_1.iff)((0, graphql_mapping_template_1.not)((0, graphql_mapping_template_1.isNullOrEmpty)((0, graphql_mapping_template_1.ref)('filter'))), (0, graphql_mapping_template_1.compoundExpression)([
65
+ (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('filterExpression'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.parseJson'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.transform.toDynamoDBFilterExpression'), (0, graphql_mapping_template_1.ref)('filter')))),
66
+ (0, graphql_mapping_template_1.iff)((0, graphql_mapping_template_1.not)((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.isNullOrBlank'), (0, graphql_mapping_template_1.ref)('filterExpression.expression'))), (0, graphql_mapping_template_1.compoundExpression)([
67
+ (0, graphql_mapping_template_1.iff)((0, graphql_mapping_template_1.equals)((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('filterExpression.expressionValues.size')), (0, graphql_mapping_template_1.int)(0)), (0, graphql_mapping_template_1.qref)((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('filterExpression.remove'), (0, graphql_mapping_template_1.str)('expressionValues')))),
68
+ (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('filter'), (0, graphql_mapping_template_1.ref)('filterExpression')),
69
+ ])),
70
+ ])));
71
+ const queryArguments = {
72
+ query: (0, graphql_mapping_template_1.raw)('$util.toJson($query)'),
73
+ scanIndexForward: (0, graphql_mapping_template_1.ifElse)((0, graphql_mapping_template_1.ref)('context.args.sortDirection'), (0, graphql_mapping_template_1.ifElse)((0, graphql_mapping_template_1.equals)((0, graphql_mapping_template_1.ref)('context.args.sortDirection'), (0, graphql_mapping_template_1.str)('ASC')), (0, graphql_mapping_template_1.bool)(true), (0, graphql_mapping_template_1.bool)(false)), (0, graphql_mapping_template_1.bool)(true)),
74
+ filter: (0, graphql_mapping_template_1.ifElse)((0, graphql_mapping_template_1.ref)('filter'), (0, graphql_mapping_template_1.ref)('util.toJson($filter)'), (0, graphql_mapping_template_1.nul)()),
75
+ limit: (0, graphql_mapping_template_1.ref)('limit'),
76
+ nextToken: (0, graphql_mapping_template_1.ifElse)((0, graphql_mapping_template_1.ref)('context.args.nextToken'), (0, graphql_mapping_template_1.ref)('util.toJson($context.args.nextToken)'), (0, graphql_mapping_template_1.nul)()),
77
+ };
78
+ if (indexName) {
79
+ queryArguments.index = (0, graphql_mapping_template_1.str)(indexName);
80
+ }
81
+ const queryObj = graphql_mapping_template_1.DynamoDBMappingTemplate.query(queryArguments);
82
+ const resolverResourceId = graphql_transformer_common_1.ResolverResourceIDs.ResolverResourceID(object.name.value, field.name.value);
83
+ const resolver = ctx.resolvers.generateQueryResolver(object.name.value, field.name.value, resolverResourceId, dataSource, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString((0, graphql_mapping_template_1.print)((0, graphql_mapping_template_1.compoundExpression)([
84
+ (0, graphql_mapping_template_1.iff)((0, graphql_mapping_template_1.ref)('ctx.stash.deniedField'), (0, graphql_mapping_template_1.compoundExpression)([(0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('result'), (0, graphql_mapping_template_1.obj)({ items: (0, graphql_mapping_template_1.list)([]) })), (0, graphql_mapping_template_1.raw)('#return($result)')])),
85
+ (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)(PARTITION_KEY_VALUE), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.defaultIfNull'), (0, graphql_mapping_template_1.ref)(`ctx.stash.connectionAttributes.get("${primaryKeyFields[0]}")`), (0, graphql_mapping_template_1.ref)(`ctx.source.${primaryKeyFields[0]}`))),
86
+ (0, graphql_mapping_template_1.ifElse)((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.isNull'), (0, graphql_mapping_template_1.ref)(PARTITION_KEY_VALUE)), (0, graphql_mapping_template_1.compoundExpression)([(0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('result'), (0, graphql_mapping_template_1.obj)({ items: (0, graphql_mapping_template_1.list)([]) })), (0, graphql_mapping_template_1.raw)('#return($result)')]), (0, graphql_mapping_template_1.compoundExpression)([...setup, queryObj])),
87
+ ])), `${object.name.value}.${field.name.value}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString((0, graphql_mapping_template_1.print)(graphql_mapping_template_1.DynamoDBMappingTemplate.dynamoDBResponse(false, (0, graphql_mapping_template_1.compoundExpression)([
88
+ (0, graphql_mapping_template_1.iff)((0, graphql_mapping_template_1.raw)('!$result'), (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('result'), (0, graphql_mapping_template_1.ref)('ctx.result'))),
89
+ (0, graphql_mapping_template_1.compoundExpression)([
90
+ (0, graphql_mapping_template_1.iff)((0, graphql_mapping_template_1.equals)((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.defaultIfNull'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('ctx.source.get'), (0, graphql_mapping_template_1.str)(graphql_model_transformer_1.OPERATION_KEY)), (0, graphql_mapping_template_1.nul)()), (0, graphql_mapping_template_1.str)('Mutation')), (0, graphql_mapping_template_1.forEach)((0, graphql_mapping_template_1.ref)('item'), (0, graphql_mapping_template_1.ref)('result.items'), [(0, graphql_mapping_template_1.qref)((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('item.put'), (0, graphql_mapping_template_1.str)(graphql_model_transformer_1.OPERATION_KEY), (0, graphql_mapping_template_1.str)('Mutation')))])),
91
+ (0, graphql_mapping_template_1.raw)('$util.toJson($result)'),
92
+ ]),
93
+ ]))), `${object.name.value}.${field.name.value}.res.vtl`));
94
+ resolver.setScope(ctx.stackManager.getScopeFor(resolverResourceId, CONNECTION_STACK));
95
+ ctx.resolvers.addResolver(object.name.value, field.name.value, resolver);
96
+ };
97
+ this.makeHasOneGetItemConnectionWithKeyResolver = (config, ctx) => {
98
+ const { field, indexName, references, object, relatedType } = config;
99
+ if (references.length < 1) {
100
+ throw new graphql_transformer_core_1.InvalidDirectiveError(`Expected references for @${config.directiveName} on ${object.name.value}.${field.name.value}`);
101
+ }
102
+ const primaryKeyFields = (0, graphql_transformer_core_1.getPrimaryKeyFields)(object);
103
+ const dataSourceName = (0, graphql_transformer_core_1.getModelDataSourceNameForTypeName)(ctx, relatedType.name.value);
104
+ const dataSource = ctx.api.host.getDataSource(dataSourceName);
105
+ const partitionKeyName = references[0];
106
+ const totalExpressions = ['#partitionKey = :partitionValue'];
107
+ const totalExpressionNames = {
108
+ '#partitionKey': (0, graphql_mapping_template_1.str)(partitionKeyName),
109
+ };
110
+ const totalExpressionValues = {
111
+ ':partitionValue': this.buildKeyValueExpression(references[0], relatedType, true),
112
+ };
113
+ if (references.length > 2) {
114
+ const rangeKeyFields = references.slice(1);
115
+ const sortKeyName = (0, resolvers_1.condenseRangeKey)(rangeKeyFields);
116
+ const condensedSortKeyValue = (0, resolvers_1.condenseRangeKey)(primaryKeyFields.slice(1).map((keyField) => `\${ctx.source.${keyField}}`));
117
+ totalExpressions.push('#sortKeyName = :sortKeyName');
118
+ totalExpressionNames['#sortKeyName'] = (0, graphql_mapping_template_1.str)(sortKeyName);
119
+ totalExpressionValues[':sortKeyName'] = (0, graphql_mapping_template_1.ref)(`util.parseJson($util.dynamodb.toDynamoDBJson($util.defaultIfNullOrBlank("${condensedSortKeyValue}", "${graphql_transformer_common_1.NONE_VALUE}")))`);
120
+ }
121
+ else if (references.length === 2) {
122
+ const sortKeyName = references[1];
123
+ totalExpressions.push('#sortKeyName = :sortKeyName');
124
+ totalExpressionNames['#sortKeyName'] = (0, graphql_mapping_template_1.str)(sortKeyName);
125
+ totalExpressionValues[':sortKeyName'] = this.buildKeyValueExpression(primaryKeyFields[1], ctx.output.getObject(object.name.value));
126
+ }
127
+ const resolverResourceId = graphql_transformer_common_1.ResolverResourceIDs.ResolverResourceID(object.name.value, field.name.value);
128
+ const resolver = ctx.resolvers.generateQueryResolver(object.name.value, field.name.value, resolverResourceId, dataSource, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString((0, graphql_mapping_template_1.print)((0, graphql_mapping_template_1.compoundExpression)([
129
+ (0, graphql_mapping_template_1.iff)((0, graphql_mapping_template_1.ref)('ctx.stash.deniedField'), (0, graphql_mapping_template_1.raw)('#return($util.toJson(null))')),
130
+ (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)(PARTITION_KEY_VALUE), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.defaultIfNull'), (0, graphql_mapping_template_1.ref)(`ctx.stash.connectionAttibutes.get("${primaryKeyFields[0]}")`), (0, graphql_mapping_template_1.ref)(`ctx.source.${primaryKeyFields[0]}`))),
131
+ (0, graphql_mapping_template_1.ifElse)((0, graphql_mapping_template_1.or)([
132
+ (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.isNull'), (0, graphql_mapping_template_1.ref)(PARTITION_KEY_VALUE)),
133
+ ...primaryKeyFields.slice(1).map((f) => (0, graphql_mapping_template_1.raw)(`$util.isNull($ctx.source.${f})`)),
134
+ ]), (0, graphql_mapping_template_1.raw)('#return'), (0, graphql_mapping_template_1.compoundExpression)([
135
+ (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('GetRequest'), (0, graphql_mapping_template_1.obj)({ version: (0, graphql_mapping_template_1.str)('2018-05-29'), operation: (0, graphql_mapping_template_1.str)('Query'), index: (0, graphql_mapping_template_1.str)(indexName) })),
136
+ (0, graphql_mapping_template_1.qref)((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('GetRequest.put'), (0, graphql_mapping_template_1.str)('query'), (0, graphql_mapping_template_1.obj)({
137
+ expression: (0, graphql_mapping_template_1.str)(totalExpressions.join(' AND ')),
138
+ expressionNames: (0, graphql_mapping_template_1.obj)(totalExpressionNames),
139
+ expressionValues: (0, graphql_mapping_template_1.obj)(totalExpressionValues),
140
+ }))),
141
+ (0, graphql_mapping_template_1.iff)((0, graphql_mapping_template_1.not)((0, graphql_mapping_template_1.isNullOrEmpty)(authFilter)), (0, graphql_mapping_template_1.qref)((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('GetRequest.put'), (0, graphql_mapping_template_1.str)('filter'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.parseJson'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.transform.toDynamoDBFilterExpression'), authFilter))))),
142
+ (0, graphql_mapping_template_1.toJson)((0, graphql_mapping_template_1.ref)('GetRequest')),
143
+ ])),
144
+ ])), `${object.name.value}.${field.name.value}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString((0, graphql_mapping_template_1.print)(graphql_mapping_template_1.DynamoDBMappingTemplate.dynamoDBResponse(false, (0, graphql_mapping_template_1.ifElse)((0, graphql_mapping_template_1.not)((0, graphql_mapping_template_1.ref)('ctx.result.items.isEmpty()')), (0, graphql_mapping_template_1.compoundExpression)([
145
+ (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('resultValue'), (0, graphql_mapping_template_1.ref)('ctx.result.items[0]')),
146
+ (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('operation'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.defaultIfNull'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('ctx.source.get'), (0, graphql_mapping_template_1.str)(graphql_model_transformer_1.OPERATION_KEY)), (0, graphql_mapping_template_1.nul)())),
147
+ (0, graphql_mapping_template_1.iff)((0, graphql_mapping_template_1.equals)((0, graphql_mapping_template_1.ref)('operation'), (0, graphql_mapping_template_1.str)('Mutation')), (0, graphql_mapping_template_1.qref)((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('resultValue.put'), (0, graphql_mapping_template_1.str)(graphql_model_transformer_1.OPERATION_KEY), (0, graphql_mapping_template_1.str)('Mutation')))),
148
+ (0, graphql_mapping_template_1.toJson)((0, graphql_mapping_template_1.ref)('resultValue')),
149
+ ]), (0, graphql_mapping_template_1.compoundExpression)([
150
+ (0, graphql_mapping_template_1.iff)((0, graphql_mapping_template_1.and)([(0, graphql_mapping_template_1.ref)('ctx.result.items.isEmpty()'), (0, graphql_mapping_template_1.greaterThan)((0, graphql_mapping_template_1.ref)('ctx.result.scannedCount'), (0, graphql_mapping_template_1.int)(0))]), (0, graphql_mapping_template_1.ref)('util.unauthorized()')),
151
+ (0, graphql_mapping_template_1.toJson)((0, graphql_mapping_template_1.nul)()),
152
+ ])))), `${object.name.value}.${field.name.value}.res.vtl`));
153
+ resolver.setScope(ctx.stackManager.getScopeFor(resolverResourceId, CONNECTION_STACK));
154
+ ctx.resolvers.addResolver(object.name.value, field.name.value, resolver);
155
+ };
156
+ this.makeBelongsToGetItemConnectionWithKeyResolver = (config, ctx) => {
157
+ const { field, references, object, relatedType } = config;
158
+ const table = (0, graphql_transformer_core_1.getTable)(ctx, relatedType);
159
+ const { keySchema } = table;
160
+ const dataSourceName = (0, graphql_transformer_core_1.getModelDataSourceNameForTypeName)(ctx, relatedType.name.value);
161
+ const dataSource = ctx.api.host.getDataSource(dataSourceName);
162
+ const partitionKeyName = keySchema[0].attributeName;
163
+ const totalExpressions = ['#partitionKey = :partitionValue'];
164
+ const totalExpressionNames = {
165
+ '#partitionKey': (0, graphql_mapping_template_1.str)(partitionKeyName),
166
+ };
167
+ const totalExpressionValues = {
168
+ ':partitionValue': this.buildKeyValueExpression(references[0], ctx.output.getObject(object.name.value), true),
169
+ };
170
+ if (references.length > 2) {
171
+ const rangeKeyFields = references.slice(1);
172
+ const sortKeyName = keySchema[1].attributeName;
173
+ const condensedSortKeyValue = (0, resolvers_1.condenseRangeKey)(rangeKeyFields.map((keyField) => `\${ctx.source.${keyField}}`));
174
+ totalExpressions.push('#sortKeyName = :sortKeyName');
175
+ totalExpressionNames['#sortKeyName'] = (0, graphql_mapping_template_1.str)(sortKeyName);
176
+ totalExpressionValues[':sortKeyName'] = (0, graphql_mapping_template_1.ref)(`util.parseJson($util.dynamodb.toDynamoDBJson($util.defaultIfNullOrBlank("${condensedSortKeyValue}", "${graphql_transformer_common_1.NONE_VALUE}")))`);
177
+ }
178
+ else if (references.length === 2) {
179
+ const sortKeyName = keySchema[1].attributeName;
180
+ totalExpressions.push('#sortKeyName = :sortKeyName');
181
+ totalExpressionNames['#sortKeyName'] = (0, graphql_mapping_template_1.str)(sortKeyName);
182
+ totalExpressionValues[':sortKeyName'] = this.buildKeyValueExpression(references[1], ctx.output.getObject(object.name.value));
183
+ }
184
+ const resolverResourceId = graphql_transformer_common_1.ResolverResourceIDs.ResolverResourceID(object.name.value, field.name.value);
185
+ const resolver = ctx.resolvers.generateQueryResolver(object.name.value, field.name.value, resolverResourceId, dataSource, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString((0, graphql_mapping_template_1.print)((0, graphql_mapping_template_1.compoundExpression)([
186
+ (0, graphql_mapping_template_1.iff)((0, graphql_mapping_template_1.ref)('ctx.stash.deniedField'), (0, graphql_mapping_template_1.raw)('#return($util.toJson(null))')),
187
+ (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)(PARTITION_KEY_VALUE), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.defaultIfNull'), (0, graphql_mapping_template_1.ref)(`ctx.stash.connectionAttibutes.get("${references[0]}")`), (0, graphql_mapping_template_1.ref)(`ctx.source.${references[0]}`))),
188
+ (0, graphql_mapping_template_1.ifElse)((0, graphql_mapping_template_1.or)([
189
+ (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.isNull'), (0, graphql_mapping_template_1.ref)(PARTITION_KEY_VALUE)),
190
+ ...references.slice(1).map((f) => (0, graphql_mapping_template_1.raw)(`$util.isNull($ctx.source.${f})`)),
191
+ ]), (0, graphql_mapping_template_1.raw)('#return'), (0, graphql_mapping_template_1.compoundExpression)([
192
+ (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('GetRequest'), (0, graphql_mapping_template_1.obj)({ version: (0, graphql_mapping_template_1.str)('2018-05-29'), operation: (0, graphql_mapping_template_1.str)('Query') })),
193
+ (0, graphql_mapping_template_1.qref)((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('GetRequest.put'), (0, graphql_mapping_template_1.str)('query'), (0, graphql_mapping_template_1.obj)({
194
+ expression: (0, graphql_mapping_template_1.str)(totalExpressions.join(' AND ')),
195
+ expressionNames: (0, graphql_mapping_template_1.obj)(totalExpressionNames),
196
+ expressionValues: (0, graphql_mapping_template_1.obj)(totalExpressionValues),
197
+ }))),
198
+ (0, graphql_mapping_template_1.iff)((0, graphql_mapping_template_1.not)((0, graphql_mapping_template_1.isNullOrEmpty)(authFilter)), (0, graphql_mapping_template_1.qref)((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('GetRequest.put'), (0, graphql_mapping_template_1.str)('filter'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.parseJson'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.transform.toDynamoDBFilterExpression'), authFilter))))),
199
+ (0, graphql_mapping_template_1.toJson)((0, graphql_mapping_template_1.ref)('GetRequest')),
200
+ ])),
201
+ ])), `${object.name.value}.${field.name.value}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString((0, graphql_mapping_template_1.print)(graphql_mapping_template_1.DynamoDBMappingTemplate.dynamoDBResponse(false, (0, graphql_mapping_template_1.ifElse)((0, graphql_mapping_template_1.and)([(0, graphql_mapping_template_1.not)((0, graphql_mapping_template_1.ref)('ctx.result.items.isEmpty()')), (0, graphql_mapping_template_1.equals)((0, graphql_mapping_template_1.ref)('ctx.result.scannedCount'), (0, graphql_mapping_template_1.int)(1))]), (0, graphql_mapping_template_1.compoundExpression)([
202
+ (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('resultValue'), (0, graphql_mapping_template_1.ref)('ctx.result.items[0]')),
203
+ (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('operation'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.defaultIfNull'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('ctx.source.get'), (0, graphql_mapping_template_1.str)(graphql_model_transformer_1.OPERATION_KEY)), (0, graphql_mapping_template_1.nul)())),
204
+ (0, graphql_mapping_template_1.iff)((0, graphql_mapping_template_1.equals)((0, graphql_mapping_template_1.ref)('operation'), (0, graphql_mapping_template_1.str)('Mutation')), (0, graphql_mapping_template_1.qref)((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('resultValue.put'), (0, graphql_mapping_template_1.str)(graphql_model_transformer_1.OPERATION_KEY), (0, graphql_mapping_template_1.str)('Mutation')))),
205
+ (0, graphql_mapping_template_1.toJson)((0, graphql_mapping_template_1.ref)('resultValue')),
206
+ ]), (0, graphql_mapping_template_1.compoundExpression)([
207
+ (0, graphql_mapping_template_1.iff)((0, graphql_mapping_template_1.and)([(0, graphql_mapping_template_1.ref)('ctx.result.items.isEmpty()'), (0, graphql_mapping_template_1.equals)((0, graphql_mapping_template_1.ref)('ctx.result.scannedCount'), (0, graphql_mapping_template_1.int)(1))]), (0, graphql_mapping_template_1.ref)('util.unauthorized()')),
208
+ (0, graphql_mapping_template_1.toJson)((0, graphql_mapping_template_1.nul)()),
209
+ ])))), `${object.name.value}.${field.name.value}.res.vtl`));
210
+ resolver.setScope(ctx.stackManager.getScopeFor(resolverResourceId, CONNECTION_STACK));
211
+ ctx.resolvers.addResolver(object.name.value, field.name.value, resolver);
212
+ };
213
+ }
214
+ }
215
+ exports.DDBRelationalReferencesResolverGenerator = DDBRelationalReferencesResolverGenerator;
216
+ //# sourceMappingURL=ddb-references-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ddb-references-generator.js","sourceRoot":"","sources":["../../src/resolver/ddb-references-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { ModelDataSourceStrategyDbType } from '@aws-amplify/graphql-transformer-interfaces';
2
+ import { RelationalResolverGenerator } from './generator';
3
+ export declare const getGenerator: (dbType: ModelDataSourceStrategyDbType) => RelationalResolverGenerator;
4
+ //# sourceMappingURL=generator-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator-factory.d.ts","sourceRoot":"","sources":["../../src/resolver/generator-factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAC;AAG5F,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAE1D,eAAO,MAAM,YAAY,WAAY,6BAA6B,KAAG,2BASpE,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getGenerator = void 0;
4
+ const graphql_transformer_core_1 = require("@aws-amplify/graphql-transformer-core");
5
+ const rds_generator_1 = require("./rds-generator");
6
+ const ddb_generator_1 = require("./ddb-generator");
7
+ const getGenerator = (dbType) => {
8
+ switch (dbType) {
9
+ case graphql_transformer_core_1.POSTGRES_DB_TYPE:
10
+ return new rds_generator_1.RDSRelationalResolverGenerator();
11
+ case graphql_transformer_core_1.MYSQL_DB_TYPE:
12
+ return new rds_generator_1.RDSRelationalResolverGenerator();
13
+ default:
14
+ return new ddb_generator_1.DDBRelationalResolverGenerator();
15
+ }
16
+ };
17
+ exports.getGenerator = getGenerator;
18
+ //# sourceMappingURL=generator-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator-factory.js","sourceRoot":"","sources":["../../src/resolver/generator-factory.ts"],"names":[],"mappings":";;;AAAA,oFAAwF;AAExF,mDAAiE;AACjE,mDAAiE;AAG1D,MAAM,YAAY,GAAG,CAAC,MAAqC,EAA+B,EAAE;IACjG,QAAQ,MAAM,EAAE;QACd,KAAK,2CAAgB;YACnB,OAAO,IAAI,8CAA8B,EAAE,CAAC;QAC9C,KAAK,wCAAa;YAChB,OAAO,IAAI,8CAA8B,EAAE,CAAC;QAC9C;YACE,OAAO,IAAI,8CAA8B,EAAE,CAAC;KAC/C;AACH,CAAC,CAAC;AATW,QAAA,YAAY,gBASvB"}
@@ -0,0 +1,8 @@
1
+ import { TransformerContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
2
+ import { BelongsToDirectiveConfiguration, HasManyDirectiveConfiguration, HasOneDirectiveConfiguration } from '../types';
3
+ export declare abstract class RelationalResolverGenerator {
4
+ abstract makeHasManyGetItemsConnectionWithKeyResolver(config: HasManyDirectiveConfiguration, ctx: TransformerContextProvider): void;
5
+ abstract makeHasOneGetItemConnectionWithKeyResolver(config: HasOneDirectiveConfiguration, ctx: TransformerContextProvider): void;
6
+ abstract makeBelongsToGetItemConnectionWithKeyResolver(config: BelongsToDirectiveConfiguration, ctx: TransformerContextProvider): void;
7
+ }
8
+ //# sourceMappingURL=generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/resolver/generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AACzF,OAAO,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAExH,8BAAsB,2BAA2B;IAC/C,QAAQ,CAAC,4CAA4C,CAAC,MAAM,EAAE,6BAA6B,EAAE,GAAG,EAAE,0BAA0B,GAAG,IAAI;IACnI,QAAQ,CAAC,0CAA0C,CAAC,MAAM,EAAE,4BAA4B,EAAE,GAAG,EAAE,0BAA0B,GAAG,IAAI;IAChI,QAAQ,CAAC,6CAA6C,CAAC,MAAM,EAAE,+BAA+B,EAAE,GAAG,EAAE,0BAA0B,GAAG,IAAI;CACvI"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RelationalResolverGenerator = void 0;
4
+ class RelationalResolverGenerator {
5
+ }
6
+ exports.RelationalResolverGenerator = RelationalResolverGenerator;
7
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/resolver/generator.ts"],"names":[],"mappings":";;;AAGA,MAAsB,2BAA2B;CAIhD;AAJD,kEAIC"}
@@ -0,0 +1,16 @@
1
+ import { TransformerContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
2
+ import { Expression } from 'graphql-mapping-template';
3
+ import { BelongsToDirectiveConfiguration, HasManyDirectiveConfiguration, HasOneDirectiveConfiguration } from '../types';
4
+ import { RelationalResolverGenerator } from './generator';
5
+ export declare class RDSRelationalResolverGenerator extends RelationalResolverGenerator {
6
+ makeHasManyGetItemsConnectionWithKeyResolver: (config: HasManyDirectiveConfiguration, ctx: TransformerContextProvider) => void;
7
+ generateHasManyLambdaRequestTemplate: (tableName: string, operation: string, operationName: string, joinCondition: Expression[], ctx: TransformerContextProvider) => string;
8
+ generateHasOneLambdaRequestTemplate: (tableName: string, operation: string, operationName: string, joinCondition: Expression[], relatedTypePrimaryKeys: string[], ctx: TransformerContextProvider) => string;
9
+ generateSingleItemConnectionLambdaResponseMappingTemplate: () => string;
10
+ generateListConnectionLambdaResponseMappingTemplate: () => string;
11
+ makeHasOneGetItemConnectionWithKeyResolver: (config: HasOneDirectiveConfiguration | BelongsToDirectiveConfiguration, ctx: TransformerContextProvider) => void;
12
+ makeBelongsToGetItemConnectionWithKeyResolver: (config: BelongsToDirectiveConfiguration, ctx: TransformerContextProvider) => void;
13
+ constructFieldMappingInput: () => Expression;
14
+ constructRelationalFieldAuthFilterStatement: (keyName: string) => Expression;
15
+ }
16
+ //# sourceMappingURL=rds-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rds-generator.d.ts","sourceRoot":"","sources":["../../src/resolver/rds-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AAWzF,OAAO,EAWL,UAAU,EAQX,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AACxH,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAI1D,qBAAa,8BAA+B,SAAQ,2BAA2B;IAM7E,4CAA4C,WAAY,6BAA6B,OAAO,0BAA0B,KAAG,IAAI,CAkC3H;IAKF,oCAAoC,cACvB,MAAM,aACN,MAAM,iBACF,MAAM,iBACN,UAAU,EAAE,OACtB,0BAA0B,KAC9B,MAAM,CA6BP;IAKF,mCAAmC,cACtB,MAAM,aACN,MAAM,iBACF,MAAM,iBACN,UAAU,EAAE,0BACH,MAAM,EAAE,OAC3B,0BAA0B,KAC9B,MAAM,CA0BP;IAKF,yDAAyD,QAAO,MAAM,CAiBpE;IAEF,mDAAmD,QAAO,MAAM,CAkB9D;IAOF,0CAA0C,WAChC,4BAA4B,GAAG,+BAA+B,OACjE,0BAA0B,KAC9B,IAAI,CA0CL;IAEF,6CAA6C,WAAY,+BAA+B,OAAO,0BAA0B,KAAG,IAAI,CAuC9H;IAEF,0BAA0B,QAAO,UAAU,CAUzC;IAEF,2CAA2C,YAAa,MAAM,KAAG,UAAU,CACoD;CAChI"}
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RDSRelationalResolverGenerator = void 0;
4
+ const graphql_transformer_common_1 = require("graphql-transformer-common");
5
+ const graphql_transformer_core_1 = require("@aws-amplify/graphql-transformer-core");
6
+ const graphql_mapping_template_1 = require("graphql-mapping-template");
7
+ const graphql_model_transformer_1 = require("@aws-amplify/graphql-model-transformer");
8
+ const generator_1 = require("./generator");
9
+ const CONNECTION_STACK = 'ConnectionStack';
10
+ class RDSRelationalResolverGenerator extends generator_1.RelationalResolverGenerator {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.makeHasManyGetItemsConnectionWithKeyResolver = (config, ctx) => {
14
+ const { field, references, object, relatedType } = config;
15
+ const relatedStrategy = (0, graphql_transformer_core_1.getModelDataSourceStrategy)(ctx, relatedType.name.value);
16
+ if (!(0, graphql_transformer_core_1.isSqlStrategy)(relatedStrategy)) {
17
+ throw new Error('The @hasMany directive is only supported for SQL data sources.');
18
+ }
19
+ const dataSourceName = (0, graphql_transformer_core_1.getModelDataSourceNameForTypeName)(ctx, relatedType.name.value);
20
+ const dataSource = ctx.api.host.getDataSource(dataSourceName);
21
+ const connectionCondition = [];
22
+ const primaryKeys = (0, graphql_transformer_core_1.getPrimaryKeyFields)(object);
23
+ references.forEach((r, index) => {
24
+ connectionCondition.push((0, graphql_mapping_template_1.qref)((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('lambdaInput.args.filter.put'), (0, graphql_mapping_template_1.str)(r), (0, graphql_mapping_template_1.obj)({ eq: (0, graphql_mapping_template_1.ref)(`ctx.source.${primaryKeys[index]}`) }))));
25
+ });
26
+ const resolverResourceId = graphql_transformer_common_1.ResolverResourceIDs.ResolverResourceID(object.name.value, field.name.value);
27
+ const resolver = ctx.resolvers.generateQueryResolver(object.name.value, field.name.value, resolverResourceId, dataSource, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(this.generateHasManyLambdaRequestTemplate(relatedType.name.value, 'LIST', 'ConnectionQuery', connectionCondition, ctx), `${object.name.value}.${field.name.value}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(this.generateListConnectionLambdaResponseMappingTemplate(), `${object.name.value}.${field.name.value}.res.vtl`));
28
+ resolver.setScope(ctx.stackManager.getScopeFor(resolverResourceId, CONNECTION_STACK));
29
+ ctx.resolvers.addResolver(object.name.value, field.name.value, resolver);
30
+ };
31
+ this.generateHasManyLambdaRequestTemplate = (tableName, operation, operationName, joinCondition, ctx) => {
32
+ const mappedTableName = ctx.resourceHelper.getModelNameMapping(tableName);
33
+ return (0, graphql_mapping_template_1.printBlock)('Invoke RDS Lambda data source')((0, graphql_mapping_template_1.compoundExpression)([
34
+ (0, graphql_mapping_template_1.iff)((0, graphql_mapping_template_1.ref)('ctx.stash.deniedField'), (0, graphql_mapping_template_1.compoundExpression)([(0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('result'), (0, graphql_mapping_template_1.obj)({ items: (0, graphql_mapping_template_1.list)([]) })), (0, graphql_mapping_template_1.raw)('#return($result)')])),
35
+ (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput'), (0, graphql_mapping_template_1.obj)({})),
36
+ (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput.args'), (0, graphql_mapping_template_1.obj)({})),
37
+ (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput.table'), (0, graphql_mapping_template_1.str)(mappedTableName)),
38
+ (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput.operation'), (0, graphql_mapping_template_1.str)(operation)),
39
+ (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput.operationName'), (0, graphql_mapping_template_1.str)(operationName)),
40
+ (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput.args.metadata'), (0, graphql_mapping_template_1.obj)({})),
41
+ (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput.args.metadata.keys'), (0, graphql_mapping_template_1.list)([])),
42
+ (0, graphql_transformer_core_1.constructArrayFieldsStatement)(tableName, ctx),
43
+ (0, graphql_transformer_core_1.constructNonScalarFieldsStatement)(tableName, ctx),
44
+ this.constructFieldMappingInput(),
45
+ (0, graphql_mapping_template_1.qref)((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('lambdaInput.args.putAll'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.defaultIfNull'), (0, graphql_mapping_template_1.ref)('context.arguments'), (0, graphql_mapping_template_1.obj)({})))),
46
+ (0, graphql_mapping_template_1.iff)((0, graphql_mapping_template_1.not)((0, graphql_mapping_template_1.ref)('lambdaInput.args.filter')), (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput.args.filter'), (0, graphql_mapping_template_1.obj)({}))),
47
+ this.constructRelationalFieldAuthFilterStatement('lambdaInput.args.metadata.authFilter'),
48
+ ...joinCondition,
49
+ (0, graphql_mapping_template_1.qref)((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('lambdaInput.args.metadata.keys.addAll'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.defaultIfNull'), (0, graphql_mapping_template_1.ref)('ctx.stash.keys'), (0, graphql_mapping_template_1.list)([])))),
50
+ (0, graphql_mapping_template_1.obj)({
51
+ version: (0, graphql_mapping_template_1.str)('2018-05-29'),
52
+ operation: (0, graphql_mapping_template_1.str)('Invoke'),
53
+ payload: (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.toJson'), (0, graphql_mapping_template_1.ref)('lambdaInput')),
54
+ }),
55
+ ]));
56
+ };
57
+ this.generateHasOneLambdaRequestTemplate = (tableName, operation, operationName, joinCondition, relatedTypePrimaryKeys, ctx) => {
58
+ const mappedTableName = ctx.resourceHelper.getModelNameMapping(tableName);
59
+ return (0, graphql_mapping_template_1.printBlock)('Invoke RDS Lambda data source')((0, graphql_mapping_template_1.compoundExpression)([
60
+ (0, graphql_mapping_template_1.iff)((0, graphql_mapping_template_1.ref)('ctx.stash.deniedField'), (0, graphql_mapping_template_1.raw)('#return($util.toJson(null))')),
61
+ (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput'), (0, graphql_mapping_template_1.obj)({})),
62
+ (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput.args'), (0, graphql_mapping_template_1.obj)({})),
63
+ (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput.table'), (0, graphql_mapping_template_1.str)(mappedTableName)),
64
+ (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput.operation'), (0, graphql_mapping_template_1.str)(operation)),
65
+ (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput.operationName'), (0, graphql_mapping_template_1.str)(operationName)),
66
+ (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput.args.metadata'), (0, graphql_mapping_template_1.obj)({})),
67
+ (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput.args.metadata.keys'), (0, graphql_mapping_template_1.list)(relatedTypePrimaryKeys.map((key) => (0, graphql_mapping_template_1.str)(key)))),
68
+ (0, graphql_transformer_core_1.constructArrayFieldsStatement)(tableName, ctx),
69
+ (0, graphql_transformer_core_1.constructNonScalarFieldsStatement)(tableName, ctx),
70
+ this.constructFieldMappingInput(),
71
+ (0, graphql_mapping_template_1.qref)((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('lambdaInput.args.putAll'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.defaultIfNull'), (0, graphql_mapping_template_1.ref)('context.arguments'), (0, graphql_mapping_template_1.obj)({})))),
72
+ (0, graphql_mapping_template_1.iff)((0, graphql_mapping_template_1.not)((0, graphql_mapping_template_1.ref)('lambdaInput.args.input')), (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput.args.input'), (0, graphql_mapping_template_1.obj)({}))),
73
+ this.constructRelationalFieldAuthFilterStatement('lambdaInput.args.metadata.authFilter'),
74
+ ...joinCondition,
75
+ (0, graphql_mapping_template_1.obj)({
76
+ version: (0, graphql_mapping_template_1.str)('2018-05-29'),
77
+ operation: (0, graphql_mapping_template_1.str)('Invoke'),
78
+ payload: (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.toJson'), (0, graphql_mapping_template_1.ref)('lambdaInput')),
79
+ }),
80
+ ]));
81
+ };
82
+ this.generateSingleItemConnectionLambdaResponseMappingTemplate = () => {
83
+ const statements = [];
84
+ statements.push((0, graphql_mapping_template_1.ifElse)((0, graphql_mapping_template_1.ref)('ctx.error'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.error'), (0, graphql_mapping_template_1.ref)('ctx.error.message'), (0, graphql_mapping_template_1.ref)('ctx.error.type')), (0, graphql_mapping_template_1.compoundExpression)([
85
+ (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('resultValue'), (0, graphql_mapping_template_1.ref)('ctx.result')),
86
+ (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('operation'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.defaultIfNull'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('ctx.source.get'), (0, graphql_mapping_template_1.str)(graphql_model_transformer_1.OPERATION_KEY)), (0, graphql_mapping_template_1.nul)())),
87
+ (0, graphql_mapping_template_1.iff)((0, graphql_mapping_template_1.equals)((0, graphql_mapping_template_1.ref)('operation'), (0, graphql_mapping_template_1.str)('Mutation')), (0, graphql_mapping_template_1.qref)((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('resultValue.put'), (0, graphql_mapping_template_1.str)(graphql_model_transformer_1.OPERATION_KEY), (0, graphql_mapping_template_1.str)('Mutation')))),
88
+ (0, graphql_mapping_template_1.toJson)((0, graphql_mapping_template_1.ref)('resultValue')),
89
+ ])));
90
+ return (0, graphql_mapping_template_1.printBlock)('ResponseTemplate')((0, graphql_mapping_template_1.compoundExpression)(statements));
91
+ };
92
+ this.generateListConnectionLambdaResponseMappingTemplate = () => {
93
+ const statements = [];
94
+ statements.push((0, graphql_mapping_template_1.ifElse)((0, graphql_mapping_template_1.ref)('ctx.error'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.error'), (0, graphql_mapping_template_1.ref)('ctx.error.message'), (0, graphql_mapping_template_1.ref)('ctx.error.type')), (0, graphql_mapping_template_1.compoundExpression)([
95
+ (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('resultValue'), (0, graphql_mapping_template_1.ref)('ctx.result')),
96
+ (0, graphql_mapping_template_1.iff)((0, graphql_mapping_template_1.equals)((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.defaultIfNull'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('ctx.source.get'), (0, graphql_mapping_template_1.str)(graphql_model_transformer_1.OPERATION_KEY)), (0, graphql_mapping_template_1.nul)()), (0, graphql_mapping_template_1.str)('Mutation')), (0, graphql_mapping_template_1.forEach)((0, graphql_mapping_template_1.ref)('item'), (0, graphql_mapping_template_1.ref)('resultValue.items'), [(0, graphql_mapping_template_1.qref)((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('item.put'), (0, graphql_mapping_template_1.str)(graphql_model_transformer_1.OPERATION_KEY), (0, graphql_mapping_template_1.str)('Mutation')))])),
97
+ (0, graphql_mapping_template_1.raw)('$util.toJson($resultValue)'),
98
+ ])));
99
+ return (0, graphql_mapping_template_1.printBlock)('ResponseTemplate')((0, graphql_mapping_template_1.compoundExpression)(statements));
100
+ };
101
+ this.makeHasOneGetItemConnectionWithKeyResolver = (config, ctx) => {
102
+ const { field, references, object, relatedType } = config;
103
+ const relatedStrategy = (0, graphql_transformer_core_1.getModelDataSourceStrategy)(ctx, relatedType.name.value);
104
+ if (!(0, graphql_transformer_core_1.isSqlStrategy)(relatedStrategy)) {
105
+ throw new Error('The @hasOne directive is only supported for SQL data sources.');
106
+ }
107
+ const dataSourceName = (0, graphql_transformer_core_1.getModelDataSourceNameForTypeName)(ctx, relatedType.name.value);
108
+ const dataSource = ctx.api.host.getDataSource(dataSourceName);
109
+ const connectionCondition = [];
110
+ const primaryKeys = (0, graphql_transformer_core_1.getPrimaryKeyFields)(object);
111
+ const relatedTypePrimaryKeys = (0, graphql_transformer_core_1.getPrimaryKeyFields)(relatedType);
112
+ references.forEach((r, index) => {
113
+ connectionCondition.push((0, graphql_mapping_template_1.qref)((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('lambdaInput.args.input.put'), (0, graphql_mapping_template_1.str)(r), (0, graphql_mapping_template_1.obj)({ eq: (0, graphql_mapping_template_1.ref)(`ctx.source.${primaryKeys[index]}`) }))));
114
+ });
115
+ const resolverResourceId = graphql_transformer_common_1.ResolverResourceIDs.ResolverResourceID(object.name.value, field.name.value);
116
+ const resolver = ctx.resolvers.generateQueryResolver(object.name.value, field.name.value, resolverResourceId, dataSource, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(this.generateHasOneLambdaRequestTemplate(relatedType.name.value, 'GET_FIRST', 'GetItemConnectionQuery', connectionCondition, relatedTypePrimaryKeys, ctx), `${object.name.value}.${field.name.value}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(this.generateSingleItemConnectionLambdaResponseMappingTemplate(), `${object.name.value}.${field.name.value}.res.vtl`));
117
+ resolver.setScope(ctx.stackManager.getScopeFor(resolverResourceId, CONNECTION_STACK));
118
+ ctx.resolvers.addResolver(object.name.value, field.name.value, resolver);
119
+ };
120
+ this.makeBelongsToGetItemConnectionWithKeyResolver = (config, ctx) => {
121
+ const { field, references, object, relatedType } = config;
122
+ const relatedStrategy = (0, graphql_transformer_core_1.getModelDataSourceStrategy)(ctx, relatedType.name.value);
123
+ if (!(0, graphql_transformer_core_1.isSqlStrategy)(relatedStrategy)) {
124
+ throw new Error('The @belongsTo directive is only supported for SQL data sources.');
125
+ }
126
+ const dataSourceName = (0, graphql_transformer_core_1.getModelDataSourceNameForTypeName)(ctx, relatedType.name.value);
127
+ const dataSource = ctx.api.host.getDataSource(dataSourceName);
128
+ const connectionCondition = [];
129
+ const primaryKeys = (0, graphql_transformer_core_1.getPrimaryKeyFields)(relatedType);
130
+ references.forEach((r, index) => {
131
+ connectionCondition.push((0, graphql_mapping_template_1.qref)((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('lambdaInput.args.input.put'), (0, graphql_mapping_template_1.str)(primaryKeys[index]), (0, graphql_mapping_template_1.ref)(`ctx.source.${r}`))));
132
+ });
133
+ const resolverResourceId = graphql_transformer_common_1.ResolverResourceIDs.ResolverResourceID(object.name.value, field.name.value);
134
+ const resolver = ctx.resolvers.generateQueryResolver(object.name.value, field.name.value, resolverResourceId, dataSource, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(this.generateHasOneLambdaRequestTemplate(relatedType.name.value, 'GET', 'BelongsToConnectionQuery', connectionCondition, primaryKeys, ctx), `${object.name.value}.${field.name.value}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(this.generateSingleItemConnectionLambdaResponseMappingTemplate(), `${object.name.value}.${field.name.value}.res.vtl`));
135
+ resolver.setScope(ctx.stackManager.getScopeFor(resolverResourceId, CONNECTION_STACK));
136
+ ctx.resolvers.addResolver(object.name.value, field.name.value, resolver);
137
+ };
138
+ this.constructFieldMappingInput = () => {
139
+ return (0, graphql_mapping_template_1.compoundExpression)([
140
+ (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput.args.metadata.fieldMap'), (0, graphql_mapping_template_1.obj)({})),
141
+ (0, graphql_mapping_template_1.qref)((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('lambdaInput.args.metadata.fieldMap.putAll'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.defaultIfNull'), (0, graphql_mapping_template_1.ref)('context.stash.fieldMap'), (0, graphql_mapping_template_1.obj)({})))),
142
+ ]);
143
+ };
144
+ this.constructRelationalFieldAuthFilterStatement = (keyName) => (0, graphql_mapping_template_1.iff)((0, graphql_mapping_template_1.not)((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.isNullOrEmpty'), (0, graphql_mapping_template_1.ref)('ctx.stash.authFilter'))), (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)(keyName), (0, graphql_mapping_template_1.ref)('ctx.stash.authFilter')));
145
+ }
146
+ }
147
+ exports.RDSRelationalResolverGenerator = RDSRelationalResolverGenerator;
148
+ //# sourceMappingURL=rds-generator.js.map