@xxmachina/common 19.0.0-preview.8 → 19.1.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 (680) hide show
  1. package/_shared/auth/index.d.ts +8 -1
  2. package/_shared/auth/passports/anonymous/index.d.ts +8 -1
  3. package/_shared/auth/passports/firebase/index.d.ts +19 -2
  4. package/_shared/auth/passports/internal/index.d.ts +17 -1
  5. package/_shared/auth/passports/msal/index.d.ts +26 -2
  6. package/_shared/meta/index.d.ts +8 -0
  7. package/_shared/meta/redis/index.d.ts +39 -2
  8. package/auth/index.d.ts +16 -1
  9. package/azure-auth/index.d.ts +41 -2
  10. package/domain/builder/index.d.ts +81 -0
  11. package/domain/builder/screen-item/index.d.ts +7 -1
  12. package/domain/index.d.ts +2 -1
  13. package/domain/models/index.d.ts +377 -13
  14. package/fesm2022/xxmachina-common-_shared-auth-passports-anonymous.mjs +20 -0
  15. package/fesm2022/xxmachina-common-_shared-auth-passports-anonymous.mjs.map +1 -0
  16. package/fesm2022/xxmachina-common-_shared-auth-passports-firebase.mjs +41 -0
  17. package/fesm2022/xxmachina-common-_shared-auth-passports-firebase.mjs.map +1 -0
  18. package/fesm2022/xxmachina-common-_shared-auth-passports-internal.mjs +34 -0
  19. package/fesm2022/xxmachina-common-_shared-auth-passports-internal.mjs.map +1 -0
  20. package/fesm2022/xxmachina-common-_shared-auth-passports-msal.mjs +49 -0
  21. package/fesm2022/xxmachina-common-_shared-auth-passports-msal.mjs.map +1 -0
  22. package/fesm2022/xxmachina-common-_shared-auth.mjs +25 -0
  23. package/fesm2022/xxmachina-common-_shared-auth.mjs.map +1 -0
  24. package/fesm2022/xxmachina-common-_shared-meta-redis.mjs +99 -0
  25. package/fesm2022/xxmachina-common-_shared-meta-redis.mjs.map +1 -0
  26. package/fesm2022/xxmachina-common-_shared-meta.mjs +26 -0
  27. package/fesm2022/xxmachina-common-_shared-meta.mjs.map +1 -0
  28. package/fesm2022/xxmachina-common-auth.mjs +17 -0
  29. package/fesm2022/xxmachina-common-auth.mjs.map +1 -0
  30. package/fesm2022/xxmachina-common-azure-auth.mjs +160 -0
  31. package/fesm2022/xxmachina-common-azure-auth.mjs.map +1 -0
  32. package/{domain/builder/screen-item/screen-item.builder.js → fesm2022/xxmachina-common-domain-builder-screen-item.mjs} +10 -11
  33. package/fesm2022/xxmachina-common-domain-builder-screen-item.mjs.map +1 -0
  34. package/fesm2022/xxmachina-common-domain-builder.mjs +494 -0
  35. package/fesm2022/xxmachina-common-domain-builder.mjs.map +1 -0
  36. package/fesm2022/xxmachina-common-domain-models.mjs +842 -0
  37. package/fesm2022/xxmachina-common-domain-models.mjs.map +1 -0
  38. package/fesm2022/xxmachina-common-domain.mjs +7 -0
  39. package/fesm2022/xxmachina-common-domain.mjs.map +1 -0
  40. package/fesm2022/xxmachina-common-firebase-auth.mjs +36 -0
  41. package/fesm2022/xxmachina-common-firebase-auth.mjs.map +1 -0
  42. package/fesm2022/xxmachina-common-infra-converters-google.mjs +39 -0
  43. package/fesm2022/xxmachina-common-infra-converters-google.mjs.map +1 -0
  44. package/fesm2022/xxmachina-common-infra-external-data-connect.mjs +13 -0
  45. package/fesm2022/xxmachina-common-infra-external-data-connect.mjs.map +1 -0
  46. package/fesm2022/xxmachina-common-infra-external-quick-js.mjs +61 -0
  47. package/fesm2022/xxmachina-common-infra-external-quick-js.mjs.map +1 -0
  48. package/fesm2022/xxmachina-common-infra-external-resend.mjs +10 -0
  49. package/fesm2022/xxmachina-common-infra-external-resend.mjs.map +1 -0
  50. package/fesm2022/xxmachina-common-infra-external.mjs +36 -0
  51. package/fesm2022/xxmachina-common-infra-external.mjs.map +1 -0
  52. package/fesm2022/xxmachina-common-infra-query-firestore.mjs +34 -0
  53. package/fesm2022/xxmachina-common-infra-query-firestore.mjs.map +1 -0
  54. package/fesm2022/xxmachina-common-infra-query-hasura.mjs +20 -0
  55. package/fesm2022/xxmachina-common-infra-query-hasura.mjs.map +1 -0
  56. package/fesm2022/xxmachina-common-infra-repository-dataconnect.mjs +18 -0
  57. package/fesm2022/xxmachina-common-infra-repository-dataconnect.mjs.map +1 -0
  58. package/fesm2022/xxmachina-common-infra-repository-firestore.mjs +74 -0
  59. package/fesm2022/xxmachina-common-infra-repository-firestore.mjs.map +1 -0
  60. package/fesm2022/xxmachina-common-infra-repository-hasura.mjs +41 -0
  61. package/fesm2022/xxmachina-common-infra-repository-hasura.mjs.map +1 -0
  62. package/fesm2022/xxmachina-common-infra-repository-notion.mjs +113 -0
  63. package/fesm2022/xxmachina-common-infra-repository-notion.mjs.map +1 -0
  64. package/fesm2022/xxmachina-common-infra.mjs +378 -0
  65. package/fesm2022/xxmachina-common-infra.mjs.map +1 -0
  66. package/fesm2022/xxmachina-common-invoice-domain-builders.mjs +79 -0
  67. package/fesm2022/xxmachina-common-invoice-domain-builders.mjs.map +1 -0
  68. package/fesm2022/xxmachina-common-invoice-domain-models.mjs +428 -0
  69. package/fesm2022/xxmachina-common-invoice-domain-models.mjs.map +1 -0
  70. package/fesm2022/xxmachina-common-invoice-domain-resolvers.mjs +41 -0
  71. package/fesm2022/xxmachina-common-invoice-domain-resolvers.mjs.map +1 -0
  72. package/fesm2022/xxmachina-common-invoice-domain.mjs +8 -0
  73. package/fesm2022/xxmachina-common-invoice-domain.mjs.map +1 -0
  74. package/fesm2022/xxmachina-common-invoice-usecase-contract.mjs +27 -0
  75. package/fesm2022/xxmachina-common-invoice-usecase-contract.mjs.map +1 -0
  76. package/fesm2022/xxmachina-common-invoice-usecase-invoice.mjs +191 -0
  77. package/fesm2022/xxmachina-common-invoice-usecase-invoice.mjs.map +1 -0
  78. package/fesm2022/xxmachina-common-invoice-usecase-order.mjs +36 -0
  79. package/fesm2022/xxmachina-common-invoice-usecase-order.mjs.map +1 -0
  80. package/fesm2022/xxmachina-common-invoice-usecase-partner.mjs +36 -0
  81. package/fesm2022/xxmachina-common-invoice-usecase-partner.mjs.map +1 -0
  82. package/fesm2022/xxmachina-common-services-graphql.mjs +60 -0
  83. package/fesm2022/xxmachina-common-services-graphql.mjs.map +1 -0
  84. package/fesm2022/xxmachina-common-services-query-config.mjs +44 -0
  85. package/fesm2022/xxmachina-common-services-query-config.mjs.map +1 -0
  86. package/fesm2022/xxmachina-common-services-query.mjs +65 -0
  87. package/fesm2022/xxmachina-common-services-query.mjs.map +1 -0
  88. package/fesm2022/xxmachina-common-services-speech.mjs +178 -0
  89. package/fesm2022/xxmachina-common-services-speech.mjs.map +1 -0
  90. package/fesm2022/xxmachina-common-services-transformer.mjs +27 -0
  91. package/fesm2022/xxmachina-common-services-transformer.mjs.map +1 -0
  92. package/fesm2022/xxmachina-common-stores-firestore.mjs +33 -0
  93. package/fesm2022/xxmachina-common-stores-firestore.mjs.map +1 -0
  94. package/fesm2022/xxmachina-common-stores-hasura.mjs +32 -0
  95. package/fesm2022/xxmachina-common-stores-hasura.mjs.map +1 -0
  96. package/fesm2022/xxmachina-common-stores-inmemory.mjs +102 -0
  97. package/fesm2022/xxmachina-common-stores-inmemory.mjs.map +1 -0
  98. package/fesm2022/xxmachina-common-stores.mjs +16 -0
  99. package/fesm2022/xxmachina-common-stores.mjs.map +1 -0
  100. package/fesm2022/xxmachina-common-usecase-assistant.mjs +67 -0
  101. package/fesm2022/xxmachina-common-usecase-assistant.mjs.map +1 -0
  102. package/fesm2022/xxmachina-common-usecase-database.mjs +95 -0
  103. package/fesm2022/xxmachina-common-usecase-database.mjs.map +1 -0
  104. package/fesm2022/xxmachina-common-usecase-graphql.mjs +51 -0
  105. package/fesm2022/xxmachina-common-usecase-graphql.mjs.map +1 -0
  106. package/fesm2022/xxmachina-common-usecase-link.mjs +26 -0
  107. package/fesm2022/xxmachina-common-usecase-link.mjs.map +1 -0
  108. package/fesm2022/xxmachina-common-usecase-project.mjs +35 -0
  109. package/fesm2022/xxmachina-common-usecase-project.mjs.map +1 -0
  110. package/fesm2022/xxmachina-common-usecase-spec.mjs +45 -0
  111. package/fesm2022/xxmachina-common-usecase-spec.mjs.map +1 -0
  112. package/fesm2022/xxmachina-common-usecase.mjs +198 -0
  113. package/fesm2022/xxmachina-common-usecase.mjs.map +1 -0
  114. package/{utils/crypto.js → fesm2022/xxmachina-common-utils-crypto.mjs} +10 -12
  115. package/fesm2022/xxmachina-common-utils-crypto.mjs.map +1 -0
  116. package/{utils/extract-display-fields.js → fesm2022/xxmachina-common-utils.mjs} +7 -4
  117. package/fesm2022/xxmachina-common-utils.mjs.map +1 -0
  118. package/fesm2022/xxmachina-common.mjs +6 -0
  119. package/fesm2022/xxmachina-common.mjs.map +1 -0
  120. package/firebase-auth/index.d.ts +6 -0
  121. package/index.d.ts +1 -0
  122. package/infra/converters/google/index.d.ts +17 -0
  123. package/infra/external/data-connect/index.d.ts +7 -0
  124. package/infra/external/index.d.ts +24 -0
  125. package/infra/external/quick-js/index.d.ts +24 -0
  126. package/infra/external/resend/index.d.ts +16 -0
  127. package/infra/index.d.ts +218 -0
  128. package/infra/query/firestore/index.d.ts +20 -0
  129. package/infra/query/hasura/index.d.ts +9 -0
  130. package/infra/repository/dataconnect/index.d.ts +28 -0
  131. package/infra/repository/firestore/index.d.ts +42 -0
  132. package/infra/repository/hasura/index.d.ts +24 -0
  133. package/infra/repository/notion/index.d.ts +101 -0
  134. package/invoice/domain/builders/index.d.ts +31 -0
  135. package/invoice/domain/index.d.ts +3 -0
  136. package/invoice/domain/models/index.d.ts +78 -0
  137. package/{domain/resolvers/invoice.resolver.d.ts → invoice/domain/resolvers/index.d.ts} +6 -2
  138. package/invoice/usecase/contract/index.d.ts +14 -0
  139. package/invoice/usecase/invoice/index.d.ts +34 -0
  140. package/invoice/usecase/order/index.d.ts +16 -0
  141. package/invoice/usecase/partner/index.d.ts +16 -0
  142. package/package.json +238 -14
  143. package/services/graphql/index.d.ts +32 -0
  144. package/services/query/config/index.d.ts +18 -0
  145. package/services/query/index.d.ts +29 -0
  146. package/services/speech/index.d.ts +37 -0
  147. package/services/transformer/index.d.ts +14 -0
  148. package/stores/firestore/index.d.ts +17 -0
  149. package/stores/hasura/index.d.ts +17 -0
  150. package/stores/index.d.ts +22 -40
  151. package/stores/inmemory/index.d.ts +33 -0
  152. package/usecase/assistant/index.d.ts +18 -1
  153. package/usecase/database/index.d.ts +39 -1
  154. package/usecase/graphql/index.d.ts +17 -1
  155. package/usecase/index.d.ts +73 -1
  156. package/usecase/link/index.d.ts +13 -1
  157. package/usecase/project/index.d.ts +16 -1
  158. package/usecase/spec/index.d.ts +17 -1
  159. package/utils/crypto/index.d.ts +9 -0
  160. package/utils/index.d.ts +5 -1
  161. package/README.md +0 -11
  162. package/_shared/auth/auth.module.d.ts +0 -6
  163. package/_shared/auth/auth.module.js +0 -22
  164. package/_shared/auth/auth.module.js.map +0 -1
  165. package/_shared/auth/index.js +0 -5
  166. package/_shared/auth/index.js.map +0 -1
  167. package/_shared/auth/passports/anonymous/anonymous.strategy.d.ts +0 -6
  168. package/_shared/auth/passports/anonymous/anonymous.strategy.js +0 -19
  169. package/_shared/auth/passports/anonymous/anonymous.strategy.js.map +0 -1
  170. package/_shared/auth/passports/anonymous/index.js +0 -5
  171. package/_shared/auth/passports/anonymous/index.js.map +0 -1
  172. package/_shared/auth/passports/firebase/firebase.guard.d.ts +0 -6
  173. package/_shared/auth/passports/firebase/firebase.guard.js +0 -23
  174. package/_shared/auth/passports/firebase/firebase.guard.js.map +0 -1
  175. package/_shared/auth/passports/firebase/firebase.strategy.d.ts +0 -10
  176. package/_shared/auth/passports/firebase/firebase.strategy.js +0 -22
  177. package/_shared/auth/passports/firebase/firebase.strategy.js.map +0 -1
  178. package/_shared/auth/passports/firebase/index.js +0 -6
  179. package/_shared/auth/passports/firebase/index.js.map +0 -1
  180. package/_shared/auth/passports/internal/index.js +0 -5
  181. package/_shared/auth/passports/internal/index.js.map +0 -1
  182. package/_shared/auth/passports/internal/internal.strategy.d.ts +0 -14
  183. package/_shared/auth/passports/internal/internal.strategy.js +0 -33
  184. package/_shared/auth/passports/internal/internal.strategy.js.map +0 -1
  185. package/_shared/auth/passports/msal/index.js +0 -6
  186. package/_shared/auth/passports/msal/index.js.map +0 -1
  187. package/_shared/auth/passports/msal/msal.guard.d.ts +0 -4
  188. package/_shared/auth/passports/msal/msal.guard.js +0 -13
  189. package/_shared/auth/passports/msal/msal.guard.js.map +0 -1
  190. package/_shared/auth/passports/msal/msal.strategy.d.ts +0 -17
  191. package/_shared/auth/passports/msal/msal.strategy.js +0 -43
  192. package/_shared/auth/passports/msal/msal.strategy.js.map +0 -1
  193. package/_shared/meta/decorators.d.ts +0 -4
  194. package/_shared/meta/decorators.js +0 -25
  195. package/_shared/meta/decorators.js.map +0 -1
  196. package/_shared/meta/redis/index.js +0 -6
  197. package/_shared/meta/redis/index.js.map +0 -1
  198. package/_shared/meta/redis/redis.config.d.ts +0 -9
  199. package/_shared/meta/redis/redis.config.js +0 -10
  200. package/_shared/meta/redis/redis.config.js.map +0 -1
  201. package/_shared/meta/redis/redis.repository.d.ts +0 -23
  202. package/_shared/meta/redis/redis.repository.js +0 -108
  203. package/_shared/meta/redis/redis.repository.js.map +0 -1
  204. package/auth/auth.service.d.ts +0 -10
  205. package/auth/auth.service.js +0 -12
  206. package/auth/auth.service.js.map +0 -1
  207. package/auth/index.js +0 -5
  208. package/auth/index.js.map +0 -1
  209. package/azure-auth/auth.di.d.ts +0 -4
  210. package/azure-auth/auth.di.js +0 -56
  211. package/azure-auth/auth.di.js.map +0 -1
  212. package/azure-auth/auth.service.d.ts +0 -32
  213. package/azure-auth/auth.service.js +0 -115
  214. package/azure-auth/auth.service.js.map +0 -1
  215. package/azure-auth/index.js +0 -6
  216. package/azure-auth/index.js.map +0 -1
  217. package/domain/builder/command/command.builder.d.ts +0 -5
  218. package/domain/builder/command/command.builder.js +0 -30
  219. package/domain/builder/command/command.builder.js.map +0 -1
  220. package/domain/builder/command/index.d.ts +0 -1
  221. package/domain/builder/command/index.js +0 -5
  222. package/domain/builder/command/index.js.map +0 -1
  223. package/domain/builder/command-action/command-action.builder.d.ts +0 -40
  224. package/domain/builder/command-action/command-action.builder.js +0 -139
  225. package/domain/builder/command-action/command-action.builder.js.map +0 -1
  226. package/domain/builder/command-action/index.d.ts +0 -1
  227. package/domain/builder/command-action/index.js +0 -5
  228. package/domain/builder/command-action/index.js.map +0 -1
  229. package/domain/builder/er/er.builder.d.ts +0 -19
  230. package/domain/builder/er/er.builder.js +0 -112
  231. package/domain/builder/er/er.builder.js.map +0 -1
  232. package/domain/builder/er/index.d.ts +0 -1
  233. package/domain/builder/er/index.js +0 -5
  234. package/domain/builder/er/index.js.map +0 -1
  235. package/domain/builder/screen-item/index.js +0 -5
  236. package/domain/builder/screen-item/index.js.map +0 -1
  237. package/domain/builder/screen-item/screen-item.builder.d.ts +0 -5
  238. package/domain/builder/screen-item/screen-item.builder.js.map +0 -1
  239. package/domain/index.js +0 -5
  240. package/domain/index.js.map +0 -1
  241. package/domain/invoice/builders/email/email.builder.d.ts +0 -18
  242. package/domain/invoice/builders/email/email.builder.js +0 -29
  243. package/domain/invoice/builders/email/email.builder.js.map +0 -1
  244. package/domain/invoice/builders/email/index.d.ts +0 -1
  245. package/domain/invoice/builders/email/index.js +0 -5
  246. package/domain/invoice/builders/email/index.js.map +0 -1
  247. package/domain/invoice/builders/message/index.d.ts +0 -1
  248. package/domain/invoice/builders/message/index.js +0 -5
  249. package/domain/invoice/builders/message/index.js.map +0 -1
  250. package/domain/invoice/builders/message/message.builder.d.ts +0 -6
  251. package/domain/invoice/builders/message/message.builder.js +0 -43
  252. package/domain/invoice/builders/message/message.builder.js.map +0 -1
  253. package/domain/invoice/builders/title/index.d.ts +0 -1
  254. package/domain/invoice/builders/title/index.js +0 -5
  255. package/domain/invoice/builders/title/index.js.map +0 -1
  256. package/domain/invoice/builders/title/title.builder.d.ts +0 -4
  257. package/domain/invoice/builders/title/title.builder.js +0 -11
  258. package/domain/invoice/builders/title/title.builder.js.map +0 -1
  259. package/domain/invoice/models/backoffice/contract.d.ts +0 -10
  260. package/domain/invoice/models/backoffice/contract.js +0 -50
  261. package/domain/invoice/models/backoffice/contract.js.map +0 -1
  262. package/domain/invoice/models/backoffice/index.d.ts +0 -5
  263. package/domain/invoice/models/backoffice/index.js +0 -9
  264. package/domain/invoice/models/backoffice/index.js.map +0 -1
  265. package/domain/invoice/models/backoffice/invoice-mail.d.ts +0 -8
  266. package/domain/invoice/models/backoffice/invoice-mail.js +0 -7
  267. package/domain/invoice/models/backoffice/invoice-mail.js.map +0 -1
  268. package/domain/invoice/models/backoffice/invoice.d.ts +0 -19
  269. package/domain/invoice/models/backoffice/invoice.js +0 -91
  270. package/domain/invoice/models/backoffice/invoice.js.map +0 -1
  271. package/domain/invoice/models/backoffice/order.d.ts +0 -26
  272. package/domain/invoice/models/backoffice/order.js +0 -157
  273. package/domain/invoice/models/backoffice/order.js.map +0 -1
  274. package/domain/invoice/models/backoffice/partner.d.ts +0 -17
  275. package/domain/invoice/models/backoffice/partner.js +0 -96
  276. package/domain/invoice/models/backoffice/partner.js.map +0 -1
  277. package/domain/invoice/models/index.d.ts +0 -1
  278. package/domain/invoice/models/index.js +0 -5
  279. package/domain/invoice/models/index.js.map +0 -1
  280. package/domain/models/agent/assistant.d.ts +0 -9
  281. package/domain/models/agent/assistant.js +0 -31
  282. package/domain/models/agent/assistant.js.map +0 -1
  283. package/domain/models/agent/index.d.ts +0 -1
  284. package/domain/models/agent/index.js +0 -5
  285. package/domain/models/agent/index.js.map +0 -1
  286. package/domain/models/bookmarklet/bookmarklet.d.ts +0 -9
  287. package/domain/models/bookmarklet/bookmarklet.js +0 -34
  288. package/domain/models/bookmarklet/bookmarklet.js.map +0 -1
  289. package/domain/models/bookmarklet/index.d.ts +0 -1
  290. package/domain/models/bookmarklet/index.js +0 -5
  291. package/domain/models/bookmarklet/index.js.map +0 -1
  292. package/domain/models/calendar-utils.d.ts +0 -5
  293. package/domain/models/calendar-utils.js +0 -43
  294. package/domain/models/calendar-utils.js.map +0 -1
  295. package/domain/models/command/command.d.ts +0 -18
  296. package/domain/models/command/command.helper.d.ts +0 -4
  297. package/domain/models/command/command.helper.js +0 -14
  298. package/domain/models/command/command.helper.js.map +0 -1
  299. package/domain/models/command/command.js +0 -40
  300. package/domain/models/command/command.js.map +0 -1
  301. package/domain/models/command/index.d.ts +0 -2
  302. package/domain/models/command/index.js +0 -6
  303. package/domain/models/command/index.js.map +0 -1
  304. package/domain/models/database/database.d.ts +0 -4
  305. package/domain/models/database/database.js +0 -7
  306. package/domain/models/database/database.js.map +0 -1
  307. package/domain/models/database/index.d.ts +0 -1
  308. package/domain/models/database/index.js +0 -5
  309. package/domain/models/database/index.js.map +0 -1
  310. package/domain/models/endpoint/endpoint.helper.d.ts +0 -4
  311. package/domain/models/endpoint/endpoint.helper.js +0 -21
  312. package/domain/models/endpoint/endpoint.helper.js.map +0 -1
  313. package/domain/models/endpoint/index.d.ts +0 -1
  314. package/domain/models/endpoint/index.js +0 -5
  315. package/domain/models/endpoint/index.js.map +0 -1
  316. package/domain/models/index.js +0 -12
  317. package/domain/models/index.js.map +0 -1
  318. package/domain/models/links/google/google.d.ts +0 -12
  319. package/domain/models/links/google/google.js +0 -47
  320. package/domain/models/links/google/google.js.map +0 -1
  321. package/domain/models/links/google/index.d.ts +0 -1
  322. package/domain/models/links/google/index.js +0 -5
  323. package/domain/models/links/google/index.js.map +0 -1
  324. package/domain/models/openapi/index.d.ts +0 -2
  325. package/domain/models/openapi/index.js +0 -6
  326. package/domain/models/openapi/index.js.map +0 -1
  327. package/domain/models/openapi/openapi.d.ts +0 -32
  328. package/domain/models/openapi/openapi.js +0 -87
  329. package/domain/models/openapi/openapi.js.map +0 -1
  330. package/domain/models/openapi/openapi.schema.d.ts +0 -76
  331. package/domain/models/openapi/openapi.schema.js +0 -3
  332. package/domain/models/openapi/openapi.schema.js.map +0 -1
  333. package/domain/models/operators/assistancts/base.d.ts +0 -5
  334. package/domain/models/operators/assistancts/base.js +0 -13
  335. package/domain/models/operators/assistancts/base.js.map +0 -1
  336. package/domain/models/operators/assistancts/index.d.ts +0 -1
  337. package/domain/models/operators/assistancts/index.js +0 -5
  338. package/domain/models/operators/assistancts/index.js.map +0 -1
  339. package/domain/models/operators/base.d.ts +0 -13
  340. package/domain/models/operators/base.js +0 -10
  341. package/domain/models/operators/base.js.map +0 -1
  342. package/domain/models/operators/index.d.ts +0 -4
  343. package/domain/models/operators/index.js +0 -8
  344. package/domain/models/operators/index.js.map +0 -1
  345. package/domain/models/operators/systems/base.d.ts +0 -5
  346. package/domain/models/operators/systems/base.js +0 -3
  347. package/domain/models/operators/systems/base.js.map +0 -1
  348. package/domain/models/operators/systems/graphql.d.ts +0 -5
  349. package/domain/models/operators/systems/graphql.js +0 -3
  350. package/domain/models/operators/systems/graphql.js.map +0 -1
  351. package/domain/models/operators/systems/index.d.ts +0 -3
  352. package/domain/models/operators/systems/index.js +0 -7
  353. package/domain/models/operators/systems/index.js.map +0 -1
  354. package/domain/models/operators/systems/rest.d.ts +0 -6
  355. package/domain/models/operators/systems/rest.js +0 -3
  356. package/domain/models/operators/systems/rest.js.map +0 -1
  357. package/domain/models/operators/workflows/index.d.ts +0 -1
  358. package/domain/models/operators/workflows/index.js +0 -5
  359. package/domain/models/operators/workflows/index.js.map +0 -1
  360. package/domain/models/operators/workflows/workflow.d.ts +0 -9
  361. package/domain/models/operators/workflows/workflow.js +0 -3
  362. package/domain/models/operators/workflows/workflow.js.map +0 -1
  363. package/domain/models/project.d.ts +0 -22
  364. package/domain/models/project.js +0 -9
  365. package/domain/models/project.js.map +0 -1
  366. package/domain/models/query/index.d.ts +0 -2
  367. package/domain/models/query/index.js +0 -6
  368. package/domain/models/query/index.js.map +0 -1
  369. package/domain/models/query/query.d.ts +0 -27
  370. package/domain/models/query/query.helper.d.ts +0 -23
  371. package/domain/models/query/query.helper.js +0 -172
  372. package/domain/models/query/query.helper.js.map +0 -1
  373. package/domain/models/query/query.js +0 -122
  374. package/domain/models/query/query.js.map +0 -1
  375. package/domain/models/resource/index.d.ts +0 -2
  376. package/domain/models/resource/index.js +0 -6
  377. package/domain/models/resource/index.js.map +0 -1
  378. package/domain/models/resource/resource.d.ts +0 -15
  379. package/domain/models/resource/resource.helper.d.ts +0 -4
  380. package/domain/models/resource/resource.helper.js +0 -16
  381. package/domain/models/resource/resource.helper.js.map +0 -1
  382. package/domain/models/resource/resource.js +0 -73
  383. package/domain/models/resource/resource.js.map +0 -1
  384. package/domain/models/scheduler/index.d.ts +0 -1
  385. package/domain/models/scheduler/index.js +0 -5
  386. package/domain/models/scheduler/index.js.map +0 -1
  387. package/domain/models/scheduler/schedule.d.ts +0 -23
  388. package/domain/models/scheduler/schedule.js +0 -89
  389. package/domain/models/scheduler/schedule.js.map +0 -1
  390. package/domain/models/screen-item/index.d.ts +0 -1
  391. package/domain/models/screen-item/index.js +0 -5
  392. package/domain/models/screen-item/index.js.map +0 -1
  393. package/domain/models/screen-item/screen-item.d.ts +0 -9
  394. package/domain/models/screen-item/screen-item.js +0 -3
  395. package/domain/models/screen-item/screen-item.js.map +0 -1
  396. package/domain/models/spec.d.ts +0 -7
  397. package/domain/models/spec.js +0 -3
  398. package/domain/models/spec.js.map +0 -1
  399. package/domain/resolvers/index.d.ts +0 -1
  400. package/domain/resolvers/index.js +0 -5
  401. package/domain/resolvers/index.js.map +0 -1
  402. package/domain/resolvers/invoice.resolver.js +0 -31
  403. package/domain/resolvers/invoice.resolver.js.map +0 -1
  404. package/infrastructure/converters/bookmarklet/bookmarklet.converter.d.ts +0 -0
  405. package/infrastructure/converters/bookmarklet/bookmarklet.converter.js +0 -1
  406. package/infrastructure/converters/bookmarklet/bookmarklet.converter.js.map +0 -1
  407. package/infrastructure/converters/google/google.converter.d.ts +0 -9
  408. package/infrastructure/converters/google/google.converter.js +0 -27
  409. package/infrastructure/converters/google/google.converter.js.map +0 -1
  410. package/infrastructure/converters/google/index.d.ts +0 -1
  411. package/infrastructure/converters/google/index.js +0 -5
  412. package/infrastructure/converters/google/index.js.map +0 -1
  413. package/infrastructure/external/data-connect/data-connect.service.d.ts +0 -4
  414. package/infrastructure/external/data-connect/data-connect.service.impl.d.ts +0 -7
  415. package/infrastructure/external/data-connect/data-connect.service.impl.js +0 -20
  416. package/infrastructure/external/data-connect/data-connect.service.impl.js.map +0 -1
  417. package/infrastructure/external/data-connect/data-connect.service.js +0 -11
  418. package/infrastructure/external/data-connect/data-connect.service.js.map +0 -1
  419. package/infrastructure/external/data-connect/index.d.ts +0 -1
  420. package/infrastructure/external/data-connect/index.js +0 -5
  421. package/infrastructure/external/data-connect/index.js.map +0 -1
  422. package/infrastructure/external/external.config.d.ts +0 -7
  423. package/infrastructure/external/external.config.js +0 -13
  424. package/infrastructure/external/external.config.js.map +0 -1
  425. package/infrastructure/external/external.service.d.ts +0 -8
  426. package/infrastructure/external/external.service.js +0 -23
  427. package/infrastructure/external/external.service.js.map +0 -1
  428. package/infrastructure/external/index.d.ts +0 -2
  429. package/infrastructure/external/index.js +0 -6
  430. package/infrastructure/external/index.js.map +0 -1
  431. package/infrastructure/external/quick-js/index.d.ts +0 -1
  432. package/infrastructure/external/quick-js/index.js +0 -5
  433. package/infrastructure/external/quick-js/index.js.map +0 -1
  434. package/infrastructure/external/quick-js/quick-js.service.d.ts +0 -7
  435. package/infrastructure/external/quick-js/quick-js.service.js +0 -44
  436. package/infrastructure/external/quick-js/quick-js.service.js.map +0 -1
  437. package/infrastructure/external/resend/index.d.ts +0 -1
  438. package/infrastructure/external/resend/index.js +0 -5
  439. package/infrastructure/external/resend/index.js.map +0 -1
  440. package/infrastructure/external/resend/resend.service.d.ts +0 -9
  441. package/infrastructure/external/resend/resend.service.impl.d.ts +0 -17
  442. package/infrastructure/external/resend/resend.service.impl.js +0 -27
  443. package/infrastructure/external/resend/resend.service.impl.js.map +0 -1
  444. package/infrastructure/external/resend/resend.service.js +0 -6
  445. package/infrastructure/external/resend/resend.service.js.map +0 -1
  446. package/infrastructure/index.d.ts +0 -2
  447. package/infrastructure/index.js +0 -6
  448. package/infrastructure/index.js.map +0 -1
  449. package/infrastructure/infrastructure.config.d.ts +0 -16
  450. package/infrastructure/infrastructure.config.js +0 -12
  451. package/infrastructure/infrastructure.config.js.map +0 -1
  452. package/infrastructure/infrastructure.service.d.ts +0 -7
  453. package/infrastructure/infrastructure.service.js +0 -20
  454. package/infrastructure/infrastructure.service.js.map +0 -1
  455. package/infrastructure/query/firestore/query/index.d.ts +0 -1
  456. package/infrastructure/query/firestore/query/index.js +0 -5
  457. package/infrastructure/query/firestore/query/index.js.map +0 -1
  458. package/infrastructure/query/firestore/query/query.query.d.ts +0 -6
  459. package/infrastructure/query/firestore/query/query.query.js +0 -20
  460. package/infrastructure/query/firestore/query/query.query.js.map +0 -1
  461. package/infrastructure/query/firestore/resource/index.d.ts +0 -1
  462. package/infrastructure/query/firestore/resource/index.js +0 -5
  463. package/infrastructure/query/firestore/resource/index.js.map +0 -1
  464. package/infrastructure/query/firestore/resource/resource.query.d.ts +0 -6
  465. package/infrastructure/query/firestore/resource/resource.query.js +0 -20
  466. package/infrastructure/query/firestore/resource/resource.query.js.map +0 -1
  467. package/infrastructure/query/hasura/resource/index.d.ts +0 -1
  468. package/infrastructure/query/hasura/resource/index.js +0 -5
  469. package/infrastructure/query/hasura/resource/index.js.map +0 -1
  470. package/infrastructure/query/hasura/resource/resource.query.d.ts +0 -3
  471. package/infrastructure/query/hasura/resource/resource.query.js +0 -14
  472. package/infrastructure/query/hasura/resource/resource.query.js.map +0 -1
  473. package/infrastructure/repository/dataconnect/invoice/index.d.ts +0 -1
  474. package/infrastructure/repository/dataconnect/invoice/index.js +0 -5
  475. package/infrastructure/repository/dataconnect/invoice/index.js.map +0 -1
  476. package/infrastructure/repository/dataconnect/invoice/invoice.repository.d.ts +0 -4
  477. package/infrastructure/repository/dataconnect/invoice/invoice.repository.impl.d.ts +0 -10
  478. package/infrastructure/repository/dataconnect/invoice/invoice.repository.impl.js +0 -54
  479. package/infrastructure/repository/dataconnect/invoice/invoice.repository.impl.js.map +0 -1
  480. package/infrastructure/repository/dataconnect/invoice/invoice.repository.js +0 -11
  481. package/infrastructure/repository/dataconnect/invoice/invoice.repository.js.map +0 -1
  482. package/infrastructure/repository/dataconnect/order/index.d.ts +0 -1
  483. package/infrastructure/repository/dataconnect/order/index.js +0 -5
  484. package/infrastructure/repository/dataconnect/order/index.js.map +0 -1
  485. package/infrastructure/repository/dataconnect/order/order.repository.d.ts +0 -4
  486. package/infrastructure/repository/dataconnect/order/order.repository.impl.d.ts +0 -14
  487. package/infrastructure/repository/dataconnect/order/order.repository.impl.js +0 -74
  488. package/infrastructure/repository/dataconnect/order/order.repository.impl.js.map +0 -1
  489. package/infrastructure/repository/dataconnect/order/order.repository.js +0 -11
  490. package/infrastructure/repository/dataconnect/order/order.repository.js.map +0 -1
  491. package/infrastructure/repository/firestore/bookmarklet/bookmarklet.repository.d.ts +0 -6
  492. package/infrastructure/repository/firestore/bookmarklet/bookmarklet.repository.js +0 -20
  493. package/infrastructure/repository/firestore/bookmarklet/bookmarklet.repository.js.map +0 -1
  494. package/infrastructure/repository/firestore/bookmarklet/index.d.ts +0 -1
  495. package/infrastructure/repository/firestore/bookmarklet/index.js +0 -5
  496. package/infrastructure/repository/firestore/bookmarklet/index.js.map +0 -1
  497. package/infrastructure/repository/firestore/firestore.repository.d.ts +0 -7
  498. package/infrastructure/repository/firestore/firestore.repository.js +0 -20
  499. package/infrastructure/repository/firestore/firestore.repository.js.map +0 -1
  500. package/infrastructure/repository/firestore/index.d.ts +0 -1
  501. package/infrastructure/repository/firestore/index.js +0 -5
  502. package/infrastructure/repository/firestore/index.js.map +0 -1
  503. package/infrastructure/repository/firestore/link/google/google.repository.d.ts +0 -7
  504. package/infrastructure/repository/firestore/link/google/google.repository.js +0 -19
  505. package/infrastructure/repository/firestore/link/google/google.repository.js.map +0 -1
  506. package/infrastructure/repository/firestore/link/google/index.d.ts +0 -1
  507. package/infrastructure/repository/firestore/link/google/index.js +0 -5
  508. package/infrastructure/repository/firestore/link/google/index.js.map +0 -1
  509. package/infrastructure/repository/firestore/link/index.d.ts +0 -1
  510. package/infrastructure/repository/firestore/link/index.js +0 -5
  511. package/infrastructure/repository/firestore/link/index.js.map +0 -1
  512. package/infrastructure/repository/firestore/link/link.repository.d.ts +0 -5
  513. package/infrastructure/repository/firestore/link/link.repository.js +0 -17
  514. package/infrastructure/repository/firestore/link/link.repository.js.map +0 -1
  515. package/infrastructure/repository/firestore/query/index.d.ts +0 -1
  516. package/infrastructure/repository/firestore/query/index.js +0 -5
  517. package/infrastructure/repository/firestore/query/index.js.map +0 -1
  518. package/infrastructure/repository/firestore/query/query.repository.d.ts +0 -6
  519. package/infrastructure/repository/firestore/query/query.repository.js +0 -20
  520. package/infrastructure/repository/firestore/query/query.repository.js.map +0 -1
  521. package/infrastructure/repository/firestore/resource/index.d.ts +0 -1
  522. package/infrastructure/repository/firestore/resource/index.js +0 -5
  523. package/infrastructure/repository/firestore/resource/index.js.map +0 -1
  524. package/infrastructure/repository/firestore/resource/resource.repository.d.ts +0 -6
  525. package/infrastructure/repository/firestore/resource/resource.repository.js +0 -20
  526. package/infrastructure/repository/firestore/resource/resource.repository.js.map +0 -1
  527. package/infrastructure/repository/hasura/query/index.d.ts +0 -1
  528. package/infrastructure/repository/hasura/query/index.js +0 -5
  529. package/infrastructure/repository/hasura/query/index.js.map +0 -1
  530. package/infrastructure/repository/hasura/query/query.repository.d.ts +0 -8
  531. package/infrastructure/repository/hasura/query/query.repository.js +0 -23
  532. package/infrastructure/repository/hasura/query/query.repository.js.map +0 -1
  533. package/infrastructure/repository/hasura/resource/index.d.ts +0 -1
  534. package/infrastructure/repository/hasura/resource/index.js +0 -5
  535. package/infrastructure/repository/hasura/resource/index.js.map +0 -1
  536. package/infrastructure/repository/hasura/resource/resource.repository.d.ts +0 -8
  537. package/infrastructure/repository/hasura/resource/resource.repository.js +0 -23
  538. package/infrastructure/repository/hasura/resource/resource.repository.js.map +0 -1
  539. package/infrastructure/repository/index.d.ts +0 -2
  540. package/infrastructure/repository/index.js +0 -6
  541. package/infrastructure/repository/index.js.map +0 -1
  542. package/infrastructure/repository/notion/contract/contract.config.d.ts +0 -9
  543. package/infrastructure/repository/notion/contract/contract.config.js +0 -10
  544. package/infrastructure/repository/notion/contract/contract.config.js.map +0 -1
  545. package/infrastructure/repository/notion/contract/contract.repository.d.ts +0 -8
  546. package/infrastructure/repository/notion/contract/contract.repository.js +0 -22
  547. package/infrastructure/repository/notion/contract/contract.repository.js.map +0 -1
  548. package/infrastructure/repository/notion/contract/index.d.ts +0 -2
  549. package/infrastructure/repository/notion/contract/index.js +0 -6
  550. package/infrastructure/repository/notion/contract/index.js.map +0 -1
  551. package/infrastructure/repository/notion/index.d.ts +0 -2
  552. package/infrastructure/repository/notion/index.js +0 -6
  553. package/infrastructure/repository/notion/index.js.map +0 -1
  554. package/infrastructure/repository/notion/invoice/index.d.ts +0 -2
  555. package/infrastructure/repository/notion/invoice/index.js +0 -6
  556. package/infrastructure/repository/notion/invoice/index.js.map +0 -1
  557. package/infrastructure/repository/notion/invoice/invoice.config.d.ts +0 -9
  558. package/infrastructure/repository/notion/invoice/invoice.config.js +0 -10
  559. package/infrastructure/repository/notion/invoice/invoice.config.js.map +0 -1
  560. package/infrastructure/repository/notion/invoice/invoice.repository.d.ts +0 -8
  561. package/infrastructure/repository/notion/invoice/invoice.repository.js +0 -22
  562. package/infrastructure/repository/notion/invoice/invoice.repository.js.map +0 -1
  563. package/infrastructure/repository/notion/notion.config.d.ts +0 -17
  564. package/infrastructure/repository/notion/notion.config.js +0 -18
  565. package/infrastructure/repository/notion/notion.config.js.map +0 -1
  566. package/infrastructure/repository/notion/notion.repository.d.ts +0 -11
  567. package/infrastructure/repository/notion/notion.repository.js +0 -26
  568. package/infrastructure/repository/notion/notion.repository.js.map +0 -1
  569. package/infrastructure/repository/notion/order/index.d.ts +0 -1
  570. package/infrastructure/repository/notion/order/index.js +0 -5
  571. package/infrastructure/repository/notion/order/index.js.map +0 -1
  572. package/infrastructure/repository/notion/order/order.config.d.ts +0 -9
  573. package/infrastructure/repository/notion/order/order.config.js +0 -10
  574. package/infrastructure/repository/notion/order/order.config.js.map +0 -1
  575. package/infrastructure/repository/notion/order/order.repository.d.ts +0 -8
  576. package/infrastructure/repository/notion/order/order.repository.js +0 -22
  577. package/infrastructure/repository/notion/order/order.repository.js.map +0 -1
  578. package/infrastructure/repository/notion/partner/index.d.ts +0 -2
  579. package/infrastructure/repository/notion/partner/index.js +0 -6
  580. package/infrastructure/repository/notion/partner/index.js.map +0 -1
  581. package/infrastructure/repository/notion/partner/partner.config.d.ts +0 -9
  582. package/infrastructure/repository/notion/partner/partner.config.js +0 -10
  583. package/infrastructure/repository/notion/partner/partner.config.js.map +0 -1
  584. package/infrastructure/repository/notion/partner/partner.repository.d.ts +0 -8
  585. package/infrastructure/repository/notion/partner/partner.repository.js +0 -22
  586. package/infrastructure/repository/notion/partner/partner.repository.js.map +0 -1
  587. package/infrastructure/repository/redis/index.d.ts +0 -2
  588. package/infrastructure/repository/redis/index.js +0 -6
  589. package/infrastructure/repository/redis/index.js.map +0 -1
  590. package/infrastructure/repository/redis/operator/index.d.ts +0 -1
  591. package/infrastructure/repository/redis/operator/index.js +0 -5
  592. package/infrastructure/repository/redis/operator/index.js.map +0 -1
  593. package/infrastructure/repository/redis/operator/operator.repository.d.ts +0 -5
  594. package/infrastructure/repository/redis/operator/operator.repository.js +0 -17
  595. package/infrastructure/repository/redis/operator/operator.repository.js.map +0 -1
  596. package/infrastructure/repository/redis/project/index.d.ts +0 -1
  597. package/infrastructure/repository/redis/project/index.js +0 -5
  598. package/infrastructure/repository/redis/project/index.js.map +0 -1
  599. package/infrastructure/repository/redis/project/project.repository.d.ts +0 -19
  600. package/infrastructure/repository/redis/project/project.repository.js +0 -33
  601. package/infrastructure/repository/redis/project/project.repository.js.map +0 -1
  602. package/infrastructure/repository/redis/redis.config.d.ts +0 -8
  603. package/infrastructure/repository/redis/redis.config.js +0 -10
  604. package/infrastructure/repository/redis/redis.config.js.map +0 -1
  605. package/infrastructure/repository/redis/redis.service.d.ts +0 -10
  606. package/infrastructure/repository/redis/redis.service.js +0 -22
  607. package/infrastructure/repository/redis/redis.service.js.map +0 -1
  608. package/infrastructure/repository/redis/spec/index.d.ts +0 -1
  609. package/infrastructure/repository/redis/spec/index.js +0 -5
  610. package/infrastructure/repository/redis/spec/index.js.map +0 -1
  611. package/infrastructure/repository/redis/spec/spec.repository.d.ts +0 -17
  612. package/infrastructure/repository/redis/spec/spec.repository.js +0 -94
  613. package/infrastructure/repository/redis/spec/spec.repository.js.map +0 -1
  614. package/infrastructure/repository/redis/system/index.d.ts +0 -1
  615. package/infrastructure/repository/redis/system/index.js +0 -5
  616. package/infrastructure/repository/redis/system/index.js.map +0 -1
  617. package/infrastructure/repository/redis/system/system.repository.d.ts +0 -3
  618. package/infrastructure/repository/redis/system/system.repository.js +0 -15
  619. package/infrastructure/repository/redis/system/system.repository.js.map +0 -1
  620. package/infrastructure/repository/repository.config.d.ts +0 -16
  621. package/infrastructure/repository/repository.config.js +0 -12
  622. package/infrastructure/repository/repository.config.js.map +0 -1
  623. package/infrastructure/repository/repository.service.d.ts +0 -8
  624. package/infrastructure/repository/repository.service.js +0 -20
  625. package/infrastructure/repository/repository.service.js.map +0 -1
  626. package/stores/index.js +0 -66
  627. package/stores/index.js.map +0 -1
  628. package/usecase/assistant/assistant.service.d.ts +0 -12
  629. package/usecase/assistant/assistant.service.js +0 -72
  630. package/usecase/assistant/assistant.service.js.map +0 -1
  631. package/usecase/assistant/index.js +0 -5
  632. package/usecase/assistant/index.js.map +0 -1
  633. package/usecase/database/database.service.d.ts +0 -31
  634. package/usecase/database/database.service.js +0 -103
  635. package/usecase/database/database.service.js.map +0 -1
  636. package/usecase/database/index.js +0 -5
  637. package/usecase/database/index.js.map +0 -1
  638. package/usecase/graphql/graphql.service.d.ts +0 -9
  639. package/usecase/graphql/graphql.service.js +0 -49
  640. package/usecase/graphql/graphql.service.js.map +0 -1
  641. package/usecase/graphql/index.js +0 -5
  642. package/usecase/graphql/index.js.map +0 -1
  643. package/usecase/index.js +0 -5
  644. package/usecase/index.js.map +0 -1
  645. package/usecase/invoice/index.d.ts +0 -1
  646. package/usecase/invoice/index.js +0 -5
  647. package/usecase/invoice/index.js.map +0 -1
  648. package/usecase/invoice/invoice.service.d.ts +0 -27
  649. package/usecase/invoice/invoice.service.js +0 -69
  650. package/usecase/invoice/invoice.service.js.map +0 -1
  651. package/usecase/link/index.js +0 -5
  652. package/usecase/link/index.js.map +0 -1
  653. package/usecase/link/link.service.d.ts +0 -7
  654. package/usecase/link/link.service.js +0 -20
  655. package/usecase/link/link.service.js.map +0 -1
  656. package/usecase/order/index.d.ts +0 -1
  657. package/usecase/order/index.js +0 -5
  658. package/usecase/order/index.js.map +0 -1
  659. package/usecase/order/order.service.d.ts +0 -6
  660. package/usecase/order/order.service.js +0 -27
  661. package/usecase/order/order.service.js.map +0 -1
  662. package/usecase/project/index.js +0 -5
  663. package/usecase/project/index.js.map +0 -1
  664. package/usecase/project/project.service.d.ts +0 -10
  665. package/usecase/project/project.service.js +0 -37
  666. package/usecase/project/project.service.js.map +0 -1
  667. package/usecase/spec/index.js +0 -5
  668. package/usecase/spec/index.js.map +0 -1
  669. package/usecase/spec/spec.service.d.ts +0 -11
  670. package/usecase/spec/spec.service.js +0 -49
  671. package/usecase/spec/spec.service.js.map +0 -1
  672. package/usecase/usecase.service.d.ts +0 -12
  673. package/usecase/usecase.service.js +0 -24
  674. package/usecase/usecase.service.js.map +0 -1
  675. package/utils/crypto.d.ts +0 -7
  676. package/utils/crypto.js.map +0 -1
  677. package/utils/extract-display-fields.d.ts +0 -2
  678. package/utils/extract-display-fields.js.map +0 -1
  679. package/utils/index.js +0 -5
  680. package/utils/index.js.map +0 -1
@@ -0,0 +1,41 @@
1
+ import { plainToInstance } from 'class-transformer';
2
+ import { Invoice } from '@xxmachina/common/invoice/domain/models';
3
+ import { BaseResolver } from '@nx-ddd/common/domain';
4
+ import dayjs from 'dayjs';
5
+
6
+ function aggregate(items) {
7
+ return items.reduce((map, item) => {
8
+ const items = map.get(item.id) || [];
9
+ items.push(item);
10
+ map.set(item.id, items);
11
+ return map;
12
+ }, new Map());
13
+ }
14
+ class InvoiceResolver extends BaseResolver {
15
+ orderMap = new Map();
16
+ partnerMap = new Map();
17
+ constructor({ orders = [], partners = [], } = {}) {
18
+ super();
19
+ this.orderMap = new Map(orders.map((order) => [order.id, order]));
20
+ this.partnerMap = new Map(partners.map((partner) => [partner.id, partner]));
21
+ }
22
+ resolve(invoice) {
23
+ return plainToInstance(Invoice, {
24
+ ...invoice,
25
+ dueDate: dayjs.isDayjs(invoice.dueDate) ? invoice.dueDate.toISOString() : invoice.dueDate,
26
+ orders: invoice.orderIds.map((orderId) => this.orderMap.get(orderId)),
27
+ customer: this.partnerMap.get(invoice.customerId),
28
+ vendor: this.partnerMap.get(invoice.vendorId),
29
+ });
30
+ }
31
+ resolveMany(invoices) {
32
+ return invoices.map((invoice) => this.resolve(invoice));
33
+ }
34
+ }
35
+
36
+ /**
37
+ * Generated bundle index. Do not edit.
38
+ */
39
+
40
+ export { InvoiceResolver };
41
+ //# sourceMappingURL=xxmachina-common-invoice-domain-resolvers.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xxmachina-common-invoice-domain-resolvers.mjs","sources":["../tmp-esm2022/invoice/domain/resolvers/invoice.resolver.js","../tmp-esm2022/invoice/domain/resolvers/xxmachina-common-invoice-domain-resolvers.js"],"sourcesContent":["import { plainToInstance } from \"class-transformer\";\nimport { Invoice } from \"@xxmachina/common/invoice/domain/models\";\nimport { BaseResolver } from '@nx-ddd/common/domain';\nimport dayjs from 'dayjs';\nfunction aggregate(items) {\n return items.reduce((map, item) => {\n const items = map.get(item.id) || [];\n items.push(item);\n map.set(item.id, items);\n return map;\n }, new Map());\n}\nexport class InvoiceResolver extends BaseResolver {\n orderMap = new Map();\n partnerMap = new Map();\n constructor({ orders = [], partners = [], } = {}) {\n super();\n this.orderMap = new Map(orders.map((order) => [order.id, order]));\n this.partnerMap = new Map(partners.map((partner) => [partner.id, partner]));\n }\n resolve(invoice) {\n return plainToInstance(Invoice, {\n ...invoice,\n dueDate: dayjs.isDayjs(invoice.dueDate) ? invoice.dueDate.toISOString() : invoice.dueDate,\n orders: invoice.orderIds.map((orderId) => this.orderMap.get(orderId)),\n customer: this.partnerMap.get(invoice.customerId),\n vendor: this.partnerMap.get(invoice.vendorId),\n });\n }\n resolveMany(invoices) {\n return invoices.map((invoice) => this.resolve(invoice));\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS5yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvaW52b2ljZS9kb21haW4vcmVzb2x2ZXJzL2ludm9pY2UucmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQWtCLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUcxQixTQUFTLFNBQVMsQ0FBeUIsS0FBVTtJQUNuRCxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDaEMsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxFQUFFLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztBQUNoQixDQUFDO0FBRUQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsWUFBcUI7SUFDeEQsUUFBUSxHQUFHLElBQUksR0FBRyxFQUFpQixDQUFDO0lBQ3BDLFVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBbUIsQ0FBQztJQUV4QyxZQUFZLEVBQ1YsTUFBTSxHQUFHLEVBQUUsRUFDWCxRQUFRLEdBQUcsRUFBRSxNQUlYLEVBQUU7UUFDSixLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELE9BQU8sQ0FBQyxPQUFnQjtRQUN0QixPQUFPLGVBQWUsQ0FBQyxPQUFPLEVBQUU7WUFDOUIsR0FBRyxPQUFPO1lBQ1YsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTztZQUN6RixNQUFNLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JFLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1lBQ2pELE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO1NBQzlDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBbUI7UUFDN0IsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGxhaW5Ub0luc3RhbmNlIH0gZnJvbSBcImNsYXNzLXRyYW5zZm9ybWVyXCI7XG5pbXBvcnQgeyBJbnZvaWNlLCBPcmRlciwgUGFydG5lciB9IGZyb20gXCJAeHhtYWNoaW5hL2NvbW1vbi9pbnZvaWNlL2RvbWFpbi9tb2RlbHNcIjtcbmltcG9ydCB7IEJhc2VSZXNvbHZlciB9IGZyb20gJ0BueC1kZGQvY29tbW9uL2RvbWFpbic7XG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuXG5cbmZ1bmN0aW9uIGFnZ3JlZ2F0ZTxUIGV4dGVuZHMge2lkOiBzdHJpbmd9PihpdGVtczogVFtdKTogTWFwPHN0cmluZywgVFtdPiB7XG4gIHJldHVybiBpdGVtcy5yZWR1Y2UoKG1hcCwgaXRlbSkgPT4ge1xuICAgIGNvbnN0IGl0ZW1zID0gbWFwLmdldChpdGVtLmlkKSB8fCBbXTtcbiAgICBpdGVtcy5wdXNoKGl0ZW0pO1xuICAgIG1hcC5zZXQoaXRlbS5pZCwgaXRlbXMpO1xuICAgIHJldHVybiBtYXA7XG4gIH0sIG5ldyBNYXAoKSk7XG59XG5cbmV4cG9ydCBjbGFzcyBJbnZvaWNlUmVzb2x2ZXIgZXh0ZW5kcyBCYXNlUmVzb2x2ZXI8SW52b2ljZT4ge1xuICBvcmRlck1hcCA9IG5ldyBNYXA8c3RyaW5nLCBPcmRlcj4oKTtcbiAgcGFydG5lck1hcCA9IG5ldyBNYXA8c3RyaW5nLCBQYXJ0bmVyPigpO1xuXG4gIGNvbnN0cnVjdG9yKHtcbiAgICBvcmRlcnMgPSBbXSxcbiAgICBwYXJ0bmVycyA9IFtdLFxuICB9OiB7XG4gICAgb3JkZXJzPzogT3JkZXJbXTtcbiAgICBwYXJ0bmVycz86IFBhcnRuZXJbXTtcbiAgfSA9IHt9KSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLm9yZGVyTWFwID0gbmV3IE1hcChvcmRlcnMubWFwKChvcmRlcikgPT4gW29yZGVyLmlkLCBvcmRlcl0pKTtcbiAgICB0aGlzLnBhcnRuZXJNYXAgPSBuZXcgTWFwKHBhcnRuZXJzLm1hcCgocGFydG5lcikgPT4gW3BhcnRuZXIuaWQsIHBhcnRuZXJdKSk7XG4gIH1cblxuICByZXNvbHZlKGludm9pY2U6IEludm9pY2UpOiBJbnZvaWNlIHtcbiAgICByZXR1cm4gcGxhaW5Ub0luc3RhbmNlKEludm9pY2UsIHtcbiAgICAgIC4uLmludm9pY2UsXG4gICAgICBkdWVEYXRlOiBkYXlqcy5pc0RheWpzKGludm9pY2UuZHVlRGF0ZSkgPyBpbnZvaWNlLmR1ZURhdGUudG9JU09TdHJpbmcoKSA6IGludm9pY2UuZHVlRGF0ZSxcbiAgICAgIG9yZGVyczogaW52b2ljZS5vcmRlcklkcy5tYXAoKG9yZGVySWQpID0+IHRoaXMub3JkZXJNYXAuZ2V0KG9yZGVySWQpKSxcbiAgICAgIGN1c3RvbWVyOiB0aGlzLnBhcnRuZXJNYXAuZ2V0KGludm9pY2UuY3VzdG9tZXJJZCksXG4gICAgICB2ZW5kb3I6IHRoaXMucGFydG5lck1hcC5nZXQoaW52b2ljZS52ZW5kb3JJZCksXG4gICAgfSk7XG4gIH1cblxuICByZXNvbHZlTWFueShpbnZvaWNlczogSW52b2ljZVtdKTogSW52b2ljZVtdIHtcbiAgICByZXR1cm4gaW52b2ljZXMubWFwKChpbnZvaWNlKSA9PiB0aGlzLnJlc29sdmUoaW52b2ljZSkpO1xuICB9XG59Il19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbW1vbi1pbnZvaWNlLWRvbWFpbi1yZXNvbHZlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbW1vbi9zcmMvbGliL2ludm9pY2UvZG9tYWluL3Jlc29sdmVycy94eG1hY2hpbmEtY29tbW9uLWludm9pY2UtZG9tYWluLXJlc29sdmVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;;;AAIA,SAAS,SAAS,CAAC,KAAK,EAAE;AAC1B,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK;AACvC,QAAQ,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE;AAC5C,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB,QAAQ,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC;AAC/B,QAAQ,OAAO,GAAG;AAClB,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC;AACjB;AACO,MAAM,eAAe,SAAS,YAAY,CAAC;AAClD,IAAI,QAAQ,GAAG,IAAI,GAAG,EAAE;AACxB,IAAI,UAAU,GAAG,IAAI,GAAG,EAAE;AAC1B,IAAI,WAAW,CAAC,EAAE,MAAM,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE;AACtD,QAAQ,KAAK,EAAE;AACf,QAAQ,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;AACzE,QAAQ,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;AACnF,IAAI;AACJ,IAAI,OAAO,CAAC,OAAO,EAAE;AACrB,QAAQ,OAAO,eAAe,CAAC,OAAO,EAAE;AACxC,YAAY,GAAG,OAAO;AACtB,YAAY,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,OAAO;AACrG,YAAY,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACjF,YAAY,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC;AAC7D,YAAY,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;AACzD,SAAS,CAAC;AACV,IAAI;AACJ,IAAI,WAAW,CAAC,QAAQ,EAAE;AAC1B,QAAQ,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAC/D,IAAI;AACJ;;AChCA;AACA;AACA;;;;"}
@@ -0,0 +1,8 @@
1
+ export * from '@xxmachina/common/invoice/domain/builders';
2
+ export * from '@xxmachina/common/invoice/domain/models';
3
+ export * from '@xxmachina/common/invoice/domain/resolvers';
4
+
5
+ /**
6
+ * Generated bundle index. Do not edit.
7
+ */
8
+ //# sourceMappingURL=xxmachina-common-invoice-domain.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xxmachina-common-invoice-domain.mjs","sources":["../tmp-esm2022/invoice/domain/xxmachina-common-invoice-domain.js"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbW1vbi1pbnZvaWNlLWRvbWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvaW52b2ljZS9kb21haW4veHhtYWNoaW5hLWNvbW1vbi1pbnZvaWNlLWRvbWFpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;;AAAA;AACA;AACA"}
@@ -0,0 +1,27 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { ContractNotionRepository } from '@xxmachina/common/infra/repository/notion';
4
+ import { getHasuraRepository, HasuraService } from '@nx-ddd/hasura';
5
+ import { Contract } from '@xxmachina/common/invoice/domain/models';
6
+
7
+ class ContractUsecase {
8
+ notionRepo = inject(ContractNotionRepository);
9
+ hasuraRepo = getHasuraRepository(Contract, { hasura: inject(HasuraService) });
10
+ async sync() {
11
+ const items = await this.notionRepo.list();
12
+ await this.hasuraRepo.createMany(items);
13
+ }
14
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: ContractUsecase, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
15
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: ContractUsecase, providedIn: 'root' });
16
+ }
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: ContractUsecase, decorators: [{
18
+ type: Injectable,
19
+ args: [{ providedIn: 'root' }]
20
+ }] });
21
+
22
+ /**
23
+ * Generated bundle index. Do not edit.
24
+ */
25
+
26
+ export { ContractUsecase };
27
+ //# sourceMappingURL=xxmachina-common-invoice-usecase-contract.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xxmachina-common-invoice-usecase-contract.mjs","sources":["../tmp-esm2022/invoice/usecase/contract/contract.usecase.js","../tmp-esm2022/invoice/usecase/contract/xxmachina-common-invoice-usecase-contract.js"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { ContractNotionRepository } from '@xxmachina/common/infra/repository/notion';\nimport { getHasuraRepository, HasuraService } from '@nx-ddd/hasura';\nimport { Contract } from '@xxmachina/common/invoice/domain/models';\nimport * as i0 from \"@angular/core\";\nexport class ContractUsecase {\n notionRepo = inject(ContractNotionRepository);\n hasuraRepo = getHasuraRepository(Contract, { hasura: inject(HasuraService) });\n async sync() {\n const items = await this.notionRepo.list();\n await this.hasuraRepo.createMany(items);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ContractUsecase, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ContractUsecase, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ContractUsecase, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3QudXNlY2FzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvaW52b2ljZS91c2VjYXNlL2NvbnRyYWN0L2NvbnRyYWN0LnVzZWNhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDckYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7QUFHbkUsTUFBTSxPQUFPLGVBQWU7SUFDaEIsVUFBVSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzlDLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUV4RixLQUFLLENBQUMsSUFBSTtRQUNSLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7dUdBUFUsZUFBZTsyR0FBZixlQUFlLGNBREgsTUFBTTs7MkZBQ2xCLGVBQWU7a0JBRDNCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cmFjdE5vdGlvblJlcG9zaXRvcnkgfSBmcm9tICdAeHhtYWNoaW5hL2NvbW1vbi9pbmZyYS9yZXBvc2l0b3J5L25vdGlvbic7XG5pbXBvcnQgeyBnZXRIYXN1cmFSZXBvc2l0b3J5LCBIYXN1cmFTZXJ2aWNlIH0gZnJvbSAnQG54LWRkZC9oYXN1cmEnO1xuaW1wb3J0IHsgQ29udHJhY3QgfSBmcm9tICdAeHhtYWNoaW5hL2NvbW1vbi9pbnZvaWNlL2RvbWFpbi9tb2RlbHMnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBDb250cmFjdFVzZWNhc2Uge1xuICBwcm90ZWN0ZWQgbm90aW9uUmVwbyA9IGluamVjdChDb250cmFjdE5vdGlvblJlcG9zaXRvcnkpO1xuICBwcm90ZWN0ZWQgaGFzdXJhUmVwbyA9IGdldEhhc3VyYVJlcG9zaXRvcnkoQ29udHJhY3QsIHsgaGFzdXJhOiBpbmplY3QoSGFzdXJhU2VydmljZSkgfSk7XG5cbiAgYXN5bmMgc3luYygpIHtcbiAgICBjb25zdCBpdGVtcyA9IGF3YWl0IHRoaXMubm90aW9uUmVwby5saXN0KCk7XG4gICAgYXdhaXQgdGhpcy5oYXN1cmFSZXBvLmNyZWF0ZU1hbnkoaXRlbXMpO1xuICB9XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbW1vbi1pbnZvaWNlLXVzZWNhc2UtY29udHJhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbW1vbi9zcmMvbGliL2ludm9pY2UvdXNlY2FzZS9jb250cmFjdC94eG1hY2hpbmEtY29tbW9uLWludm9pY2UtdXNlY2FzZS1jb250cmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;;;;AAKO,MAAM,eAAe,CAAC;AAC7B,IAAI,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC;AACjD,IAAI,UAAU,GAAG,mBAAmB,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;AACjF,IAAI,MAAM,IAAI,GAAG;AACjB,QAAQ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;AAClD,QAAQ,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC;AAC/C,IAAI;AACJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;AAC1K,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AACjJ;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;AACzH,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE;AACzC,SAAS,CAAC,EAAE,CAAC;;AClBb;AACA;AACA;;;;"}
@@ -0,0 +1,191 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { InvoiceNotionRepository } from '@xxmachina/common/infra/repository/notion';
4
+ import { CHROMIUM } from '@nx-ddd/common/infrastructure/externals/chromium';
5
+ import { makeDI } from '@nx-ddd/core';
6
+ import { RESEND_SERVICE } from '@xxmachina/common/infra/external/resend';
7
+ import { Invoice } from '@xxmachina/common/invoice/domain/models';
8
+ import { getHasuraRepository, HasuraService, deepSnakeToCamelCase } from '@nx-ddd/hasura';
9
+ import { gql } from '@apollo/client/core';
10
+
11
+ const INVOICE_CONFIG = makeDI('[@xxmachina/invoice] INVOICE_CONFIG', { optional: false });
12
+ class InvoiceUsecase {
13
+ notionRepo = inject(InvoiceNotionRepository);
14
+ chromium = CHROMIUM.inject();
15
+ config = INVOICE_CONFIG.inject();
16
+ resend = RESEND_SERVICE.inject();
17
+ hasura = getHasuraRepository(Invoice, { hasura: inject(HasuraService) });
18
+ hasuraService = inject(HasuraService);
19
+ async list() {
20
+ return this.notionRepo.list();
21
+ }
22
+ async syncOne(id) {
23
+ const invoice = await this.notionRepo.get({ id });
24
+ await this.hasura.create(invoice);
25
+ }
26
+ async sync() {
27
+ console.log('[InvoiceUsecase] Starting sync from Notion to Hasura...');
28
+ const invoices = await this.notionRepo.list();
29
+ console.log(`[InvoiceUsecase] Retrieved ${invoices.length} invoices from Notion`);
30
+ console.log('[InvoiceUsecase] Deleting existing records in Hasura...');
31
+ await this.hasura.deleteAll();
32
+ console.log('[InvoiceUsecase] Saving invoices to Hasura...');
33
+ await this.hasura.saveMany(invoices);
34
+ console.log('[InvoiceUsecase] Sync completed successfully');
35
+ return { synced: invoices.length };
36
+ }
37
+ async makePdf(data) {
38
+ return this.chromium.start(async (browser) => {
39
+ const context = await browser.newContext({
40
+ deviceScaleFactor: 2,
41
+ });
42
+ const page = await context.newPage();
43
+ page.on('console', msg => console.log('PAGE LOG:', msg.text()));
44
+ page.on('pageerror', err => console.log('PAGE ERROR:', err.message));
45
+ const url = `${this.config.templateBaseUrl}?json=${encodeURIComponent(JSON.stringify(data))}`;
46
+ await page.goto(url, { waitUntil: 'networkidle' });
47
+ await page.evaluate(() => document.fonts.ready);
48
+ await page.waitForSelector('h1');
49
+ const title = await page.title();
50
+ const pdf = await page.pdf({ format: 'A4' });
51
+ return { pdf, title, name: `${title}.pdf` };
52
+ });
53
+ }
54
+ async sendMail(mail) {
55
+ const pdf = await this.makePdf(mail.invoice);
56
+ await this.resend.emails.send({
57
+ from: mail.from,
58
+ to: mail.to,
59
+ subject: mail.subject,
60
+ html: mail.content,
61
+ attachments: [
62
+ {
63
+ filename: pdf.name,
64
+ content: pdf.pdf,
65
+ contentType: 'application/pdf',
66
+ }
67
+ ]
68
+ });
69
+ }
70
+ async getLink(invoiceId) {
71
+ try {
72
+ // GraphQLクエリで全ての関連データを一度に取得
73
+ const query = `
74
+ query GetInvoiceWithRelations($id: String!) {
75
+ invoices_by_pk(id: $id) {
76
+ id
77
+ no
78
+ title
79
+ subject
80
+ customer_id
81
+ vendor_id
82
+ amount
83
+ due_date
84
+ orders {
85
+ id
86
+ title
87
+ ecl_id
88
+ customer_id
89
+ vendor_id
90
+ contract_id
91
+ invoice_id
92
+ start_date
93
+ end_date
94
+ unit_price
95
+ unit
96
+ quantity
97
+ amount_input
98
+ amount
99
+ status_in
100
+ status_out
101
+ }
102
+ customer {
103
+ id
104
+ name
105
+ type
106
+ address
107
+ postal_code
108
+ email
109
+ billing_email
110
+ billing_contact
111
+ phone_number
112
+ contact
113
+ suffix
114
+ bank_account
115
+ invoice_number
116
+ }
117
+ vendor {
118
+ id
119
+ name
120
+ type
121
+ address
122
+ postal_code
123
+ email
124
+ billing_email
125
+ billing_contact
126
+ phone_number
127
+ contact
128
+ suffix
129
+ bank_account
130
+ invoice_number
131
+ }
132
+ }
133
+ }
134
+ `;
135
+ const result = await this.hasuraService.query({
136
+ query: gql `${query}`,
137
+ variables: { id: invoiceId }
138
+ }).then(result => {
139
+ // camelCaseに変換
140
+ return deepSnakeToCamelCase(result);
141
+ });
142
+ const invoiceData = result.data?.invoicesByPk;
143
+ if (!invoiceData) {
144
+ throw new Error(`Invoice with ID ${invoiceId} not found`);
145
+ }
146
+ // スネークケースからキャメルケースに変換し、__typenameを削除
147
+ const transformedData = this.transformInvoiceData(invoiceData);
148
+ // テンプレートURLを生成(makePdfと同じロジック)
149
+ const url = `${this.config.templateBaseUrl}?json=${encodeURIComponent(JSON.stringify(transformedData))}`;
150
+ return url;
151
+ }
152
+ catch (error) {
153
+ console.error(`[InvoiceUsecase] Failed to get link for invoice ${invoiceId}:`, error);
154
+ throw error;
155
+ }
156
+ }
157
+ transformInvoiceData(data) {
158
+ const snakeToCamel = (str) => str.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());
159
+ const transform = (obj) => {
160
+ if (Array.isArray(obj)) {
161
+ return obj.map(transform);
162
+ }
163
+ else if (obj !== null && typeof obj === 'object') {
164
+ const transformed = {};
165
+ for (const [key, value] of Object.entries(obj)) {
166
+ // __typenameフィールドを除外
167
+ if (key === '__typename')
168
+ continue;
169
+ const camelKey = snakeToCamel(key);
170
+ transformed[camelKey] = transform(value);
171
+ }
172
+ return transformed;
173
+ }
174
+ return obj;
175
+ };
176
+ return transform(data);
177
+ }
178
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: InvoiceUsecase, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
179
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: InvoiceUsecase, providedIn: 'root' });
180
+ }
181
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: InvoiceUsecase, decorators: [{
182
+ type: Injectable,
183
+ args: [{ providedIn: 'root' }]
184
+ }] });
185
+
186
+ /**
187
+ * Generated bundle index. Do not edit.
188
+ */
189
+
190
+ export { INVOICE_CONFIG, InvoiceUsecase };
191
+ //# sourceMappingURL=xxmachina-common-invoice-usecase-invoice.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xxmachina-common-invoice-usecase-invoice.mjs","sources":["../tmp-esm2022/invoice/usecase/invoice/invoice.service.js","../tmp-esm2022/invoice/usecase/invoice/xxmachina-common-invoice-usecase-invoice.js"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { InvoiceNotionRepository } from '@xxmachina/common/infra/repository/notion';\nimport { CHROMIUM } from '@nx-ddd/common/infrastructure/externals/chromium';\nimport { makeDI } from '@nx-ddd/core';\nimport { RESEND_SERVICE } from '@xxmachina/common/infra/external/resend';\nimport { Invoice } from '@xxmachina/common/invoice/domain/models';\nimport { deepSnakeToCamelCase, getHasuraRepository, HasuraService } from '@nx-ddd/hasura';\nimport { gql } from '@apollo/client/core';\nimport * as i0 from \"@angular/core\";\nexport const INVOICE_CONFIG = makeDI('[@xxmachina/invoice] INVOICE_CONFIG', { optional: false });\nexport class InvoiceUsecase {\n notionRepo = inject(InvoiceNotionRepository);\n chromium = CHROMIUM.inject();\n config = INVOICE_CONFIG.inject();\n resend = RESEND_SERVICE.inject();\n hasura = getHasuraRepository(Invoice, { hasura: inject(HasuraService) });\n hasuraService = inject(HasuraService);\n async list() {\n return this.notionRepo.list();\n }\n async syncOne(id) {\n const invoice = await this.notionRepo.get({ id });\n await this.hasura.create(invoice);\n }\n async sync() {\n console.log('[InvoiceUsecase] Starting sync from Notion to Hasura...');\n const invoices = await this.notionRepo.list();\n console.log(`[InvoiceUsecase] Retrieved ${invoices.length} invoices from Notion`);\n console.log('[InvoiceUsecase] Deleting existing records in Hasura...');\n await this.hasura.deleteAll();\n console.log('[InvoiceUsecase] Saving invoices to Hasura...');\n await this.hasura.saveMany(invoices);\n console.log('[InvoiceUsecase] Sync completed successfully');\n return { synced: invoices.length };\n }\n async makePdf(data) {\n return this.chromium.start(async (browser) => {\n const context = await browser.newContext({\n deviceScaleFactor: 2,\n });\n const page = await context.newPage();\n page.on('console', msg => console.log('PAGE LOG:', msg.text()));\n page.on('pageerror', err => console.log('PAGE ERROR:', err.message));\n const url = `${this.config.templateBaseUrl}?json=${encodeURIComponent(JSON.stringify(data))}`;\n await page.goto(url, { waitUntil: 'networkidle' });\n await page.evaluate(() => document.fonts.ready);\n await page.waitForSelector('h1');\n const title = await page.title();\n const pdf = await page.pdf({ format: 'A4' });\n return { pdf, title, name: `${title}.pdf` };\n });\n }\n async sendMail(mail) {\n const pdf = await this.makePdf(mail.invoice);\n await this.resend.emails.send({\n from: mail.from,\n to: mail.to,\n subject: mail.subject,\n html: mail.content,\n attachments: [\n {\n filename: pdf.name,\n content: pdf.pdf,\n contentType: 'application/pdf',\n }\n ]\n });\n }\n async getLink(invoiceId) {\n try {\n // GraphQLクエリで全ての関連データを一度に取得\n const query = `\n query GetInvoiceWithRelations($id: String!) {\n invoices_by_pk(id: $id) {\n id\n no\n title\n subject\n customer_id\n vendor_id\n amount\n due_date\n orders {\n id\n title\n ecl_id\n customer_id\n vendor_id\n contract_id\n invoice_id\n start_date\n end_date\n unit_price\n unit\n quantity\n amount_input\n amount\n status_in\n status_out\n }\n customer {\n id\n name\n type\n address\n postal_code\n email\n billing_email\n billing_contact\n phone_number\n contact\n suffix\n bank_account\n invoice_number\n }\n vendor {\n id\n name\n type\n address\n postal_code\n email\n billing_email\n billing_contact\n phone_number\n contact\n suffix\n bank_account\n invoice_number\n }\n }\n }\n `;\n const result = await this.hasuraService.query({\n query: gql `${query}`,\n variables: { id: invoiceId }\n }).then(result => {\n // camelCaseに変換\n return deepSnakeToCamelCase(result);\n });\n const invoiceData = result.data?.invoicesByPk;\n if (!invoiceData) {\n throw new Error(`Invoice with ID ${invoiceId} not found`);\n }\n // スネークケースからキャメルケースに変換し、__typenameを削除\n const transformedData = this.transformInvoiceData(invoiceData);\n // テンプレートURLを生成(makePdfと同じロジック)\n const url = `${this.config.templateBaseUrl}?json=${encodeURIComponent(JSON.stringify(transformedData))}`;\n return url;\n }\n catch (error) {\n console.error(`[InvoiceUsecase] Failed to get link for invoice ${invoiceId}:`, error);\n throw error;\n }\n }\n transformInvoiceData(data) {\n const snakeToCamel = (str) => str.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());\n const transform = (obj) => {\n if (Array.isArray(obj)) {\n return obj.map(transform);\n }\n else if (obj !== null && typeof obj === 'object') {\n const transformed = {};\n for (const [key, value] of Object.entries(obj)) {\n // __typenameフィールドを除外\n if (key === '__typename')\n continue;\n const camelKey = snakeToCamel(key);\n transformed[camelKey] = transform(value);\n }\n return transformed;\n }\n return obj;\n };\n return transform(data);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: InvoiceUsecase, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: InvoiceUsecase, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: InvoiceUsecase, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21tb24vc3JjL2xpYi9pbnZvaWNlL3VzZWNhc2UvaW52b2ljZS9pbnZvaWNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDcEYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzVFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxPQUFPLEVBQWUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUYsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQU0xQyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFnQixxQ0FBcUMsRUFBRSxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO0FBRzlHLE1BQU0sT0FBTyxjQUFjO0lBQ1IsVUFBVSxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzdDLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0IsTUFBTSxHQUFHLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNqQyxNQUFNLEdBQUcsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2pDLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUs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QUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQy9DLHFCQUFxQjtvQkFDckIsSUFBSSxHQUFHLEtBQUssWUFBWTt3QkFBRSxTQUFTO29CQUVuQyxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ25DLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzNDLENBQUM7Z0JBQ0QsT0FBTyxXQUFXLENBQUM7WUFDckIsQ0FBQztZQUNELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxDQUFDO1FBRUYsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQzt1R0F0TFUsY0FBYzsyR0FBZCxjQUFjLGNBREQsTUFBTTs7MkZBQ25CLGNBQWM7a0JBRDFCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbnZvaWNlTm90aW9uUmVwb3NpdG9yeSB9IGZyb20gJ0B4eG1hY2hpbmEvY29tbW9uL2luZnJhL3JlcG9zaXRvcnkvbm90aW9uJztcbmltcG9ydCB7IENIUk9NSVVNIH0gZnJvbSAnQG54LWRkZC9jb21tb24vaW5mcmFzdHJ1Y3R1cmUvZXh0ZXJuYWxzL2Nocm9taXVtJztcbmltcG9ydCB7IG1ha2VESSB9IGZyb20gJ0BueC1kZGQvY29yZSc7XG5pbXBvcnQgeyBSRVNFTkRfU0VSVklDRSB9IGZyb20gJ0B4eG1hY2hpbmEvY29tbW9uL2luZnJhL2V4dGVybmFsL3Jlc2VuZCc7XG5pbXBvcnQgeyBJbnZvaWNlLCBJbnZvaWNlTWFpbCB9IGZyb20gJ0B4eG1hY2hpbmEvY29tbW9uL2ludm9pY2UvZG9tYWluL21vZGVscyc7XG5pbXBvcnQgeyBkZWVwU25ha2VUb0NhbWVsQ2FzZSwgZ2V0SGFzdXJhUmVwb3NpdG9yeSwgSGFzdXJhU2VydmljZSB9IGZyb20gJ0BueC1kZGQvaGFzdXJhJztcbmltcG9ydCB7IGdxbCB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEludm9pY2VDb25maWcge1xuICB0ZW1wbGF0ZUJhc2VVcmw6IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IElOVk9JQ0VfQ09ORklHID0gbWFrZURJPEludm9pY2VDb25maWc+KCdbQHh4bWFjaGluYS9pbnZvaWNlXSBJTlZPSUNFX0NPTkZJRycsIHtvcHRpb25hbDogZmFsc2V9KTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBJbnZvaWNlVXNlY2FzZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgbm90aW9uUmVwbyA9IGluamVjdChJbnZvaWNlTm90aW9uUmVwb3NpdG9yeSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2hyb21pdW0gPSBDSFJPTUlVTS5pbmplY3QoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWcgPSBJTlZPSUNFX0NPTkZJRy5pbmplY3QoKTtcbiAgcHJpdmF0ZSByZWFkb25seSByZXNlbmQgPSBSRVNFTkRfU0VSVklDRS5pbmplY3QoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBoYXN1cmEgPSBnZXRIYXN1cmFSZXBvc2l0b3J5KEludm9pY2UsIHsgaGFzdXJhOiBpbmplY3QoSGFzdXJhU2VydmljZSkgfSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgaGFzdXJhU2VydmljZSA9IGluamVjdChIYXN1cmFTZXJ2aWNlKTtcblxuICBhc3luYyBsaXN0KCkge1xuICAgIHJldHVybiB0aGlzLm5vdGlvblJlcG8ubGlzdCgpO1xuICB9XG5cbiAgYXN5bmMgc3luY09uZShpZDogc3RyaW5nKSB7XG4gICAgY29uc3QgaW52b2ljZSA9IGF3YWl0IHRoaXMubm90aW9uUmVwby5nZXQoeyBpZCB9KTtcbiAgICBhd2FpdCB0aGlzLmhhc3VyYS5jcmVhdGUoaW52b2ljZSk7XG4gIH1cblxuICBhc3luYyBzeW5jKCkge1xuICAgIGNvbnNvbGUubG9nKCdbSW52b2ljZVVzZWNhc2VdIFN0YXJ0aW5nIHN5bmMgZnJvbSBOb3Rpb24gdG8gSGFzdXJhLi4uJyk7XG4gICAgXG4gICAgY29uc3QgaW52b2ljZXMgPSBhd2FpdCB0aGlzLm5vdGlvblJlcG8ubGlzdCgpO1xuICAgIGNvbnNvbGUubG9nKGBbSW52b2ljZVVzZWNhc2VdIFJldHJpZXZlZCAke2ludm9pY2VzLmxlbmd0aH0gaW52b2ljZXMgZnJvbSBOb3Rpb25gKTtcbiAgICBcbiAgICBjb25zb2xlLmxvZygnW0ludm9pY2VVc2VjYXNlXSBEZWxldGluZyBleGlzdGluZyByZWNvcmRzIGluIEhhc3VyYS4uLicpO1xuICAgIGF3YWl0IHRoaXMuaGFzdXJhLmRlbGV0ZUFsbCgpO1xuICAgIFxuICAgIGNvbnNvbGUubG9nKCdbSW52b2ljZVVzZWNhc2VdIFNhdmluZyBpbnZvaWNlcyB0byBIYXN1cmEuLi4nKTtcbiAgICBhd2FpdCB0aGlzLmhhc3VyYS5zYXZlTWFueShpbnZvaWNlcyk7XG4gICAgXG4gICAgY29uc29sZS5sb2coJ1tJbnZvaWNlVXNlY2FzZV0gU3luYyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Jyk7XG4gICAgcmV0dXJuIHsgc3luY2VkOiBpbnZvaWNlcy5sZW5ndGggfTtcbiAgfVxuXG4gIGFzeW5jIG1ha2VQZGYoZGF0YTogb2JqZWN0KTogUHJvbWlzZTx7IHBkZjogQnVmZmVyLCB0aXRsZTogc3RyaW5nLCBuYW1lOiBzdHJpbmcgfT4ge1xuICAgIHJldHVybiB0aGlzLmNocm9taXVtLnN0YXJ0KGFzeW5jIChicm93c2VyKSA9PiB7XG4gICAgICBjb25zdCBjb250ZXh0ID0gYXdhaXQgYnJvd3Nlci5uZXdDb250ZXh0KHtcbiAgICAgICAgZGV2aWNlU2NhbGVGYWN0b3I6IDIsXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHBhZ2UgPSBhd2FpdCBjb250ZXh0Lm5ld1BhZ2UoKTtcbiAgICAgIHBhZ2Uub24oJ2NvbnNvbGUnLCBtc2cgPT4gY29uc29sZS5sb2coJ1BBR0UgTE9HOicsIG1zZy50ZXh0KCkpKTtcbiAgICAgIHBhZ2Uub24oJ3BhZ2VlcnJvcicsIGVyciA9PiBjb25zb2xlLmxvZygnUEFHRSBFUlJPUjonLCBlcnIubWVzc2FnZSkpO1xuICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5jb25maWcudGVtcGxhdGVCYXNlVXJsfT9qc29uPSR7ZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGRhdGEpKX1gO1xuICAgICAgYXdhaXQgcGFnZS5nb3RvKHVybCwgeyB3YWl0VW50aWw6ICduZXR3b3JraWRsZScgfSk7XG4gICAgICBhd2FpdCBwYWdlLmV2YWx1YXRlKCgpID0+IGRvY3VtZW50LmZvbnRzLnJlYWR5KTtcbiAgICAgIGF3YWl0IHBhZ2Uud2FpdEZvclNlbGVjdG9yKCdoMScpO1xuICAgICAgY29uc3QgdGl0bGUgPSBhd2FpdCBwYWdlLnRpdGxlKCk7XG4gICAgICBjb25zdCBwZGYgPSBhd2FpdCBwYWdlLnBkZih7IGZvcm1hdDogJ0E0JyB9KTtcbiAgICAgIHJldHVybiB7IHBkZiwgdGl0bGUsIG5hbWU6IGAke3RpdGxlfS5wZGZgIH07XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBzZW5kTWFpbChtYWlsOiBJbnZvaWNlTWFpbCkge1xuICAgIGNvbnN0IHBkZiA9IGF3YWl0IHRoaXMubWFrZVBkZihtYWlsLmludm9pY2UpO1xuICAgIGF3YWl0IHRoaXMucmVzZW5kLmVtYWlscy5zZW5kKHtcbiAgICAgIGZyb206IG1haWwuZnJvbSxcbiAgICAgIHRvOiBtYWlsLnRvLFxuICAgICAgc3ViamVjdDogbWFpbC5zdWJqZWN0LFxuICAgICAgaHRtbDogbWFpbC5jb250ZW50LFxuICAgICAgYXR0YWNobWVudHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGZpbGVuYW1lOiBwZGYubmFtZSxcbiAgICAgICAgICBjb250ZW50OiBwZGYucGRmLFxuICAgICAgICAgIGNvbnRlbnRUeXBlOiAnYXBwbGljYXRpb24vcGRmJyxcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgZ2V0TGluayhpbnZvaWNlSWQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIEdyYXBoUUzjgq/jgqjjg6rjgaflhajjgabjga7plqLpgKPjg4fjg7zjgr/jgpLkuIDluqbjgavlj5blvpdcbiAgICAgIGNvbnN0IHF1ZXJ5ID0gYFxuICAgICAgICBxdWVyeSBHZXRJbnZvaWNlV2l0aFJlbGF0aW9ucygkaWQ6IFN0cmluZyEpIHtcbiAgICAgICAgICBpbnZvaWNlc19ieV9wayhpZDogJGlkKSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgbm9cbiAgICAgICAgICAgIHRpdGxlXG4gICAgICAgICAgICBzdWJqZWN0XG4gICAgICAgICAgICBjdXN0b21lcl9pZFxuICAgICAgICAgICAgdmVuZG9yX2lkXG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIGR1ZV9kYXRlXG4gICAgICAgICAgICBvcmRlcnMge1xuICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICB0aXRsZVxuICAgICAgICAgICAgICBlY2xfaWRcbiAgICAgICAgICAgICAgY3VzdG9tZXJfaWRcbiAgICAgICAgICAgICAgdmVuZG9yX2lkXG4gICAgICAgICAgICAgIGNvbnRyYWN0X2lkXG4gICAgICAgICAgICAgIGludm9pY2VfaWRcbiAgICAgICAgICAgICAgc3RhcnRfZGF0ZVxuICAgICAgICAgICAgICBlbmRfZGF0ZVxuICAgICAgICAgICAgICB1bml0X3ByaWNlXG4gICAgICAgICAgICAgIHVuaXRcbiAgICAgICAgICAgICAgcXVhbnRpdHlcbiAgICAgICAgICAgICAgYW1vdW50X2lucHV0XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICBzdGF0dXNfaW5cbiAgICAgICAgICAgICAgc3RhdHVzX291dFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY3VzdG9tZXIge1xuICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgYWRkcmVzc1xuICAgICAgICAgICAgICBwb3N0YWxfY29kZVxuICAgICAgICAgICAgICBlbWFpbFxuICAgICAgICAgICAgICBiaWxsaW5nX2VtYWlsXG4gICAgICAgICAgICAgIGJpbGxpbmdfY29udGFjdFxuICAgICAgICAgICAgICBwaG9uZV9udW1iZXJcbiAgICAgICAgICAgICAgY29udGFjdFxuICAgICAgICAgICAgICBzdWZmaXhcbiAgICAgICAgICAgICAgYmFua19hY2NvdW50XG4gICAgICAgICAgICAgIGludm9pY2VfbnVtYmVyXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2ZW5kb3Ige1xuICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgYWRkcmVzc1xuICAgICAgICAgICAgICBwb3N0YWxfY29kZVxuICAgICAgICAgICAgICBlbWFpbFxuICAgICAgICAgICAgICBiaWxsaW5nX2VtYWlsXG4gICAgICAgICAgICAgIGJpbGxpbmdfY29udGFjdFxuICAgICAgICAgICAgICBwaG9uZV9udW1iZXJcbiAgICAgICAgICAgICAgY29udGFjdFxuICAgICAgICAgICAgICBzdWZmaXhcbiAgICAgICAgICAgICAgYmFua19hY2NvdW50XG4gICAgICAgICAgICAgIGludm9pY2VfbnVtYmVyXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBgO1xuICAgICAgXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmhhc3VyYVNlcnZpY2UucXVlcnkoe1xuICAgICAgICBxdWVyeTogZ3FsYCR7cXVlcnl9YCxcbiAgICAgICAgdmFyaWFibGVzOiB7IGlkOiBpbnZvaWNlSWQgfVxuICAgICAgfSkudGhlbihyZXN1bHQgPT4ge1xuICAgICAgICAvLyBjYW1lbENhc2XjgavlpInmj5tcbiAgICAgICAgcmV0dXJuIGRlZXBTbmFrZVRvQ2FtZWxDYXNlKHJlc3VsdCk7XG4gICAgICB9KTtcbiAgICAgIFxuICAgICAgY29uc3QgaW52b2ljZURhdGEgPSAocmVzdWx0IGFzIGFueSkuZGF0YT8uaW52b2ljZXNCeVBrO1xuICAgICAgaWYgKCFpbnZvaWNlRGF0YSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludm9pY2Ugd2l0aCBJRCAke2ludm9pY2VJZH0gbm90IGZvdW5kYCk7XG4gICAgICB9XG5cbiAgICAgIC8vIOOCueODjeODvOOCr+OCseODvOOCueOBi+OCieOCreODo+ODoeODq+OCseODvOOCueOBq+WkieaPm+OBl+OAgV9fdHlwZW5hbWXjgpLliYrpmaRcbiAgICAgIGNvbnN0IHRyYW5zZm9ybWVkRGF0YSA9IHRoaXMudHJhbnNmb3JtSW52b2ljZURhdGEoaW52b2ljZURhdGEpO1xuXG4gICAgICAvLyDjg4bjg7Pjg5fjg6zjg7zjg4hVUkzjgpLnlJ/miJDvvIhtYWtlUGRm44Go5ZCM44GY44Ot44K444OD44Kv77yJXG4gICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmNvbmZpZy50ZW1wbGF0ZUJhc2VVcmx9P2pzb249JHtlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkodHJhbnNmb3JtZWREYXRhKSl9YDtcblxuICAgICAgcmV0dXJuIHVybDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihgW0ludm9pY2VVc2VjYXNlXSBGYWlsZWQgdG8gZ2V0IGxpbmsgZm9yIGludm9pY2UgJHtpbnZvaWNlSWR9OmAsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdHJhbnNmb3JtSW52b2ljZURhdGEoZGF0YTogYW55KTogYW55IHtcbiAgICBjb25zdCBzbmFrZVRvQ2FtZWwgPSAoc3RyOiBzdHJpbmcpID0+IFxuICAgICAgc3RyLnJlcGxhY2UoL18oW2Etel0pL2csIChfLCBsZXR0ZXIpID0+IGxldHRlci50b1VwcGVyQ2FzZSgpKTtcblxuICAgIGNvbnN0IHRyYW5zZm9ybSA9IChvYmo6IGFueSk6IGFueSA9PiB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XG4gICAgICAgIHJldHVybiBvYmoubWFwKHRyYW5zZm9ybSk7XG4gICAgICB9IGVsc2UgaWYgKG9iaiAhPT0gbnVsbCAmJiB0eXBlb2Ygb2JqID09PSAnb2JqZWN0Jykge1xuICAgICAgICBjb25zdCB0cmFuc2Zvcm1lZDogYW55ID0ge307XG4gICAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKG9iaikpIHtcbiAgICAgICAgICAvLyBfX3R5cGVuYW1l44OV44Kj44O844Or44OJ44KS6Zmk5aSWXG4gICAgICAgICAgaWYgKGtleSA9PT0gJ19fdHlwZW5hbWUnKSBjb250aW51ZTtcbiAgICAgICAgICBcbiAgICAgICAgICBjb25zdCBjYW1lbEtleSA9IHNuYWtlVG9DYW1lbChrZXkpO1xuICAgICAgICAgIHRyYW5zZm9ybWVkW2NhbWVsS2V5XSA9IHRyYW5zZm9ybSh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRyYW5zZm9ybWVkO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG9iajtcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRyYW5zZm9ybShkYXRhKTtcbiAgfVxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbW1vbi1pbnZvaWNlLXVzZWNhc2UtaW52b2ljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvaW52b2ljZS91c2VjYXNlL2ludm9pY2UveHhtYWNoaW5hLWNvbW1vbi1pbnZvaWNlLXVzZWNhc2UtaW52b2ljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { OrderNotionRepository } from '@xxmachina/common/infra/repository/notion';
4
+ import { getHasuraRepository, HasuraService } from '@nx-ddd/hasura';
5
+ import { Order } from '@xxmachina/common/invoice/domain/models';
6
+
7
+ class OrderUsecase {
8
+ notion = inject(OrderNotionRepository);
9
+ hasuraRepo = getHasuraRepository(Order, { hasura: inject(HasuraService) });
10
+ async sync() {
11
+ console.log('[OrderUsecase] Starting sync from Notion to Hasura...');
12
+ const orders = await this.notion.list();
13
+ console.log(`[OrderUsecase] Retrieved ${orders.length} orders from Notion`);
14
+ // Delete existing records to avoid duplicates
15
+ console.log('[OrderUsecase] Deleting existing records in Hasura...');
16
+ await this.hasuraRepo.deleteAll();
17
+ // Save all orders
18
+ console.log('[OrderUsecase] Saving orders to Hasura...');
19
+ await this.hasuraRepo.saveMany(orders);
20
+ console.log('[OrderUsecase] Sync completed successfully');
21
+ return { synced: orders.length };
22
+ }
23
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: OrderUsecase, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
24
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: OrderUsecase, providedIn: 'root' });
25
+ }
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: OrderUsecase, decorators: [{
27
+ type: Injectable,
28
+ args: [{ providedIn: 'root' }]
29
+ }] });
30
+
31
+ /**
32
+ * Generated bundle index. Do not edit.
33
+ */
34
+
35
+ export { OrderUsecase };
36
+ //# sourceMappingURL=xxmachina-common-invoice-usecase-order.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xxmachina-common-invoice-usecase-order.mjs","sources":["../tmp-esm2022/invoice/usecase/order/order.service.js","../tmp-esm2022/invoice/usecase/order/xxmachina-common-invoice-usecase-order.js"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { OrderNotionRepository } from '@xxmachina/common/infra/repository/notion';\nimport { getHasuraRepository, HasuraService } from '@nx-ddd/hasura';\nimport { Order } from '@xxmachina/common/invoice/domain/models';\nimport * as i0 from \"@angular/core\";\nexport class OrderUsecase {\n notion = inject(OrderNotionRepository);\n hasuraRepo = getHasuraRepository(Order, { hasura: inject(HasuraService) });\n async sync() {\n console.log('[OrderUsecase] Starting sync from Notion to Hasura...');\n const orders = await this.notion.list();\n console.log(`[OrderUsecase] Retrieved ${orders.length} orders from Notion`);\n // Delete existing records to avoid duplicates\n console.log('[OrderUsecase] Deleting existing records in Hasura...');\n await this.hasuraRepo.deleteAll();\n // Save all orders\n console.log('[OrderUsecase] Saving orders to Hasura...');\n await this.hasuraRepo.saveMany(orders);\n console.log('[OrderUsecase] Sync completed successfully');\n return { synced: orders.length };\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: OrderUsecase, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: OrderUsecase, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: OrderUsecase, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvaW52b2ljZS91c2VjYXNlL29yZGVyL29yZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7QUFHaEUsTUFBTSxPQUFPLFlBQVk7SUFDYixNQUFNLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDdkMsVUFBVSxHQUFHLG1CQUFtQixDQUFDLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRXJGLEtBQUssQ0FBQyxJQUFJO1FBQ1IsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO1FBRXJFLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixNQUFNLENBQUMsTUFBTSxxQkFBcUIsQ0FBQyxDQUFDO1FBRTVFLDhDQUE4QztRQUM5QyxPQUFPLENBQUMsR0FBRyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7UUFDckUsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRWxDLGtCQUFrQjtRQUNsQixPQUFPLENBQUMsR0FBRyxDQUFDLDJDQUEyQyxDQUFDLENBQUM7UUFDekQsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV2QyxPQUFPLENBQUMsR0FBRyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7UUFDMUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDbkMsQ0FBQzt1R0FwQlUsWUFBWTsyR0FBWixZQUFZLGNBREMsTUFBTTs7MkZBQ25CLFlBQVk7a0JBRHhCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPcmRlck5vdGlvblJlcG9zaXRvcnkgfSBmcm9tICdAeHhtYWNoaW5hL2NvbW1vbi9pbmZyYS9yZXBvc2l0b3J5L25vdGlvbic7XG5pbXBvcnQgeyBnZXRIYXN1cmFSZXBvc2l0b3J5LCBIYXN1cmFTZXJ2aWNlIH0gZnJvbSAnQG54LWRkZC9oYXN1cmEnO1xuaW1wb3J0IHsgT3JkZXIgfSBmcm9tICdAeHhtYWNoaW5hL2NvbW1vbi9pbnZvaWNlL2RvbWFpbi9tb2RlbHMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE9yZGVyVXNlY2FzZSB7XG4gIHByb3RlY3RlZCBub3Rpb24gPSBpbmplY3QoT3JkZXJOb3Rpb25SZXBvc2l0b3J5KTtcbiAgcHJvdGVjdGVkIGhhc3VyYVJlcG8gPSBnZXRIYXN1cmFSZXBvc2l0b3J5KE9yZGVyLCB7IGhhc3VyYTogaW5qZWN0KEhhc3VyYVNlcnZpY2UpIH0pO1xuXG4gIGFzeW5jIHN5bmMoKSB7XG4gICAgY29uc29sZS5sb2coJ1tPcmRlclVzZWNhc2VdIFN0YXJ0aW5nIHN5bmMgZnJvbSBOb3Rpb24gdG8gSGFzdXJhLi4uJyk7XG4gICAgXG4gICAgY29uc3Qgb3JkZXJzID0gYXdhaXQgdGhpcy5ub3Rpb24ubGlzdCgpO1xuICAgIGNvbnNvbGUubG9nKGBbT3JkZXJVc2VjYXNlXSBSZXRyaWV2ZWQgJHtvcmRlcnMubGVuZ3RofSBvcmRlcnMgZnJvbSBOb3Rpb25gKTtcbiAgICBcbiAgICAvLyBEZWxldGUgZXhpc3RpbmcgcmVjb3JkcyB0byBhdm9pZCBkdXBsaWNhdGVzXG4gICAgY29uc29sZS5sb2coJ1tPcmRlclVzZWNhc2VdIERlbGV0aW5nIGV4aXN0aW5nIHJlY29yZHMgaW4gSGFzdXJhLi4uJyk7XG4gICAgYXdhaXQgdGhpcy5oYXN1cmFSZXBvLmRlbGV0ZUFsbCgpO1xuICAgIFxuICAgIC8vIFNhdmUgYWxsIG9yZGVyc1xuICAgIGNvbnNvbGUubG9nKCdbT3JkZXJVc2VjYXNlXSBTYXZpbmcgb3JkZXJzIHRvIEhhc3VyYS4uLicpO1xuICAgIGF3YWl0IHRoaXMuaGFzdXJhUmVwby5zYXZlTWFueShvcmRlcnMpO1xuICAgIFxuICAgIGNvbnNvbGUubG9nKCdbT3JkZXJVc2VjYXNlXSBTeW5jIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHknKTtcbiAgICByZXR1cm4geyBzeW5jZWQ6IG9yZGVycy5sZW5ndGggfTtcbiAgfVxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbW1vbi1pbnZvaWNlLXVzZWNhc2Utb3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbW1vbi9zcmMvbGliL2ludm9pY2UvdXNlY2FzZS9vcmRlci94eG1hY2hpbmEtY29tbW9uLWludm9pY2UtdXNlY2FzZS1vcmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;;;;AAKO,MAAM,YAAY,CAAC;AAC1B,IAAI,MAAM,GAAG,MAAM,CAAC,qBAAqB,CAAC;AAC1C,IAAI,UAAU,GAAG,mBAAmB,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;AAC9E,IAAI,MAAM,IAAI,GAAG;AACjB,QAAQ,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC;AAC5E,QAAQ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;AAC/C,QAAQ,OAAO,CAAC,GAAG,CAAC,CAAC,yBAAyB,EAAE,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;AACnF;AACA,QAAQ,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC;AAC5E,QAAQ,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;AACzC;AACA,QAAQ,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC;AAChE,QAAQ,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC9C,QAAQ,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC;AACjE,QAAQ,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;AACxC,IAAI;AACJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;AACvK,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AAC9I;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;AACtH,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE;AACzC,SAAS,CAAC,EAAE,CAAC;;AC3Bb;AACA;AACA;;;;"}
@@ -0,0 +1,36 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { PartnerNotionRepository } from '@xxmachina/common/infra/repository/notion';
4
+ import { getHasuraRepository, HasuraService } from '@nx-ddd/hasura';
5
+ import { Partner } from '@xxmachina/common/invoice/domain/models';
6
+
7
+ class PartnerUsecase {
8
+ notionRepo = inject(PartnerNotionRepository);
9
+ hasuraRepo = getHasuraRepository(Partner, { hasura: inject(HasuraService) });
10
+ async sync() {
11
+ console.log('[PartnerUsecase] Starting sync from Notion to Hasura...');
12
+ const items = await this.notionRepo.list();
13
+ console.log(`[PartnerUsecase] Retrieved ${items.length} partners from Notion`);
14
+ // Delete existing records to avoid duplicates
15
+ console.log('[PartnerUsecase] Deleting existing records in Hasura...');
16
+ await this.hasuraRepo.deleteAll();
17
+ // Save all partners
18
+ console.log('[PartnerUsecase] Saving partners to Hasura...');
19
+ await this.hasuraRepo.saveMany(items);
20
+ console.log('[PartnerUsecase] Sync completed successfully');
21
+ return { synced: items.length };
22
+ }
23
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: PartnerUsecase, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
24
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: PartnerUsecase, providedIn: 'root' });
25
+ }
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: PartnerUsecase, decorators: [{
27
+ type: Injectable,
28
+ args: [{ providedIn: 'root' }]
29
+ }] });
30
+
31
+ /**
32
+ * Generated bundle index. Do not edit.
33
+ */
34
+
35
+ export { PartnerUsecase };
36
+ //# sourceMappingURL=xxmachina-common-invoice-usecase-partner.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xxmachina-common-invoice-usecase-partner.mjs","sources":["../tmp-esm2022/invoice/usecase/partner/partner.usecase.js","../tmp-esm2022/invoice/usecase/partner/xxmachina-common-invoice-usecase-partner.js"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { PartnerNotionRepository } from '@xxmachina/common/infra/repository/notion';\nimport { getHasuraRepository, HasuraService } from '@nx-ddd/hasura';\nimport { Partner } from '@xxmachina/common/invoice/domain/models';\nimport * as i0 from \"@angular/core\";\nexport class PartnerUsecase {\n notionRepo = inject(PartnerNotionRepository);\n hasuraRepo = getHasuraRepository(Partner, { hasura: inject(HasuraService) });\n async sync() {\n console.log('[PartnerUsecase] Starting sync from Notion to Hasura...');\n const items = await this.notionRepo.list();\n console.log(`[PartnerUsecase] Retrieved ${items.length} partners from Notion`);\n // Delete existing records to avoid duplicates\n console.log('[PartnerUsecase] Deleting existing records in Hasura...');\n await this.hasuraRepo.deleteAll();\n // Save all partners\n console.log('[PartnerUsecase] Saving partners to Hasura...');\n await this.hasuraRepo.saveMany(items);\n console.log('[PartnerUsecase] Sync completed successfully');\n return { synced: items.length };\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: PartnerUsecase, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: PartnerUsecase, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: PartnerUsecase, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydG5lci51c2VjYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21tb24vc3JjL2xpYi9pbnZvaWNlL3VzZWNhc2UvcGFydG5lci9wYXJ0bmVyLnVzZWNhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDcEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7QUFHbEUsTUFBTSxPQUFPLGNBQWM7SUFDZixVQUFVLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDN0MsVUFBVSxHQUFHLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRXZGLEtBQUssQ0FBQyxJQUFJO1FBQ1IsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5REFBeUQsQ0FBQyxDQUFDO1FBRXZFLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQyxPQUFPLENBQUMsR0FBRyxDQUFDLDhCQUE4QixLQUFLLENBQUMsTUFBTSx1QkFBdUIsQ0FBQyxDQUFDO1FBRS9FLDhDQUE4QztRQUM5QyxPQUFPLENBQUMsR0FBRyxDQUFDLHlEQUF5RCxDQUFDLENBQUM7UUFDdkUsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRWxDLG9CQUFvQjtRQUNwQixPQUFPLENBQUMsR0FBRyxDQUFDLCtDQUErQyxDQUFDLENBQUM7UUFDN0QsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV0QyxPQUFPLENBQUMsR0FBRyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7UUFDNUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDbEMsQ0FBQzt1R0FwQlUsY0FBYzsyR0FBZCxjQUFjLGNBREQsTUFBTTs7MkZBQ25CLGNBQWM7a0JBRDFCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYXJ0bmVyTm90aW9uUmVwb3NpdG9yeSB9IGZyb20gJ0B4eG1hY2hpbmEvY29tbW9uL2luZnJhL3JlcG9zaXRvcnkvbm90aW9uJztcbmltcG9ydCB7IGdldEhhc3VyYVJlcG9zaXRvcnksIEhhc3VyYVNlcnZpY2UgfSBmcm9tICdAbngtZGRkL2hhc3VyYSc7XG5pbXBvcnQgeyBQYXJ0bmVyIH0gZnJvbSAnQHh4bWFjaGluYS9jb21tb24vaW52b2ljZS9kb21haW4vbW9kZWxzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBQYXJ0bmVyVXNlY2FzZSB7XG4gIHByb3RlY3RlZCBub3Rpb25SZXBvID0gaW5qZWN0KFBhcnRuZXJOb3Rpb25SZXBvc2l0b3J5KTtcbiAgcHJvdGVjdGVkIGhhc3VyYVJlcG8gPSBnZXRIYXN1cmFSZXBvc2l0b3J5KFBhcnRuZXIsIHsgaGFzdXJhOiBpbmplY3QoSGFzdXJhU2VydmljZSkgfSk7XG5cbiAgYXN5bmMgc3luYygpIHtcbiAgICBjb25zb2xlLmxvZygnW1BhcnRuZXJVc2VjYXNlXSBTdGFydGluZyBzeW5jIGZyb20gTm90aW9uIHRvIEhhc3VyYS4uLicpO1xuICAgIFxuICAgIGNvbnN0IGl0ZW1zID0gYXdhaXQgdGhpcy5ub3Rpb25SZXBvLmxpc3QoKTtcbiAgICBjb25zb2xlLmxvZyhgW1BhcnRuZXJVc2VjYXNlXSBSZXRyaWV2ZWQgJHtpdGVtcy5sZW5ndGh9IHBhcnRuZXJzIGZyb20gTm90aW9uYCk7XG4gICAgXG4gICAgLy8gRGVsZXRlIGV4aXN0aW5nIHJlY29yZHMgdG8gYXZvaWQgZHVwbGljYXRlc1xuICAgIGNvbnNvbGUubG9nKCdbUGFydG5lclVzZWNhc2VdIERlbGV0aW5nIGV4aXN0aW5nIHJlY29yZHMgaW4gSGFzdXJhLi4uJyk7XG4gICAgYXdhaXQgdGhpcy5oYXN1cmFSZXBvLmRlbGV0ZUFsbCgpO1xuICAgIFxuICAgIC8vIFNhdmUgYWxsIHBhcnRuZXJzXG4gICAgY29uc29sZS5sb2coJ1tQYXJ0bmVyVXNlY2FzZV0gU2F2aW5nIHBhcnRuZXJzIHRvIEhhc3VyYS4uLicpO1xuICAgIGF3YWl0IHRoaXMuaGFzdXJhUmVwby5zYXZlTWFueShpdGVtcyk7XG4gICAgXG4gICAgY29uc29sZS5sb2coJ1tQYXJ0bmVyVXNlY2FzZV0gU3luYyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Jyk7XG4gICAgcmV0dXJuIHsgc3luY2VkOiBpdGVtcy5sZW5ndGggfTtcbiAgfVxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbW1vbi1pbnZvaWNlLXVzZWNhc2UtcGFydG5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvaW52b2ljZS91c2VjYXNlL3BhcnRuZXIveHhtYWNoaW5hLWNvbW1vbi1pbnZvaWNlLXVzZWNhc2UtcGFydG5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;;;;AAKO,MAAM,cAAc,CAAC;AAC5B,IAAI,UAAU,GAAG,MAAM,CAAC,uBAAuB,CAAC;AAChD,IAAI,UAAU,GAAG,mBAAmB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;AAChF,IAAI,MAAM,IAAI,GAAG;AACjB,QAAQ,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC;AAC9E,QAAQ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;AAClD,QAAQ,OAAO,CAAC,GAAG,CAAC,CAAC,2BAA2B,EAAE,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;AACtF;AACA,QAAQ,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC;AAC9E,QAAQ,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;AACzC;AACA,QAAQ,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC;AACpE,QAAQ,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;AAC7C,QAAQ,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC;AACnE,QAAQ,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;AACvC,IAAI;AACJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;AACzK,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AAChJ;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;AACxH,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE;AACzC,SAAS,CAAC,EAAE,CAAC;;AC3Bb;AACA;AACA;;;;"}
@@ -0,0 +1,60 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { ApolloClientManagerService } from '@nx-ddd/hasura';
4
+ import { switchMap } from 'rxjs';
5
+ import { gql } from 'apollo-angular';
6
+ import { getIntrospectionQuery } from 'graphql';
7
+
8
+ class GraphqlService {
9
+ apolloClientManager = inject(ApolloClientManagerService);
10
+ /**
11
+ * @TODO
12
+ * this.apolloMulti.getClientはendpoint単位でApolloClientを管理しているため、
13
+ * _query.graphql.headersに認証情報などが含まれていないリクエストが初めに来ると、
14
+ * {message: 'no subscriptions exist}のようなエラーが出る。
15
+ * Headersが更新されるたびに、ApolloClientを再生成するような処理も必要。
16
+ */
17
+ subscribe(graphql) {
18
+ const getHeaders = typeof graphql.headers === 'function'
19
+ ? graphql.headers
20
+ : () => Promise.resolve(graphql.headers);
21
+ return this.apolloClientManager.getClient(graphql.endpoint, getHeaders).pipe(switchMap((client) => client.subscribe({
22
+ query: gql `${graphql.query}`,
23
+ variables: graphql.variables,
24
+ fetchPolicy: 'network-only',
25
+ })));
26
+ }
27
+ query(graphql) {
28
+ const getHeaders = typeof graphql.headers === 'function'
29
+ ? graphql.headers
30
+ : () => Promise.resolve(graphql.headers);
31
+ return this.apolloClientManager.getClient(graphql.endpoint, getHeaders).pipe(switchMap((client) => client.query({
32
+ query: gql `${graphql.query}`,
33
+ variables: graphql.variables,
34
+ fetchPolicy: 'network-only',
35
+ })));
36
+ }
37
+ getSchema(graphql) {
38
+ const getHeaders = typeof graphql.headers === 'function'
39
+ ? graphql.headers
40
+ : () => Promise.resolve(graphql.headers);
41
+ return this.apolloClientManager.getClient(graphql.endpoint, getHeaders).pipe(switchMap((client) => client.query({
42
+ query: gql `${getIntrospectionQuery()}`,
43
+ variables: {},
44
+ fetchPolicy: 'network-only',
45
+ })));
46
+ }
47
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: GraphqlService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
48
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: GraphqlService, providedIn: 'root' });
49
+ }
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: GraphqlService, decorators: [{
51
+ type: Injectable,
52
+ args: [{ providedIn: 'root' }]
53
+ }] });
54
+
55
+ /**
56
+ * Generated bundle index. Do not edit.
57
+ */
58
+
59
+ export { GraphqlService };
60
+ //# sourceMappingURL=xxmachina-common-services-graphql.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xxmachina-common-services-graphql.mjs","sources":["../tmp-esm2022/services/graphql/graphql.service.js","../tmp-esm2022/services/graphql/xxmachina-common-services-graphql.js"],"sourcesContent":["import { inject, Injectable } from \"@angular/core\";\nimport { ApolloClientManagerService } from \"@nx-ddd/hasura\";\nimport { switchMap } from \"rxjs\";\nimport { gql } from \"apollo-angular\";\nimport { getIntrospectionQuery } from \"graphql\";\nimport * as i0 from \"@angular/core\";\nexport class GraphqlService {\n apolloClientManager = inject(ApolloClientManagerService);\n /**\n * @TODO\n * this.apolloMulti.getClientはendpoint単位でApolloClientを管理しているため、\n * _query.graphql.headersに認証情報などが含まれていないリクエストが初めに来ると、\n * {message: 'no subscriptions exist}のようなエラーが出る。\n * Headersが更新されるたびに、ApolloClientを再生成するような処理も必要。\n */\n subscribe(graphql) {\n const getHeaders = typeof graphql.headers === 'function'\n ? graphql.headers\n : () => Promise.resolve(graphql.headers);\n return this.apolloClientManager.getClient(graphql.endpoint, getHeaders).pipe(switchMap((client) => client.subscribe({\n query: gql `${graphql.query}`,\n variables: graphql.variables,\n fetchPolicy: 'network-only',\n })));\n }\n query(graphql) {\n const getHeaders = typeof graphql.headers === 'function'\n ? graphql.headers\n : () => Promise.resolve(graphql.headers);\n return this.apolloClientManager.getClient(graphql.endpoint, getHeaders).pipe(switchMap((client) => client.query({\n query: gql `${graphql.query}`,\n variables: graphql.variables,\n fetchPolicy: 'network-only',\n })));\n }\n getSchema(graphql) {\n const getHeaders = typeof graphql.headers === 'function'\n ? graphql.headers\n : () => Promise.resolve(graphql.headers);\n return this.apolloClientManager.getClient(graphql.endpoint, getHeaders).pipe(switchMap((client) => client.query({\n query: gql `${getIntrospectionQuery()}`,\n variables: {},\n fetchPolicy: 'network-only',\n })));\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: GraphqlService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: GraphqlService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: GraphqlService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy9ncmFwaHFsL2dyYXBocWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVBQWMsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQWdCLHFCQUFxQixFQUFFLE1BQU0sU0FBUyxDQUFDOztBQVk5RCxNQUFNLE9BQU8sY0FBYztJQUNoQixtQkFBbUIsR0FBRyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUVsRTs7Ozs7O09BTUc7SUFDSCxTQUFTLENBQUMsT0FBMEI7UUFDbEMsTUFBTSxVQUFVLEdBQWUsT0FBTyxPQUFPLENBQUMsT0FBTyxLQUFLLFVBQVU7WUFDbEUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPO1lBQ2pCLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFpQyxDQUFDLENBQUM7UUFDckUsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUMxRSxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQXNCO1lBQzFELEtBQUssRUFBRSxHQUFHLENBQUEsR0FBRyxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQzVCLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUztZQUM1QixXQUFXLEVBQUUsY0FBYztTQUM1QixDQUFDLENBQUMsQ0FDSixDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxPQUEwQjtRQUM5QixNQUFNLFVBQVUsR0FBZSxPQUFPLE9BQU8sQ0FBQyxPQUFPLEtBQUssVUFBVTtZQUNsRSxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU87WUFDakIsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQWlDLENBQUMsQ0FBQztRQUNyRSxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQzFFLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBc0I7WUFDdEQsS0FBSyxFQUFFLEdBQUcsQ0FBQSxHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDNUIsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTO1lBQzVCLFdBQVcsRUFBRSxjQUFjO1NBQzVCLENBQUMsQ0FBQyxDQUNKLENBQUM7SUFDSixDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQW1DO1FBQzNDLE1BQU0sVUFBVSxHQUFlLE9BQU8sT0FBTyxDQUFDLE9BQU8sS0FBSyxVQUFVO1lBQ2xFLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTztZQUNqQixDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBaUMsQ0FBQyxDQUFDO1FBQ3JFLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FDMUUsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFzQjtZQUN0RCxLQUFLLEVBQUUsR0FBRyxDQUFBLEdBQUcscUJBQXFCLEVBQUUsRUFBRTtZQUN0QyxTQUFTLEVBQUUsRUFBRTtZQUNiLFdBQVcsRUFBRSxjQUFjO1NBQzVCLENBQUMsQ0FBQyxDQUNKLENBQUM7SUFDSixDQUFDO3VHQS9DVSxjQUFjOzJHQUFkLGNBQWMsY0FERixNQUFNOzsyRkFDbEIsY0FBYztrQkFEMUIsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgR2V0SGVhZGVycyB9IGZyb20gXCJAbngtZGRkL2hhc3VyYVwiO1xuaW1wb3J0IHsgQXBvbGxvQ2xpZW50TWFuYWdlclNlcnZpY2UgfSBmcm9tIFwiQG54LWRkZC9oYXN1cmFcIjtcbmltcG9ydCB7IE9ic2VydmFibGUsIHN3aXRjaE1hcCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBncWwgfSBmcm9tIFwiYXBvbGxvLWFuZ3VsYXJcIjtcbmltcG9ydCB7IERvY3VtZW50Tm9kZSwgZ2V0SW50cm9zcGVjdGlvblF1ZXJ5IH0gZnJvbSBcImdyYXBocWxcIjtcblxuZXhwb3J0IGludGVyZmFjZSBFeGVjdXRhYmxlR3JhcGhxbCB7XG4gIGVuZHBvaW50OiBzdHJpbmc7XG4gIHF1ZXJ5OiBzdHJpbmcgfCBEb2N1bWVudE5vZGU7XG4gIHZhcmlhYmxlczogb2JqZWN0O1xuICBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgR2V0SGVhZGVycztcbn1cblxuZXhwb3J0IHR5cGUgRXhlY3V0YWJsZUdldFNjaGVtYUdyYXBocWwgPSBQaWNrPEV4ZWN1dGFibGVHcmFwaHFsLCAnZW5kcG9pbnQnIHwgJ2hlYWRlcnMnPjtcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgR3JhcGhxbFNlcnZpY2Uge1xuICByZWFkb25seSBhcG9sbG9DbGllbnRNYW5hZ2VyID0gaW5qZWN0KEFwb2xsb0NsaWVudE1hbmFnZXJTZXJ2aWNlKTtcblxuICAvKipcbiAgICogQFRPRE9cbiAgICogdGhpcy5hcG9sbG9NdWx0aS5nZXRDbGllbnTjga9lbmRwb2ludOWNmOS9jeOBp0Fwb2xsb0NsaWVudOOCkueuoeeQhuOBl+OBpuOBhOOCi+OBn+OCgeOAgVxuICAgKiBfcXVlcnkuZ3JhcGhxbC5oZWFkZXJz44Gr6KqN6Ki85oOF5aCx44Gq44Gp44GM5ZCr44G+44KM44Gm44GE44Gq44GE44Oq44Kv44Ko44K544OI44GM5Yid44KB44Gr5p2l44KL44Go44CBXG4gICAqIHttZXNzYWdlOiAnbm8gc3Vic2NyaXB0aW9ucyBleGlzdH3jga7jgojjgYbjgarjgqjjg6njg7zjgYzlh7rjgovjgIJcbiAgICogSGVhZGVyc+OBjOabtOaWsOOBleOCjOOCi+OBn+OBs+OBq+OAgUFwb2xsb0NsaWVudOOCkuWGjeeUn+aIkOOBmeOCi+OCiOOBhuOBquWHpueQhuOCguW/heimgeOAglxuICAgKi9cbiAgc3Vic2NyaWJlKGdyYXBocWw6IEV4ZWN1dGFibGVHcmFwaHFsKSB7XG4gICAgY29uc3QgZ2V0SGVhZGVyczogR2V0SGVhZGVycyA9IHR5cGVvZiBncmFwaHFsLmhlYWRlcnMgPT09ICdmdW5jdGlvbicgXG4gICAgICA/IGdyYXBocWwuaGVhZGVycyBcbiAgICAgIDogKCkgPT4gUHJvbWlzZS5yZXNvbHZlKGdyYXBocWwuaGVhZGVycyBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTtcbiAgICByZXR1cm4gdGhpcy5hcG9sbG9DbGllbnRNYW5hZ2VyLmdldENsaWVudChncmFwaHFsLmVuZHBvaW50LCBnZXRIZWFkZXJzKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKChjbGllbnQpID0+IGNsaWVudC5zdWJzY3JpYmU8UmVjb3JkPHN0cmluZywgYW55Pj4oe1xuICAgICAgICBxdWVyeTogZ3FsYCR7Z3JhcGhxbC5xdWVyeX1gLFxuICAgICAgICB2YXJpYWJsZXM6IGdyYXBocWwudmFyaWFibGVzLFxuICAgICAgICBmZXRjaFBvbGljeTogJ25ldHdvcmstb25seScsXG4gICAgICB9KSksXG4gICAgKTtcbiAgfVxuXG4gIHF1ZXJ5KGdyYXBocWw6IEV4ZWN1dGFibGVHcmFwaHFsKSB7XG4gICAgY29uc3QgZ2V0SGVhZGVyczogR2V0SGVhZGVycyA9IHR5cGVvZiBncmFwaHFsLmhlYWRlcnMgPT09ICdmdW5jdGlvbicgXG4gICAgICA/IGdyYXBocWwuaGVhZGVycyBcbiAgICAgIDogKCkgPT4gUHJvbWlzZS5yZXNvbHZlKGdyYXBocWwuaGVhZGVycyBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTtcbiAgICByZXR1cm4gdGhpcy5hcG9sbG9DbGllbnRNYW5hZ2VyLmdldENsaWVudChncmFwaHFsLmVuZHBvaW50LCBnZXRIZWFkZXJzKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKChjbGllbnQpID0+IGNsaWVudC5xdWVyeTxSZWNvcmQ8c3RyaW5nLCBhbnk+Pih7XG4gICAgICAgIHF1ZXJ5OiBncWxgJHtncmFwaHFsLnF1ZXJ5fWAsXG4gICAgICAgIHZhcmlhYmxlczogZ3JhcGhxbC52YXJpYWJsZXMsXG4gICAgICAgIGZldGNoUG9saWN5OiAnbmV0d29yay1vbmx5JyxcbiAgICAgIH0pKSxcbiAgICApO1xuICB9XG5cbiAgZ2V0U2NoZW1hKGdyYXBocWw6IEV4ZWN1dGFibGVHZXRTY2hlbWFHcmFwaHFsKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBnZXRIZWFkZXJzOiBHZXRIZWFkZXJzID0gdHlwZW9mIGdyYXBocWwuaGVhZGVycyA9PT0gJ2Z1bmN0aW9uJyBcbiAgICAgID8gZ3JhcGhxbC5oZWFkZXJzIFxuICAgICAgOiAoKSA9PiBQcm9taXNlLnJlc29sdmUoZ3JhcGhxbC5oZWFkZXJzIGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZz4pO1xuICAgIHJldHVybiB0aGlzLmFwb2xsb0NsaWVudE1hbmFnZXIuZ2V0Q2xpZW50KGdyYXBocWwuZW5kcG9pbnQsIGdldEhlYWRlcnMpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKGNsaWVudCkgPT4gY2xpZW50LnF1ZXJ5PFJlY29yZDxzdHJpbmcsIGFueT4+KHtcbiAgICAgICAgcXVlcnk6IGdxbGAke2dldEludHJvc3BlY3Rpb25RdWVyeSgpfWAsXG4gICAgICAgIHZhcmlhYmxlczoge30sXG4gICAgICAgIGZldGNoUG9saWN5OiAnbmV0d29yay1vbmx5JyxcbiAgICAgIH0pKSxcbiAgICApO1xuICB9XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbW1vbi1zZXJ2aWNlcy1ncmFwaHFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy9ncmFwaHFsL3h4bWFjaGluYS1jb21tb24tc2VydmljZXMtZ3JhcGhxbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, makeEnvironmentProviders, inject, Injectable } from '@angular/core';
3
+ import { reconstruct } from '@nx-ddd/core';
4
+ import { map } from 'rxjs';
5
+
6
+ const QUERY_CONFIG = new InjectionToken('[@xxmachina/components] QUERY_CONFIG');
7
+ function provideQueryConfig(useFactory) {
8
+ return makeEnvironmentProviders([{ provide: QUERY_CONFIG, useFactory }]);
9
+ }
10
+ class QueryConfigService {
11
+ config$ = inject(QUERY_CONFIG);
12
+ replaceText(text, config) {
13
+ return Object.entries(config).reduce((text, [key, value]) => text.replaceAll(`$${key}`, value), text);
14
+ }
15
+ replace(params, config) {
16
+ if (typeof params === 'string') {
17
+ return this.replaceText(params, config);
18
+ }
19
+ const resonstruceted = reconstruct(params, (_, value) => {
20
+ if (typeof value === 'string') {
21
+ const newValue = this.replaceText(value, config);
22
+ return [true, newValue];
23
+ }
24
+ return [false];
25
+ });
26
+ return resonstruceted;
27
+ }
28
+ resolve(params) {
29
+ return this.config$.pipe(map(config => this.replace(params, config)));
30
+ }
31
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: QueryConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
32
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: QueryConfigService, providedIn: 'root' });
33
+ }
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: QueryConfigService, decorators: [{
35
+ type: Injectable,
36
+ args: [{ providedIn: 'root' }]
37
+ }] });
38
+
39
+ /**
40
+ * Generated bundle index. Do not edit.
41
+ */
42
+
43
+ export { QUERY_CONFIG, QueryConfigService, provideQueryConfig };
44
+ //# sourceMappingURL=xxmachina-common-services-query-config.mjs.map