@unidy.io/sdk 1.1.4 → 1.2.0-alpha2

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 (398) hide show
  1. package/dist/cjs/app-globals-DSKjcXX_.js.map +1 -1
  2. package/dist/cjs/{auth-store-BaxuIp4z.js → auth-store-DC9EVec8.js} +2 -3
  3. package/dist/cjs/auth-store-DC9EVec8.js.map +1 -0
  4. package/dist/cjs/{i18n-BoDZ8kd2.js → i18n-BAZB-eHh.js} +2 -8
  5. package/dist/cjs/{i18n-BoDZ8kd2.js.map → i18n-BAZB-eHh.js.map} +1 -1
  6. package/dist/cjs/{index-R2MKLaem.js → index-CvFbf5-D.js} +1477 -1105
  7. package/dist/cjs/index-CvFbf5-D.js.map +1 -0
  8. package/dist/cjs/index.cjs.js +6 -5
  9. package/dist/cjs/index.cjs.js.map +1 -1
  10. package/dist/cjs/{newsletter-helpers-DR0vsegt.js → newsletter-helpers-Dj0yYHZf.js} +61 -74
  11. package/dist/cjs/newsletter-helpers-Dj0yYHZf.js.map +1 -0
  12. package/dist/cjs/{profile-helpers-B2h2III_.js → profile-helpers-D66Ycaft.js} +3 -3
  13. package/dist/cjs/{profile-helpers-B2h2III_.js.map → profile-helpers-D66Ycaft.js.map} +1 -1
  14. package/dist/cjs/u-conditional-render.cjs.entry.js +5 -6
  15. package/dist/cjs/u-conditional-render.entry.cjs.js.map +1 -1
  16. package/dist/cjs/u-config.cjs.entry.js +5 -6
  17. package/dist/cjs/u-config.entry.cjs.js.map +1 -1
  18. package/dist/cjs/u-email-field.cjs.entry.js +2 -2
  19. package/dist/cjs/u-error-message.cjs.entry.js +3 -3
  20. package/dist/cjs/u-error-message.entry.cjs.js.map +1 -1
  21. package/dist/cjs/u-field.u-raw-field.entry.cjs.js.map +1 -1
  22. package/dist/cjs/u-field_2.cjs.entry.js +2 -2
  23. package/dist/cjs/u-full-profile.cjs.entry.js +1 -1
  24. package/dist/cjs/u-logout-button.cjs.entry.js +6 -7
  25. package/dist/cjs/u-logout-button.entry.cjs.js.map +1 -1
  26. package/dist/cjs/u-magic-code-field.cjs.entry.js +5 -6
  27. package/dist/cjs/u-magic-code-field.entry.cjs.js.map +1 -1
  28. package/dist/cjs/u-missing-field.cjs.entry.js +1 -1
  29. package/dist/cjs/u-missing-fields-submit-button.cjs.entry.js +9 -5
  30. package/dist/cjs/u-missing-fields-submit-button.entry.cjs.js.map +1 -1
  31. package/dist/cjs/u-newsletter-checkbox.cjs.entry.js +5 -6
  32. package/dist/cjs/u-newsletter-checkbox.entry.cjs.js.map +1 -1
  33. package/dist/cjs/u-newsletter-logout-button.cjs.entry.js +6 -7
  34. package/dist/cjs/u-newsletter-logout-button.entry.cjs.js.map +1 -1
  35. package/dist/cjs/u-newsletter-preference-checkbox.cjs.entry.js +5 -6
  36. package/dist/cjs/u-newsletter-preference-checkbox.entry.cjs.js.map +1 -1
  37. package/dist/cjs/u-newsletter-resend-doi-button.cjs.entry.js +4 -5
  38. package/dist/cjs/u-newsletter-resend-doi-button.entry.cjs.js.map +1 -1
  39. package/dist/cjs/u-newsletter-root.cjs.entry.js +5 -6
  40. package/dist/cjs/u-newsletter-root.entry.cjs.js.map +1 -1
  41. package/dist/cjs/u-newsletter-toggle-subscription-button.cjs.entry.js +4 -5
  42. package/dist/cjs/u-newsletter-toggle-subscription-button.entry.cjs.js.map +1 -1
  43. package/dist/cjs/u-passkey.cjs.entry.js +5 -6
  44. package/dist/cjs/u-passkey.entry.cjs.js.map +1 -1
  45. package/dist/cjs/u-password-field.cjs.entry.js +2 -2
  46. package/dist/cjs/u-profile.u-submit-button.entry.cjs.js.map +1 -1
  47. package/dist/cjs/u-profile_2.cjs.entry.js +35 -55
  48. package/dist/cjs/u-registration-button.cjs.entry.js +2 -2
  49. package/dist/cjs/u-reset-password-button.cjs.entry.js +4 -5
  50. package/dist/cjs/u-reset-password-button.entry.cjs.js.map +1 -1
  51. package/dist/cjs/u-send-magic-code-button.cjs.entry.js +5 -6
  52. package/dist/cjs/u-send-magic-code-button.entry.cjs.js.map +1 -1
  53. package/dist/cjs/u-signed-in.cjs.entry.js +1 -1
  54. package/dist/cjs/u-signin-root.cjs.entry.js +1 -1
  55. package/dist/cjs/u-signin-step.cjs.entry.js +5 -6
  56. package/dist/cjs/u-signin-step.entry.cjs.js.map +1 -1
  57. package/dist/cjs/u-signin-strategy.cjs.entry.js +1 -1
  58. package/dist/cjs/u-social-login-button.cjs.entry.js +2 -2
  59. package/dist/cjs/u-spinner.cjs.entry.js +1 -1
  60. package/dist/cjs/u-spinner.entry.cjs.js.map +1 -1
  61. package/dist/cjs/u-ticketable-list.cjs.entry.js +39 -29
  62. package/dist/cjs/u-ticketable-list.entry.cjs.js.map +1 -1
  63. package/dist/collection/api/base-client.js +129 -0
  64. package/dist/collection/api/base-client.js.map +1 -0
  65. package/dist/collection/api/base-service.js +72 -0
  66. package/dist/collection/api/base-service.js.map +1 -0
  67. package/dist/collection/api/client.js +18 -139
  68. package/dist/collection/api/client.js.map +1 -1
  69. package/dist/collection/api/index.js +25 -5
  70. package/dist/collection/api/index.js.map +1 -1
  71. package/dist/collection/api/shared.js +11 -2
  72. package/dist/collection/api/shared.js.map +1 -1
  73. package/dist/collection/api/standalone.js +88 -0
  74. package/dist/collection/api/standalone.js.map +1 -0
  75. package/dist/collection/auth/api/auth.js +66 -124
  76. package/dist/collection/auth/api/auth.js.map +1 -1
  77. package/dist/collection/auth/api/schemas.js +78 -0
  78. package/dist/collection/auth/api/schemas.js.map +1 -0
  79. package/dist/collection/auth/auth-helpers.js +47 -36
  80. package/dist/collection/auth/auth-helpers.js.map +1 -1
  81. package/dist/collection/auth/components/missing-fields-submit-button/missing-fields-submit-button.js +4 -1
  82. package/dist/collection/auth/components/missing-fields-submit-button/missing-fields-submit-button.js.map +1 -1
  83. package/dist/collection/auth/components/password-field/password-field.js +1 -1
  84. package/dist/collection/auth/passkey-auth.js +8 -6
  85. package/dist/collection/auth/passkey-auth.js.map +1 -1
  86. package/dist/collection/auth/store/auth-store.js +0 -1
  87. package/dist/collection/auth/store/auth-store.js.map +1 -1
  88. package/dist/collection/locales/de.json +0 -1
  89. package/dist/collection/locales/en.json +0 -1
  90. package/dist/collection/locales/fr.json +0 -1
  91. package/dist/collection/locales/it.json +0 -1
  92. package/dist/collection/locales/nl_be.json +0 -1
  93. package/dist/collection/locales/ro.json +0 -1
  94. package/dist/collection/newsletter/api/newsletters.js +192 -167
  95. package/dist/collection/newsletter/api/newsletters.js.map +1 -1
  96. package/dist/collection/newsletter/api/schemas.js +112 -0
  97. package/dist/collection/newsletter/api/schemas.js.map +1 -0
  98. package/dist/collection/newsletter/newsletter-helpers.js +57 -70
  99. package/dist/collection/newsletter/newsletter-helpers.js.map +1 -1
  100. package/dist/collection/profile/api/profile.js +56 -155
  101. package/dist/collection/profile/api/profile.js.map +1 -1
  102. package/dist/collection/profile/api/schemas.js +120 -0
  103. package/dist/collection/profile/api/schemas.js.map +1 -0
  104. package/dist/collection/profile/components/field/field.css +1 -1
  105. package/dist/collection/profile/components/profile/profile.js +35 -101
  106. package/dist/collection/profile/components/profile/profile.js.map +1 -1
  107. package/dist/collection/shared/components/config/config.js +2 -2
  108. package/dist/collection/shared/components/error-message/error-message.js +3 -3
  109. package/dist/collection/shared/components/error-message/error-message.js.map +1 -1
  110. package/dist/collection/shared/components/spinner/spinner.css +1 -1
  111. package/dist/collection/shared/components/submit-button/submit-button.css +1 -1
  112. package/dist/collection/ticketable/api/schemas.js +58 -9
  113. package/dist/collection/ticketable/api/schemas.js.map +1 -1
  114. package/dist/collection/ticketable/api/subscriptions.js +13 -44
  115. package/dist/collection/ticketable/api/subscriptions.js.map +1 -1
  116. package/dist/collection/ticketable/api/ticketable-service.js +74 -0
  117. package/dist/collection/ticketable/api/ticketable-service.js.map +1 -0
  118. package/dist/collection/ticketable/api/tickets.js +13 -45
  119. package/dist/collection/ticketable/api/tickets.js.map +1 -1
  120. package/dist/collection/ticketable/components/ticketable-list/ticketable-list.js +37 -77
  121. package/dist/collection/ticketable/components/ticketable-list/ticketable-list.js.map +1 -1
  122. package/dist/components/auth-store.js +0 -1
  123. package/dist/components/auth-store.js.map +1 -1
  124. package/dist/components/field.js +1 -1
  125. package/dist/components/field.js.map +1 -1
  126. package/dist/components/i18n.js +0 -6
  127. package/dist/components/i18n.js.map +1 -1
  128. package/dist/components/index.js +1 -2
  129. package/dist/components/index.js.map +1 -1
  130. package/dist/components/index2.js +1475 -1106
  131. package/dist/components/index2.js.map +1 -1
  132. package/dist/components/newsletter-helpers.js +57 -70
  133. package/dist/components/newsletter-helpers.js.map +1 -1
  134. package/dist/components/profile.js +34 -54
  135. package/dist/components/profile.js.map +1 -1
  136. package/dist/components/spinner.js +1 -1
  137. package/dist/components/spinner.js.map +1 -1
  138. package/dist/components/submit-button.js +1 -1
  139. package/dist/components/submit-button.js.map +1 -1
  140. package/dist/components/u-config.js +1 -2
  141. package/dist/components/u-config.js.map +1 -1
  142. package/dist/components/u-error-message.js +2 -2
  143. package/dist/components/u-error-message.js.map +1 -1
  144. package/dist/components/u-logout-button.js +1 -1
  145. package/dist/components/u-magic-code-field.js +1 -1
  146. package/dist/components/u-missing-fields-submit-button.js +4 -1
  147. package/dist/components/u-missing-fields-submit-button.js.map +1 -1
  148. package/dist/components/u-newsletter-root.js +1 -1
  149. package/dist/components/u-passkey.js +1 -1
  150. package/dist/components/u-reset-password-button.js +1 -1
  151. package/dist/components/u-send-magic-code-button.js +1 -1
  152. package/dist/components/u-signin-step.js +1 -1
  153. package/dist/components/u-ticketable-list.js +36 -29
  154. package/dist/components/u-ticketable-list.js.map +1 -1
  155. package/dist/esm/app-globals-CPU9ZcqZ.js.map +1 -1
  156. package/dist/esm/{auth-store-CVvBlKGv.js → auth-store-BMqUdTpC.js} +2 -3
  157. package/dist/esm/auth-store-BMqUdTpC.js.map +1 -0
  158. package/dist/esm/{i18n-CLdWzy5J.js → i18n-BANodpxG.js} +2 -8
  159. package/dist/esm/{i18n-CLdWzy5J.js.map → i18n-BANodpxG.js.map} +1 -1
  160. package/dist/esm/{index-DSDkaHWI.js → index-2p1QEJrx.js} +1477 -1108
  161. package/dist/esm/index-2p1QEJrx.js.map +1 -0
  162. package/dist/esm/index.js +3 -4
  163. package/dist/esm/index.js.map +1 -1
  164. package/dist/esm/{newsletter-helpers-Dc_24im3.js → newsletter-helpers-D64LTcSM.js} +61 -74
  165. package/dist/esm/newsletter-helpers-D64LTcSM.js.map +1 -0
  166. package/dist/esm/{profile-helpers-CglNd6Nw.js → profile-helpers-DAvXZ9Uj.js} +3 -3
  167. package/dist/esm/{profile-helpers-CglNd6Nw.js.map → profile-helpers-DAvXZ9Uj.js.map} +1 -1
  168. package/dist/esm/u-conditional-render.entry.js +5 -6
  169. package/dist/esm/u-conditional-render.entry.js.map +1 -1
  170. package/dist/esm/u-config.entry.js +4 -5
  171. package/dist/esm/u-config.entry.js.map +1 -1
  172. package/dist/esm/u-email-field.entry.js +2 -2
  173. package/dist/esm/u-error-message.entry.js +3 -3
  174. package/dist/esm/u-error-message.entry.js.map +1 -1
  175. package/dist/esm/u-field.u-raw-field.entry.js.map +1 -1
  176. package/dist/esm/u-field_2.entry.js +2 -2
  177. package/dist/esm/u-full-profile.entry.js +1 -1
  178. package/dist/esm/u-logout-button.entry.js +5 -6
  179. package/dist/esm/u-logout-button.entry.js.map +1 -1
  180. package/dist/esm/u-magic-code-field.entry.js +4 -5
  181. package/dist/esm/u-magic-code-field.entry.js.map +1 -1
  182. package/dist/esm/u-missing-field.entry.js +1 -1
  183. package/dist/esm/u-missing-fields-submit-button.entry.js +9 -5
  184. package/dist/esm/u-missing-fields-submit-button.entry.js.map +1 -1
  185. package/dist/esm/u-newsletter-checkbox.entry.js +5 -6
  186. package/dist/esm/u-newsletter-checkbox.entry.js.map +1 -1
  187. package/dist/esm/u-newsletter-logout-button.entry.js +6 -7
  188. package/dist/esm/u-newsletter-logout-button.entry.js.map +1 -1
  189. package/dist/esm/u-newsletter-preference-checkbox.entry.js +5 -6
  190. package/dist/esm/u-newsletter-preference-checkbox.entry.js.map +1 -1
  191. package/dist/esm/u-newsletter-resend-doi-button.entry.js +4 -5
  192. package/dist/esm/u-newsletter-resend-doi-button.entry.js.map +1 -1
  193. package/dist/esm/u-newsletter-root.entry.js +4 -5
  194. package/dist/esm/u-newsletter-root.entry.js.map +1 -1
  195. package/dist/esm/u-newsletter-toggle-subscription-button.entry.js +4 -5
  196. package/dist/esm/u-newsletter-toggle-subscription-button.entry.js.map +1 -1
  197. package/dist/esm/u-passkey.entry.js +4 -5
  198. package/dist/esm/u-passkey.entry.js.map +1 -1
  199. package/dist/esm/u-password-field.entry.js +2 -2
  200. package/dist/esm/u-profile.u-submit-button.entry.js.map +1 -1
  201. package/dist/esm/u-profile_2.entry.js +36 -56
  202. package/dist/esm/u-registration-button.entry.js +2 -2
  203. package/dist/esm/u-reset-password-button.entry.js +3 -4
  204. package/dist/esm/u-reset-password-button.entry.js.map +1 -1
  205. package/dist/esm/u-send-magic-code-button.entry.js +4 -5
  206. package/dist/esm/u-send-magic-code-button.entry.js.map +1 -1
  207. package/dist/esm/u-signed-in.entry.js +1 -1
  208. package/dist/esm/u-signin-root.entry.js +1 -1
  209. package/dist/esm/u-signin-step.entry.js +4 -5
  210. package/dist/esm/u-signin-step.entry.js.map +1 -1
  211. package/dist/esm/u-signin-strategy.entry.js +1 -1
  212. package/dist/esm/u-social-login-button.entry.js +2 -2
  213. package/dist/esm/u-spinner.entry.js +1 -1
  214. package/dist/esm/u-spinner.entry.js.map +1 -1
  215. package/dist/esm/u-ticketable-list.entry.js +40 -30
  216. package/dist/esm/u-ticketable-list.entry.js.map +1 -1
  217. package/dist/sdk/index.esm.js +1 -1
  218. package/dist/sdk/index.esm.js.map +1 -1
  219. package/dist/sdk/locales/de.json +0 -1
  220. package/dist/sdk/locales/en.json +0 -1
  221. package/dist/sdk/locales/fr.json +0 -1
  222. package/dist/sdk/locales/it.json +0 -1
  223. package/dist/sdk/locales/nl_be.json +0 -1
  224. package/dist/sdk/locales/ro.json +0 -1
  225. package/dist/sdk/{p-5babee6b.entry.js → p-098eef67.entry.js} +2 -2
  226. package/dist/sdk/p-0e74de96.entry.js +2 -0
  227. package/dist/sdk/p-0e74de96.entry.js.map +1 -0
  228. package/dist/sdk/p-0ed36cbb.entry.js +2 -0
  229. package/dist/sdk/p-0ed36cbb.entry.js.map +1 -0
  230. package/dist/sdk/p-1149e044.entry.js +2 -0
  231. package/dist/sdk/p-1149e044.entry.js.map +1 -0
  232. package/dist/sdk/p-16d763fd.entry.js +2 -0
  233. package/dist/sdk/p-16d763fd.entry.js.map +1 -0
  234. package/dist/sdk/p-1d404c36.entry.js +2 -0
  235. package/dist/sdk/p-1d404c36.entry.js.map +1 -0
  236. package/dist/sdk/p-32da9922.entry.js +2 -0
  237. package/dist/sdk/p-32da9922.entry.js.map +1 -0
  238. package/dist/sdk/p-3d3a9c90.entry.js +2 -0
  239. package/dist/sdk/p-3d3a9c90.entry.js.map +1 -0
  240. package/dist/sdk/p-43024bd6.entry.js +2 -0
  241. package/dist/sdk/p-43024bd6.entry.js.map +1 -0
  242. package/dist/sdk/{p-e2e7061b.entry.js → p-5da49d00.entry.js} +2 -2
  243. package/dist/sdk/{p-f961fbea.entry.js → p-67af762e.entry.js} +2 -2
  244. package/dist/sdk/{p-f961fbea.entry.js.map → p-67af762e.entry.js.map} +1 -1
  245. package/dist/sdk/p-7099bd56.entry.js +2 -0
  246. package/dist/sdk/p-7099bd56.entry.js.map +1 -0
  247. package/dist/sdk/p-745742f1.entry.js +2 -0
  248. package/dist/sdk/{p-9e71a36c.entry.js → p-74e6523f.entry.js} +2 -2
  249. package/dist/sdk/p-86d16818.entry.js +2 -0
  250. package/dist/sdk/{p-effaf86b.entry.js.map → p-86d16818.entry.js.map} +1 -1
  251. package/dist/sdk/{p-DA84OuuU.js → p-BasehRhW.js} +2 -2
  252. package/dist/sdk/{p-DA84OuuU.js.map → p-BasehRhW.js.map} +1 -1
  253. package/dist/sdk/p-C4aHo4nN.js +2 -0
  254. package/dist/sdk/p-C4aHo4nN.js.map +1 -0
  255. package/dist/sdk/p-CFiZLMAA.js.map +1 -1
  256. package/dist/sdk/p-DGDhaqCd.js +2 -0
  257. package/dist/sdk/p-DGDhaqCd.js.map +1 -0
  258. package/dist/sdk/{p-CbRhHGU5.js → p-DSq94RWc.js} +2 -2
  259. package/dist/sdk/{p-CbRhHGU5.js.map → p-DSq94RWc.js.map} +1 -1
  260. package/dist/sdk/p-DSwwVdp1.js +2 -0
  261. package/dist/sdk/p-DSwwVdp1.js.map +1 -0
  262. package/dist/sdk/p-a037bbe3.entry.js +2 -0
  263. package/dist/sdk/p-a037bbe3.entry.js.map +1 -0
  264. package/dist/sdk/p-adcb7911.entry.js +2 -0
  265. package/dist/sdk/p-adcb7911.entry.js.map +1 -0
  266. package/dist/sdk/{p-39b61f33.entry.js → p-bbbec3d4.entry.js} +2 -2
  267. package/dist/sdk/{p-f232929b.entry.js → p-c2fba7c8.entry.js} +2 -2
  268. package/dist/sdk/p-c4618822.entry.js +2 -0
  269. package/dist/sdk/p-c4618822.entry.js.map +1 -0
  270. package/dist/sdk/p-ca4e57f2.entry.js +2 -0
  271. package/dist/sdk/p-ca4e57f2.entry.js.map +1 -0
  272. package/dist/sdk/p-ce4ab77c.entry.js +2 -0
  273. package/dist/sdk/p-ce4ab77c.entry.js.map +1 -0
  274. package/dist/sdk/p-d143e097.entry.js +2 -0
  275. package/dist/sdk/p-d143e097.entry.js.map +1 -0
  276. package/dist/sdk/{p-a69b83ec.entry.js → p-e0d2397c.entry.js} +2 -2
  277. package/dist/sdk/{p-80034205.entry.js → p-e6beb9d7.entry.js} +2 -2
  278. package/dist/sdk/p-ecc7fcff.entry.js +2 -0
  279. package/dist/sdk/p-ecc7fcff.entry.js.map +1 -0
  280. package/dist/sdk/{p-2cb6a2d0.entry.js → p-f1788e52.entry.js} +2 -2
  281. package/dist/sdk/p-fb665a5c.entry.js +2 -0
  282. package/dist/sdk/p-fb665a5c.entry.js.map +1 -0
  283. package/dist/sdk/p-fc67cf07.entry.js +2 -0
  284. package/dist/sdk/p-fc67cf07.entry.js.map +1 -0
  285. package/dist/sdk/sdk.esm.js +1 -1
  286. package/dist/sdk/u-conditional-render.entry.esm.js.map +1 -1
  287. package/dist/sdk/u-config.entry.esm.js.map +1 -1
  288. package/dist/sdk/u-error-message.entry.esm.js.map +1 -1
  289. package/dist/sdk/u-field.u-raw-field.entry.esm.js.map +1 -1
  290. package/dist/sdk/u-logout-button.entry.esm.js.map +1 -1
  291. package/dist/sdk/u-magic-code-field.entry.esm.js.map +1 -1
  292. package/dist/sdk/u-missing-fields-submit-button.entry.esm.js.map +1 -1
  293. package/dist/sdk/u-newsletter-checkbox.entry.esm.js.map +1 -1
  294. package/dist/sdk/u-newsletter-logout-button.entry.esm.js.map +1 -1
  295. package/dist/sdk/u-newsletter-preference-checkbox.entry.esm.js.map +1 -1
  296. package/dist/sdk/u-newsletter-resend-doi-button.entry.esm.js.map +1 -1
  297. package/dist/sdk/u-newsletter-root.entry.esm.js.map +1 -1
  298. package/dist/sdk/u-newsletter-toggle-subscription-button.entry.esm.js.map +1 -1
  299. package/dist/sdk/u-passkey.entry.esm.js.map +1 -1
  300. package/dist/sdk/u-profile.u-submit-button.entry.esm.js.map +1 -1
  301. package/dist/sdk/u-reset-password-button.entry.esm.js.map +1 -1
  302. package/dist/sdk/u-send-magic-code-button.entry.esm.js.map +1 -1
  303. package/dist/sdk/u-signin-step.entry.esm.js.map +1 -1
  304. package/dist/sdk/u-spinner.entry.esm.js.map +1 -1
  305. package/dist/sdk/u-ticketable-list.entry.esm.js.map +1 -1
  306. package/dist/types/api/base-client.d.ts +54 -0
  307. package/dist/types/api/base-service.d.ts +62 -0
  308. package/dist/types/api/client.d.ts +9 -31
  309. package/dist/types/api/index.d.ts +1 -0
  310. package/dist/types/api/shared.d.ts +11 -0
  311. package/dist/types/api/standalone.d.ts +105 -0
  312. package/dist/types/auth/api/auth.d.ts +71 -287
  313. package/dist/types/auth/api/schemas.d.ts +572 -0
  314. package/dist/types/auth/auth-helpers.d.ts +65 -66
  315. package/dist/types/auth/store/auth-store.d.ts +3 -3
  316. package/dist/types/components.d.ts +0 -72
  317. package/dist/types/newsletter/api/newsletters.d.ts +73 -196
  318. package/dist/types/newsletter/api/schemas.d.ts +192 -0
  319. package/dist/types/profile/api/profile.d.ts +12 -237
  320. package/dist/types/profile/api/schemas.d.ts +336 -0
  321. package/dist/types/profile/components/profile/profile.d.ts +1 -17
  322. package/dist/types/shared/components/error-message/error-message.d.ts +1 -1
  323. package/dist/types/ticketable/api/schemas.d.ts +108 -15
  324. package/dist/types/ticketable/api/subscriptions.d.ts +16 -83
  325. package/dist/types/ticketable/api/ticketable-service.d.ts +39 -0
  326. package/dist/types/ticketable/api/tickets.d.ts +16 -85
  327. package/dist/types/ticketable/components/ticketable-list/ticketable-list.d.ts +2 -12
  328. package/package.json +5 -1
  329. package/dist/cjs/auth-NU3DBc-6.js +0 -581
  330. package/dist/cjs/auth-NU3DBc-6.js.map +0 -1
  331. package/dist/cjs/auth-store-BaxuIp4z.js.map +0 -1
  332. package/dist/cjs/index-R2MKLaem.js.map +0 -1
  333. package/dist/cjs/newsletter-helpers-DR0vsegt.js.map +0 -1
  334. package/dist/collection/ticketable/api/get-with-schema.js +0 -35
  335. package/dist/collection/ticketable/api/get-with-schema.js.map +0 -1
  336. package/dist/components/auth.js +0 -580
  337. package/dist/components/auth.js.map +0 -1
  338. package/dist/esm/auth-nsjRdpvS.js +0 -579
  339. package/dist/esm/auth-nsjRdpvS.js.map +0 -1
  340. package/dist/esm/auth-store-CVvBlKGv.js.map +0 -1
  341. package/dist/esm/index-DSDkaHWI.js.map +0 -1
  342. package/dist/esm/newsletter-helpers-Dc_24im3.js.map +0 -1
  343. package/dist/sdk/p-0ab98e7a.entry.js +0 -2
  344. package/dist/sdk/p-0ab98e7a.entry.js.map +0 -1
  345. package/dist/sdk/p-0d324822.entry.js +0 -2
  346. package/dist/sdk/p-0d324822.entry.js.map +0 -1
  347. package/dist/sdk/p-0fb37ee9.entry.js +0 -2
  348. package/dist/sdk/p-0fb37ee9.entry.js.map +0 -1
  349. package/dist/sdk/p-3049e73f.entry.js +0 -2
  350. package/dist/sdk/p-3049e73f.entry.js.map +0 -1
  351. package/dist/sdk/p-312b919e.entry.js +0 -2
  352. package/dist/sdk/p-312b919e.entry.js.map +0 -1
  353. package/dist/sdk/p-319c5d3b.entry.js +0 -2
  354. package/dist/sdk/p-319c5d3b.entry.js.map +0 -1
  355. package/dist/sdk/p-34b98f55.entry.js +0 -2
  356. package/dist/sdk/p-34b98f55.entry.js.map +0 -1
  357. package/dist/sdk/p-4ec3302d.entry.js +0 -2
  358. package/dist/sdk/p-4ec3302d.entry.js.map +0 -1
  359. package/dist/sdk/p-568eabbc.entry.js +0 -2
  360. package/dist/sdk/p-568eabbc.entry.js.map +0 -1
  361. package/dist/sdk/p-5b40a68b.entry.js +0 -2
  362. package/dist/sdk/p-5b40a68b.entry.js.map +0 -1
  363. package/dist/sdk/p-66587fdd.entry.js +0 -2
  364. package/dist/sdk/p-66587fdd.entry.js.map +0 -1
  365. package/dist/sdk/p-88d93d64.entry.js +0 -2
  366. package/dist/sdk/p-90e2253e.entry.js +0 -2
  367. package/dist/sdk/p-90e2253e.entry.js.map +0 -1
  368. package/dist/sdk/p-BiILQPdb.js +0 -2
  369. package/dist/sdk/p-BiILQPdb.js.map +0 -1
  370. package/dist/sdk/p-DdUvQelg.js +0 -2
  371. package/dist/sdk/p-DdUvQelg.js.map +0 -1
  372. package/dist/sdk/p-PKvQIsOt.js +0 -2
  373. package/dist/sdk/p-PKvQIsOt.js.map +0 -1
  374. package/dist/sdk/p-a4f5940f.entry.js +0 -2
  375. package/dist/sdk/p-a4f5940f.entry.js.map +0 -1
  376. package/dist/sdk/p-aMrLKr2m.js +0 -2
  377. package/dist/sdk/p-aMrLKr2m.js.map +0 -1
  378. package/dist/sdk/p-bfb04b17.entry.js +0 -2
  379. package/dist/sdk/p-bfb04b17.entry.js.map +0 -1
  380. package/dist/sdk/p-c6816542.entry.js +0 -2
  381. package/dist/sdk/p-c6816542.entry.js.map +0 -1
  382. package/dist/sdk/p-da363474.entry.js +0 -2
  383. package/dist/sdk/p-da363474.entry.js.map +0 -1
  384. package/dist/sdk/p-e54d5d38.entry.js +0 -2
  385. package/dist/sdk/p-e54d5d38.entry.js.map +0 -1
  386. package/dist/sdk/p-e81bbd62.entry.js +0 -2
  387. package/dist/sdk/p-e81bbd62.entry.js.map +0 -1
  388. package/dist/sdk/p-effaf86b.entry.js +0 -2
  389. package/dist/types/ticketable/api/get-with-schema.d.ts +0 -3
  390. /package/dist/sdk/{p-5babee6b.entry.js.map → p-098eef67.entry.js.map} +0 -0
  391. /package/dist/sdk/{p-e2e7061b.entry.js.map → p-5da49d00.entry.js.map} +0 -0
  392. /package/dist/sdk/{p-88d93d64.entry.js.map → p-745742f1.entry.js.map} +0 -0
  393. /package/dist/sdk/{p-9e71a36c.entry.js.map → p-74e6523f.entry.js.map} +0 -0
  394. /package/dist/sdk/{p-39b61f33.entry.js.map → p-bbbec3d4.entry.js.map} +0 -0
  395. /package/dist/sdk/{p-f232929b.entry.js.map → p-c2fba7c8.entry.js.map} +0 -0
  396. /package/dist/sdk/{p-a69b83ec.entry.js.map → p-e0d2397c.entry.js.map} +0 -0
  397. /package/dist/sdk/{p-80034205.entry.js.map → p-e6beb9d7.entry.js.map} +0 -0
  398. /package/dist/sdk/{p-2cb6a2d0.entry.js.map → p-f1788e52.entry.js.map} +0 -0
@@ -1,12 +1,61 @@
1
- import { PaginationParamsSchema } from "../../api/shared";
2
1
  import * as z from "zod";
3
- export const TicketableListParamsBaseSchema = z
4
- .object({
5
- service_id: z.number().nullable(),
2
+ import { PaginationMetaSchema } from "../../api/shared";
3
+ // Date transformer for ISO8601 strings
4
+ const dateTransformer = z.coerce.date();
5
+ const nullableDateTransformer = z.coerce.date().nullable();
6
+ // Ticket schema based on TicketSerializer
7
+ export const TicketSchema = z.object({
8
+ id: z.uuid(), // unidy_id
9
+ title: z.string(),
10
+ text: z.string().nullable(),
11
+ reference: z.string(),
12
+ metadata: z.record(z.string(), z.unknown()).nullable(),
13
+ wallet_export: z.record(z.string(), z.unknown()).nullable(),
6
14
  state: z.string(),
7
- payment_state: z.string(),
8
- order_by: z.enum(["starts_at", "ends_at", "reference", "created_at"]),
9
- order_direction: z.enum(["asc", "desc"]),
10
- })
11
- .merge(PaginationParamsSchema);
15
+ payment_state: z.string().nullable(),
16
+ button_cta_url: z.string().nullable(),
17
+ info_banner: z.string().nullable(),
18
+ seating: z.string().nullable(),
19
+ venue: z.string().nullable(),
20
+ currency: z.string().nullable(),
21
+ starts_at: dateTransformer, // ISO8601(3) -> Date
22
+ ends_at: nullableDateTransformer, // ISO8601(3) -> Date | null
23
+ created_at: dateTransformer, // ISO8601(3) -> Date
24
+ updated_at: dateTransformer, // ISO8601(3) -> Date
25
+ price: z.number(), // decimal(8, 2) -> float
26
+ user_id: z.uuid(),
27
+ ticket_category_id: z.uuid(),
28
+ });
29
+ // Tickets list response schema
30
+ export const TicketsListResponseSchema = z.object({
31
+ meta: PaginationMetaSchema,
32
+ results: z.array(TicketSchema),
33
+ });
34
+ // Subscription schema based on SubscriptionSerializer
35
+ export const SubscriptionSchema = z.object({
36
+ id: z.uuid(), // unidy_id
37
+ title: z.string(),
38
+ text: z.string(),
39
+ payment_frequency: z.string().nullable(),
40
+ metadata: z.record(z.string(), z.unknown()).nullable(),
41
+ wallet_export: z.record(z.string(), z.unknown()).nullable(),
42
+ state: z.string(),
43
+ reference: z.string(),
44
+ payment_state: z.string().nullable(),
45
+ currency: z.string().nullable(),
46
+ button_cta_url: z.string().nullable(),
47
+ created_at: dateTransformer, // ISO8601(3) -> Date
48
+ updated_at: dateTransformer, // ISO8601(3) -> Date
49
+ starts_at: nullableDateTransformer, // ISO8601(3) -> Date | null
50
+ ends_at: nullableDateTransformer, // ISO8601(3) -> Date | null
51
+ next_payment_at: nullableDateTransformer, // ISO8601(3) -> Date | null
52
+ price: z.number(), // decimal(8, 2) -> float
53
+ user_id: z.uuid(),
54
+ subscription_category_id: z.uuid(),
55
+ });
56
+ // Subscriptions list response schema
57
+ export const SubscriptionsListResponseSchema = z.object({
58
+ meta: PaginationMetaSchema,
59
+ results: z.array(SubscriptionSchema),
60
+ });
12
61
  //# sourceMappingURL=schemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/ticketable/api/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC;KAC5C,MAAM,CAAC;IACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IACrE,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;CACzC,CAAC;KACD,KAAK,CAAC,sBAAsB,CAAC,CAAC","sourcesContent":["import { PaginationParamsSchema } from \"../../api/shared\";\nimport * as z from \"zod\";\n\nexport const TicketableListParamsBaseSchema = z\n .object({\n service_id: z.number().nullable(),\n state: z.string(),\n payment_state: z.string(),\n order_by: z.enum([\"starts_at\", \"ends_at\", \"reference\", \"created_at\"]),\n order_direction: z.enum([\"asc\", \"desc\"]),\n })\n .merge(PaginationParamsSchema);\n"]}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/ticketable/api/schemas.ts"],"names":[],"mappings":"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","sourcesContent":["import * as z from \"zod\";\nimport { PaginationMetaSchema } from \"../../api/shared\";\n\n// Date transformer for ISO8601 strings\nconst dateTransformer = z.coerce.date();\nconst nullableDateTransformer = z.coerce.date().nullable();\n\n// Ticket schema based on TicketSerializer\nexport const TicketSchema = z.object({\n id: z.uuid(), // unidy_id\n title: z.string(),\n text: z.string().nullable(),\n reference: z.string(),\n metadata: z.record(z.string(), z.unknown()).nullable(),\n wallet_export: z.record(z.string(), z.unknown()).nullable(),\n state: z.string(),\n payment_state: z.string().nullable(),\n button_cta_url: z.string().nullable(),\n info_banner: z.string().nullable(),\n seating: z.string().nullable(),\n venue: z.string().nullable(),\n currency: z.string().nullable(),\n starts_at: dateTransformer, // ISO8601(3) -> Date\n ends_at: nullableDateTransformer, // ISO8601(3) -> Date | null\n created_at: dateTransformer, // ISO8601(3) -> Date\n updated_at: dateTransformer, // ISO8601(3) -> Date\n price: z.number(), // decimal(8, 2) -> float\n user_id: z.uuid(),\n ticket_category_id: z.uuid(),\n});\n\n// Tickets list response schema\nexport const TicketsListResponseSchema = z.object({\n meta: PaginationMetaSchema,\n results: z.array(TicketSchema),\n});\n\n// Subscription schema based on SubscriptionSerializer\nexport const SubscriptionSchema = z.object({\n id: z.uuid(), // unidy_id\n title: z.string(),\n text: z.string(),\n payment_frequency: z.string().nullable(),\n metadata: z.record(z.string(), z.unknown()).nullable(),\n wallet_export: z.record(z.string(), z.unknown()).nullable(),\n state: z.string(),\n reference: z.string(),\n payment_state: z.string().nullable(),\n currency: z.string().nullable(),\n button_cta_url: z.string().nullable(),\n created_at: dateTransformer, // ISO8601(3) -> Date\n updated_at: dateTransformer, // ISO8601(3) -> Date\n starts_at: nullableDateTransformer, // ISO8601(3) -> Date | null\n ends_at: nullableDateTransformer, // ISO8601(3) -> Date | null\n next_payment_at: nullableDateTransformer, // ISO8601(3) -> Date | null\n price: z.number(), // decimal(8, 2) -> float\n user_id: z.uuid(),\n subscription_category_id: z.uuid(),\n});\n\n// Subscriptions list response schema\nexport const SubscriptionsListResponseSchema = z.object({\n meta: PaginationMetaSchema,\n results: z.array(SubscriptionSchema),\n});\n\n// Export types\nexport type Ticket = z.infer<typeof TicketSchema>;\nexport type TicketsListResponse = z.infer<typeof TicketsListResponseSchema>;\n\nexport type Subscription = z.infer<typeof SubscriptionSchema>;\nexport type SubscriptionsListResponse = z.infer<typeof SubscriptionsListResponseSchema>;\n"]}
@@ -1,47 +1,16 @@
1
- import * as z from "zod";
2
- import { TicketableListParamsBaseSchema } from "./schemas";
3
- import { getWithSchema } from "./get-with-schema";
4
- import { PaginationMetaSchema } from "../../api";
5
- // Date transformer for ISO8601 strings
6
- const dateTransformer = z.coerce.date();
7
- const nullableDateTransformer = z.coerce.date().nullable();
8
- // Subscription types based on SubscriptionSerializer
9
- const SubscriptionSchema = z.object({
10
- id: z.uuid(), // unidy_id
11
- title: z.string(),
12
- text: z.string(),
13
- payment_frequency: z.string().nullable(),
14
- metadata: z.record(z.string(), z.unknown()).nullable(),
15
- wallet_export: z.record(z.string(), z.unknown()).nullable(),
16
- state: z.string(),
17
- reference: z.string(),
18
- payment_state: z.string().nullable(),
19
- currency: z.string().nullable(),
20
- button_cta_url: z.string().nullable(),
21
- created_at: dateTransformer, // ISO8601(3) -> Date
22
- updated_at: dateTransformer, // ISO8601(3) -> Date
23
- starts_at: nullableDateTransformer, // ISO8601(3) -> Date | null
24
- ends_at: nullableDateTransformer, // ISO8601(3) -> Date | null
25
- next_payment_at: nullableDateTransformer, // ISO8601(3) -> Date | null
26
- price: z.number(), // decimal(8, 2) -> float
27
- user_id: z.uuid(),
28
- subscription_category_id: z.uuid(),
29
- });
30
- // List response
31
- const SubscriptionsListResponseSchema = z.object({
32
- meta: PaginationMetaSchema,
33
- results: z.array(SubscriptionSchema),
34
- });
35
- // Query params schema with validations
36
- const SubscriptionsListParamsSchema = TicketableListParamsBaseSchema.extend({ subscription_category_id: z.string().uuid() }).partial();
37
- export class SubscriptionsService {
38
- client;
39
- list;
40
- get;
41
- constructor(client) {
42
- this.client = client;
43
- this.list = getWithSchema(this.client, SubscriptionsListResponseSchema, (_args) => "/api/sdk/v1/subscriptions", SubscriptionsListParamsSchema);
44
- this.get = getWithSchema(this.client, SubscriptionSchema, (args) => `/api/sdk/v1/subscriptions/${args.id}`);
1
+ import { SubscriptionSchema, SubscriptionsListResponseSchema } from "./schemas";
2
+ import { TicketableService } from "./ticketable-service";
3
+ export class SubscriptionsService extends TicketableService {
4
+ constructor(client, deps) {
5
+ super(client, "SubscriptionsService", deps);
6
+ }
7
+ async list(args = {}) {
8
+ const params = this.buildListParams(args, "subscription_category_id", args.subscriptionCategoryId);
9
+ const queryString = this.toQueryString(params);
10
+ return this.handleList("/api/sdk/v1/subscriptions", queryString, SubscriptionsListResponseSchema, "subscriptions");
11
+ }
12
+ async get(args) {
13
+ return this.handleGet(`/api/sdk/v1/subscriptions/${args.id}`, SubscriptionSchema, "subscription");
45
14
  }
46
15
  }
47
16
  //# sourceMappingURL=subscriptions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscriptions.js","sourceRoot":"","sources":["../../../src/ticketable/api/subscriptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAE,8BAA8B,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAoC,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEnF,uCAAuC;AACvC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AACxC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;AAE3D,qDAAqD;AACrD,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,WAAW;IACzB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACtD,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC3D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,UAAU,EAAE,eAAe,EAAE,qBAAqB;IAClD,UAAU,EAAE,eAAe,EAAE,qBAAqB;IAClD,SAAS,EAAE,uBAAuB,EAAE,4BAA4B;IAChE,OAAO,EAAE,uBAAuB,EAAE,4BAA4B;IAC9D,eAAe,EAAE,uBAAuB,EAAE,4BAA4B;IACtE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,yBAAyB;IAC5C,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE;IACjB,wBAAwB,EAAE,CAAC,CAAC,IAAI,EAAE;CACnC,CAAC,CAAC;AAIH,gBAAgB;AAChB,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC;CACrC,CAAC,CAAC;AAIH,uCAAuC;AACvC,MAAM,6BAA6B,GAAG,8BAA8B,CAAC,MAAM,CAAC,EAAE,wBAAwB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;AAIvI,MAAM,OAAO,oBAAoB;IAIX;IAHpB,IAAI,CAAsG;IAC1G,GAAG,CAA+D;IAElE,YAAoB,MAAiB;QAAjB,WAAM,GAAN,MAAM,CAAW;QACnC,IAAI,CAAC,IAAI,GAAG,aAAa,CACvB,IAAI,CAAC,MAAM,EACX,+BAA+B,EAC/B,CAAC,KAAc,EAAE,EAAE,CAAC,2BAA2B,EAC/C,6BAA6B,CAC9B,CAAC;QAEF,IAAI,CAAC,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,IAAoB,EAAE,EAAE,CAAC,6BAA6B,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9H,CAAC;CACF","sourcesContent":["import * as z from \"zod\";\nimport { TicketableListParamsBaseSchema } from \"./schemas\";\nimport { getWithSchema } from \"./get-with-schema\";\nimport { type ApiClient, type ApiResponse, PaginationMetaSchema } from \"../../api\";\n\n// Date transformer for ISO8601 strings\nconst dateTransformer = z.coerce.date();\nconst nullableDateTransformer = z.coerce.date().nullable();\n\n// Subscription types based on SubscriptionSerializer\nconst SubscriptionSchema = z.object({\n id: z.uuid(), // unidy_id\n title: z.string(),\n text: z.string(),\n payment_frequency: z.string().nullable(),\n metadata: z.record(z.string(), z.unknown()).nullable(),\n wallet_export: z.record(z.string(), z.unknown()).nullable(),\n state: z.string(),\n reference: z.string(),\n payment_state: z.string().nullable(),\n currency: z.string().nullable(),\n button_cta_url: z.string().nullable(),\n created_at: dateTransformer, // ISO8601(3) -> Date\n updated_at: dateTransformer, // ISO8601(3) -> Date\n starts_at: nullableDateTransformer, // ISO8601(3) -> Date | null\n ends_at: nullableDateTransformer, // ISO8601(3) -> Date | null\n next_payment_at: nullableDateTransformer, // ISO8601(3) -> Date | null\n price: z.number(), // decimal(8, 2) -> float\n user_id: z.uuid(),\n subscription_category_id: z.uuid(),\n});\n\nexport type Subscription = z.infer<typeof SubscriptionSchema>;\n\n// List response\nconst SubscriptionsListResponseSchema = z.object({\n meta: PaginationMetaSchema,\n results: z.array(SubscriptionSchema),\n});\n\nexport type SubscriptionsListResponse = z.infer<typeof SubscriptionsListResponseSchema>;\n\n// Query params schema with validations\nconst SubscriptionsListParamsSchema = TicketableListParamsBaseSchema.extend({ subscription_category_id: z.string().uuid() }).partial();\n\nexport type SubscriptionsListParams = z.input<typeof SubscriptionsListParamsSchema>;\n\nexport class SubscriptionsService {\n list: (args: object, params?: SubscriptionsListParams) => Promise<ApiResponse<SubscriptionsListResponse>>;\n get: (args: { id: string }) => Promise<ApiResponse<Subscription>>;\n\n constructor(private client: ApiClient) {\n this.list = getWithSchema(\n this.client,\n SubscriptionsListResponseSchema,\n (_args: unknown) => \"/api/sdk/v1/subscriptions\",\n SubscriptionsListParamsSchema,\n );\n\n this.get = getWithSchema(this.client, SubscriptionSchema, (args: { id: string }) => `/api/sdk/v1/subscriptions/${args.id}`);\n }\n}\n"]}
1
+ {"version":3,"file":"subscriptions.js","sourceRoot":"","sources":["../../../src/ticketable/api/subscriptions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,+BAA+B,EAAqD,MAAM,WAAW,CAAC;AACnI,OAAO,EAAE,iBAAiB,EAAgF,MAAM,sBAAsB,CAAC;AAevI,MAAM,OAAO,oBAAqB,SAAQ,iBAAiB;IACzD,YAAY,MAA0B,EAAE,IAA0B;QAChE,KAAK,CAAC,MAAM,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAA8B,EAAE;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,0BAA0B,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACnG,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,UAAU,CAAC,2BAA2B,EAAE,WAAW,EAAE,+BAA+B,EAAE,eAAe,CAAC,CAAC;IACrH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAA0B;QAClC,OAAO,IAAI,CAAC,SAAS,CAAC,6BAA6B,IAAI,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,cAAc,CAAC,CAAC;IACpG,CAAC;CACF","sourcesContent":["import type { ApiClientInterface, ServiceDependencies } from \"../../api\";\nimport { SubscriptionSchema, SubscriptionsListResponseSchema, type Subscription, type SubscriptionsListResponse } from \"./schemas\";\nimport { TicketableService, type TicketableListArgs, type TicketableListResult, type TicketableGetResult } from \"./ticketable-service\";\n\n// Re-export types for external use\nexport type { Subscription, SubscriptionsListResponse } from \"./schemas\";\n\n// Argument types extending base ticketable args\nexport interface SubscriptionsListArgs extends TicketableListArgs {\n subscriptionCategoryId?: string;\n}\nexport type SubscriptionsGetArgs = { id: string };\n\n// Result types\nexport type SubscriptionsListResult = TicketableListResult<SubscriptionsListResponse>;\nexport type SubscriptionsGetResult = TicketableGetResult<Subscription>;\n\nexport class SubscriptionsService extends TicketableService {\n constructor(client: ApiClientInterface, deps?: ServiceDependencies) {\n super(client, \"SubscriptionsService\", deps);\n }\n\n async list(args: SubscriptionsListArgs = {}): Promise<SubscriptionsListResult> {\n const params = this.buildListParams(args, \"subscription_category_id\", args.subscriptionCategoryId);\n const queryString = this.toQueryString(params);\n return this.handleList(\"/api/sdk/v1/subscriptions\", queryString, SubscriptionsListResponseSchema, \"subscriptions\");\n }\n\n async get(args: SubscriptionsGetArgs): Promise<SubscriptionsGetResult> {\n return this.handleGet(`/api/sdk/v1/subscriptions/${args.id}`, SubscriptionSchema, \"subscription\");\n }\n}\n"]}
@@ -0,0 +1,74 @@
1
+ import { BaseService } from "../../api";
2
+ /**
3
+ * Base service for ticketable resources (tickets and subscriptions).
4
+ * Handles common query parameter building and response parsing.
5
+ */
6
+ export class TicketableService extends BaseService {
7
+ /**
8
+ * Builds query params from args, mapping camelCase to snake_case.
9
+ * Returns undefined values filtered out.
10
+ */
11
+ buildListParams(args = {}, categoryIdKey, categoryIdValue) {
12
+ return {
13
+ page: args.page,
14
+ limit: args.perPage,
15
+ state: args.state,
16
+ payment_state: args.paymentState,
17
+ order_by: args.orderBy,
18
+ order_direction: args.orderDirection,
19
+ service_id: args.serviceId,
20
+ [categoryIdKey]: categoryIdValue,
21
+ };
22
+ }
23
+ /**
24
+ * Converts params to query string, filtering undefined/null and converting to strings.
25
+ */
26
+ toQueryString(params) {
27
+ const filtered = Object.entries(params)
28
+ .filter(([_, v]) => v !== undefined && v !== null)
29
+ .map(([k, v]) => [k, String(v)]);
30
+ if (filtered.length === 0)
31
+ return "";
32
+ return `?${new URLSearchParams(Object.fromEntries(filtered)).toString()}`;
33
+ }
34
+ /**
35
+ * Generic list handler with schema validation.
36
+ */
37
+ async handleList(endpoint, queryString, schema, resourceName) {
38
+ const response = await this.client.get(`${endpoint}${queryString}`);
39
+ return this.handleResponse(response, () => {
40
+ if (!response.success) {
41
+ this.logger.error(`Failed to fetch ${resourceName}`, response);
42
+ return ["server_error", null];
43
+ }
44
+ const parsed = schema.safeParse(response.data);
45
+ if (!parsed.success) {
46
+ this.logger.error("Invalid response format", parsed.error);
47
+ return ["invalid_response", null];
48
+ }
49
+ return [null, parsed.data];
50
+ });
51
+ }
52
+ /**
53
+ * Generic get handler with schema validation.
54
+ */
55
+ async handleGet(endpoint, schema, resourceName) {
56
+ const response = await this.client.get(endpoint);
57
+ return this.handleResponse(response, () => {
58
+ if (!response.success) {
59
+ if (response.status === 404) {
60
+ return ["not_found", null];
61
+ }
62
+ this.logger.error(`Failed to fetch ${resourceName}`, response);
63
+ return ["server_error", null];
64
+ }
65
+ const parsed = schema.safeParse(response.data);
66
+ if (!parsed.success) {
67
+ this.logger.error("Invalid response format", parsed.error);
68
+ return ["invalid_response", null];
69
+ }
70
+ return [null, parsed.data];
71
+ });
72
+ }
73
+ }
74
+ //# sourceMappingURL=ticketable-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticketable-service.js","sourceRoot":"","sources":["../../../src/ticketable/api/ticketable-service.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ZodSchema } from \"zod\";\nimport { BaseService, type CommonErrors } from \"../../api\";\n\n/** Common list arguments for ticketable services */\nexport interface TicketableListArgs {\n page?: number;\n perPage?: number;\n state?: string;\n paymentState?: string;\n orderBy?: \"starts_at\" | \"ends_at\" | \"reference\" | \"created_at\";\n orderDirection?: \"asc\" | \"desc\";\n serviceId?: number;\n}\n\n/** Result type for list operations */\nexport type TicketableListResult<T> = CommonErrors | [\"server_error\", null] | [\"invalid_response\", null] | [null, T];\n\n/** Result type for get operations */\nexport type TicketableGetResult<T> = CommonErrors | [\"server_error\", null] | [\"not_found\", null] | [\"invalid_response\", null] | [null, T];\n\n/**\n * Base service for ticketable resources (tickets and subscriptions).\n * Handles common query parameter building and response parsing.\n */\nexport abstract class TicketableService extends BaseService {\n /**\n * Builds query params from args, mapping camelCase to snake_case.\n * Returns undefined values filtered out.\n */\n protected buildListParams(\n args: TicketableListArgs = {},\n categoryIdKey: string,\n categoryIdValue?: string,\n ): Record<string, string | number | undefined> {\n return {\n page: args.page,\n limit: args.perPage,\n state: args.state,\n payment_state: args.paymentState,\n order_by: args.orderBy,\n order_direction: args.orderDirection,\n service_id: args.serviceId,\n [categoryIdKey]: categoryIdValue,\n };\n }\n\n /**\n * Converts params to query string, filtering undefined/null and converting to strings.\n */\n protected toQueryString(params: Record<string, string | number | undefined>): string {\n const filtered = Object.entries(params)\n .filter(([_, v]) => v !== undefined && v !== null)\n .map(([k, v]) => [k, String(v)]);\n\n if (filtered.length === 0) return \"\";\n return `?${new URLSearchParams(Object.fromEntries(filtered)).toString()}`;\n }\n\n /**\n * Generic list handler with schema validation.\n */\n protected async handleList<T>(\n endpoint: string,\n queryString: string,\n schema: ZodSchema<T>,\n resourceName: string,\n ): Promise<TicketableListResult<T>> {\n const response = await this.client.get<unknown>(`${endpoint}${queryString}`);\n\n return this.handleResponse(response, () => {\n if (!response.success) {\n this.logger.error(`Failed to fetch ${resourceName}`, response);\n return [\"server_error\", null];\n }\n\n const parsed = schema.safeParse(response.data);\n if (!parsed.success) {\n this.logger.error(\"Invalid response format\", parsed.error);\n return [\"invalid_response\", null];\n }\n\n return [null, parsed.data];\n });\n }\n\n /**\n * Generic get handler with schema validation.\n */\n protected async handleGet<T>(endpoint: string, schema: ZodSchema<T>, resourceName: string): Promise<TicketableGetResult<T>> {\n const response = await this.client.get<unknown>(endpoint);\n\n return this.handleResponse(response, () => {\n if (!response.success) {\n if (response.status === 404) {\n return [\"not_found\", null];\n }\n this.logger.error(`Failed to fetch ${resourceName}`, response);\n return [\"server_error\", null];\n }\n\n const parsed = schema.safeParse(response.data);\n if (!parsed.success) {\n this.logger.error(\"Invalid response format\", parsed.error);\n return [\"invalid_response\", null];\n }\n\n return [null, parsed.data];\n });\n }\n}\n"]}
@@ -1,48 +1,16 @@
1
- import * as z from "zod";
2
- import { TicketableListParamsBaseSchema } from "./schemas";
3
- import { getWithSchema } from "./get-with-schema";
4
- import { PaginationMetaSchema } from "../../api/shared";
5
- // Date transformer for ISO8601 strings
6
- const dateTransformer = z.coerce.date();
7
- const nullableDateTransformer = z.coerce.date().nullable();
8
- // Ticket types based on TicketSerializer
9
- const TicketSchema = z.object({
10
- id: z.uuid(), // unidy_id
11
- title: z.string(),
12
- text: z.string().nullable(),
13
- reference: z.string(),
14
- metadata: z.record(z.string(), z.unknown()).nullable(),
15
- wallet_export: z.record(z.string(), z.unknown()).nullable(),
16
- state: z.string(),
17
- payment_state: z.string().nullable(),
18
- button_cta_url: z.string().nullable(),
19
- info_banner: z.string().nullable(),
20
- seating: z.string().nullable(),
21
- venue: z.string().nullable(),
22
- currency: z.string().nullable(),
23
- starts_at: dateTransformer, // ISO8601(3) -> Date
24
- ends_at: nullableDateTransformer, // ISO8601(3) -> Date | null
25
- created_at: dateTransformer, // ISO8601(3) -> Date
26
- updated_at: dateTransformer, // ISO8601(3) -> Date
27
- price: z.number(), // decimal(8, 2) -> float
28
- user_id: z.uuid(),
29
- ticket_category_id: z.uuid(),
30
- });
31
- // List response
32
- const TicketsListResponseSchema = z.object({
33
- meta: PaginationMetaSchema,
34
- results: z.array(TicketSchema),
35
- });
36
- // Query params schema with validations
37
- const TicketsListParamsSchema = TicketableListParamsBaseSchema.extend({ ticket_category_id: z.string().uuid() }).partial();
38
- export class TicketsService {
39
- client;
40
- list;
41
- get;
42
- constructor(client) {
43
- this.client = client;
44
- this.list = getWithSchema(this.client, TicketsListResponseSchema, (_args) => "/api/sdk/v1/tickets", TicketsListParamsSchema);
45
- this.get = getWithSchema(this.client, TicketSchema, (args) => `/api/sdk/v1/tickets/${args.id}`);
1
+ import { TicketSchema, TicketsListResponseSchema } from "./schemas";
2
+ import { TicketableService } from "./ticketable-service";
3
+ export class TicketsService extends TicketableService {
4
+ constructor(client, deps) {
5
+ super(client, "TicketsService", deps);
6
+ }
7
+ async list(args = {}) {
8
+ const params = this.buildListParams(args, "ticket_category_id", args.ticketCategoryId);
9
+ const queryString = this.toQueryString(params);
10
+ return this.handleList("/api/sdk/v1/tickets", queryString, TicketsListResponseSchema, "tickets");
11
+ }
12
+ async get(args) {
13
+ return this.handleGet(`/api/sdk/v1/tickets/${args.id}`, TicketSchema, "ticket");
46
14
  }
47
15
  }
48
16
  //# sourceMappingURL=tickets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tickets.js","sourceRoot":"","sources":["../../../src/ticketable/api/tickets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAE,8BAA8B,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGxD,uCAAuC;AACvC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AACxC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;AAE3D,yCAAyC;AACzC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,WAAW;IACzB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACtD,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC3D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,eAAe,EAAE,qBAAqB;IACjD,OAAO,EAAE,uBAAuB,EAAE,4BAA4B;IAC9D,UAAU,EAAE,eAAe,EAAE,qBAAqB;IAClD,UAAU,EAAE,eAAe,EAAE,qBAAqB;IAClD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,yBAAyB;IAC5C,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE;IACjB,kBAAkB,EAAE,CAAC,CAAC,IAAI,EAAE;CAC7B,CAAC,CAAC;AAIH,gBAAgB;AAChB,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;CAC/B,CAAC,CAAC;AAIH,uCAAuC;AACvC,MAAM,uBAAuB,GAAG,8BAA8B,CAAC,MAAM,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;AAI3H,MAAM,OAAO,cAAc;IAIL;IAHpB,IAAI,CAA0F;IAC9F,GAAG,CAAyD;IAE5D,YAAoB,MAAiB;QAAjB,WAAM,GAAN,MAAM,CAAW;QACnC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,yBAAyB,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,CAAC;QAEtI,IAAI,CAAC,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,IAAoB,EAAE,EAAE,CAAC,uBAAuB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAClH,CAAC;CACF","sourcesContent":["import * as z from \"zod\";\nimport { TicketableListParamsBaseSchema } from \"./schemas\";\nimport { getWithSchema } from \"./get-with-schema\";\nimport { PaginationMetaSchema } from \"../../api/shared\";\nimport type { ApiClient, ApiResponse } from \"../../api\";\n\n// Date transformer for ISO8601 strings\nconst dateTransformer = z.coerce.date();\nconst nullableDateTransformer = z.coerce.date().nullable();\n\n// Ticket types based on TicketSerializer\nconst TicketSchema = z.object({\n id: z.uuid(), // unidy_id\n title: z.string(),\n text: z.string().nullable(),\n reference: z.string(),\n metadata: z.record(z.string(), z.unknown()).nullable(),\n wallet_export: z.record(z.string(), z.unknown()).nullable(),\n state: z.string(),\n payment_state: z.string().nullable(),\n button_cta_url: z.string().nullable(),\n info_banner: z.string().nullable(),\n seating: z.string().nullable(),\n venue: z.string().nullable(),\n currency: z.string().nullable(),\n starts_at: dateTransformer, // ISO8601(3) -> Date\n ends_at: nullableDateTransformer, // ISO8601(3) -> Date | null\n created_at: dateTransformer, // ISO8601(3) -> Date\n updated_at: dateTransformer, // ISO8601(3) -> Date\n price: z.number(), // decimal(8, 2) -> float\n user_id: z.uuid(),\n ticket_category_id: z.uuid(),\n});\n\nexport type Ticket = z.infer<typeof TicketSchema>;\n\n// List response\nconst TicketsListResponseSchema = z.object({\n meta: PaginationMetaSchema,\n results: z.array(TicketSchema),\n});\n\nexport type TicketsListResponse = z.infer<typeof TicketsListResponseSchema>;\n\n// Query params schema with validations\nconst TicketsListParamsSchema = TicketableListParamsBaseSchema.extend({ ticket_category_id: z.string().uuid() }).partial();\n\nexport type TicketsListParams = z.input<typeof TicketsListParamsSchema>;\n\nexport class TicketsService {\n list: (args: object, params?: TicketsListParams) => Promise<ApiResponse<TicketsListResponse>>;\n get: (args: { id: string }) => Promise<ApiResponse<Ticket>>;\n\n constructor(private client: ApiClient) {\n this.list = getWithSchema(this.client, TicketsListResponseSchema, (_args: unknown) => \"/api/sdk/v1/tickets\", TicketsListParamsSchema);\n\n this.get = getWithSchema(this.client, TicketSchema, (args: { id: string }) => `/api/sdk/v1/tickets/${args.id}`);\n }\n}\n"]}
1
+ {"version":3,"file":"tickets.js","sourceRoot":"","sources":["../../../src/ticketable/api/tickets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAyC,MAAM,WAAW,CAAC;AAC3G,OAAO,EAAE,iBAAiB,EAAgF,MAAM,sBAAsB,CAAC;AAevI,MAAM,OAAO,cAAe,SAAQ,iBAAiB;IACnD,YAAY,MAA0B,EAAE,IAA0B;QAChE,KAAK,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAwB,EAAE;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,oBAAoB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACvF,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,WAAW,EAAE,yBAAyB,EAAE,SAAS,CAAC,CAAC;IACnG,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAoB;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,IAAI,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IAClF,CAAC;CACF","sourcesContent":["import type { ApiClientInterface, ServiceDependencies } from \"../../api\";\nimport { TicketSchema, TicketsListResponseSchema, type Ticket, type TicketsListResponse } from \"./schemas\";\nimport { TicketableService, type TicketableListArgs, type TicketableListResult, type TicketableGetResult } from \"./ticketable-service\";\n\n// Re-export types for external use\nexport type { Ticket, TicketsListResponse } from \"./schemas\";\n\n// Argument types extending base ticketable args\nexport interface TicketsListArgs extends TicketableListArgs {\n ticketCategoryId?: string;\n}\nexport type TicketsGetArgs = { id: string };\n\n// Result types\nexport type TicketsListResult = TicketableListResult<TicketsListResponse>;\nexport type TicketsGetResult = TicketableGetResult<Ticket>;\n\nexport class TicketsService extends TicketableService {\n constructor(client: ApiClientInterface, deps?: ServiceDependencies) {\n super(client, \"TicketsService\", deps);\n }\n\n async list(args: TicketsListArgs = {}): Promise<TicketsListResult> {\n const params = this.buildListParams(args, \"ticket_category_id\", args.ticketCategoryId);\n const queryString = this.toQueryString(params);\n return this.handleList(\"/api/sdk/v1/tickets\", queryString, TicketsListResponseSchema, \"tickets\");\n }\n\n async get(args: TicketsGetArgs): Promise<TicketsGetResult> {\n return this.handleGet(`/api/sdk/v1/tickets/${args.id}`, TicketSchema, \"ticket\");\n }\n}\n"]}
@@ -1,16 +1,16 @@
1
- import { Host, h } from "@stencil/core";
1
+ import { h, Host } from "@stencil/core";
2
+ import { getUnidyClient } from "../../../api";
2
3
  import { format } from "date-fns/format";
3
- import { de } from "date-fns/locale/de";
4
4
  import { enUS } from "date-fns/locale/en-US";
5
+ import { de } from "date-fns/locale/de";
5
6
  import { fr } from "date-fns/locale/fr";
6
7
  import { nlBE } from "date-fns/locale/nl-BE";
7
8
  import { ro } from "date-fns/locale/ro";
8
- import { getUnidyClient } from "../../../api";
9
- import { t } from "../../../i18n";
10
- import { UnidyComponent } from "../../../logger";
11
- import { unidyState, waitForConfig } from "../../../shared/store/unidy-store";
12
- import { createPaginationStore } from "../../store/pagination-store";
13
9
  import { createSkeletonLoader, replaceTextNodesWithSkeletons } from "./skeleton-helpers";
10
+ import { createPaginationStore } from "../../store/pagination-store";
11
+ import { unidyState, waitForConfig } from "../../../shared/store/unidy-store";
12
+ import { UnidyComponent } from "../../../logger";
13
+ import { t } from "../../../i18n";
14
14
  const LOCALES = {
15
15
  "en-US": enUS,
16
16
  de: de,
@@ -42,8 +42,6 @@ export class TicketableList extends UnidyComponent {
42
42
  await this.loadData();
43
43
  }
44
44
  store = null;
45
- uTicketableListSuccess;
46
- uTicketableListError;
47
45
  async componentWillLoad() {
48
46
  this.store = createPaginationStore();
49
47
  }
@@ -59,45 +57,56 @@ export class TicketableList extends UnidyComponent {
59
57
  if (!this.ticketableType) {
60
58
  this.error = "[u-ticketable-list] ticketable-type attribute is required";
61
59
  this.loading = false;
62
- this.uTicketableListError.emit({ error: this.error });
63
60
  return;
64
61
  }
65
62
  if (this.ticketableType !== "ticket" && this.ticketableType !== "subscription") {
66
63
  this.error = `[u-ticketable-list] Invalid ticketable-type: ${this.ticketableType}. Must be 'ticket' or 'subscription'`;
67
64
  this.loading = false;
68
- this.uTicketableListError.emit({ error: this.error });
69
65
  return;
70
66
  }
71
67
  try {
72
68
  const unidyClient = await getUnidyClient();
73
- const service = this.ticketableType === "ticket" ? unidyClient.tickets : unidyClient.subscriptions;
74
- const response = await service.list({}, {
69
+ // Parse filter string into typed args
70
+ const filterArgs = Object.fromEntries((this.filter || "")
71
+ .split(";")
72
+ .filter(Boolean)
73
+ .map((pair) => pair.split("=")));
74
+ // Common args for both services
75
+ const commonArgs = {
75
76
  page: this.page,
76
- limit: this.limit,
77
- ...Object.fromEntries((this.filter || "").split(";").map((pair) => pair.split("="))),
78
- });
79
- if (!response.success || !response.data) {
80
- this.error =
81
- response.error instanceof Error
82
- ? response.error.message
83
- : response.error || `[u-ticketable-list] Failed to fetch ${this.ticketableType}s`;
77
+ perPage: this.limit,
78
+ state: filterArgs.state,
79
+ paymentState: filterArgs.payment_state,
80
+ orderBy: filterArgs.order_by,
81
+ orderDirection: filterArgs.order_direction,
82
+ serviceId: filterArgs.service_id ? Number(filterArgs.service_id) : undefined,
83
+ };
84
+ // Call the appropriate service with type-safe args
85
+ const [error, data] = this.ticketableType === "ticket"
86
+ ? await unidyClient.tickets.list({
87
+ ...commonArgs,
88
+ ticketCategoryId: filterArgs.ticket_category_id,
89
+ })
90
+ : await unidyClient.subscriptions.list({
91
+ ...commonArgs,
92
+ subscriptionCategoryId: filterArgs.subscription_category_id,
93
+ });
94
+ if (error !== null || !data || !("results" in data)) {
95
+ this.error = error || `[u-ticketable-list] Failed to fetch ${this.ticketableType}s`;
84
96
  this.loading = false;
85
- this.uTicketableListError.emit({ error: this.error });
86
97
  return;
87
98
  }
88
- this.items = response.data.results;
89
- this.paginationMeta = response.data.meta;
99
+ this.items = data.results;
100
+ this.paginationMeta = data.meta;
90
101
  // Update the store with pagination data
91
102
  if (this.store) {
92
- this.store.state.paginationMeta = response.data.meta;
103
+ this.store.state.paginationMeta = data.meta;
93
104
  }
94
105
  this.loading = false;
95
- this.uTicketableListSuccess.emit({ ticketableType: this.ticketableType, items: this.items, paginationMeta: this.paginationMeta });
96
106
  }
97
107
  catch (err) {
98
108
  this.error = err instanceof Error ? err.message : "[u-ticketable-list] An error occurred";
99
109
  this.loading = false;
100
- this.uTicketableListError.emit({ error: this.error });
101
110
  }
102
111
  }
103
112
  renderFragment(template, item) {
@@ -202,7 +211,7 @@ export class TicketableList extends UnidyComponent {
202
211
  render() {
203
212
  if (this.error) {
204
213
  this.logger.error(`can't render content: ${this.error}`);
205
- return (h("h1", null, "`$", t("errors.prefix"), " $", this.error, "`"));
214
+ return (h("h1", null, t("errors.prefix"), " ", this.error));
206
215
  }
207
216
  const template = this.element.querySelector("template");
208
217
  if (!template) {
@@ -432,55 +441,6 @@ export class TicketableList extends UnidyComponent {
432
441
  "error": {}
433
442
  };
434
443
  }
435
- static get events() {
436
- return [{
437
- "method": "uTicketableListSuccess",
438
- "name": "uTicketableListSuccess",
439
- "bubbles": true,
440
- "cancelable": true,
441
- "composed": true,
442
- "docs": {
443
- "tags": [],
444
- "text": ""
445
- },
446
- "complexType": {
447
- "original": "{\n ticketableType: \"ticket\" | \"subscription\";\n items: Subscription[] | Ticket[];\n paginationMeta: PaginationMeta | null;\n }",
448
- "resolved": "{ ticketableType: \"ticket\" | \"subscription\"; items: { id: string; title: string; text: string; state: string; reference: string; created_at: Date; updated_at: Date; price: number; user_id: string; subscription_category_id: string; payment_frequency?: string; metadata?: Record<string, unknown>; wallet_export?: Record<string, unknown>; payment_state?: string; currency?: string; button_cta_url?: string; starts_at?: Date; ends_at?: Date; next_payment_at?: Date; }[] | { id: string; title: string; reference: string; state: string; starts_at: Date; created_at: Date; updated_at: Date; price: number; user_id: string; ticket_category_id: string; text?: string; metadata?: Record<string, unknown>; wallet_export?: Record<string, unknown>; payment_state?: string; button_cta_url?: string; info_banner?: string; seating?: string; venue?: string; currency?: string; ends_at?: Date; }[]; paginationMeta: { count: number; page: number; limit: number; last: number; prev?: number; next?: number; }; }",
449
- "references": {
450
- "Subscription": {
451
- "location": "import",
452
- "path": "../../api/subscriptions",
453
- "id": "src/ticketable/api/subscriptions.ts::Subscription"
454
- },
455
- "Ticket": {
456
- "location": "import",
457
- "path": "../../api/tickets",
458
- "id": "src/ticketable/api/tickets.ts::Ticket"
459
- },
460
- "PaginationMeta": {
461
- "location": "import",
462
- "path": "../../../api",
463
- "id": "src/api/index.ts::PaginationMeta"
464
- }
465
- }
466
- }
467
- }, {
468
- "method": "uTicketableListError",
469
- "name": "uTicketableListError",
470
- "bubbles": true,
471
- "cancelable": true,
472
- "composed": true,
473
- "docs": {
474
- "tags": [],
475
- "text": ""
476
- },
477
- "complexType": {
478
- "original": "{\n ticketableType?: \"ticket\" | \"subscription\";\n error: string;\n }",
479
- "resolved": "{ ticketableType?: \"ticket\" | \"subscription\"; error: string; }",
480
- "references": {}
481
- }
482
- }];
483
- }
484
444
  static get elementRef() { return "element"; }
485
445
  static get watchers() {
486
446
  return [{