@infrab4a/connect 1.0.0-beta.8 → 1.0.0

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 (364) hide show
  1. package/bundles/infrab4a-connect.umd.js +2173 -267
  2. package/bundles/infrab4a-connect.umd.js.map +1 -1
  3. package/domain/catalog/models/category.d.ts +5 -4
  4. package/domain/catalog/models/index.d.ts +3 -2
  5. package/domain/catalog/models/kit-product.d.ts +12 -0
  6. package/domain/catalog/models/product.d.ts +9 -4
  7. package/domain/catalog/models/types/product-review.type.d.ts +10 -8
  8. package/domain/catalog/models/variant.d.ts +7 -3
  9. package/domain/catalog/repositories/category.repository.d.ts +1 -1
  10. package/domain/catalog/repositories/product.repository.d.ts +10 -3
  11. package/domain/catalog/repositories/subscription-product.repository.d.ts +1 -1
  12. package/domain/catalog/repositories/variant.repository.d.ts +1 -1
  13. package/domain/generic/model/base.model.d.ts +10 -0
  14. package/domain/{general → generic}/model/index.d.ts +0 -1
  15. package/domain/generic/model/types/base-model-builder.type.d.ts +15 -0
  16. package/domain/generic/model/types/identifier-model.type.d.ts +7 -0
  17. package/domain/{general → generic}/model/types/index.d.ts +2 -0
  18. package/domain/generic/model/types/model-base-structure.type.d.ts +6 -0
  19. package/domain/generic/model/types/non-function-properties.type.d.ts +12 -0
  20. package/domain/generic/model/types/non-function-property-name.type.d.ts +4 -0
  21. package/domain/generic/repository/create.repository.d.ts +8 -0
  22. package/domain/generic/repository/crud.repository.d.ts +19 -0
  23. package/domain/generic/repository/delete.repository.d.ts +7 -0
  24. package/domain/{general → generic}/repository/enums/where.enum.d.ts +5 -2
  25. package/domain/generic/repository/find.repository.d.ts +11 -0
  26. package/domain/generic/repository/get.repository.d.ts +5 -0
  27. package/domain/generic/repository/read.repository.d.ts +14 -0
  28. package/domain/{general → generic}/repository/types/index.d.ts +1 -0
  29. package/domain/generic/repository/types/repository-find-filters.type.d.ts +13 -0
  30. package/domain/{general → generic}/repository/types/repository-update-params.type.d.ts +4 -4
  31. package/domain/generic/repository/types/where-options.type.d.ts +2 -0
  32. package/domain/generic/repository/update.repository.d.ts +6 -0
  33. package/domain/index.d.ts +1 -1
  34. package/domain/location/models/address.d.ts +3 -2
  35. package/domain/shop-settings/models/home.d.ts +3 -3
  36. package/domain/shop-settings/models/shop-menu.d.ts +3 -3
  37. package/domain/shop-settings/repositories/home.repository.d.ts +1 -1
  38. package/domain/shop-settings/repositories/shop-menu.repository.d.ts +1 -1
  39. package/domain/shopping/models/buy-2-win.d.ts +3 -5
  40. package/domain/shopping/models/checkout.d.ts +7 -9
  41. package/domain/shopping/models/coupons/coupon.d.ts +13 -15
  42. package/domain/shopping/models/coupons/enums/coupon-subtypes.enum.d.ts +4 -0
  43. package/domain/shopping/models/coupons/enums/coupon-types.enum.d.ts +6 -0
  44. package/domain/shopping/models/coupons/enums/index.d.ts +2 -1
  45. package/domain/shopping/models/coupons/financial-coupon.d.ts +9 -0
  46. package/domain/shopping/models/coupons/index.d.ts +1 -2
  47. package/domain/shopping/models/payment.d.ts +3 -5
  48. package/domain/shopping/models/shipping-method.d.ts +3 -5
  49. package/domain/shopping/models/subscription/checkout.d.ts +3 -5
  50. package/domain/shopping/models/subscription/plan.d.ts +3 -5
  51. package/domain/shopping/repositories/buy-2-win.repository.d.ts +1 -1
  52. package/domain/shopping/repositories/checkout.repository.d.ts +1 -1
  53. package/domain/shopping/repositories/coupon.repository.d.ts +1 -1
  54. package/domain/shopping/repositories/order.repository.d.ts +1 -1
  55. package/domain/shopping/repositories/payment.repository.d.ts +1 -1
  56. package/domain/shopping/repositories/subscription/checkout.repository.d.ts +1 -1
  57. package/domain/shopping/repositories/subscription/plan.repository.d.ts +1 -1
  58. package/domain/users/errors/unauthorized.error.d.ts +2 -1
  59. package/domain/users/errors/user-already-registered.error.d.ts +2 -1
  60. package/domain/users/errors/weak-password.error.d.ts +2 -1
  61. package/domain/users/models/beauty-profile.d.ts +4 -5
  62. package/domain/users/models/lead.d.ts +3 -5
  63. package/domain/users/models/subscription/edition.d.ts +4 -5
  64. package/domain/users/models/subscription/payment.d.ts +4 -5
  65. package/domain/users/models/subscription/subscription.d.ts +3 -5
  66. package/domain/users/models/user-address.d.ts +3 -3
  67. package/domain/users/models/user-payment-method.d.ts +4 -4
  68. package/domain/users/models/user.d.ts +13 -10
  69. package/domain/users/repositories/beauty-profile.repository.d.ts +1 -1
  70. package/domain/users/repositories/edition.repository.d.ts +1 -1
  71. package/domain/users/repositories/lead.repository.d.ts +1 -1
  72. package/domain/users/repositories/subscription-payment.repository.d.ts +1 -1
  73. package/domain/users/repositories/subscription.repository.d.ts +1 -1
  74. package/domain/users/repositories/user-address.repository.d.ts +1 -1
  75. package/domain/users/repositories/user-payment-method.repository.d.ts +1 -1
  76. package/domain/users/repositories/user.repository.d.ts +2 -2
  77. package/errors/duplicated-results.error.d.ts +2 -1
  78. package/errors/invalid-argument.error.d.ts +2 -1
  79. package/errors/not-found.error.d.ts +2 -1
  80. package/errors/required-argument.error.d.ts +2 -1
  81. package/esm2015/domain/catalog/models/category.js +5 -2
  82. package/esm2015/domain/catalog/models/index.js +4 -3
  83. package/esm2015/domain/catalog/models/kit-product.js +18 -0
  84. package/esm2015/domain/catalog/models/product.js +12 -2
  85. package/esm2015/domain/catalog/models/types/product-review.type.js +1 -1
  86. package/esm2015/domain/catalog/models/variant.js +5 -2
  87. package/esm2015/domain/catalog/repositories/category.repository.js +1 -1
  88. package/esm2015/domain/catalog/repositories/product.repository.js +1 -1
  89. package/esm2015/domain/catalog/repositories/subscription-product.repository.js +1 -1
  90. package/esm2015/domain/catalog/repositories/variant.repository.js +1 -1
  91. package/esm2015/domain/{general → generic}/index.js +1 -1
  92. package/esm2015/domain/generic/model/base.model.js +23 -0
  93. package/esm2015/domain/{general → generic}/model/identifier-fields.js +1 -1
  94. package/esm2015/domain/generic/model/index.js +4 -0
  95. package/esm2015/domain/generic/model/types/base-model-builder.type.js +2 -0
  96. package/esm2015/domain/generic/model/types/identifier-model.type.js +2 -0
  97. package/esm2015/domain/generic/model/types/index.js +6 -0
  98. package/esm2015/domain/generic/model/types/model-base-structure.type.js +2 -0
  99. package/esm2015/domain/generic/model/types/non-function-properties.type.js +2 -0
  100. package/esm2015/domain/generic/model/types/non-function-property-name.type.js +2 -0
  101. package/esm2015/domain/generic/repository/create.repository.js +2 -0
  102. package/esm2015/domain/generic/repository/crud.repository.js +2 -0
  103. package/esm2015/domain/generic/repository/delete.repository.js +2 -0
  104. package/esm2015/domain/{general → generic}/repository/enums/index.js +1 -1
  105. package/esm2015/domain/{general → generic}/repository/enums/update-option-actions.enum.js +1 -1
  106. package/esm2015/domain/generic/repository/enums/where.enum.js +15 -0
  107. package/esm2015/domain/generic/repository/find.repository.js +2 -0
  108. package/esm2015/domain/generic/repository/get.repository.js +2 -0
  109. package/esm2015/domain/{general → generic}/repository/index.js +1 -1
  110. package/esm2015/domain/generic/repository/read.repository.js +2 -0
  111. package/esm2015/domain/generic/repository/types/index.js +7 -0
  112. package/esm2015/domain/generic/repository/types/repository-find-filters.type.js +2 -0
  113. package/esm2015/domain/{general → generic}/repository/types/repository-find-result.type.js +1 -1
  114. package/esm2015/domain/{general → generic}/repository/types/repository-limit-options.type.js +1 -1
  115. package/esm2015/domain/{general → generic}/repository/types/repository-order-by-list.type.js +1 -1
  116. package/esm2015/domain/generic/repository/types/repository-update-params.type.js +2 -0
  117. package/esm2015/domain/generic/repository/types/where-options.type.js +2 -0
  118. package/esm2015/domain/generic/repository/update.repository.js +2 -0
  119. package/esm2015/domain/index.js +2 -2
  120. package/esm2015/domain/location/models/address.js +5 -2
  121. package/esm2015/domain/shop-settings/models/home.js +3 -3
  122. package/esm2015/domain/shop-settings/models/shop-menu.js +3 -3
  123. package/esm2015/domain/shop-settings/repositories/home.repository.js +1 -1
  124. package/esm2015/domain/shop-settings/repositories/shop-menu.repository.js +1 -1
  125. package/esm2015/domain/shopping/models/buy-2-win.js +3 -3
  126. package/esm2015/domain/shopping/models/checkout.js +6 -15
  127. package/esm2015/domain/shopping/models/coupons/coupon.js +4 -12
  128. package/esm2015/domain/shopping/models/coupons/enums/coupon-subtypes.enum.js +6 -0
  129. package/esm2015/domain/shopping/models/coupons/enums/coupon-types.enum.js +8 -0
  130. package/esm2015/domain/shopping/models/coupons/enums/index.js +3 -2
  131. package/esm2015/domain/shopping/models/coupons/financial-coupon.js +28 -0
  132. package/esm2015/domain/shopping/models/coupons/index.js +2 -3
  133. package/esm2015/domain/shopping/models/payment.js +3 -3
  134. package/esm2015/domain/shopping/models/shipping-method.js +3 -3
  135. package/esm2015/domain/shopping/models/subscription/checkout.js +3 -3
  136. package/esm2015/domain/shopping/models/subscription/plan.js +3 -3
  137. package/esm2015/domain/shopping/repositories/buy-2-win.repository.js +1 -1
  138. package/esm2015/domain/shopping/repositories/checkout.repository.js +1 -1
  139. package/esm2015/domain/shopping/repositories/coupon.repository.js +1 -1
  140. package/esm2015/domain/shopping/repositories/order.repository.js +1 -1
  141. package/esm2015/domain/shopping/repositories/payment.repository.js +1 -1
  142. package/esm2015/domain/shopping/repositories/subscription/checkout.repository.js +1 -1
  143. package/esm2015/domain/shopping/repositories/subscription/plan.repository.js +1 -1
  144. package/esm2015/domain/users/errors/unauthorized.error.js +3 -2
  145. package/esm2015/domain/users/errors/user-already-registered.error.js +3 -2
  146. package/esm2015/domain/users/errors/weak-password.error.js +3 -2
  147. package/esm2015/domain/users/models/beauty-profile.js +4 -4
  148. package/esm2015/domain/users/models/lead.js +3 -3
  149. package/esm2015/domain/users/models/subscription/edition.js +4 -4
  150. package/esm2015/domain/users/models/subscription/payment.js +4 -4
  151. package/esm2015/domain/users/models/subscription/subscription.js +3 -3
  152. package/esm2015/domain/users/models/user-address.js +3 -3
  153. package/esm2015/domain/users/models/user-payment-method.js +4 -4
  154. package/esm2015/domain/users/models/user.js +5 -5
  155. package/esm2015/domain/users/repositories/beauty-profile.repository.js +1 -1
  156. package/esm2015/domain/users/repositories/edition.repository.js +1 -1
  157. package/esm2015/domain/users/repositories/lead.repository.js +1 -1
  158. package/esm2015/domain/users/repositories/subscription-payment.repository.js +1 -1
  159. package/esm2015/domain/users/repositories/subscription.repository.js +1 -1
  160. package/esm2015/domain/users/repositories/user-address.repository.js +1 -1
  161. package/esm2015/domain/users/repositories/user-payment-method.repository.js +1 -1
  162. package/esm2015/domain/users/repositories/user.repository.js +1 -1
  163. package/esm2015/errors/duplicated-results.error.js +3 -2
  164. package/esm2015/errors/invalid-argument.error.js +3 -2
  165. package/esm2015/errors/not-found.error.js +3 -2
  166. package/esm2015/errors/required-argument.error.js +3 -2
  167. package/esm2015/infra/elasticsearch/adapters/axios.adapter.js +36 -1
  168. package/esm2015/infra/elasticsearch/adapters/elastic-search.adapter.js +1 -1
  169. package/esm2015/infra/elasticsearch/indexes/products-index.js +35 -1
  170. package/esm2015/infra/firebase/auth/authentication-firebase-auth.service.js +2 -2
  171. package/esm2015/infra/firebase/auth/register-firebase-auth.service.js +1 -1
  172. package/esm2015/infra/firebase/firestore/mixins/with-create-firestore.mixin.js +2 -2
  173. package/esm2015/infra/firebase/firestore/mixins/with-crud-firestore.mixin.js +1 -1
  174. package/esm2015/infra/firebase/firestore/mixins/with-delete-firestore.mixin.js +1 -1
  175. package/esm2015/infra/firebase/firestore/mixins/with-find-firestore.mixin.js +9 -10
  176. package/esm2015/infra/firebase/firestore/mixins/with-firestore.mixin.js +2 -6
  177. package/esm2015/infra/firebase/firestore/mixins/with-get-firestore.mixin.js +1 -1
  178. package/esm2015/infra/firebase/firestore/mixins/with-helpers.mixin.js +1 -1
  179. package/esm2015/infra/firebase/firestore/mixins/with-sub-collection.mixin.js +1 -1
  180. package/esm2015/infra/firebase/firestore/mixins/with-update-firestore.mixin.js +4 -4
  181. package/esm2015/infra/firebase/firestore/models/user-search.js +3 -3
  182. package/esm2015/infra/firebase/firestore/repositories/catalog/category-firestore.repository.js +4 -2
  183. package/esm2015/infra/firebase/firestore/repositories/catalog/product-firestore.repository.js +37 -8
  184. package/esm2015/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.js +11 -21
  185. package/esm2015/infra/firebase/firestore/repositories/users/user-firestore.repository.js +2 -2
  186. package/esm2015/infra/firebase/firestore/types/firestore-sub.repository.type.js +1 -1
  187. package/esm2015/infra/firebase/firestore/types/firestore.helpers.type.js +1 -1
  188. package/esm2015/infra/firebase/firestore/types/firestore.repository.type.js +1 -1
  189. package/esm2015/infra/hasura-graphql/enums/hasura-graphql-column-type.enum.js +13 -0
  190. package/esm2015/infra/hasura-graphql/enums/hasura-graphql-where.enum.js +15 -0
  191. package/esm2015/infra/hasura-graphql/enums/index.js +3 -0
  192. package/esm2015/infra/hasura-graphql/index.js +5 -0
  193. package/esm2015/infra/hasura-graphql/mixins/helpers/attribute-option.helper.js +31 -0
  194. package/esm2015/infra/hasura-graphql/mixins/helpers/filter-option.helper.js +18 -0
  195. package/esm2015/infra/hasura-graphql/mixins/helpers/graphql-field.helper.js +72 -0
  196. package/esm2015/infra/hasura-graphql/mixins/helpers/index.js +4 -0
  197. package/esm2015/infra/hasura-graphql/mixins/index.js +8 -0
  198. package/esm2015/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.js +45 -0
  199. package/esm2015/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.js +10 -0
  200. package/esm2015/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.js +29 -0
  201. package/esm2015/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.js +93 -0
  202. package/esm2015/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.js +35 -0
  203. package/esm2015/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.js +94 -0
  204. package/esm2015/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.js +56 -0
  205. package/esm2015/infra/hasura-graphql/models/category-hasura-graphql.js +4 -0
  206. package/esm2015/infra/hasura-graphql/models/index.js +5 -0
  207. package/esm2015/infra/hasura-graphql/models/kit-product-hasura-graphql.js +15 -0
  208. package/esm2015/infra/hasura-graphql/models/product-hasura-graphql.js +11 -0
  209. package/esm2015/infra/hasura-graphql/models/variant-hasura-graphql.js +9 -0
  210. package/esm2015/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.js +136 -0
  211. package/esm2015/infra/hasura-graphql/repositories/catalog/index.js +4 -0
  212. package/esm2015/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.js +375 -0
  213. package/esm2015/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.js +107 -0
  214. package/esm2015/infra/hasura-graphql/repositories/index.js +2 -0
  215. package/esm2015/infra/hasura-graphql/types/fields.type.js +2 -0
  216. package/esm2015/infra/hasura-graphql/types/graphql.repository.type.js +2 -0
  217. package/esm2015/infra/hasura-graphql/types/hasura-graphql-auth-options.type.js +2 -0
  218. package/esm2015/infra/hasura-graphql/types/hasura-graphql-fields.type.js +2 -0
  219. package/esm2015/infra/hasura-graphql/types/hasura-graphql-headers.type.js +2 -0
  220. package/esm2015/infra/hasura-graphql/types/index.js +9 -0
  221. package/esm2015/infra/hasura-graphql/types/nested-field.type.js +2 -0
  222. package/esm2015/infra/hasura-graphql/types/query-builder-options.type.js +2 -0
  223. package/esm2015/infra/hasura-graphql/types/variable-options.type.js +2 -0
  224. package/esm2015/infra/index.js +2 -1
  225. package/esm2015/utils/index.js +6 -4
  226. package/esm2015/utils/is-uuid.js +3 -0
  227. package/esm2015/utils/mixins/index.js +2 -1
  228. package/esm2015/utils/mixins/merge-constructor-params.type.js +2 -0
  229. package/esm2015/utils/mixins/mixin-ctor.type.js +1 -1
  230. package/esm2015/utils/parse-datetime.js +14 -0
  231. package/esm2015/utils/types/array-element.type.js +2 -0
  232. package/esm2015/utils/types/index.js +2 -1
  233. package/fesm2015/infrab4a-connect.js +1375 -142
  234. package/fesm2015/infrab4a-connect.js.map +1 -1
  235. package/infra/elasticsearch/adapters/axios.adapter.d.ts +3 -0
  236. package/infra/elasticsearch/adapters/elastic-search.adapter.d.ts +3 -0
  237. package/infra/elasticsearch/indexes/products-index.d.ts +5 -1
  238. package/infra/firebase/auth/authentication-firebase-auth.service.d.ts +1 -1
  239. package/infra/firebase/auth/register-firebase-auth.service.d.ts +1 -1
  240. package/infra/firebase/firestore/mixins/with-create-firestore.mixin.d.ts +3 -16
  241. package/infra/firebase/firestore/mixins/with-crud-firestore.mixin.d.ts +3 -28
  242. package/infra/firebase/firestore/mixins/with-delete-firestore.mixin.d.ts +3 -14
  243. package/infra/firebase/firestore/mixins/with-find-firestore.mixin.d.ts +3 -19
  244. package/infra/firebase/firestore/mixins/with-firestore.mixin.d.ts +3 -14
  245. package/infra/firebase/firestore/mixins/with-get-firestore.mixin.d.ts +3 -14
  246. package/infra/firebase/firestore/mixins/with-helpers.mixin.d.ts +5 -4
  247. package/infra/firebase/firestore/mixins/with-sub-collection.mixin.d.ts +7 -14
  248. package/infra/firebase/firestore/mixins/with-update-firestore.mixin.d.ts +6 -15
  249. package/infra/firebase/firestore/models/user-search.d.ts +3 -3
  250. package/infra/firebase/firestore/repositories/catalog/category-firestore.repository.d.ts +1 -42
  251. package/infra/firebase/firestore/repositories/catalog/product-firestore.repository.d.ts +5 -44
  252. package/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.d.ts +4 -51
  253. package/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.d.ts +1 -42
  254. package/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.d.ts +1 -42
  255. package/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.d.ts +1 -42
  256. package/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.d.ts +1 -42
  257. package/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.d.ts +1 -42
  258. package/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.d.ts +1 -42
  259. package/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.d.ts +1 -42
  260. package/infra/firebase/firestore/repositories/shopping/order-firestore.repository.d.ts +1 -42
  261. package/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.d.ts +1 -42
  262. package/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.d.ts +1 -42
  263. package/infra/firebase/firestore/repositories/users/lead-firestore.repository.d.ts +1 -42
  264. package/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.d.ts +4 -51
  265. package/infra/firebase/firestore/repositories/users/subscription-firestore.repository.d.ts +1 -42
  266. package/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.d.ts +4 -51
  267. package/infra/firebase/firestore/repositories/users/user-address-firestore.repository.d.ts +4 -51
  268. package/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.d.ts +4 -51
  269. package/infra/firebase/firestore/repositories/users/user-firestore.repository.d.ts +1 -42
  270. package/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.d.ts +4 -51
  271. package/infra/firebase/firestore/repositories/users/user-search-firestore.repository.d.ts +1 -42
  272. package/infra/firebase/firestore/types/firestore-sub.repository.type.d.ts +3 -3
  273. package/infra/firebase/firestore/types/firestore.helpers.type.d.ts +3 -3
  274. package/infra/firebase/firestore/types/firestore.repository.type.d.ts +7 -3
  275. package/infra/hasura-graphql/enums/hasura-graphql-column-type.enum.d.ts +11 -0
  276. package/infra/hasura-graphql/enums/hasura-graphql-where.enum.d.ts +13 -0
  277. package/infra/hasura-graphql/enums/index.d.ts +2 -0
  278. package/infra/hasura-graphql/index.d.ts +4 -0
  279. package/infra/hasura-graphql/mixins/helpers/attribute-option.helper.d.ts +13 -0
  280. package/infra/hasura-graphql/mixins/helpers/filter-option.helper.d.ts +6 -0
  281. package/infra/hasura-graphql/mixins/helpers/graphql-field.helper.d.ts +8 -0
  282. package/infra/hasura-graphql/mixins/helpers/index.d.ts +3 -0
  283. package/infra/hasura-graphql/mixins/index.d.ts +7 -0
  284. package/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.d.ts +8 -0
  285. package/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.d.ts +11 -0
  286. package/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.d.ts +7 -0
  287. package/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.d.ts +31 -0
  288. package/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.d.ts +24 -0
  289. package/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.d.ts +11 -0
  290. package/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.d.ts +14 -0
  291. package/infra/hasura-graphql/models/category-hasura-graphql.d.ts +6 -0
  292. package/infra/hasura-graphql/models/index.d.ts +4 -0
  293. package/infra/hasura-graphql/models/kit-product-hasura-graphql.d.ts +6 -0
  294. package/infra/hasura-graphql/models/product-hasura-graphql.d.ts +9 -0
  295. package/infra/hasura-graphql/models/variant-hasura-graphql.d.ts +9 -0
  296. package/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.d.ts +22 -0
  297. package/infra/hasura-graphql/repositories/catalog/index.d.ts +3 -0
  298. package/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.d.ts +26 -0
  299. package/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.d.ts +13 -0
  300. package/infra/hasura-graphql/repositories/index.d.ts +1 -0
  301. package/infra/hasura-graphql/types/fields.type.d.ts +2 -0
  302. package/infra/hasura-graphql/types/graphql.repository.type.d.ts +21 -0
  303. package/infra/hasura-graphql/types/hasura-graphql-auth-options.type.d.ts +8 -0
  304. package/infra/hasura-graphql/types/hasura-graphql-fields.type.d.ts +36 -0
  305. package/infra/hasura-graphql/types/hasura-graphql-headers.type.d.ts +7 -0
  306. package/infra/hasura-graphql/types/index.d.ts +8 -0
  307. package/infra/hasura-graphql/types/nested-field.type.d.ts +7 -0
  308. package/infra/hasura-graphql/types/query-builder-options.type.d.ts +7 -0
  309. package/infra/hasura-graphql/types/variable-options.type.d.ts +9 -0
  310. package/infra/index.d.ts +1 -0
  311. package/package.json +5 -3
  312. package/utils/index.d.ts +5 -4
  313. package/utils/is-uuid.d.ts +1 -0
  314. package/utils/mixins/index.d.ts +1 -0
  315. package/utils/mixins/merge-constructor-params.type.d.ts +3 -0
  316. package/utils/mixins/mixin-ctor.type.d.ts +1 -1
  317. package/utils/parse-datetime.d.ts +1 -0
  318. package/utils/types/array-element.type.d.ts +1 -0
  319. package/utils/types/index.d.ts +1 -0
  320. package/domain/general/model/base-model-with-identifier-fields.d.ts +0 -3
  321. package/domain/general/model/base.model.d.ts +0 -6
  322. package/domain/general/model/types/base-model-builder.type.d.ts +0 -5
  323. package/domain/general/model/types/non-function-properties.type.d.ts +0 -2
  324. package/domain/general/model/types/non-function-property-name.type.d.ts +0 -3
  325. package/domain/general/repository/create.repository.d.ts +0 -5
  326. package/domain/general/repository/crud.repository.d.ts +0 -7
  327. package/domain/general/repository/delete.repository.d.ts +0 -5
  328. package/domain/general/repository/find.repository.d.ts +0 -5
  329. package/domain/general/repository/get.repository.d.ts +0 -5
  330. package/domain/general/repository/read.repository.d.ts +0 -5
  331. package/domain/general/repository/types/repository-find-filters.type.d.ts +0 -14
  332. package/domain/general/repository/update.repository.d.ts +0 -5
  333. package/domain/shopping/models/coupons/club-coupon.d.ts +0 -7
  334. package/domain/shopping/models/coupons/enums/discount-type.enum.d.ts +0 -5
  335. package/domain/shopping/models/coupons/store-coupon.d.ts +0 -8
  336. package/esm2015/domain/general/model/base-model-with-identifier-fields.js +0 -2
  337. package/esm2015/domain/general/model/base.model.js +0 -13
  338. package/esm2015/domain/general/model/index.js +0 -5
  339. package/esm2015/domain/general/model/types/base-model-builder.type.js +0 -2
  340. package/esm2015/domain/general/model/types/index.js +0 -4
  341. package/esm2015/domain/general/model/types/non-function-properties.type.js +0 -2
  342. package/esm2015/domain/general/model/types/non-function-property-name.type.js +0 -2
  343. package/esm2015/domain/general/repository/create.repository.js +0 -2
  344. package/esm2015/domain/general/repository/crud.repository.js +0 -2
  345. package/esm2015/domain/general/repository/delete.repository.js +0 -2
  346. package/esm2015/domain/general/repository/enums/where.enum.js +0 -12
  347. package/esm2015/domain/general/repository/find.repository.js +0 -2
  348. package/esm2015/domain/general/repository/get.repository.js +0 -2
  349. package/esm2015/domain/general/repository/read.repository.js +0 -2
  350. package/esm2015/domain/general/repository/types/index.js +0 -6
  351. package/esm2015/domain/general/repository/types/repository-find-filters.type.js +0 -2
  352. package/esm2015/domain/general/repository/types/repository-update-params.type.js +0 -2
  353. package/esm2015/domain/general/repository/update.repository.js +0 -2
  354. package/esm2015/domain/shopping/models/coupons/club-coupon.js +0 -18
  355. package/esm2015/domain/shopping/models/coupons/enums/discount-type.enum.js +0 -7
  356. package/esm2015/domain/shopping/models/coupons/store-coupon.js +0 -23
  357. /package/domain/{general → generic}/index.d.ts +0 -0
  358. /package/domain/{general → generic}/model/identifier-fields.d.ts +0 -0
  359. /package/domain/{general → generic}/repository/enums/index.d.ts +0 -0
  360. /package/domain/{general → generic}/repository/enums/update-option-actions.enum.d.ts +0 -0
  361. /package/domain/{general → generic}/repository/index.d.ts +0 -0
  362. /package/domain/{general → generic}/repository/types/repository-find-result.type.d.ts +0 -0
  363. /package/domain/{general → generic}/repository/types/repository-limit-options.type.d.ts +0 -0
  364. /package/domain/{general → generic}/repository/types/repository-order-by-list.type.d.ts +0 -0
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZXN0b3JlLXN1Yi5yZXBvc2l0b3J5LnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9maXJlYmFzZS9maXJlc3RvcmUvdHlwZXMvZmlyZXN0b3JlLXN1Yi5yZXBvc2l0b3J5LnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpcmVzdG9yZVJlcG9zaXRvcnkgfSBmcm9tICcuL2ZpcmVzdG9yZS5yZXBvc2l0b3J5LnR5cGUnXG5cbmltcG9ydCB7IEJhc2VNb2RlbFdpdGhJZGVudGlmaWVyLCBOb25GdW5jdGlvblByb3BlcnR5TmFtZXMgfSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4nXG5cbmV4cG9ydCB0eXBlIEZpcmVzdG9yZVN1YlJlcG9zaXRvcnk8XG4gIE1vZGVsIGV4dGVuZHMgQmFzZU1vZGVsV2l0aElkZW50aWZpZXI8TW9kZWw+LFxuICBQYXJlbnRNb2RlbCBleHRlbmRzIEJhc2VNb2RlbFdpdGhJZGVudGlmaWVyPFBhcmVudE1vZGVsPiA9IEJhc2VNb2RlbFdpdGhJZGVudGlmaWVyPHt9Pixcbj4gPSB7XG4gIHJlYWRvbmx5IHBhcmVudFJlcG9zaXRvcnk6IEZpcmVzdG9yZVJlcG9zaXRvcnk8UGFyZW50TW9kZWw+XG4gIHBhcmVudElkRmllbGQ6IE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lczxNb2RlbD5cbn0gJiBGaXJlc3RvcmVSZXBvc2l0b3J5PE1vZGVsPlxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZXN0b3JlLXN1Yi5yZXBvc2l0b3J5LnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9maXJlYmFzZS9maXJlc3RvcmUvdHlwZXMvZmlyZXN0b3JlLXN1Yi5yZXBvc2l0b3J5LnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpcmVzdG9yZVJlcG9zaXRvcnkgfSBmcm9tICcuL2ZpcmVzdG9yZS5yZXBvc2l0b3J5LnR5cGUnXG5cbmltcG9ydCB7IEJhc2VNb2RlbCwgTW9kZWxCYXNlU3RydWN0dXJlLCBJZGVudGlmaWVyc01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJ1xuXG5leHBvcnQgdHlwZSBGaXJlc3RvcmVTdWJSZXBvc2l0b3J5PFxuICBNb2RlbCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZSxcbiAgUGFyZW50TW9kZWwgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmUgPSBCYXNlTW9kZWw8e30+LFxuPiA9IHtcbiAgcmVhZG9ubHkgcGFyZW50UmVwb3NpdG9yeTogRmlyZXN0b3JlUmVwb3NpdG9yeTxQYXJlbnRNb2RlbD5cbiAgcGFyZW50SWRGaWVsZDoga2V5b2YgSWRlbnRpZmllcnNNb2RlbDxNb2RlbD5cbn0gJiBGaXJlc3RvcmVSZXBvc2l0b3J5PE1vZGVsPlxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZXN0b3JlLmhlbHBlcnMudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2ZpcmViYXNlL2ZpcmVzdG9yZS90eXBlcy9maXJlc3RvcmUuaGVscGVycy50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBRdWVyeVNuYXBzaG90LCBRdWVyeURvY3VtZW50U25hcHNob3QgfSBmcm9tICdAZmlyZWJhc2UvZmlyZXN0b3JlLXR5cGVzJ1xuXG5pbXBvcnQgeyBCYXNlTW9kZWxXaXRoSWRlbnRpZmllciB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbidcblxuaW1wb3J0IHsgRmlyZXN0b3JlUmVwb3NpdG9yeSB9IGZyb20gJy4vZmlyZXN0b3JlLnJlcG9zaXRvcnkudHlwZSdcbmltcG9ydCB7IEZpcmVzdG9yZVN1YlJlcG9zaXRvcnkgfSBmcm9tICcuL2ZpcmVzdG9yZS1zdWIucmVwb3NpdG9yeS50eXBlJ1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpcmVzdG9yZUhlbHBlcnMge1xuICB0b0FycmF5PFQgZXh0ZW5kcyBCYXNlTW9kZWxXaXRoSWRlbnRpZmllcjxUPj4oc25hcFNob3Q6IFF1ZXJ5U25hcHNob3Q8VD4gfCBBcnJheTxRdWVyeURvY3VtZW50U25hcHNob3Q8VD4+KTogQXJyYXk8VD5cbiAgaXNTdWJDb2xsZWN0aW9uPFQgZXh0ZW5kcyBCYXNlTW9kZWxXaXRoSWRlbnRpZmllcjxUPj4oXG4gICAgcmVwb3NpdG9yeTogRmlyZXN0b3JlUmVwb3NpdG9yeTxUPixcbiAgKTogcmVwb3NpdG9yeSBpcyBGaXJlc3RvcmVTdWJSZXBvc2l0b3J5PFQ+XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZXN0b3JlLmhlbHBlcnMudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2ZpcmViYXNlL2ZpcmVzdG9yZS90eXBlcy9maXJlc3RvcmUuaGVscGVycy50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBRdWVyeVNuYXBzaG90LCBRdWVyeURvY3VtZW50U25hcHNob3QgfSBmcm9tICdAZmlyZWJhc2UvZmlyZXN0b3JlLXR5cGVzJ1xuXG5pbXBvcnQgeyBCYXNlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4nXG5cbmltcG9ydCB7IEZpcmVzdG9yZVJlcG9zaXRvcnkgfSBmcm9tICcuL2ZpcmVzdG9yZS5yZXBvc2l0b3J5LnR5cGUnXG5pbXBvcnQgeyBGaXJlc3RvcmVTdWJSZXBvc2l0b3J5IH0gZnJvbSAnLi9maXJlc3RvcmUtc3ViLnJlcG9zaXRvcnkudHlwZSdcblxuZXhwb3J0IGludGVyZmFjZSBGaXJlc3RvcmVIZWxwZXJzIHtcbiAgdG9BcnJheTxUIGV4dGVuZHMgQmFzZU1vZGVsPFQ+PihzbmFwU2hvdDogUXVlcnlTbmFwc2hvdDxUPiB8IEFycmF5PFF1ZXJ5RG9jdW1lbnRTbmFwc2hvdDxUPj4pOiBBcnJheTxUPlxuICBpc1N1YkNvbGxlY3Rpb248VCBleHRlbmRzIEJhc2VNb2RlbDxUPj4ocmVwb3NpdG9yeTogRmlyZXN0b3JlUmVwb3NpdG9yeTxUPik6IHJlcG9zaXRvcnkgaXMgRmlyZXN0b3JlU3ViUmVwb3NpdG9yeTxUPlxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZXN0b3JlLnJlcG9zaXRvcnkudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2ZpcmViYXNlL2ZpcmVzdG9yZS90eXBlcy9maXJlc3RvcmUucmVwb3NpdG9yeS50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uUmVmZXJlbmNlLCBGaXJlYmFzZUZpcmVzdG9yZSB9IGZyb20gJ0BmaXJlYmFzZS9maXJlc3RvcmUtdHlwZXMnXG5cbmltcG9ydCB7IEJhc2VNb2RlbEJ1aWxkZXIsIEJhc2VNb2RlbFdpdGhJZGVudGlmaWVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJ1xuXG5leHBvcnQgdHlwZSBGaXJlc3RvcmVSZXBvc2l0b3J5PE1vZGVsIGV4dGVuZHMgQmFzZU1vZGVsV2l0aElkZW50aWZpZXI8TW9kZWw+PiA9IHtcbiAgcmVhZG9ubHkgZmlyZXN0b3JlPzogRmlyZWJhc2VGaXJlc3RvcmVcbiAgY29sbGVjdGlvbk5hbWU6IHN0cmluZ1xuICBtb2RlbDogQmFzZU1vZGVsQnVpbGRlcjxNb2RlbD5cbiAgY29sbGVjdGlvbihwYXRoPzogc3RyaW5nKTogQ29sbGVjdGlvblJlZmVyZW5jZTxNb2RlbD5cbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZXN0b3JlLnJlcG9zaXRvcnkudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2ZpcmViYXNlL2ZpcmVzdG9yZS90eXBlcy9maXJlc3RvcmUucmVwb3NpdG9yeS50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uUmVmZXJlbmNlLCBEb2N1bWVudERhdGEsIEZpcmViYXNlRmlyZXN0b3JlLCBRdWVyeURvY3VtZW50U25hcHNob3QgfSBmcm9tICdAZmlyZWJhc2UvZmlyZXN0b3JlLXR5cGVzJ1xuXG5pbXBvcnQgeyBCYXNlTW9kZWxCdWlsZGVyLCBNb2RlbEJhc2VTdHJ1Y3R1cmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4nXG5cbmV4cG9ydCB0eXBlIEZpcmVzdG9yZVJlcG9zaXRvcnk8TW9kZWwgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU+ID0ge1xuICByZWFkb25seSBmaXJlc3RvcmU/OiBGaXJlYmFzZUZpcmVzdG9yZVxuICBjb2xsZWN0aW9uTmFtZTogc3RyaW5nXG4gIG1vZGVsOiBCYXNlTW9kZWxCdWlsZGVyPE1vZGVsPlxuICBjb2xsZWN0aW9uKHBhdGg/OiBzdHJpbmcpOiBDb2xsZWN0aW9uUmVmZXJlbmNlPE1vZGVsPlxuICBidWlsZE1vZGVsSW5zdGFuY2UoKToge1xuICAgIHRvRmlyZXN0b3JlOiAoZGF0YTogTW9kZWwpID0+IERvY3VtZW50RGF0YVxuICAgIGZyb21GaXJlc3RvcmU6IChzbmFwOiBRdWVyeURvY3VtZW50U25hcHNob3Q8TW9kZWw+KSA9PiBNb2RlbFxuICB9XG59XG4iXX0=
@@ -0,0 +1,13 @@
1
+ export var HasuraGraphQLColumnType;
2
+ (function (HasuraGraphQLColumnType) {
3
+ HasuraGraphQLColumnType["Int"] = "Int";
4
+ HasuraGraphQLColumnType["Float"] = "Float";
5
+ HasuraGraphQLColumnType["Boolean"] = "Boolean";
6
+ HasuraGraphQLColumnType["String"] = "String";
7
+ HasuraGraphQLColumnType["DateTime"] = "timestampz";
8
+ HasuraGraphQLColumnType["Json"] = "json";
9
+ HasuraGraphQLColumnType["Jsonb"] = "jsonb";
10
+ HasuraGraphQLColumnType["Enum"] = "enum";
11
+ HasuraGraphQLColumnType["Uuid"] = "uuid";
12
+ })(HasuraGraphQLColumnType || (HasuraGraphQLColumnType = {}));
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzdXJhLWdyYXBocWwtY29sdW1uLXR5cGUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2hhc3VyYS1ncmFwaHFsL2VudW1zL2hhc3VyYS1ncmFwaHFsLWNvbHVtbi10eXBlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksdUJBVVg7QUFWRCxXQUFZLHVCQUF1QjtJQUNqQyxzQ0FBVyxDQUFBO0lBQ1gsMENBQWUsQ0FBQTtJQUNmLDhDQUFtQixDQUFBO0lBQ25CLDRDQUFpQixDQUFBO0lBQ2pCLGtEQUF1QixDQUFBO0lBQ3ZCLHdDQUFhLENBQUE7SUFDYiwwQ0FBZSxDQUFBO0lBQ2Ysd0NBQWEsQ0FBQTtJQUNiLHdDQUFhLENBQUE7QUFDZixDQUFDLEVBVlcsdUJBQXVCLEtBQXZCLHVCQUF1QixRQVVsQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEhhc3VyYUdyYXBoUUxDb2x1bW5UeXBlIHtcbiAgSW50ID0gJ0ludCcsXG4gIEZsb2F0ID0gJ0Zsb2F0JyxcbiAgQm9vbGVhbiA9ICdCb29sZWFuJyxcbiAgU3RyaW5nID0gJ1N0cmluZycsXG4gIERhdGVUaW1lID0gJ3RpbWVzdGFtcHonLFxuICBKc29uID0gJ2pzb24nLFxuICBKc29uYiA9ICdqc29uYicsXG4gIEVudW0gPSAnZW51bScsXG4gIFV1aWQgPSAndXVpZCcsXG59XG4iXX0=
@@ -0,0 +1,15 @@
1
+ export var HasuraGraphQLWhere;
2
+ (function (HasuraGraphQLWhere) {
3
+ HasuraGraphQLWhere["EQUALS"] = "_eq";
4
+ HasuraGraphQLWhere["GT"] = "_gt";
5
+ HasuraGraphQLWhere["GTE"] = "_gte";
6
+ HasuraGraphQLWhere["IN"] = "_in";
7
+ HasuraGraphQLWhere["NOTIN"] = "_nin";
8
+ HasuraGraphQLWhere["LT"] = "_lt";
9
+ HasuraGraphQLWhere["LTE"] = "_lte";
10
+ HasuraGraphQLWhere["LIKE"] = "_like";
11
+ HasuraGraphQLWhere["NOTLIKE"] = "_nlike";
12
+ HasuraGraphQLWhere["ISNULL"] = "_is_null";
13
+ HasuraGraphQLWhere["ISNOTNULL"] = "_is_null";
14
+ })(HasuraGraphQLWhere || (HasuraGraphQLWhere = {}));
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzdXJhLWdyYXBocWwtd2hlcmUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2hhc3VyYS1ncmFwaHFsL2VudW1zL2hhc3VyYS1ncmFwaHFsLXdoZXJlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksa0JBWVg7QUFaRCxXQUFZLGtCQUFrQjtJQUM1QixvQ0FBYyxDQUFBO0lBQ2QsZ0NBQVUsQ0FBQTtJQUNWLGtDQUFZLENBQUE7SUFDWixnQ0FBVSxDQUFBO0lBQ1Ysb0NBQWMsQ0FBQTtJQUNkLGdDQUFVLENBQUE7SUFDVixrQ0FBWSxDQUFBO0lBQ1osb0NBQWMsQ0FBQTtJQUNkLHdDQUFrQixDQUFBO0lBQ2xCLHlDQUFtQixDQUFBO0lBQ25CLDRDQUFzQixDQUFBO0FBQ3hCLENBQUMsRUFaVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBWTdCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gSGFzdXJhR3JhcGhRTFdoZXJlIHtcbiAgRVFVQUxTID0gJ19lcScsXG4gIEdUID0gJ19ndCcsXG4gIEdURSA9ICdfZ3RlJyxcbiAgSU4gPSAnX2luJyxcbiAgTk9USU4gPSAnX25pbicsXG4gIExUID0gJ19sdCcsXG4gIExURSA9ICdfbHRlJyxcbiAgTElLRSA9ICdfbGlrZScsXG4gIE5PVExJS0UgPSAnX25saWtlJyxcbiAgSVNOVUxMID0gJ19pc19udWxsJyxcbiAgSVNOT1ROVUxMID0gJ19pc19udWxsJyxcbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './hasura-graphql-where.enum';
2
+ export * from './hasura-graphql-column-type.enum';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9lbnVtcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFBO0FBQzNDLGNBQWMsbUNBQW1DLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2hhc3VyYS1ncmFwaHFsLXdoZXJlLmVudW0nXG5leHBvcnQgKiBmcm9tICcuL2hhc3VyYS1ncmFwaHFsLWNvbHVtbi10eXBlLmVudW0nXG4iXX0=
@@ -0,0 +1,5 @@
1
+ export * from './mixins';
2
+ export * from './models';
3
+ export * from './repositories';
4
+ export * from './types';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQTtBQUN4QixjQUFjLFVBQVUsQ0FBQTtBQUN4QixjQUFjLGdCQUFnQixDQUFBO0FBQzlCLGNBQWMsU0FBUyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9taXhpbnMnXG5leHBvcnQgKiBmcm9tICcuL21vZGVscydcbmV4cG9ydCAqIGZyb20gJy4vcmVwb3NpdG9yaWVzJ1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcydcbiJdfQ==
@@ -0,0 +1,31 @@
1
+ import { isNil, isObject } from '../../../../utils';
2
+ export class AttributeOptionHelper {
3
+ }
4
+ AttributeOptionHelper.FindByAttribute = (attributeName, fields) => {
5
+ if (fields.includes(attributeName))
6
+ return { columnName: attributeName.toString(), attributeName };
7
+ const field = fields.find((columnOption) => isObject(columnOption) && Object.keys(columnOption).includes(attributeName.toString()));
8
+ const fieldOption = field === null || field === void 0 ? void 0 : field[attributeName.toString()];
9
+ if (isNil(fieldOption))
10
+ return { columnName: attributeName.toString(), attributeName };
11
+ if (Array.isArray(fieldOption))
12
+ return { columnName: attributeName.toString(), attributeName, fields: fieldOption };
13
+ return Object.assign({ attributeName, columnName: attributeName.toString() }, fieldOption);
14
+ };
15
+ AttributeOptionHelper.CheckIsColumnOption = (fieldValue) => !!fieldValue.columnName;
16
+ AttributeOptionHelper.FindColumnOptionFromList = (columnName, fields) => {
17
+ if (fields.includes(columnName))
18
+ return { columnName, attributeName: columnName };
19
+ const field = fields.find((columnOption) => {
20
+ var _a;
21
+ return isObject(columnOption) &&
22
+ ((_a = Object.values(columnOption).find((option) => AttributeOptionHelper.CheckIsColumnOption(option) && option.columnName === columnName)) === null || _a === void 0 ? void 0 : _a.columnName) === columnName;
23
+ }) || {};
24
+ const attributeName = Object.keys(field).find((fieldOptionFromList) => AttributeOptionHelper.CheckIsColumnOption(field[fieldOptionFromList]) ||
25
+ Array.isArray(field[fieldOptionFromList]));
26
+ const fieldOption = field === null || field === void 0 ? void 0 : field[attributeName];
27
+ if (Array.isArray(fieldOption))
28
+ return { attributeName: attributeName, fields: fieldOption };
29
+ return Object.assign({ attributeName: attributeName || columnName, columnName }, fieldOption);
30
+ };
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLW9wdGlvbi5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvaGVscGVycy9hdHRyaWJ1dGUtb3B0aW9uLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBUW5ELE1BQU0sT0FBTyxxQkFBcUI7O0FBQ3pCLHFDQUFlLEdBQUcsQ0FJdkIsYUFBd0IsRUFDeEIsTUFBa0MsRUFDTyxFQUFFO0lBQzNDLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFvQixDQUFDO1FBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLENBQUMsUUFBUSxFQUFFLEVBQUUsYUFBYSxFQUFFLENBQUE7SUFFekcsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FDdkIsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FDekcsQ0FBQTtJQUNELE1BQU0sV0FBVyxHQUFHLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtJQUVyRCxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxhQUFhLEVBQUUsQ0FBQTtJQUN0RixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLENBQUMsUUFBUSxFQUFFLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsQ0FBQTtJQUVuSCx1QkFBUyxhQUFhLEVBQUUsVUFBVSxFQUFFLGFBQWEsQ0FBQyxRQUFRLEVBQUUsSUFBSyxXQUFXLEVBQUU7QUFDaEYsQ0FBQyxDQUFBO0FBRU0seUNBQW1CLEdBQUcsQ0FDM0IsVUFBNkMsRUFDSSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUE7QUFFdEUsOENBQXdCLEdBQUcsQ0FDaEMsVUFBa0IsRUFDbEIsTUFBd0MsRUFDbUUsRUFBRTtJQUM3RyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBaUIsQ0FBQztRQUNwQyxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxVQUFnRSxFQUFFLENBQUE7SUFFeEcsTUFBTSxLQUFLLEdBQ1QsTUFBTSxDQUFDLElBQUksQ0FDVCxDQUFDLFlBQVksRUFBRSxFQUFFOztRQUNmLE9BQUEsUUFBUSxDQUFDLFlBQVksQ0FBQztZQUN0QixDQUFBLE1BQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQzlCLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsVUFBVSxLQUFLLFVBQVUsQ0FDbEcsMENBQUUsVUFBVSxNQUFLLFVBQVUsQ0FBQTtLQUFBLENBQy9CLElBQUksRUFBRSxDQUFBO0lBQ1QsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQzNDLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxDQUN0QixxQkFBcUIsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNyRSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQzVDLENBQUE7SUFDRCxNQUFNLFdBQVcsR0FBRyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUcsYUFBYSxDQUFDLENBQUE7SUFFMUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUM1QixPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQW1FLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxDQUFBO0lBRXBILHVCQUNFLGFBQWEsRUFBRyxhQUFvRSxJQUFJLFVBQVUsRUFDbEcsVUFBVSxJQUNQLFdBQVcsRUFDZjtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGVsQmFzZVN0cnVjdHVyZSwgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lcyB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IGlzTmlsLCBpc09iamVjdCB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgQ29sdW1uT3B0aW9ucywgSGFzdXJhR3JhcGhRTEZpZWxkcyB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuXG50eXBlIEZpbmRCeUF0dHJpYnV0ZVJlc3VsdDxcbiAgTUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU8TUJhc2U+LFxuICBBdHRyaWJ1dGUgZXh0ZW5kcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPixcbj4gPSBDb2x1bW5PcHRpb25zPE1CYXNlW0F0dHJpYnV0ZV0sIE1CYXNlPiAmIHsgYXR0cmlidXRlTmFtZTogQXR0cmlidXRlIH1cblxuZXhwb3J0IGNsYXNzIEF0dHJpYnV0ZU9wdGlvbkhlbHBlciB7XG4gIHN0YXRpYyBGaW5kQnlBdHRyaWJ1dGUgPSA8XG4gICAgTUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmUsXG4gICAgQXR0cmlidXRlIGV4dGVuZHMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT4sXG4gID4oXG4gICAgYXR0cmlidXRlTmFtZTogQXR0cmlidXRlLFxuICAgIGZpZWxkczogSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4sXG4gICk6IEZpbmRCeUF0dHJpYnV0ZVJlc3VsdDxNQmFzZSwgQXR0cmlidXRlPiA9PiB7XG4gICAgaWYgKGZpZWxkcy5pbmNsdWRlcyhhdHRyaWJ1dGVOYW1lIGFzIGFueSkpIHJldHVybiB7IGNvbHVtbk5hbWU6IGF0dHJpYnV0ZU5hbWUudG9TdHJpbmcoKSwgYXR0cmlidXRlTmFtZSB9XG5cbiAgICBjb25zdCBmaWVsZCA9IGZpZWxkcy5maW5kKFxuICAgICAgKGNvbHVtbk9wdGlvbikgPT4gaXNPYmplY3QoY29sdW1uT3B0aW9uKSAmJiBPYmplY3Qua2V5cyhjb2x1bW5PcHRpb24pLmluY2x1ZGVzKGF0dHJpYnV0ZU5hbWUudG9TdHJpbmcoKSksXG4gICAgKVxuICAgIGNvbnN0IGZpZWxkT3B0aW9uID0gZmllbGQ/LlthdHRyaWJ1dGVOYW1lLnRvU3RyaW5nKCldXG5cbiAgICBpZiAoaXNOaWwoZmllbGRPcHRpb24pKSByZXR1cm4geyBjb2x1bW5OYW1lOiBhdHRyaWJ1dGVOYW1lLnRvU3RyaW5nKCksIGF0dHJpYnV0ZU5hbWUgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KGZpZWxkT3B0aW9uKSkgcmV0dXJuIHsgY29sdW1uTmFtZTogYXR0cmlidXRlTmFtZS50b1N0cmluZygpLCBhdHRyaWJ1dGVOYW1lLCBmaWVsZHM6IGZpZWxkT3B0aW9uIH1cblxuICAgIHJldHVybiB7IGF0dHJpYnV0ZU5hbWUsIGNvbHVtbk5hbWU6IGF0dHJpYnV0ZU5hbWUudG9TdHJpbmcoKSwgLi4uZmllbGRPcHRpb24gfVxuICB9XG5cbiAgc3RhdGljIENoZWNrSXNDb2x1bW5PcHRpb24gPSA8TW9kZWwgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmUsIFBhcmVudE1vZGVsIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPihcbiAgICBmaWVsZFZhbHVlOiBDb2x1bW5PcHRpb25zPE1vZGVsLCBQYXJlbnRNb2RlbD4sXG4gICk6IGZpZWxkVmFsdWUgaXMgQ29sdW1uT3B0aW9uczxNb2RlbCwgUGFyZW50TW9kZWw+ID0+ICEhZmllbGRWYWx1ZS5jb2x1bW5OYW1lXG5cbiAgc3RhdGljIEZpbmRDb2x1bW5PcHRpb25Gcm9tTGlzdCA9IDxNb2RlbCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZSwgUGFyZW50TW9kZWwgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU+KFxuICAgIGNvbHVtbk5hbWU6IHN0cmluZyxcbiAgICBmaWVsZHM6IEhhc3VyYUdyYXBoUUxGaWVsZHM8UGFyZW50TW9kZWw+LFxuICApOiBDb2x1bW5PcHRpb25zPE1vZGVsLCBQYXJlbnRNb2RlbD4gJiB7IGF0dHJpYnV0ZU5hbWU6IE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8UGFyZW50TW9kZWw+IH0gPT4ge1xuICAgIGlmIChmaWVsZHMuaW5jbHVkZXMoY29sdW1uTmFtZSBhcyBhbnkpKVxuICAgICAgcmV0dXJuIHsgY29sdW1uTmFtZSwgYXR0cmlidXRlTmFtZTogY29sdW1uTmFtZSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPFBhcmVudE1vZGVsPiB9XG5cbiAgICBjb25zdCBmaWVsZCA9XG4gICAgICBmaWVsZHMuZmluZChcbiAgICAgICAgKGNvbHVtbk9wdGlvbikgPT5cbiAgICAgICAgICBpc09iamVjdChjb2x1bW5PcHRpb24pICYmXG4gICAgICAgICAgT2JqZWN0LnZhbHVlcyhjb2x1bW5PcHRpb24pLmZpbmQoXG4gICAgICAgICAgICAob3B0aW9uKSA9PiBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuQ2hlY2tJc0NvbHVtbk9wdGlvbihvcHRpb24pICYmIG9wdGlvbi5jb2x1bW5OYW1lID09PSBjb2x1bW5OYW1lLFxuICAgICAgICAgICk/LmNvbHVtbk5hbWUgPT09IGNvbHVtbk5hbWUsXG4gICAgICApIHx8IHt9XG4gICAgY29uc3QgYXR0cmlidXRlTmFtZSA9IE9iamVjdC5rZXlzKGZpZWxkKS5maW5kKFxuICAgICAgKGZpZWxkT3B0aW9uRnJvbUxpc3QpID0+XG4gICAgICAgIEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5DaGVja0lzQ29sdW1uT3B0aW9uKGZpZWxkW2ZpZWxkT3B0aW9uRnJvbUxpc3RdKSB8fFxuICAgICAgICBBcnJheS5pc0FycmF5KGZpZWxkW2ZpZWxkT3B0aW9uRnJvbUxpc3RdKSxcbiAgICApXG4gICAgY29uc3QgZmllbGRPcHRpb24gPSBmaWVsZD8uW2F0dHJpYnV0ZU5hbWVdXG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShmaWVsZE9wdGlvbikpXG4gICAgICByZXR1cm4geyBhdHRyaWJ1dGVOYW1lOiBhdHRyaWJ1dGVOYW1lIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8UGFyZW50TW9kZWw+LCBmaWVsZHM6IGZpZWxkT3B0aW9uIH1cblxuICAgIHJldHVybiB7XG4gICAgICBhdHRyaWJ1dGVOYW1lOiAoYXR0cmlidXRlTmFtZSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPFBhcmVudE1vZGVsPikgfHwgY29sdW1uTmFtZSxcbiAgICAgIGNvbHVtbk5hbWUsXG4gICAgICAuLi5maWVsZE9wdGlvbixcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,18 @@
1
+ import { Where } from '../../../../domain';
2
+ import { isNil } from '../../../../utils';
3
+ export class FilterOptionHelper {
4
+ }
5
+ FilterOptionHelper.CheckIfIsFilterOption = (filter) => !isNil(filter === null || filter === void 0 ? void 0 : filter.operator);
6
+ FilterOptionHelper.GetValueFromFilter = (filter, fieldOption) => {
7
+ if (!FilterOptionHelper.CheckIfIsFilterOption(filter))
8
+ return filter;
9
+ if (filter.operator === Where.ISNULL)
10
+ return true;
11
+ if (filter.operator === Where.ISNOTNULL)
12
+ return false;
13
+ const converter = fieldOption.to ? fieldOption.to : (value) => value;
14
+ return Array.isArray(filter.value) && !fieldOption.fields && [Where.IN, Where.NOTIN].includes(filter.operator)
15
+ ? filter.value.map((fieldValue) => converter(fieldValue))
16
+ : converter(filter.value);
17
+ };
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLW9wdGlvbi5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvaGVscGVycy9maWx0ZXItb3B0aW9uLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFELEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQzdGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUd6QyxNQUFNLE9BQU8sa0JBQWtCOztBQUN0Qix3Q0FBcUIsR0FBRyxDQUM3QixNQUFXLEVBQzBDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsUUFBUSxDQUFDLENBQUE7QUFFM0UscUNBQWtCLEdBQUcsQ0FDMUIsTUFBaUQsRUFDakQsV0FBb0MsRUFDL0IsRUFBRTtJQUNQLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUM7UUFBRSxPQUFPLE1BQU0sQ0FBQTtJQUNwRSxJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLE1BQU07UUFBRSxPQUFPLElBQUksQ0FBQTtJQUNqRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLFNBQVM7UUFBRSxPQUFPLEtBQUssQ0FBQTtJQUVyRCxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFBO0lBRXBFLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDNUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBWSxDQUFDLENBQUE7QUFDcEMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kZWxCYXNlU3RydWN0dXJlLCBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9ucywgV2hlcmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4nXG5pbXBvcnQgeyBpc05pbCB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgQ29sdW1uT3B0aW9ucyB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuXG5leHBvcnQgY2xhc3MgRmlsdGVyT3B0aW9uSGVscGVyIHtcbiAgc3RhdGljIENoZWNrSWZJc0ZpbHRlck9wdGlvbiA9IDxNb2RlbCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZT4oXG4gICAgZmlsdGVyOiBhbnksXG4gICk6IGZpbHRlciBpcyBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxNb2RlbCwgYW55PiA9PiAhaXNOaWwoZmlsdGVyPy5vcGVyYXRvcilcblxuICBzdGF0aWMgR2V0VmFsdWVGcm9tRmlsdGVyID0gPE1vZGVsIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPihcbiAgICBmaWx0ZXI6IFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPE1vZGVsLCBhbnk+LFxuICAgIGZpZWxkT3B0aW9uOiBDb2x1bW5PcHRpb25zPGFueSwgYW55PixcbiAgKTogYW55ID0+IHtcbiAgICBpZiAoIUZpbHRlck9wdGlvbkhlbHBlci5DaGVja0lmSXNGaWx0ZXJPcHRpb24oZmlsdGVyKSkgcmV0dXJuIGZpbHRlclxuICAgIGlmIChmaWx0ZXIub3BlcmF0b3IgPT09IFdoZXJlLklTTlVMTCkgcmV0dXJuIHRydWVcbiAgICBpZiAoZmlsdGVyLm9wZXJhdG9yID09PSBXaGVyZS5JU05PVE5VTEwpIHJldHVybiBmYWxzZVxuXG4gICAgY29uc3QgY29udmVydGVyID0gZmllbGRPcHRpb24udG8gPyBmaWVsZE9wdGlvbi50byA6ICh2YWx1ZSkgPT4gdmFsdWVcblxuICAgIHJldHVybiBBcnJheS5pc0FycmF5KGZpbHRlci52YWx1ZSkgJiYgIWZpZWxkT3B0aW9uLmZpZWxkcyAmJiBbV2hlcmUuSU4sIFdoZXJlLk5PVElOXS5pbmNsdWRlcyhmaWx0ZXIub3BlcmF0b3IpXG4gICAgICA/IGZpbHRlci52YWx1ZS5tYXAoKGZpZWxkVmFsdWUpID0+IGNvbnZlcnRlcihmaWVsZFZhbHVlKSlcbiAgICAgIDogY29udmVydGVyKGZpbHRlci52YWx1ZSBhcyBhbnkpXG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,72 @@
1
+ import { BaseModel, } from '../../../../domain';
2
+ import { isDate, isEmpty, isNil, isObject, isString, parseDateTime } from '../../../../utils';
3
+ import { AttributeOptionHelper } from './attribute-option.helper';
4
+ export class GraphQLFieldHelper {
5
+ }
6
+ GraphQLFieldHelper.CheckIsGraphQLParams = (params) => !isString(params) && Array.isArray(params) && params.length >= 0 && !!params[0].operation;
7
+ GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields = (fields) => {
8
+ return fields === null || fields === void 0 ? void 0 : fields.map((field) => {
9
+ if (isString(field))
10
+ return field.toString();
11
+ const fieldName = Object.keys(field).shift();
12
+ const fieldValue = field[fieldName];
13
+ if (Array.isArray(fieldValue))
14
+ return { [fieldName]: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(fieldValue) };
15
+ if (!AttributeOptionHelper.CheckIsColumnOption(fieldValue))
16
+ return;
17
+ if (fieldValue.fields)
18
+ return {
19
+ [fieldValue.columnName || fieldName]: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(fieldValue.fields),
20
+ };
21
+ return fieldValue.columnName;
22
+ }).filter((field) => !!field);
23
+ };
24
+ GraphQLFieldHelper.ConvertFieldValueFrom = (data, fields) => Object.keys(data).reduce((result, columnName) => {
25
+ const { attributeName, fields: attributeFields, from, } = AttributeOptionHelper.FindColumnOptionFromList(columnName, fields);
26
+ if (!!attributeFields && Array.isArray(attributeFields)) {
27
+ if (Array.isArray(data[columnName]))
28
+ return Object.assign(Object.assign({}, result), { [attributeName]: from
29
+ ? from(data[columnName], data)
30
+ : data[columnName].map((value) => GraphQLFieldHelper.ConvertFieldValueFrom(value, attributeFields)) });
31
+ if (isObject(data[columnName]))
32
+ return Object.assign(Object.assign({}, result), { [attributeName]: !!from
33
+ ? from(data[columnName])
34
+ : GraphQLFieldHelper.ConvertFieldValueFrom(data[columnName], attributeFields) });
35
+ }
36
+ if (!!from)
37
+ return Object.assign(Object.assign({}, result), { [attributeName]: from(data[columnName], data) });
38
+ return Object.assign(Object.assign({}, result), { [attributeName]: parseDateTime(data[columnName]) });
39
+ }, {});
40
+ GraphQLFieldHelper.ConvertFieldValueTo = (instance, fields, update = false) => {
41
+ var _a;
42
+ const data = ((_a = instance.toPlain) === null || _a === void 0 ? void 0 : _a.call(instance)) || instance;
43
+ return Object.keys(data).reduce((result, attributeName) => {
44
+ const { columnName, fields: attributeFields, foreignKeyColumn, to, bindPersistData, } = AttributeOptionHelper.FindByAttribute(attributeName, fields);
45
+ if (bindPersistData)
46
+ return Object.assign(Object.assign({}, result), bindPersistData(data[attributeName], instance));
47
+ if (isNil(columnName))
48
+ return result;
49
+ if (!!foreignKeyColumn &&
50
+ !isEmpty(foreignKeyColumn) &&
51
+ !Object.keys(foreignKeyColumn).filter((key) => { var _a; return !((_a = data[attributeName]) === null || _a === void 0 ? void 0 : _a[key]); }).length)
52
+ return Object.keys(foreignKeyColumn).reduce((object, current) => { var _a; return (Object.assign(Object.assign({}, object), { [foreignKeyColumn[current]]: (_a = data[attributeName]) === null || _a === void 0 ? void 0 : _a[current] })); }, Object.assign({}, result));
53
+ if (update && isObject(data[attributeName]) && !isNil(attributeFields) && !isDate(data[attributeName]))
54
+ return result;
55
+ if (!!columnName && Array.isArray(attributeFields) && isObject(data[attributeName])) {
56
+ const converted = !isNil(columnName) && to ? to(instance[attributeName], instance) : data[attributeName];
57
+ return Object.assign(Object.assign({}, result), (converted !== undefined
58
+ ? {
59
+ [columnName]: {
60
+ data: instance[attributeName] instanceof BaseModel
61
+ ? GraphQLFieldHelper.ConvertFieldValueTo(data[attributeName], attributeFields)
62
+ : converted,
63
+ },
64
+ }
65
+ : {}));
66
+ }
67
+ if (!!to)
68
+ return Object.assign(Object.assign({}, result), { [columnName]: to(instance[attributeName], instance) });
69
+ return Object.assign(Object.assign({}, result), { [columnName]: data[attributeName] });
70
+ }, {});
71
+ };
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC1maWVsZC5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvaGVscGVycy9ncmFwaHFsLWZpZWxkLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxHQUlWLE1BQU0sb0JBQW9CLENBQUE7QUFDM0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFHN0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFFakUsTUFBTSxPQUFPLGtCQUFrQjs7QUFDdEIsdUNBQW9CLEdBQUcsQ0FDNUIsTUFBdUMsRUFDTCxFQUFFLENBQ3BDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7QUFFcEYsb0RBQWlDLEdBQUcsQ0FDekMsTUFBa0MsRUFDMUIsRUFBRTtJQUNWLE9BQU8sTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUNULEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ2QsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUE7UUFFNUMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUM1QyxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUE7UUFFbkMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztZQUMzQixPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxpQ0FBaUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFBO1FBQzFGLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUM7WUFBRSxPQUFNO1FBQ2xFLElBQUksVUFBVSxDQUFDLE1BQU07WUFDbkIsT0FBTztnQkFDTCxDQUFDLFVBQVUsQ0FBQyxVQUFVLElBQUksU0FBUyxDQUFDLEVBQUUsa0JBQWtCLENBQUMsaUNBQWlDLENBQ3hGLFVBQVUsQ0FBQyxNQUFNLENBQ2xCO2FBQ0YsQ0FBQTtRQUVILE9BQU8sVUFBVSxDQUFDLFVBQVUsQ0FBQTtJQUM5QixDQUFDLEVBQ0EsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDL0IsQ0FBQyxDQUFBO0FBRU0sd0NBQXFCLEdBQUcsQ0FJN0IsSUFBdUMsRUFDdkMsTUFBa0MsRUFDSyxFQUFFLENBQ3pDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxFQUFFO0lBQzlDLE1BQU0sRUFDSixhQUFhLEVBQ2IsTUFBTSxFQUFFLGVBQWUsRUFDdkIsSUFBSSxHQUNMLEdBQUcscUJBQXFCLENBQUMsd0JBQXdCLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBRXRFLElBQUksQ0FBQyxDQUFDLGVBQWUsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxFQUFFO1FBQ3ZELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDakMsdUNBQ0ssTUFBTSxLQUNULENBQUMsYUFBYSxDQUFDLEVBQUUsSUFBSTtvQkFDbkIsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxDQUFDO29CQUM5QixDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQUMscUJBQXFCLENBQUMsS0FBSyxFQUFFLGVBQWUsQ0FBQyxDQUFDLElBQ3RHO1FBQ0gsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzVCLHVDQUNLLE1BQU0sS0FDVCxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJO29CQUNyQixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztvQkFDeEIsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLHFCQUFxQixDQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQ2hCLGVBQTZDLENBQzlDLElBQ047S0FDSjtJQUVELElBQUksQ0FBQyxDQUFDLElBQUk7UUFBRSx1Q0FBWSxNQUFNLEtBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFFO0lBRS9FLHVDQUFZLE1BQU0sS0FBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBRTtBQUN4RSxDQUFDLEVBQUUsRUFBMkMsQ0FBQyxDQUFBO0FBRTFDLHNDQUFtQixHQUFHLENBSTNCLFFBQWUsRUFDZixNQUFrQyxFQUNsQyxNQUFNLEdBQUcsS0FBSyxFQUNKLEVBQUU7O0lBQ1osTUFBTSxJQUFJLEdBQUcsQ0FBQSxNQUFBLFFBQVEsQ0FBQyxPQUFPLCtDQUFoQixRQUFRLENBQVksS0FBSSxRQUFRLENBQUE7SUFFN0MsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsRUFBRTtRQUN4RCxNQUFNLEVBQ0osVUFBVSxFQUNWLE1BQU0sRUFBRSxlQUFlLEVBQ3ZCLGdCQUFnQixFQUNoQixFQUFFLEVBQ0YsZUFBZSxHQUNoQixHQUFHLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxhQUE2RCxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBRWhILElBQUksZUFBZTtZQUFFLHVDQUFZLE1BQU0sR0FBSyxlQUFlLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxFQUFFO1FBQzVGLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQztZQUFFLE9BQU8sTUFBTSxDQUFBO1FBQ3BDLElBQ0UsQ0FBQyxDQUFDLGdCQUFnQjtZQUNsQixDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztZQUMxQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxXQUFDLE9BQUEsQ0FBQyxDQUFBLE1BQUEsSUFBSSxDQUFDLGFBQWEsQ0FBQywwQ0FBRyxHQUFHLENBQUMsQ0FBQSxDQUFBLEVBQUEsQ0FBQyxDQUFDLE1BQU07WUFFbEYsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsTUFBTSxDQUN6QyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxXQUFDLE9BQUEsaUNBQU0sTUFBTSxLQUFFLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxNQUFBLElBQUksQ0FBQyxhQUFhLENBQUMsMENBQUcsT0FBTyxDQUFDLElBQUcsQ0FBQSxFQUFBLG9CQUM1RixNQUFNLEVBQ1osQ0FBQTtRQUVILElBQUksTUFBTSxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDcEcsT0FBTyxNQUFNLENBQUE7UUFFZixJQUFJLENBQUMsQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUU7WUFDbkYsTUFBTSxTQUFTLEdBQUcsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUE7WUFFeEcsdUNBQ0ssTUFBTSxHQUNOLENBQUMsU0FBUyxLQUFLLFNBQVM7Z0JBQ3pCLENBQUMsQ0FBQztvQkFDRSxDQUFDLFVBQVUsQ0FBQyxFQUFFO3dCQUNaLElBQUksRUFDRixRQUFRLENBQUMsYUFBYSxDQUFDLFlBQVksU0FBUzs0QkFDMUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxlQUFlLENBQUM7NEJBQzlFLENBQUMsQ0FBQyxTQUFTO3FCQUNoQjtpQkFDRjtnQkFDSCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQ1I7U0FDRjtRQUVELElBQUksQ0FBQyxDQUFDLEVBQUU7WUFBRSx1Q0FBWSxNQUFNLEtBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFFO1FBRW5GLHVDQUFZLE1BQU0sS0FBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBRTtJQUN6RCxDQUFDLEVBQUUsRUFBYyxDQUFDLENBQUE7QUFDcEIsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQmFzZU1vZGVsLFxuICBNb2RlbEJhc2VTdHJ1Y3R1cmUsXG4gIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXMsXG4gIE5vbkZ1bmN0aW9uUHJvcGVydGllcyxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgaXNEYXRlLCBpc0VtcHR5LCBpc05pbCwgaXNPYmplY3QsIGlzU3RyaW5nLCBwYXJzZURhdGVUaW1lIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBGaWVsZHMsIEdyYXBoUUxQYXJhbXMsIEhhc3VyYUdyYXBoUUxGaWVsZHMgfSBmcm9tICcuLi8uLi90eXBlcydcblxuaW1wb3J0IHsgQXR0cmlidXRlT3B0aW9uSGVscGVyIH0gZnJvbSAnLi9hdHRyaWJ1dGUtb3B0aW9uLmhlbHBlcidcblxuZXhwb3J0IGNsYXNzIEdyYXBoUUxGaWVsZEhlbHBlciB7XG4gIHN0YXRpYyBDaGVja0lzR3JhcGhRTFBhcmFtcyA9IDxNb2RlbCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZT4oXG4gICAgcGFyYW1zOiBzdHJpbmcgfCBHcmFwaFFMUGFyYW1zPE1vZGVsPltdLFxuICApOiBwYXJhbXMgaXMgR3JhcGhRTFBhcmFtczxNb2RlbD5bXSA9PlxuICAgICFpc1N0cmluZyhwYXJhbXMpICYmIEFycmF5LmlzQXJyYXkocGFyYW1zKSAmJiBwYXJhbXMubGVuZ3RoID49IDAgJiYgISFwYXJhbXNbMF0ub3BlcmF0aW9uXG5cbiAgc3RhdGljIENvbnZlcnRNb2RlbEZpZWxkc1RvR3JhcGhRTEZpZWxkcyA9IDxNb2RlbCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZT4oXG4gICAgZmllbGRzOiBIYXN1cmFHcmFwaFFMRmllbGRzPE1vZGVsPixcbiAgKTogRmllbGRzID0+IHtcbiAgICByZXR1cm4gZmllbGRzXG4gICAgICA/Lm1hcCgoZmllbGQpID0+IHtcbiAgICAgICAgaWYgKGlzU3RyaW5nKGZpZWxkKSkgcmV0dXJuIGZpZWxkLnRvU3RyaW5nKClcblxuICAgICAgICBjb25zdCBmaWVsZE5hbWUgPSBPYmplY3Qua2V5cyhmaWVsZCkuc2hpZnQoKVxuICAgICAgICBjb25zdCBmaWVsZFZhbHVlID0gZmllbGRbZmllbGROYW1lXVxuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZpZWxkVmFsdWUpKVxuICAgICAgICAgIHJldHVybiB7IFtmaWVsZE5hbWVdOiBHcmFwaFFMRmllbGRIZWxwZXIuQ29udmVydE1vZGVsRmllbGRzVG9HcmFwaFFMRmllbGRzKGZpZWxkVmFsdWUpIH1cbiAgICAgICAgaWYgKCFBdHRyaWJ1dGVPcHRpb25IZWxwZXIuQ2hlY2tJc0NvbHVtbk9wdGlvbihmaWVsZFZhbHVlKSkgcmV0dXJuXG4gICAgICAgIGlmIChmaWVsZFZhbHVlLmZpZWxkcylcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgW2ZpZWxkVmFsdWUuY29sdW1uTmFtZSB8fCBmaWVsZE5hbWVdOiBHcmFwaFFMRmllbGRIZWxwZXIuQ29udmVydE1vZGVsRmllbGRzVG9HcmFwaFFMRmllbGRzKFxuICAgICAgICAgICAgICBmaWVsZFZhbHVlLmZpZWxkcyxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmaWVsZFZhbHVlLmNvbHVtbk5hbWVcbiAgICAgIH0pXG4gICAgICAuZmlsdGVyKChmaWVsZCkgPT4gISFmaWVsZClcbiAgfVxuXG4gIHN0YXRpYyBDb252ZXJ0RmllbGRWYWx1ZUZyb20gPSA8XG4gICAgTW9kZWwgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmUsXG4gICAgRGF0YVR5cGUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXIgfCBEYXRhVHlwZSB8IERhdGU+LFxuICA+KFxuICAgIGRhdGE6IHN0cmluZyB8IG51bWJlciB8IERhdGFUeXBlIHwgRGF0ZSxcbiAgICBmaWVsZHM6IEhhc3VyYUdyYXBoUUxGaWVsZHM8TW9kZWw+LFxuICApOiBQYXJ0aWFsPE5vbkZ1bmN0aW9uUHJvcGVydGllczxNb2RlbD4+ID0+XG4gICAgT2JqZWN0LmtleXMoZGF0YSkucmVkdWNlKChyZXN1bHQsIGNvbHVtbk5hbWUpID0+IHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgYXR0cmlidXRlTmFtZSxcbiAgICAgICAgZmllbGRzOiBhdHRyaWJ1dGVGaWVsZHMsXG4gICAgICAgIGZyb20sXG4gICAgICB9ID0gQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRDb2x1bW5PcHRpb25Gcm9tTGlzdChjb2x1bW5OYW1lLCBmaWVsZHMpXG5cbiAgICAgIGlmICghIWF0dHJpYnV0ZUZpZWxkcyAmJiBBcnJheS5pc0FycmF5KGF0dHJpYnV0ZUZpZWxkcykpIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YVtjb2x1bW5OYW1lXSkpXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgICAgIFthdHRyaWJ1dGVOYW1lXTogZnJvbVxuICAgICAgICAgICAgICA/IGZyb20oZGF0YVtjb2x1bW5OYW1lXSwgZGF0YSlcbiAgICAgICAgICAgICAgOiBkYXRhW2NvbHVtbk5hbWVdLm1hcCgodmFsdWUpID0+IEdyYXBoUUxGaWVsZEhlbHBlci5Db252ZXJ0RmllbGRWYWx1ZUZyb20odmFsdWUsIGF0dHJpYnV0ZUZpZWxkcykpLFxuICAgICAgICAgIH1cbiAgICAgICAgaWYgKGlzT2JqZWN0KGRhdGFbY29sdW1uTmFtZV0pKVxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5yZXN1bHQsXG4gICAgICAgICAgICBbYXR0cmlidXRlTmFtZV06ICEhZnJvbVxuICAgICAgICAgICAgICA/IGZyb20oZGF0YVtjb2x1bW5OYW1lXSlcbiAgICAgICAgICAgICAgOiBHcmFwaFFMRmllbGRIZWxwZXIuQ29udmVydEZpZWxkVmFsdWVGcm9tKFxuICAgICAgICAgICAgICAgICAgZGF0YVtjb2x1bW5OYW1lXSxcbiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZUZpZWxkcyBhcyBIYXN1cmFHcmFwaFFMRmllbGRzPE1vZGVsPixcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKCEhZnJvbSkgcmV0dXJuIHsgLi4ucmVzdWx0LCBbYXR0cmlidXRlTmFtZV06IGZyb20oZGF0YVtjb2x1bW5OYW1lXSwgZGF0YSkgfVxuXG4gICAgICByZXR1cm4geyAuLi5yZXN1bHQsIFthdHRyaWJ1dGVOYW1lXTogcGFyc2VEYXRlVGltZShkYXRhW2NvbHVtbk5hbWVdKSB9XG4gICAgfSwge30gYXMgUGFydGlhbDxOb25GdW5jdGlvblByb3BlcnRpZXM8TW9kZWw+PilcblxuICBzdGF0aWMgQ29udmVydEZpZWxkVmFsdWVUbyA9IDxcbiAgICBNb2RlbCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZSxcbiAgICBEYXRhVHlwZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IERhdGFUeXBlIHwgRGF0ZT4sXG4gID4oXG4gICAgaW5zdGFuY2U6IE1vZGVsLFxuICAgIGZpZWxkczogSGFzdXJhR3JhcGhRTEZpZWxkczxNb2RlbD4sXG4gICAgdXBkYXRlID0gZmFsc2UsXG4gICk6IERhdGFUeXBlID0+IHtcbiAgICBjb25zdCBkYXRhID0gaW5zdGFuY2UudG9QbGFpbj8uKCkgfHwgaW5zdGFuY2VcblxuICAgIHJldHVybiBPYmplY3Qua2V5cyhkYXRhKS5yZWR1Y2UoKHJlc3VsdCwgYXR0cmlidXRlTmFtZSkgPT4ge1xuICAgICAgY29uc3Qge1xuICAgICAgICBjb2x1bW5OYW1lLFxuICAgICAgICBmaWVsZHM6IGF0dHJpYnV0ZUZpZWxkcyxcbiAgICAgICAgZm9yZWlnbktleUNvbHVtbixcbiAgICAgICAgdG8sXG4gICAgICAgIGJpbmRQZXJzaXN0RGF0YSxcbiAgICAgIH0gPSBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZEJ5QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNb2RlbD4sIGZpZWxkcylcblxuICAgICAgaWYgKGJpbmRQZXJzaXN0RGF0YSkgcmV0dXJuIHsgLi4ucmVzdWx0LCAuLi5iaW5kUGVyc2lzdERhdGEoZGF0YVthdHRyaWJ1dGVOYW1lXSwgaW5zdGFuY2UpIH1cbiAgICAgIGlmIChpc05pbChjb2x1bW5OYW1lKSkgcmV0dXJuIHJlc3VsdFxuICAgICAgaWYgKFxuICAgICAgICAhIWZvcmVpZ25LZXlDb2x1bW4gJiZcbiAgICAgICAgIWlzRW1wdHkoZm9yZWlnbktleUNvbHVtbikgJiZcbiAgICAgICAgIU9iamVjdC5rZXlzKGZvcmVpZ25LZXlDb2x1bW4pLmZpbHRlcigoa2V5KSA9PiAhZGF0YVthdHRyaWJ1dGVOYW1lXT8uW2tleV0pLmxlbmd0aFxuICAgICAgKVxuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoZm9yZWlnbktleUNvbHVtbikucmVkdWNlKFxuICAgICAgICAgIChvYmplY3QsIGN1cnJlbnQpID0+ICh7IC4uLm9iamVjdCwgW2ZvcmVpZ25LZXlDb2x1bW5bY3VycmVudF1dOiBkYXRhW2F0dHJpYnV0ZU5hbWVdPy5bY3VycmVudF0gfSksXG4gICAgICAgICAgeyAuLi5yZXN1bHQgfSxcbiAgICAgICAgKVxuXG4gICAgICBpZiAodXBkYXRlICYmIGlzT2JqZWN0KGRhdGFbYXR0cmlidXRlTmFtZV0pICYmICFpc05pbChhdHRyaWJ1dGVGaWVsZHMpICYmICFpc0RhdGUoZGF0YVthdHRyaWJ1dGVOYW1lXSkpXG4gICAgICAgIHJldHVybiByZXN1bHRcblxuICAgICAgaWYgKCEhY29sdW1uTmFtZSAmJiBBcnJheS5pc0FycmF5KGF0dHJpYnV0ZUZpZWxkcykgJiYgaXNPYmplY3QoZGF0YVthdHRyaWJ1dGVOYW1lXSkpIHtcbiAgICAgICAgY29uc3QgY29udmVydGVkID0gIWlzTmlsKGNvbHVtbk5hbWUpICYmIHRvID8gdG8oaW5zdGFuY2VbYXR0cmlidXRlTmFtZV0sIGluc3RhbmNlKSA6IGRhdGFbYXR0cmlidXRlTmFtZV1cblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgICAuLi4oY29udmVydGVkICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgIFtjb2x1bW5OYW1lXToge1xuICAgICAgICAgICAgICAgICAgZGF0YTpcbiAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2VbYXR0cmlidXRlTmFtZV0gaW5zdGFuY2VvZiBCYXNlTW9kZWxcbiAgICAgICAgICAgICAgICAgICAgICA/IEdyYXBoUUxGaWVsZEhlbHBlci5Db252ZXJ0RmllbGRWYWx1ZVRvKGRhdGFbYXR0cmlidXRlTmFtZV0sIGF0dHJpYnV0ZUZpZWxkcylcbiAgICAgICAgICAgICAgICAgICAgICA6IGNvbnZlcnRlZCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHt9KSxcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoISF0bykgcmV0dXJuIHsgLi4ucmVzdWx0LCBbY29sdW1uTmFtZV06IHRvKGluc3RhbmNlW2F0dHJpYnV0ZU5hbWVdLCBpbnN0YW5jZSkgfVxuXG4gICAgICByZXR1cm4geyAuLi5yZXN1bHQsIFtjb2x1bW5OYW1lXTogZGF0YVthdHRyaWJ1dGVOYW1lXSB9XG4gICAgfSwge30gYXMgRGF0YVR5cGUpXG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export * from './attribute-option.helper';
2
+ export * from './graphql-field.helper';
3
+ export * from './filter-option.helper';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvaGVscGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFBO0FBQ3pDLGNBQWMsd0JBQXdCLENBQUE7QUFDdEMsY0FBYyx3QkFBd0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXR0cmlidXRlLW9wdGlvbi5oZWxwZXInXG5leHBvcnQgKiBmcm9tICcuL2dyYXBocWwtZmllbGQuaGVscGVyJ1xuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXItb3B0aW9uLmhlbHBlcidcbiJdfQ==
@@ -0,0 +1,8 @@
1
+ export * from './with-create-hasura-graphql.mixin';
2
+ export * from './with-delete-hasura-graphql.mixin';
3
+ export * from './with-hasura-graphql.mixin';
4
+ export * from './with-update-hasura-graphql.mixin';
5
+ export * from './with-get-hasura-graphql.mixin';
6
+ export * from './with-find-hasura-graphql.mixin';
7
+ export * from './with-crud-hasura-graphql.mixin';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQ0FBb0MsQ0FBQTtBQUNsRCxjQUFjLG9DQUFvQyxDQUFBO0FBQ2xELGNBQWMsNkJBQTZCLENBQUE7QUFDM0MsY0FBYyxvQ0FBb0MsQ0FBQTtBQUNsRCxjQUFjLGlDQUFpQyxDQUFBO0FBQy9DLGNBQWMsa0NBQWtDLENBQUE7QUFDaEQsY0FBYyxrQ0FBa0MsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vd2l0aC1jcmVhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4nXG5leHBvcnQgKiBmcm9tICcuL3dpdGgtZGVsZXRlLWhhc3VyYS1ncmFwaHFsLm1peGluJ1xuZXhwb3J0ICogZnJvbSAnLi93aXRoLWhhc3VyYS1ncmFwaHFsLm1peGluJ1xuZXhwb3J0ICogZnJvbSAnLi93aXRoLXVwZGF0ZS1oYXN1cmEtZ3JhcGhxbC5taXhpbidcbmV4cG9ydCAqIGZyb20gJy4vd2l0aC1nZXQtaGFzdXJhLWdyYXBocWwubWl4aW4nXG5leHBvcnQgKiBmcm9tICcuL3dpdGgtZmluZC1oYXN1cmEtZ3JhcGhxbC5taXhpbidcbmV4cG9ydCAqIGZyb20gJy4vd2l0aC1jcnVkLWhhc3VyYS1ncmFwaHFsLm1peGluJ1xuIl19
@@ -0,0 +1,45 @@
1
+ import { __awaiter } from "tslib";
2
+ import { AttributeOptionHelper } from './helpers';
3
+ export const withCreateHasuraGraphQL = (MixinBase) => {
4
+ return class CreateHasuraGraphQLMixin extends MixinBase {
5
+ constructor(...params) {
6
+ const options = params === null || params === void 0 ? void 0 : params[0];
7
+ super(...params);
8
+ this.insertGraphQLOperation = (options === null || options === void 0 ? void 0 : options.insertGraphQLOperation) || `insert_${this.tableName}_one`;
9
+ this.insertGraphQLObjectType = (options === null || options === void 0 ? void 0 : options.insertGraphQLObjectType) || `${this.tableName}_insert_input`;
10
+ }
11
+ create(data) {
12
+ return __awaiter(this, void 0, void 0, function* () {
13
+ const newData = yield this.save(this.model.toInstance(data));
14
+ return this.model.toInstance(newData);
15
+ });
16
+ }
17
+ save(data) {
18
+ return __awaiter(this, void 0, void 0, function* () {
19
+ const primaryKeyColumns = this.model.identifiersFields.map((field) => AttributeOptionHelper.FindByAttribute(field, this.fields).columnName);
20
+ const foreignKeyColumns = this.fields
21
+ .map((field) => {
22
+ const columnOptions = Object.values(field).shift();
23
+ return (AttributeOptionHelper.CheckIsColumnOption(columnOptions) &&
24
+ columnOptions.foreignKeyColumn && [
25
+ ...Object.values(columnOptions.foreignKeyColumn),
26
+ {
27
+ [columnOptions.columnName]: Object.keys(columnOptions.foreignKeyColumn).map((foreignKeyField) => {
28
+ var _a;
29
+ return ((_a = AttributeOptionHelper.FindByAttribute(foreignKeyField, columnOptions === null || columnOptions === void 0 ? void 0 : columnOptions.fields)) === null || _a === void 0 ? void 0 : _a.columnName) ||
30
+ foreignKeyField;
31
+ }),
32
+ },
33
+ ]);
34
+ })
35
+ .filter(Boolean)
36
+ .reduce((keys, current) => [...keys, ...current], []);
37
+ const result = yield this.mutation(this.insertGraphQLOperation, [...primaryKeyColumns, ...foreignKeyColumns], {
38
+ object: { type: this.insertGraphQLObjectType, required: true, value: this.convertDataToHasura(data) },
39
+ });
40
+ return Object.assign(Object.assign({}, data.toPlain()), this.convertDataFromHasura(result[this.insertGraphQLOperation]).toPlain());
41
+ });
42
+ }
43
+ };
44
+ };
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jcmVhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvd2l0aC1jcmVhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUlBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQU9qRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUlyQyxTQUEyRCxFQUkzRCxFQUFFO0lBQ0YsT0FBTyxNQUFNLHdCQUF5QixTQUFRLFNBQVM7UUFJckQsWUFBWSxHQUFHLE1BQU07WUFDbkIsTUFBTSxPQUFPLEdBQTRCLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRyxDQUFDLENBQUMsQ0FBQTtZQUVwRCxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQTtZQUVoQixJQUFJLENBQUMsc0JBQXNCLEdBQUcsQ0FBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsc0JBQXNCLEtBQUksVUFBVSxJQUFJLENBQUMsU0FBUyxNQUFNLENBQUE7WUFDL0YsSUFBSSxDQUFDLHVCQUF1QixHQUFHLENBQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLHVCQUF1QixLQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsZUFBZSxDQUFBO1FBQ3JHLENBQUM7UUFFSyxNQUFNLENBQUMsSUFBbUM7O2dCQUM5QyxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBVyxDQUFDLENBQUMsQ0FBQTtnQkFFbkUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUN2QyxDQUFDO1NBQUE7UUFFSyxJQUFJLENBQUMsSUFBVzs7Z0JBQ3BCLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQ3hELENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLENBQ2xELENBQUE7Z0JBQy9CLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLE1BQU07cUJBQ2xDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO29CQUNiLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUE7b0JBRWxELE9BQU8sQ0FDTCxxQkFBcUIsQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUM7d0JBQ3hELGFBQWEsQ0FBQyxnQkFBZ0IsSUFBSTt3QkFDaEMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQzt3QkFDaEQ7NEJBQ0UsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLENBQ3pFLENBQUMsZUFBZSxFQUFFLEVBQUU7O2dDQUNsQixPQUFBLENBQUEsTUFBQSxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsZUFBc0IsRUFBRSxhQUFhLGFBQWIsYUFBYSx1QkFBYixhQUFhLENBQUUsTUFBTSxDQUFDLDBDQUFFLFVBQVU7b0NBQ2hHLGVBQWUsQ0FBQTs2QkFBQSxDQUNsQjt5QkFDRjtxQkFDRixDQUNGLENBQUE7Z0JBQ0gsQ0FBQyxDQUFDO3FCQUNELE1BQU0sQ0FBQyxPQUFPLENBQUM7cUJBQ2YsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO2dCQUV2RCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQ2hDLElBQUksQ0FBQyxzQkFBc0IsRUFDM0IsQ0FBQyxHQUFHLGlCQUFpQixFQUFFLEdBQUcsaUJBQWlCLENBQStCLEVBQzFFO29CQUNFLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsdUJBQXVCLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFO2lCQUN0RyxDQUNGLENBQUE7Z0JBRUQsdUNBQVksSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFLLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM1RyxDQUFDO1NBQUE7S0FDSyxDQUFBO0FBQ1YsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3JlYXRlUmVwb3NpdG9yeSwgQ3JlYXRlUmVwb3NpdG9yeVBhcmFtcywgTW9kZWxCYXNlU3RydWN0dXJlIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgTWVyZ2VDb25zdHJ1Y3RvclBhcmFtcywgTWl4aW5DdG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBHcmFwaFFMUmVwb3NpdG9yeSwgSGFzdXJhR3JhcGhRTEZpZWxkcyB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBBdHRyaWJ1dGVPcHRpb25IZWxwZXIgfSBmcm9tICcuL2hlbHBlcnMnXG5cbmV4cG9ydCB0eXBlIENyZWF0ZUNvbnN0cnVjdG9yUGFyYW1zID0ge1xuICBpbnNlcnRHcmFwaFFMT3BlcmF0aW9uPzogc3RyaW5nXG4gIGluc2VydEdyYXBoUUxPYmplY3RUeXBlPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCB3aXRoQ3JlYXRlSGFzdXJhR3JhcGhRTCA9IDxcbiAgTUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmUsXG4gIFRNaXhpbkJhc2UgZXh0ZW5kcyBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+Pixcbj4oXG4gIE1peGluQmFzZTogTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPj4gJiBUTWl4aW5CYXNlLFxuKTogTWl4aW5DdG9yPFxuICBHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4gJiBJbnN0YW5jZVR5cGU8VE1peGluQmFzZT4gJiBDcmVhdGVSZXBvc2l0b3J5PE1CYXNlPixcbiAgTWVyZ2VDb25zdHJ1Y3RvclBhcmFtczxDcmVhdGVDb25zdHJ1Y3RvclBhcmFtcywgQ29uc3RydWN0b3JQYXJhbWV0ZXJzPFRNaXhpbkJhc2U+PlxuPiA9PiB7XG4gIHJldHVybiBjbGFzcyBDcmVhdGVIYXN1cmFHcmFwaFFMTWl4aW4gZXh0ZW5kcyBNaXhpbkJhc2UgaW1wbGVtZW50cyBDcmVhdGVSZXBvc2l0b3J5PE1CYXNlPiB7XG4gICAgaW5zZXJ0R3JhcGhRTE9wZXJhdGlvbjogc3RyaW5nXG4gICAgaW5zZXJ0R3JhcGhRTE9iamVjdFR5cGU6IHN0cmluZ1xuXG4gICAgY29uc3RydWN0b3IoLi4ucGFyYW1zKSB7XG4gICAgICBjb25zdCBvcHRpb25zOiBDcmVhdGVDb25zdHJ1Y3RvclBhcmFtcyA9IHBhcmFtcz8uWzBdXG5cbiAgICAgIHN1cGVyKC4uLnBhcmFtcylcblxuICAgICAgdGhpcy5pbnNlcnRHcmFwaFFMT3BlcmF0aW9uID0gb3B0aW9ucz8uaW5zZXJ0R3JhcGhRTE9wZXJhdGlvbiB8fCBgaW5zZXJ0XyR7dGhpcy50YWJsZU5hbWV9X29uZWBcbiAgICAgIHRoaXMuaW5zZXJ0R3JhcGhRTE9iamVjdFR5cGUgPSBvcHRpb25zPy5pbnNlcnRHcmFwaFFMT2JqZWN0VHlwZSB8fCBgJHt0aGlzLnRhYmxlTmFtZX1faW5zZXJ0X2lucHV0YFxuICAgIH1cblxuICAgIGFzeW5jIGNyZWF0ZShkYXRhOiBDcmVhdGVSZXBvc2l0b3J5UGFyYW1zPE1CYXNlPik6IFByb21pc2U8TUJhc2U+IHtcbiAgICAgIGNvbnN0IG5ld0RhdGEgPSBhd2FpdCB0aGlzLnNhdmUodGhpcy5tb2RlbC50b0luc3RhbmNlKGRhdGEgYXMgYW55KSlcblxuICAgICAgcmV0dXJuIHRoaXMubW9kZWwudG9JbnN0YW5jZShuZXdEYXRhKVxuICAgIH1cblxuICAgIGFzeW5jIHNhdmUoZGF0YTogTUJhc2UpOiBQcm9taXNlPFBhcnRpYWw8TUJhc2U+PiB7XG4gICAgICBjb25zdCBwcmltYXJ5S2V5Q29sdW1ucyA9IHRoaXMubW9kZWwuaWRlbnRpZmllcnNGaWVsZHMubWFwKFxuICAgICAgICAoZmllbGQpID0+IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoZmllbGQsIHRoaXMuZmllbGRzKS5jb2x1bW5OYW1lLFxuICAgICAgKSBhcyBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPlxuICAgICAgY29uc3QgZm9yZWlnbktleUNvbHVtbnMgPSB0aGlzLmZpZWxkc1xuICAgICAgICAubWFwKChmaWVsZCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGNvbHVtbk9wdGlvbnMgPSBPYmplY3QudmFsdWVzKGZpZWxkKS5zaGlmdCgpXG5cbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgQXR0cmlidXRlT3B0aW9uSGVscGVyLkNoZWNrSXNDb2x1bW5PcHRpb24oY29sdW1uT3B0aW9ucykgJiZcbiAgICAgICAgICAgIGNvbHVtbk9wdGlvbnMuZm9yZWlnbktleUNvbHVtbiAmJiBbXG4gICAgICAgICAgICAgIC4uLk9iamVjdC52YWx1ZXMoY29sdW1uT3B0aW9ucy5mb3JlaWduS2V5Q29sdW1uKSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFtjb2x1bW5PcHRpb25zLmNvbHVtbk5hbWVdOiBPYmplY3Qua2V5cyhjb2x1bW5PcHRpb25zLmZvcmVpZ25LZXlDb2x1bW4pLm1hcChcbiAgICAgICAgICAgICAgICAgIChmb3JlaWduS2V5RmllbGQpID0+XG4gICAgICAgICAgICAgICAgICAgIEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoZm9yZWlnbktleUZpZWxkIGFzIGFueSwgY29sdW1uT3B0aW9ucz8uZmllbGRzKT8uY29sdW1uTmFtZSB8fFxuICAgICAgICAgICAgICAgICAgICBmb3JlaWduS2V5RmllbGQsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF1cbiAgICAgICAgICApXG4gICAgICAgIH0pXG4gICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICAgLnJlZHVjZSgoa2V5cywgY3VycmVudCkgPT4gWy4uLmtleXMsIC4uLmN1cnJlbnRdLCBbXSlcblxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5tdXRhdGlvbjxNQmFzZT4oXG4gICAgICAgIHRoaXMuaW5zZXJ0R3JhcGhRTE9wZXJhdGlvbixcbiAgICAgICAgWy4uLnByaW1hcnlLZXlDb2x1bW5zLCAuLi5mb3JlaWduS2V5Q29sdW1uc10gYXMgSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4sXG4gICAgICAgIHtcbiAgICAgICAgICBvYmplY3Q6IHsgdHlwZTogdGhpcy5pbnNlcnRHcmFwaFFMT2JqZWN0VHlwZSwgcmVxdWlyZWQ6IHRydWUsIHZhbHVlOiB0aGlzLmNvbnZlcnREYXRhVG9IYXN1cmEoZGF0YSkgfSxcbiAgICAgICAgfSxcbiAgICAgIClcblxuICAgICAgcmV0dXJuIHsgLi4uZGF0YS50b1BsYWluKCksIC4uLnRoaXMuY29udmVydERhdGFGcm9tSGFzdXJhKHJlc3VsdFt0aGlzLmluc2VydEdyYXBoUUxPcGVyYXRpb25dKS50b1BsYWluKCkgfVxuICAgIH1cbiAgfSBhcyBhbnlcbn1cbiJdfQ==
@@ -0,0 +1,10 @@
1
+ import { withCreateHasuraGraphQL } from './with-create-hasura-graphql.mixin';
2
+ import { withDeleteHasuraGraphQL } from './with-delete-hasura-graphql.mixin';
3
+ import { withGetHasuraGraphQL } from './with-get-hasura-graphql.mixin';
4
+ import { withUpdateHasuraGraphQL, } from './with-update-hasura-graphql.mixin';
5
+ import { withFindHasuraGraphQL } from './with-find-hasura-graphql.mixin';
6
+ export const withCrudHasuraGraphQL = (MixinBase) => {
7
+ return class CrudHasuraGraphQLMixin extends withUpdateHasuraGraphQL(withGetHasuraGraphQL(withFindHasuraGraphQL(withDeleteHasuraGraphQL(withCreateHasuraGraphQL(MixinBase))))) {
8
+ };
9
+ };
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jcnVkLWhhc3VyYS1ncmFwaHFsLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvbWl4aW5zL3dpdGgtY3J1ZC1oYXN1cmEtZ3JhcGhxbC5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQTJCLHVCQUF1QixFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFFckcsT0FBTyxFQUEyQix1QkFBdUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBQ3JHLE9BQU8sRUFBd0Isb0JBQW9CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUM1RixPQUFPLEVBR0wsdUJBQXVCLEdBQ3hCLE1BQU0sb0NBQW9DLENBQUE7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFFeEUsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FLbkMsU0FBMkQsRUFXM0QsRUFBRTtJQUNGLE9BQU8sTUFBTSxzQkFDWCxTQUFRLHVCQUF1QixDQUM3QixvQkFBb0IsQ0FDbEIscUJBQXFCLENBQ25CLHVCQUF1QixDQUFDLHVCQUF1QixDQUFDLFNBQWdELENBQUMsQ0FBQyxDQUNuRyxDQUNGLENBQ0Y7S0FDeUMsQ0FBQTtBQUM5QyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2RlbEJhc2VTdHJ1Y3R1cmUsIENydWRSZXBvc2l0b3J5IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgR3JhcGhRTFJlcG9zaXRvcnkgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB7IE1lcmdlQ29uc3RydWN0b3JQYXJhbXMsIE1peGluQ3RvciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJ1xuXG5pbXBvcnQgeyBDcmVhdGVDb25zdHJ1Y3RvclBhcmFtcywgd2l0aENyZWF0ZUhhc3VyYUdyYXBoUUwgfSBmcm9tICcuL3dpdGgtY3JlYXRlLWhhc3VyYS1ncmFwaHFsLm1peGluJ1xuaW1wb3J0IHsgQ29uc3RydWN0b3JQYXJhbXMgfSBmcm9tICcuL3dpdGgtaGFzdXJhLWdyYXBocWwubWl4aW4nXG5pbXBvcnQgeyBEZWxldGVDb25zdHJ1Y3RvclBhcmFtcywgd2l0aERlbGV0ZUhhc3VyYUdyYXBoUUwgfSBmcm9tICcuL3dpdGgtZGVsZXRlLWhhc3VyYS1ncmFwaHFsLm1peGluJ1xuaW1wb3J0IHsgR2V0Q29uc3RydWN0b3JQYXJhbXMsIHdpdGhHZXRIYXN1cmFHcmFwaFFMIH0gZnJvbSAnLi93aXRoLWdldC1oYXN1cmEtZ3JhcGhxbC5taXhpbidcbmltcG9ydCB7XG4gIFVwZGF0ZUNvbnN0cnVjdG9yUGFyYW1zLFxuICBVcGRhdGVIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeVR5cGUsXG4gIHdpdGhVcGRhdGVIYXN1cmFHcmFwaFFMLFxufSBmcm9tICcuL3dpdGgtdXBkYXRlLWhhc3VyYS1ncmFwaHFsLm1peGluJ1xuaW1wb3J0IHsgd2l0aEZpbmRIYXN1cmFHcmFwaFFMIH0gZnJvbSAnLi93aXRoLWZpbmQtaGFzdXJhLWdyYXBocWwubWl4aW4nXG5cbmV4cG9ydCBjb25zdCB3aXRoQ3J1ZEhhc3VyYUdyYXBoUUwgPSA8XG4gIFRCYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlLFxuICBSZXBvc2l0b3J5ID0gQ3J1ZFJlcG9zaXRvcnk8VEJhc2U+LFxuICBUTWl4aW5CYXNlIGV4dGVuZHMgTWl4aW5DdG9yID0gTWl4aW5DdG9yLFxuPihcbiAgTWl4aW5CYXNlOiBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8VEJhc2U+PiAmIFRNaXhpbkJhc2UsXG4pOiBNaXhpbkN0b3I8XG4gIEdyYXBoUUxSZXBvc2l0b3J5PFRCYXNlPiAmIFJlcG9zaXRvcnkgJiBVcGRhdGVIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeVR5cGU8VEJhc2U+LFxuICBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zPFxuICAgIENvbnN0cnVjdG9yUGFyYW1zPFRCYXNlPiAmXG4gICAgICBDcmVhdGVDb25zdHJ1Y3RvclBhcmFtcyAmXG4gICAgICBEZWxldGVDb25zdHJ1Y3RvclBhcmFtcyAmXG4gICAgICBHZXRDb25zdHJ1Y3RvclBhcmFtcyAmXG4gICAgICBVcGRhdGVDb25zdHJ1Y3RvclBhcmFtcyxcbiAgICBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8VE1peGluQmFzZT5cbiAgPlxuPiA9PiB7XG4gIHJldHVybiBjbGFzcyBDcnVkSGFzdXJhR3JhcGhRTE1peGluXG4gICAgZXh0ZW5kcyB3aXRoVXBkYXRlSGFzdXJhR3JhcGhRTChcbiAgICAgIHdpdGhHZXRIYXN1cmFHcmFwaFFMKFxuICAgICAgICB3aXRoRmluZEhhc3VyYUdyYXBoUUwoXG4gICAgICAgICAgd2l0aERlbGV0ZUhhc3VyYUdyYXBoUUwod2l0aENyZWF0ZUhhc3VyYUdyYXBoUUwoTWl4aW5CYXNlIGFzIE1peGluQ3RvcjxHcmFwaFFMUmVwb3NpdG9yeTxUQmFzZT4+KSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgIClcbiAgICBpbXBsZW1lbnRzIENydWRSZXBvc2l0b3J5PFRCYXNlPiB7fSBhcyBhbnlcbn1cbiJdfQ==
@@ -0,0 +1,29 @@
1
+ import { __awaiter } from "tslib";
2
+ import { isNil } from '../../../utils';
3
+ import { AttributeOptionHelper } from './helpers';
4
+ export const withDeleteHasuraGraphQL = (MixinBase) => {
5
+ return class DeleteHasuraGraphQLMixin extends MixinBase {
6
+ constructor(...params) {
7
+ const options = params === null || params === void 0 ? void 0 : params[0];
8
+ super(...params);
9
+ this.deleteGraphQLOperation = (options === null || options === void 0 ? void 0 : options.deleteGraphQLOperation) || `delete_${this.tableName}_by_pk`;
10
+ }
11
+ delete(identifiers) {
12
+ return __awaiter(this, void 0, void 0, function* () {
13
+ const instance = this.model.toInstance(identifiers);
14
+ yield this.mutation(this.deleteGraphQLOperation, this.model.identifiersFields.map((field) => AttributeOptionHelper.FindByAttribute(field, this.fields).columnName), this.model.identifiersFields.reduce((ids, identifier) => {
15
+ if (isNil(instance[identifier]))
16
+ return ids;
17
+ const columnOption = AttributeOptionHelper.FindByAttribute(identifier, this.fields);
18
+ const value = columnOption.to(identifiers[identifier.toString()], instance);
19
+ return Object.assign(Object.assign({}, ids), { [columnOption.columnName]: {
20
+ type: this.getAttributeGraphQLTypeOf(columnOption.type || value),
21
+ value,
22
+ required: true,
23
+ } });
24
+ }, {}));
25
+ });
26
+ }
27
+ };
28
+ };
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1kZWxldGUtaGFzdXJhLWdyYXBocWwubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvd2l0aC1kZWxldGUtaGFzdXJhLWdyYXBocWwubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU8sRUFBRSxLQUFLLEVBQXFDLE1BQU0sZ0JBQWdCLENBQUE7QUFFekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sV0FBVyxDQUFBO0FBTWpELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBSXJDLFNBQTJELEVBSTNELEVBQUU7SUFDRixPQUFPLE1BQU0sd0JBQXlCLFNBQVEsU0FBUztRQUdyRCxZQUFZLEdBQUcsTUFBYTtZQUMxQixNQUFNLE9BQU8sR0FBNEIsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFHLENBQUMsQ0FBQyxDQUFBO1lBRXBELEtBQUssQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFBO1lBRWhCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxDQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxzQkFBc0IsS0FBSSxVQUFVLElBQUksQ0FBQyxTQUFTLFFBQVEsQ0FBQTtRQUNuRyxDQUFDO1FBRUssTUFBTSxDQUFDLFdBQTBDOztnQkFDckQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsV0FBa0IsQ0FBQyxDQUFBO2dCQUUxRCxNQUFNLElBQUksQ0FBQyxRQUFRLENBQ2pCLElBQUksQ0FBQyxzQkFBc0IsRUFDM0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQzlCLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLENBQ2xELEVBQy9CLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxFQUFFO29CQUN0RCxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7d0JBQUUsT0FBTyxHQUFHLENBQUE7b0JBRTNDLE1BQU0sWUFBWSxHQUFHLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO29CQUNuRixNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQTtvQkFFM0UsdUNBQ0ssR0FBRyxLQUNOLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxFQUFFOzRCQUN6QixJQUFJLEVBQUUsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDOzRCQUNoRSxLQUFLOzRCQUNMLFFBQVEsRUFBRSxJQUFJO3lCQUNmLElBQ0Y7Z0JBQ0gsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUNQLENBQUE7WUFDSCxDQUFDO1NBQUE7S0FDSyxDQUFBO0FBQ1YsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVsZXRlUmVwb3NpdG9yeSwgRGVsZXRlUmVwb3NpdG9yeVBhcmFtcywgTW9kZWxCYXNlU3RydWN0dXJlIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgR3JhcGhRTFJlcG9zaXRvcnksIEhhc3VyYUdyYXBoUUxGaWVsZHMgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB7IGlzTmlsLCBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zLCBNaXhpbkN0b3IgfSBmcm9tICcuLi8uLi8uLi91dGlscydcblxuaW1wb3J0IHsgQXR0cmlidXRlT3B0aW9uSGVscGVyIH0gZnJvbSAnLi9oZWxwZXJzJ1xuXG5leHBvcnQgdHlwZSBEZWxldGVDb25zdHJ1Y3RvclBhcmFtcyA9IHtcbiAgZGVsZXRlR3JhcGhRTE9wZXJhdGlvbj86IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3Qgd2l0aERlbGV0ZUhhc3VyYUdyYXBoUUwgPSA8XG4gIE1CYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlLFxuICBUTWl4aW5CYXNlIGV4dGVuZHMgTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPj4sXG4+KFxuICBNaXhpbkJhc2U6IE1peGluQ3RvcjxHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4+ICYgVE1peGluQmFzZSxcbik6IE1peGluQ3RvcjxcbiAgR3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+ICYgRGVsZXRlUmVwb3NpdG9yeTxNQmFzZT4gJiBJbnN0YW5jZVR5cGU8VE1peGluQmFzZT4sXG4gIE1lcmdlQ29uc3RydWN0b3JQYXJhbXM8RGVsZXRlQ29uc3RydWN0b3JQYXJhbXMsIENvbnN0cnVjdG9yUGFyYW1ldGVyczxUTWl4aW5CYXNlPj5cbj4gPT4ge1xuICByZXR1cm4gY2xhc3MgRGVsZXRlSGFzdXJhR3JhcGhRTE1peGluIGV4dGVuZHMgTWl4aW5CYXNlIGltcGxlbWVudHMgRGVsZXRlUmVwb3NpdG9yeTxNQmFzZT4ge1xuICAgIGRlbGV0ZUdyYXBoUUxPcGVyYXRpb246IHN0cmluZ1xuXG4gICAgY29uc3RydWN0b3IoLi4ucGFyYW1zOiBhbnlbXSkge1xuICAgICAgY29uc3Qgb3B0aW9uczogRGVsZXRlQ29uc3RydWN0b3JQYXJhbXMgPSBwYXJhbXM/LlswXVxuXG4gICAgICBzdXBlciguLi5wYXJhbXMpXG5cbiAgICAgIHRoaXMuZGVsZXRlR3JhcGhRTE9wZXJhdGlvbiA9IG9wdGlvbnM/LmRlbGV0ZUdyYXBoUUxPcGVyYXRpb24gfHwgYGRlbGV0ZV8ke3RoaXMudGFibGVOYW1lfV9ieV9wa2BcbiAgICB9XG5cbiAgICBhc3luYyBkZWxldGUoaWRlbnRpZmllcnM6IERlbGV0ZVJlcG9zaXRvcnlQYXJhbXM8TUJhc2U+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICBjb25zdCBpbnN0YW5jZSA9IHRoaXMubW9kZWwudG9JbnN0YW5jZShpZGVudGlmaWVycyBhcyBhbnkpXG5cbiAgICAgIGF3YWl0IHRoaXMubXV0YXRpb24oXG4gICAgICAgIHRoaXMuZGVsZXRlR3JhcGhRTE9wZXJhdGlvbixcbiAgICAgICAgdGhpcy5tb2RlbC5pZGVudGlmaWVyc0ZpZWxkcy5tYXAoXG4gICAgICAgICAgKGZpZWxkKSA9PiBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZEJ5QXR0cmlidXRlKGZpZWxkLCB0aGlzLmZpZWxkcykuY29sdW1uTmFtZSxcbiAgICAgICAgKSBhcyBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPixcbiAgICAgICAgdGhpcy5tb2RlbC5pZGVudGlmaWVyc0ZpZWxkcy5yZWR1Y2UoKGlkcywgaWRlbnRpZmllcikgPT4ge1xuICAgICAgICAgIGlmIChpc05pbChpbnN0YW5jZVtpZGVudGlmaWVyXSkpIHJldHVybiBpZHNcblxuICAgICAgICAgIGNvbnN0IGNvbHVtbk9wdGlvbiA9IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoaWRlbnRpZmllciwgdGhpcy5maWVsZHMpXG4gICAgICAgICAgY29uc3QgdmFsdWUgPSBjb2x1bW5PcHRpb24udG8oaWRlbnRpZmllcnNbaWRlbnRpZmllci50b1N0cmluZygpXSwgaW5zdGFuY2UpXG5cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uaWRzLFxuICAgICAgICAgICAgW2NvbHVtbk9wdGlvbi5jb2x1bW5OYW1lXToge1xuICAgICAgICAgICAgICB0eXBlOiB0aGlzLmdldEF0dHJpYnV0ZUdyYXBoUUxUeXBlT2YoY29sdW1uT3B0aW9uLnR5cGUgfHwgdmFsdWUpLFxuICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH1cbiAgICAgICAgfSwge30pLFxuICAgICAgKVxuICAgIH1cbiAgfSBhcyBhbnlcbn1cbiJdfQ==
@@ -0,0 +1,93 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Where, } from '../../../domain';
3
+ import { isNil, isObject } from '../../../utils';
4
+ import { HasuraGraphQLColumnType, HasuraGraphQLWhere } from '../enums';
5
+ import { AttributeOptionHelper, FilterOptionHelper } from './helpers';
6
+ export const withFindHasuraGraphQL = (MixinBase) => {
7
+ return class FindHasuraGraphQLMixin extends MixinBase {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.makeGraphQLWhere = (filter, fields) => Object.keys(filter).reduce((variables, fieldName) => {
11
+ const columnOption = AttributeOptionHelper.FindByAttribute(fieldName, fields);
12
+ if (!columnOption.bindFindFilter)
13
+ return Object.assign(Object.assign({}, variables), { [columnOption.columnName]: this.buildWhereSentence(fieldName, filter[fieldName], fields) });
14
+ const builtFilter = columnOption.bindFindFilter(filter[fieldName]);
15
+ return Object.assign(Object.assign({}, variables), Object.keys(builtFilter).reduce((variablesList, columnName) => (Object.assign(Object.assign({}, variablesList), { [columnName]: this.buildWhereSentence(fieldName, builtFilter[columnName], fields) })), {}));
16
+ }, {});
17
+ this.buildWhereSentence = (field, options, fields) => {
18
+ const fieldSentenceOptions = AttributeOptionHelper.FindByAttribute(field, fields);
19
+ if (!Array.isArray(options) &&
20
+ isObject(options) &&
21
+ isNil(options === null || options === void 0 ? void 0 : options.operator) &&
22
+ isNil(options === null || options === void 0 ? void 0 : options.value) &&
23
+ isNil(fieldSentenceOptions === null || fieldSentenceOptions === void 0 ? void 0 : fieldSentenceOptions.to))
24
+ return Object.keys(options).reduce((variables, key) => {
25
+ const fieldOptions = AttributeOptionHelper.FindByAttribute(key, (fieldSentenceOptions === null || fieldSentenceOptions === void 0 ? void 0 : fieldSentenceOptions.fields) || fields);
26
+ const columnName = fieldOptions.columnName;
27
+ const columnFields = fieldOptions.fields;
28
+ return Object.assign(Object.assign({}, variables), { [columnName]: this.buildWhereSentence(key, options[key], columnFields || []) });
29
+ }, {});
30
+ if (!Array.isArray(options) && !isNil(fieldSentenceOptions.fields))
31
+ return {
32
+ [fieldSentenceOptions.fields[0]]: this.buildOperatorSentence(options, fieldSentenceOptions),
33
+ };
34
+ if (isObject(options) && !FilterOptionHelper.CheckIfIsFilterOption(options))
35
+ options = Object.values(options)[0];
36
+ return Array.isArray(options)
37
+ ? options.reduce((whereSentence, option) => (Object.assign(Object.assign({}, whereSentence), this.buildOperatorSentence(option, fieldSentenceOptions))), {})
38
+ : this.buildOperatorSentence(options, fieldSentenceOptions);
39
+ };
40
+ this.buildOperatorSentence = (options, fieldOption) => ({
41
+ [this.getHasuraOperator(options, fieldOption)]: FilterOptionHelper.GetValueFromFilter(options, fieldOption),
42
+ });
43
+ this.getHasuraOperator = (options, fieldOption) => FilterOptionHelper.CheckIfIsFilterOption(options)
44
+ ? fieldOption.type === HasuraGraphQLColumnType.Jsonb
45
+ ? this.getHasuraJsonbOperator(options)
46
+ : HasuraGraphQLWhere[Object.keys(HasuraGraphQLWhere).find((graphQLOperator) => graphQLOperator === Object.keys(Where).find((operator) => Where[operator] === (options === null || options === void 0 ? void 0 : options.operator)))]
47
+ : HasuraGraphQLWhere.EQUALS;
48
+ this.getHasuraJsonbOperator = (options) => options.operator === Where.IN
49
+ ? '_contains'
50
+ : options.operator === Where.LIKE
51
+ ? '_has_keys_any'
52
+ : HasuraGraphQLWhere[Object.keys(HasuraGraphQLWhere).find((graphQLOperator) => graphQLOperator === Object.keys(Where).find((operator) => Where[operator] === (options === null || options === void 0 ? void 0 : options.operator)))];
53
+ }
54
+ find(options) {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ const { filters, limits, orderBy } = options || {};
57
+ const variablesCount = Object.assign(Object.assign({}, (isNil(orderBy) ? {} : { order_by: { type: `${this.tableName}_order_by!`, list: true, value: orderBy } })), (isNil(filters)
58
+ ? {}
59
+ : {
60
+ where: {
61
+ value: this.makeGraphQLWhere(filters, this.fields),
62
+ type: `${this.tableName}_bool_exp`,
63
+ required: true,
64
+ },
65
+ }));
66
+ const variables = Object.assign(Object.assign({}, (isNil(limits) ? {} : limits)), variablesCount);
67
+ const result = yield this.query([
68
+ {
69
+ operation: this.tableName,
70
+ fields: options.fields
71
+ ? options.fields
72
+ .map((fieldName) => {
73
+ var _a;
74
+ return (_a = this.fields.find((fieldOption) => fieldOption === fieldName)) !== null && _a !== void 0 ? _a : this.fields.find((fieldOption) => Object.keys(fieldOption).shift() === fieldName);
75
+ })
76
+ .filter(Boolean)
77
+ : this.fields,
78
+ variables,
79
+ },
80
+ {
81
+ operation: `${this.tableName}_aggregate`,
82
+ fields: [{ aggregate: ['count'] }],
83
+ variables: variablesCount,
84
+ },
85
+ ]);
86
+ const data = result[this.tableName].map((row) => this.convertDataFromHasura(row));
87
+ const count = result[`${this.tableName}_aggregate`].aggregate.count;
88
+ return { count, data };
89
+ });
90
+ }
91
+ };
92
+ };
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1maW5kLWhhc3VyYS1ncmFwaHFsLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvbWl4aW5zL3dpdGgtZmluZC1oYXN1cmEtZ3JhcGhxbC5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQVVMLEtBQUssR0FDTixNQUFNLGlCQUFpQixDQUFBO0FBQ3hCLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFhLE1BQU0sZ0JBQWdCLENBQUE7QUFDM0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGtCQUFrQixFQUFFLE1BQU0sVUFBVSxDQUFBO0FBR3RFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUVyRSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUluQyxTQUEyRCxFQUMzRCxFQUFFO0lBQ0YsT0FBTyxNQUFNLHNCQUF1QixTQUFRLFNBQVM7UUFBOUM7O1lBa0RMLHFCQUFnQixHQUFHLENBQUMsTUFBcUMsRUFBRSxNQUFrQyxFQUFtQixFQUFFLENBQ2hILE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBMEIsRUFBRSxTQUFpQixFQUFFLEVBQUU7Z0JBQzNFLE1BQU0sWUFBWSxHQUFHLHFCQUFxQixDQUFDLGVBQWUsQ0FDeEQsU0FBeUQsRUFDekQsTUFBTSxDQUNQLENBQUE7Z0JBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjO29CQUM5Qix1Q0FDSyxTQUFTLEdBQ1QsRUFBRSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBZ0IsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFDdkc7Z0JBRUgsTUFBTSxXQUFX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U0FBQTtLQStHRixDQUFBO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRmluZFJlcG9zaXRvcnksXG4gIE1vZGVsQmFzZVN0cnVjdHVyZSxcbiAgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lcyxcbiAgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzLFxuICBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzLFxuICBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9ucyxcbiAgUmVwb3NpdG9yeUZpbmRSZXN1bHQsXG4gIFJlcG9zaXRvcnlMaW1pdE9wdGlvbnMsXG4gIFJlcG9zaXRvcnlPcmRlckJ5LFxuICBXaGVyZSxcbn0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgaXNOaWwsIGlzT2JqZWN0LCBNaXhpbkN0b3IgfSBmcm9tICcuLi8uLi8uLi91dGlscydcbmltcG9ydCB7IEhhc3VyYUdyYXBoUUxDb2x1bW5UeXBlLCBIYXN1cmFHcmFwaFFMV2hlcmUgfSBmcm9tICcuLi9lbnVtcydcbmltcG9ydCB7IENvbHVtbk9wdGlvbnMsIEdyYXBoUUxSZXBvc2l0b3J5LCBIYXN1cmFHcmFwaFFMRmllbGRzLCBWYXJpYWJsZU9wdGlvbnMgfSBmcm9tICcuLi90eXBlcydcblxuaW1wb3J0IHsgQXR0cmlidXRlT3B0aW9uSGVscGVyLCBGaWx0ZXJPcHRpb25IZWxwZXIgfSBmcm9tICcuL2hlbHBlcnMnXG5cbmV4cG9ydCBjb25zdCB3aXRoRmluZEhhc3VyYUdyYXBoUUwgPSA8XG4gIE1CYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlLFxuICBUTWl4aW5CYXNlIGV4dGVuZHMgTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPj4sXG4+KFxuICBNaXhpbkJhc2U6IE1peGluQ3RvcjxHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4+ICYgVE1peGluQmFzZSxcbikgPT4ge1xuICByZXR1cm4gY2xhc3MgRmluZEhhc3VyYUdyYXBoUUxNaXhpbiBleHRlbmRzIE1peGluQmFzZSBpbXBsZW1lbnRzIEZpbmRSZXBvc2l0b3J5PE1CYXNlPiB7XG4gICAgYXN5bmMgZmluZChvcHRpb25zPzoge1xuICAgICAgZmlsdGVycz86IFJlcG9zaXRvcnlGaW5kRmllbHRlcnM8TUJhc2U+XG4gICAgICBmaWVsZHM/OiBOb25GdW5jdGlvblByb3BlcnR5TmFtZXM8TUJhc2U+W11cbiAgICAgIGxpbWl0cz86IFJlcG9zaXRvcnlMaW1pdE9wdGlvbnM8TUJhc2U+XG4gICAgICBvcmRlckJ5PzogUmVwb3NpdG9yeU9yZGVyQnk8TUJhc2U+XG4gICAgfSk6IFByb21pc2U8UmVwb3NpdG9yeUZpbmRSZXN1bHQ8TUJhc2U+PiB7XG4gICAgICBjb25zdCB7IGZpbHRlcnMsIGxpbWl0cywgb3JkZXJCeSB9ID0gb3B0aW9ucyB8fCB7fVxuICAgICAgY29uc3QgdmFyaWFibGVzQ291bnQgPSB7XG4gICAgICAgIC4uLihpc05pbChvcmRlckJ5KSA/IHt9IDogeyBvcmRlcl9ieTogeyB0eXBlOiBgJHt0aGlzLnRhYmxlTmFtZX1fb3JkZXJfYnkhYCwgbGlzdDogdHJ1ZSwgdmFsdWU6IG9yZGVyQnkgfSB9KSxcbiAgICAgICAgLi4uKGlzTmlsKGZpbHRlcnMpXG4gICAgICAgICAgPyB7fVxuICAgICAgICAgIDoge1xuICAgICAgICAgICAgICB3aGVyZToge1xuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLm1ha2VHcmFwaFFMV2hlcmUoZmlsdGVycywgdGhpcy5maWVsZHMpLFxuICAgICAgICAgICAgICAgIHR5cGU6IGAke3RoaXMudGFibGVOYW1lfV9ib29sX2V4cGAsXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgIH1cbiAgICAgIGNvbnN0IHZhcmlhYmxlcyA9IHtcbiAgICAgICAgLi4uKGlzTmlsKGxpbWl0cykgPyB7fSA6IGxpbWl0cyksXG4gICAgICAgIC4uLnZhcmlhYmxlc0NvdW50LFxuICAgICAgfVxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5xdWVyeShbXG4gICAgICAgIHtcbiAgICAgICAgICBvcGVyYXRpb246IHRoaXMudGFibGVOYW1lLFxuICAgICAgICAgIGZpZWxkczogb3B0aW9ucy5maWVsZHNcbiAgICAgICAgICAgID8gb3B0aW9ucy5maWVsZHNcbiAgICAgICAgICAgICAgICAubWFwKFxuICAgICAgICAgICAgICAgICAgKGZpZWxkTmFtZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZHMuZmluZCgoZmllbGRPcHRpb24pID0+IGZpZWxkT3B0aW9uID09PSBmaWVsZE5hbWUpID8/XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmllbGRzLmZpbmQoKGZpZWxkT3B0aW9uKSA9PiBPYmplY3Qua2V5cyhmaWVsZE9wdGlvbikuc2hpZnQoKSA9PT0gZmllbGROYW1lKSxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmZpbHRlcihCb29sZWFuKVxuICAgICAgICAgICAgOiB0aGlzLmZpZWxkcyxcbiAgICAgICAgICB2YXJpYWJsZXMsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBvcGVyYXRpb246IGAke3RoaXMudGFibGVOYW1lfV9hZ2dyZWdhdGVgLFxuICAgICAgICAgIGZpZWxkczogW3sgYWdncmVnYXRlOiBbJ2NvdW50J10gfV0sXG4gICAgICAgICAgdmFyaWFibGVzOiB2YXJpYWJsZXNDb3VudCxcbiAgICAgICAgfSxcbiAgICAgIF0pXG4gICAgICBjb25zdCBkYXRhOiBNQmFzZVtdID0gcmVzdWx0W3RoaXMudGFibGVOYW1lXS5tYXAoKHJvdykgPT4gdGhpcy5jb252ZXJ0RGF0YUZyb21IYXN1cmEocm93KSlcbiAgICAgIGNvbnN0IGNvdW50ID0gcmVzdWx0W2Ake3RoaXMudGFibGVOYW1lfV9hZ2dyZWdhdGVgXS5hZ2dyZWdhdGUuY291bnRcblxuICAgICAgcmV0dXJuIHsgY291bnQsIGRhdGEgfVxuICAgIH1cblxuICAgIG1ha2VHcmFwaFFMV2hlcmUgPSAoZmlsdGVyOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzPE1CYXNlPiwgZmllbGRzOiBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPik6IFZhcmlhYmxlT3B0aW9ucyA9PlxuICAgICAgT2JqZWN0LmtleXMoZmlsdGVyKS5yZWR1Y2UoKHZhcmlhYmxlczogVmFyaWFibGVPcHRpb25zLCBmaWVsZE5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCBjb2x1bW5PcHRpb24gPSBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZEJ5QXR0cmlidXRlKFxuICAgICAgICAgIGZpZWxkTmFtZSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPixcbiAgICAgICAgICBmaWVsZHMsXG4gICAgICAgIClcblxuICAgICAgICBpZiAoIWNvbHVtbk9wdGlvbi5iaW5kRmluZEZpbHRlcilcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4udmFyaWFibGVzLFxuICAgICAgICAgICAgLi4ueyBbY29sdW1uT3B0aW9uLmNvbHVtbk5hbWVdOiB0aGlzLmJ1aWxkV2hlcmVTZW50ZW5jZShmaWVsZE5hbWUgYXMgYW55LCBmaWx0ZXJbZmllbGROYW1lXSwgZmllbGRzKSB9LFxuICAgICAgICAgIH1cblxuICAgICAgICBjb25zdCBidWlsdEZpbHRlciA9IGNvbHVtbk9wdGlvbi5iaW5kRmluZEZpbHRlcihmaWx0ZXJbZmllbGROYW1lXSlcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnZhcmlhYmxlcyxcbiAgICAgICAgICAuLi5PYmplY3Qua2V5cyhidWlsdEZpbHRlcikucmVkdWNlKFxuICAgICAgICAgICAgKHZhcmlhYmxlc0xpc3Q6IFZhcmlhYmxlT3B0aW9ucywgY29sdW1uTmFtZTogc3RyaW5nKSA9PiAoe1xuICAgICAgICAgICAgICAuLi52YXJpYWJsZXNMaXN0LFxuICAgICAgICAgICAgICBbY29sdW1uTmFtZV06IHRoaXMuYnVpbGRXaGVyZVNlbnRlbmNlKGZpZWxkTmFtZSBhcyBhbnksIGJ1aWx0RmlsdGVyW2NvbHVtbk5hbWVdIGFzIGFueSwgZmllbGRzKSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAge30sXG4gICAgICAgICAgKSxcbiAgICAgICAgfVxuICAgICAgfSwge30pXG5cbiAgICBidWlsZFdoZXJlU2VudGVuY2UgPSAoXG4gICAgICBmaWVsZDogTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT4sXG4gICAgICBvcHRpb25zOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxNQmFzZSwgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzPE1CYXNlPj4sXG4gICAgICBmaWVsZHM6IEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+LFxuICAgICk6IFZhcmlhYmxlT3B0aW9ucyA9PiB7XG4gICAgICBjb25zdCBmaWVsZFNlbnRlbmNlT3B0aW9ucyA9IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoZmllbGQsIGZpZWxkcylcblxuICAgICAgaWYgKFxuICAgICAgICAhQXJyYXkuaXNBcnJheShvcHRpb25zKSAmJlxuICAgICAgICBpc09iamVjdChvcHRpb25zKSAmJlxuICAgICAgICBpc05pbChvcHRpb25zPy5vcGVyYXRvcikgJiZcbiAgICAgICAgaXNOaWwob3B0aW9ucz8udmFsdWUpICYmXG4gICAgICAgIGlzTmlsKGZpZWxkU2VudGVuY2VPcHRpb25zPy50bylcbiAgICAgIClcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKG9wdGlvbnMpLnJlZHVjZSgodmFyaWFibGVzLCBrZXkpID0+IHtcbiAgICAgICAgICBjb25zdCBmaWVsZE9wdGlvbnMgPSBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZEJ5QXR0cmlidXRlKFxuICAgICAgICAgICAga2V5IGFzIGFueSxcbiAgICAgICAgICAgIGZpZWxkU2VudGVuY2VPcHRpb25zPy5maWVsZHMgfHwgKGZpZWxkcyBhcyBhbnkpLFxuICAgICAgICAgIClcbiAgICAgICAgICBjb25zdCBjb2x1bW5OYW1lID0gZmllbGRPcHRpb25zLmNvbHVtbk5hbWVcbiAgICAgICAgICBjb25zdCBjb2x1bW5GaWVsZHMgPSBmaWVsZE9wdGlvbnMuZmllbGRzXG5cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4udmFyaWFibGVzLFxuICAgICAgICAgICAgW2NvbHVtbk5hbWVdOiB0aGlzLmJ1aWxkV2hlcmVTZW50ZW5jZShrZXkgYXMgYW55LCBvcHRpb25zW2tleV0sIGNvbHVtbkZpZWxkcyB8fCAoW10gYXMgYW55KSksXG4gICAgICAgICAgfVxuICAgICAgICB9LCB7fSlcblxuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KG9wdGlvbnMpICYmICFpc05pbChmaWVsZFNlbnRlbmNlT3B0aW9ucy5maWVsZHMpKVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIFtmaWVsZFNlbnRlbmNlT3B0aW9ucy5maWVsZHNbMF0gYXMgYW55XTogdGhpcy5idWlsZE9wZXJhdG9yU2VudGVuY2Uob3B0aW9ucywgZmllbGRTZW50ZW5jZU9wdGlvbnMgYXMgYW55KSxcbiAgICAgICAgfVxuXG4gICAgICBpZiAoaXNPYmplY3Qob3B0aW9ucykgJiYgIUZpbHRlck9wdGlvbkhlbHBlci5DaGVja0lmSXNGaWx0ZXJPcHRpb24ob3B0aW9ucykpXG4gICAgICAgIG9wdGlvbnMgPSBPYmplY3QudmFsdWVzKG9wdGlvbnMpWzBdIGFzIFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPE1CYXNlLCBhbnk+XG5cbiAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KG9wdGlvbnMpXG4gICAgICAgID8gb3B0aW9ucy5yZWR1Y2UoXG4gICAgICAgICAgICAod2hlcmVTZW50ZW5jZSwgb3B0aW9uKSA9PiAoe1xuICAgICAgICAgICAgICAuLi53aGVyZVNlbnRlbmNlLFxuICAgICAgICAgICAgICAuLi50aGlzLmJ1aWxkT3BlcmF0b3JTZW50ZW5jZShvcHRpb24sIGZpZWxkU2VudGVuY2VPcHRpb25zIGFzIGFueSksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHt9LFxuICAgICAgICAgIClcbiAgICAgICAgOiB0aGlzLmJ1aWxkT3BlcmF0b3JTZW50ZW5jZShvcHRpb25zLCBmaWVsZFNlbnRlbmNlT3B0aW9ucyBhcyBhbnkpXG4gICAgfVxuXG4gICAgYnVpbGRPcGVyYXRvclNlbnRlbmNlID0gKFxuICAgICAgb3B0aW9uczogUmVwb3NpdG9yeUZpbmRGaWVsdGVyc09wdGlvbnM8TUJhc2UsIGFueT4sXG4gICAgICBmaWVsZE9wdGlvbjogQ29sdW1uT3B0aW9uczxhbnksIGFueT4sXG4gICAgKTogVmFyaWFibGVPcHRpb25zID0+ICh7XG4gICAgICBbdGhpcy5nZXRIYXN1cmFPcGVyYXRvcihvcHRpb25zLCBmaWVsZE9wdGlvbildOiBGaWx0ZXJPcHRpb25IZWxwZXIuR2V0VmFsdWVGcm9tRmlsdGVyKG9wdGlvbnMsIGZpZWxkT3B0aW9uKSxcbiAgICB9KVxuXG4gICAgZ2V0SGFzdXJhT3BlcmF0b3IgPSAoXG4gICAgICBvcHRpb25zOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxNQmFzZSwgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzPE1CYXNlPj4sXG4gICAgICBmaWVsZE9wdGlvbjogQ29sdW1uT3B0aW9uczxhbnksIGFueT4sXG4gICAgKTogSGFzdXJhR3JhcGhRTFdoZXJlID0+XG4gICAgICBGaWx0ZXJPcHRpb25IZWxwZXIuQ2hlY2tJZklzRmlsdGVyT3B0aW9uKG9wdGlvbnMpXG4gICAgICAgID8gZmllbGRPcHRpb24udHlwZSA9PT0gSGFzdXJhR3JhcGhRTENvbHVtblR5cGUuSnNvbmJcbiAgICAgICAgICA/IHRoaXMuZ2V0SGFzdXJhSnNvbmJPcGVyYXRvcihvcHRpb25zKVxuICAgICAgICAgIDogSGFzdXJhR3JhcGhRTFdoZXJlW1xuICAgICAgICAgICAgICBPYmplY3Qua2V5cyhIYXN1cmFHcmFwaFFMV2hlcmUpLmZpbmQoXG4gICAgICAgICAgICAgICAgKGdyYXBoUUxPcGVyYXRvcikgPT5cbiAgICAgICAgICAgICAgICAgIGdyYXBoUUxPcGVyYXRvciA9PT0gT2JqZWN0LmtleXMoV2hlcmUpLmZpbmQoKG9wZXJhdG9yKSA9PiBXaGVyZVtvcGVyYXRvcl0gPT09IG9wdGlvbnM/Lm9wZXJhdG9yKSxcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgXVxuICAgICAgICA6IEhhc3VyYUdyYXBoUUxXaGVyZS5FUVVBTFNcblxuICAgIGdldEhhc3VyYUpzb25iT3BlcmF0b3IgPSAoXG4gICAgICBvcHRpb25zOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxNQmFzZSwgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzPE1CYXNlPj4sXG4gICAgKTogSGFzdXJhR3JhcGhRTFdoZXJlID0+XG4gICAgICBvcHRpb25zLm9wZXJhdG9yID09PSBXaGVyZS5JTlxuICAgICAgICA/ICdfY29udGFpbnMnXG4gICAgICAgIDogb3B0aW9ucy5vcGVyYXRvciA9PT0gV2hlcmUuTElLRVxuICAgICAgICA/ICdfaGFzX2tleXNfYW55J1xuICAgICAgICA6IEhhc3VyYUdyYXBoUUxXaGVyZVtcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKEhhc3VyYUdyYXBoUUxXaGVyZSkuZmluZChcbiAgICAgICAgICAgICAgKGdyYXBoUUxPcGVyYXRvcikgPT5cbiAgICAgICAgICAgICAgICBncmFwaFFMT3BlcmF0b3IgPT09IE9iamVjdC5rZXlzKFdoZXJlKS5maW5kKChvcGVyYXRvcikgPT4gV2hlcmVbb3BlcmF0b3JdID09PSBvcHRpb25zPy5vcGVyYXRvciksXG4gICAgICAgICAgICApXG4gICAgICAgICAgXVxuICB9XG59XG4iXX0=
@@ -0,0 +1,35 @@
1
+ import { __awaiter } from "tslib";
2
+ import { NotFoundError } from '../../../errors';
3
+ import { isNil } from '../../../utils';
4
+ import { AttributeOptionHelper } from './helpers';
5
+ export const withGetHasuraGraphQL = (MixinBase) => {
6
+ return class GetHasuraGraphQLMixin extends MixinBase {
7
+ constructor(...params) {
8
+ const options = params === null || params === void 0 ? void 0 : params[0];
9
+ super(...params);
10
+ this.getGraphQLOperation = (options === null || options === void 0 ? void 0 : options.getGraphQLOperation) || `${this.tableName}_by_pk`;
11
+ }
12
+ get(identifiers) {
13
+ return __awaiter(this, void 0, void 0, function* () {
14
+ const instance = this.model.toInstance(identifiers);
15
+ const result = yield this.query(this.getGraphQLOperation, this.fields, this.model.identifiersFields.reduce((ids, identifier) => {
16
+ var _a;
17
+ if (isNil(instance[identifier]))
18
+ return ids;
19
+ const columnOption = AttributeOptionHelper.FindByAttribute(identifier, this.fields);
20
+ const value = ((_a = columnOption === null || columnOption === void 0 ? void 0 : columnOption.to) === null || _a === void 0 ? void 0 : _a.call(columnOption, identifiers[identifier.toString()], instance)) || identifiers[identifier.toString()];
21
+ return Object.assign(Object.assign({}, ids), { [columnOption.columnName]: {
22
+ type: this.getAttributeGraphQLTypeOf(columnOption.type || value),
23
+ value,
24
+ required: true,
25
+ } });
26
+ }, {}));
27
+ const data = result[this.getGraphQLOperation];
28
+ if (isNil(data))
29
+ throw new NotFoundError(`${instance.constructor.name} not found`);
30
+ return this.convertDataFromHasura(result[this.getGraphQLOperation]);
31
+ });
32
+ }
33
+ };
34
+ };
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1nZXQtaGFzdXJhLWdyYXBocWwubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvd2l0aC1nZXQtaGFzdXJhLWdyYXBocWwubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUMvQyxPQUFPLEVBQUUsS0FBSyxFQUFhLE1BQU0sZ0JBQWdCLENBQUE7QUFHakQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sV0FBVyxDQUFBO0FBTWpELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBSWxDLFNBQTJELEVBQzNELEVBQUU7SUFDRixPQUFPLE1BQU0scUJBQXNCLFNBQVEsU0FBUztRQUdsRCxZQUFZLEdBQUcsTUFBTTtZQUNuQixNQUFNLE9BQU8sR0FBeUIsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFHLENBQUMsQ0FBQyxDQUFBO1lBRWpELEtBQUssQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFBO1lBRWhCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxDQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxtQkFBbUIsS0FBSSxHQUFHLElBQUksQ0FBQyxTQUFTLFFBQVEsQ0FBQTtRQUN0RixDQUFDO1FBRUssR0FBRyxDQUFDLFdBQXVDOztnQkFDL0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUE7Z0JBQ25ELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FDN0IsSUFBSSxDQUFDLG1CQUFtQixFQUN4QixJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxFQUFFOztvQkFDdEQsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO3dCQUFFLE9BQU8sR0FBRyxDQUFBO29CQUUzQyxNQUFNLFlBQVksR0FBRyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtvQkFDbkYsTUFBTSxLQUFLLEdBQ1QsQ0FBQSxNQUFBLFlBQVksYUFBWixZQUFZLHVCQUFaLFlBQVksQ0FBRSxFQUFFLCtDQUFoQixZQUFZLEVBQU8sV0FBVyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxLQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtvQkFFeEcsdUNBQ0ssR0FBRyxLQUNOLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxFQUFFOzRCQUN6QixJQUFJLEVBQUUsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDOzRCQUNoRSxLQUFLOzRCQUNMLFFBQVEsRUFBRSxJQUFJO3lCQUNmLElBQ0Y7Z0JBQ0gsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUNQLENBQUE7Z0JBQ0QsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO2dCQUU3QyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUM7b0JBQUUsTUFBTSxJQUFJLGFBQWEsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxZQUFZLENBQUMsQ0FBQTtnQkFFbEYsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUE7WUFDckUsQ0FBQztTQUFBO0tBQ0YsQ0FBQTtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdldFJlcG9zaXRvcnksIEdldFJlcG9zaXRvcnlQYXJhbXMsIE1vZGVsQmFzZVN0cnVjdHVyZSB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IE5vdEZvdW5kRXJyb3IgfSBmcm9tICcuLi8uLi8uLi9lcnJvcnMnXG5pbXBvcnQgeyBpc05pbCwgTWl4aW5DdG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBHcmFwaFFMUmVwb3NpdG9yeSB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBBdHRyaWJ1dGVPcHRpb25IZWxwZXIgfSBmcm9tICcuL2hlbHBlcnMnXG5cbmV4cG9ydCB0eXBlIEdldENvbnN0cnVjdG9yUGFyYW1zID0ge1xuICBnZXRHcmFwaFFMT3BlcmF0aW9uPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCB3aXRoR2V0SGFzdXJhR3JhcGhRTCA9IDxcbiAgTUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmUsXG4gIFRNaXhpbkJhc2UgZXh0ZW5kcyBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+Pixcbj4oXG4gIE1peGluQmFzZTogTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPj4gJiBUTWl4aW5CYXNlLFxuKSA9PiB7XG4gIHJldHVybiBjbGFzcyBHZXRIYXN1cmFHcmFwaFFMTWl4aW4gZXh0ZW5kcyBNaXhpbkJhc2UgaW1wbGVtZW50cyBHZXRSZXBvc2l0b3J5PE1CYXNlPiB7XG4gICAgZ2V0R3JhcGhRTE9wZXJhdGlvbjogc3RyaW5nXG5cbiAgICBjb25zdHJ1Y3RvciguLi5wYXJhbXMpIHtcbiAgICAgIGNvbnN0IG9wdGlvbnM6IEdldENvbnN0cnVjdG9yUGFyYW1zID0gcGFyYW1zPy5bMF1cblxuICAgICAgc3VwZXIoLi4ucGFyYW1zKVxuXG4gICAgICB0aGlzLmdldEdyYXBoUUxPcGVyYXRpb24gPSBvcHRpb25zPy5nZXRHcmFwaFFMT3BlcmF0aW9uIHx8IGAke3RoaXMudGFibGVOYW1lfV9ieV9wa2BcbiAgICB9XG5cbiAgICBhc3luYyBnZXQoaWRlbnRpZmllcnM6IEdldFJlcG9zaXRvcnlQYXJhbXM8TUJhc2U+KTogUHJvbWlzZTxNQmFzZT4ge1xuICAgICAgY29uc3QgaW5zdGFuY2UgPSB0aGlzLm1vZGVsLnRvSW5zdGFuY2UoaWRlbnRpZmllcnMpXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnF1ZXJ5KFxuICAgICAgICB0aGlzLmdldEdyYXBoUUxPcGVyYXRpb24sXG4gICAgICAgIHRoaXMuZmllbGRzLFxuICAgICAgICB0aGlzLm1vZGVsLmlkZW50aWZpZXJzRmllbGRzLnJlZHVjZSgoaWRzLCBpZGVudGlmaWVyKSA9PiB7XG4gICAgICAgICAgaWYgKGlzTmlsKGluc3RhbmNlW2lkZW50aWZpZXJdKSkgcmV0dXJuIGlkc1xuXG4gICAgICAgICAgY29uc3QgY29sdW1uT3B0aW9uID0gQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZShpZGVudGlmaWVyLCB0aGlzLmZpZWxkcylcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9XG4gICAgICAgICAgICBjb2x1bW5PcHRpb24/LnRvPy4oaWRlbnRpZmllcnNbaWRlbnRpZmllci50b1N0cmluZygpXSwgaW5zdGFuY2UpIHx8IGlkZW50aWZpZXJzW2lkZW50aWZpZXIudG9TdHJpbmcoKV1cblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5pZHMsXG4gICAgICAgICAgICBbY29sdW1uT3B0aW9uLmNvbHVtbk5hbWVdOiB7XG4gICAgICAgICAgICAgIHR5cGU6IHRoaXMuZ2V0QXR0cmlidXRlR3JhcGhRTFR5cGVPZihjb2x1bW5PcHRpb24udHlwZSB8fCB2YWx1ZSksXG4gICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfVxuICAgICAgICB9LCB7fSksXG4gICAgICApXG4gICAgICBjb25zdCBkYXRhID0gcmVzdWx0W3RoaXMuZ2V0R3JhcGhRTE9wZXJhdGlvbl1cblxuICAgICAgaWYgKGlzTmlsKGRhdGEpKSB0aHJvdyBuZXcgTm90Rm91bmRFcnJvcihgJHtpbnN0YW5jZS5jb25zdHJ1Y3Rvci5uYW1lfSBub3QgZm91bmRgKVxuXG4gICAgICByZXR1cm4gdGhpcy5jb252ZXJ0RGF0YUZyb21IYXN1cmEocmVzdWx0W3RoaXMuZ2V0R3JhcGhRTE9wZXJhdGlvbl0pXG4gICAgfVxuICB9XG59XG4iXX0=