@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.
- package/dist/cjs/app-globals-DSKjcXX_.js.map +1 -1
- package/dist/cjs/{auth-store-BaxuIp4z.js → auth-store-DC9EVec8.js} +2 -3
- package/dist/cjs/auth-store-DC9EVec8.js.map +1 -0
- package/dist/cjs/{i18n-BoDZ8kd2.js → i18n-BAZB-eHh.js} +2 -8
- package/dist/cjs/{i18n-BoDZ8kd2.js.map → i18n-BAZB-eHh.js.map} +1 -1
- package/dist/cjs/{index-R2MKLaem.js → index-CvFbf5-D.js} +1477 -1105
- package/dist/cjs/index-CvFbf5-D.js.map +1 -0
- package/dist/cjs/index.cjs.js +6 -5
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/{newsletter-helpers-DR0vsegt.js → newsletter-helpers-Dj0yYHZf.js} +61 -74
- package/dist/cjs/newsletter-helpers-Dj0yYHZf.js.map +1 -0
- package/dist/cjs/{profile-helpers-B2h2III_.js → profile-helpers-D66Ycaft.js} +3 -3
- package/dist/cjs/{profile-helpers-B2h2III_.js.map → profile-helpers-D66Ycaft.js.map} +1 -1
- package/dist/cjs/u-conditional-render.cjs.entry.js +5 -6
- package/dist/cjs/u-conditional-render.entry.cjs.js.map +1 -1
- package/dist/cjs/u-config.cjs.entry.js +5 -6
- package/dist/cjs/u-config.entry.cjs.js.map +1 -1
- package/dist/cjs/u-email-field.cjs.entry.js +2 -2
- package/dist/cjs/u-error-message.cjs.entry.js +3 -3
- package/dist/cjs/u-error-message.entry.cjs.js.map +1 -1
- package/dist/cjs/u-field.u-raw-field.entry.cjs.js.map +1 -1
- package/dist/cjs/u-field_2.cjs.entry.js +2 -2
- package/dist/cjs/u-full-profile.cjs.entry.js +1 -1
- package/dist/cjs/u-logout-button.cjs.entry.js +6 -7
- package/dist/cjs/u-logout-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-magic-code-field.cjs.entry.js +5 -6
- package/dist/cjs/u-magic-code-field.entry.cjs.js.map +1 -1
- package/dist/cjs/u-missing-field.cjs.entry.js +1 -1
- package/dist/cjs/u-missing-fields-submit-button.cjs.entry.js +9 -5
- package/dist/cjs/u-missing-fields-submit-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-newsletter-checkbox.cjs.entry.js +5 -6
- package/dist/cjs/u-newsletter-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/u-newsletter-logout-button.cjs.entry.js +6 -7
- package/dist/cjs/u-newsletter-logout-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-newsletter-preference-checkbox.cjs.entry.js +5 -6
- package/dist/cjs/u-newsletter-preference-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/u-newsletter-resend-doi-button.cjs.entry.js +4 -5
- package/dist/cjs/u-newsletter-resend-doi-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-newsletter-root.cjs.entry.js +5 -6
- package/dist/cjs/u-newsletter-root.entry.cjs.js.map +1 -1
- package/dist/cjs/u-newsletter-toggle-subscription-button.cjs.entry.js +4 -5
- package/dist/cjs/u-newsletter-toggle-subscription-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-passkey.cjs.entry.js +5 -6
- package/dist/cjs/u-passkey.entry.cjs.js.map +1 -1
- package/dist/cjs/u-password-field.cjs.entry.js +2 -2
- package/dist/cjs/u-profile.u-submit-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-profile_2.cjs.entry.js +35 -55
- package/dist/cjs/u-registration-button.cjs.entry.js +2 -2
- package/dist/cjs/u-reset-password-button.cjs.entry.js +4 -5
- package/dist/cjs/u-reset-password-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-send-magic-code-button.cjs.entry.js +5 -6
- package/dist/cjs/u-send-magic-code-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-signed-in.cjs.entry.js +1 -1
- package/dist/cjs/u-signin-root.cjs.entry.js +1 -1
- package/dist/cjs/u-signin-step.cjs.entry.js +5 -6
- package/dist/cjs/u-signin-step.entry.cjs.js.map +1 -1
- package/dist/cjs/u-signin-strategy.cjs.entry.js +1 -1
- package/dist/cjs/u-social-login-button.cjs.entry.js +2 -2
- package/dist/cjs/u-spinner.cjs.entry.js +1 -1
- package/dist/cjs/u-spinner.entry.cjs.js.map +1 -1
- package/dist/cjs/u-ticketable-list.cjs.entry.js +39 -29
- package/dist/cjs/u-ticketable-list.entry.cjs.js.map +1 -1
- package/dist/collection/api/base-client.js +129 -0
- package/dist/collection/api/base-client.js.map +1 -0
- package/dist/collection/api/base-service.js +72 -0
- package/dist/collection/api/base-service.js.map +1 -0
- package/dist/collection/api/client.js +18 -139
- package/dist/collection/api/client.js.map +1 -1
- package/dist/collection/api/index.js +25 -5
- package/dist/collection/api/index.js.map +1 -1
- package/dist/collection/api/shared.js +11 -2
- package/dist/collection/api/shared.js.map +1 -1
- package/dist/collection/api/standalone.js +88 -0
- package/dist/collection/api/standalone.js.map +1 -0
- package/dist/collection/auth/api/auth.js +66 -124
- package/dist/collection/auth/api/auth.js.map +1 -1
- package/dist/collection/auth/api/schemas.js +78 -0
- package/dist/collection/auth/api/schemas.js.map +1 -0
- package/dist/collection/auth/auth-helpers.js +47 -36
- package/dist/collection/auth/auth-helpers.js.map +1 -1
- package/dist/collection/auth/components/missing-fields-submit-button/missing-fields-submit-button.js +4 -1
- package/dist/collection/auth/components/missing-fields-submit-button/missing-fields-submit-button.js.map +1 -1
- package/dist/collection/auth/components/password-field/password-field.js +1 -1
- package/dist/collection/auth/passkey-auth.js +8 -6
- package/dist/collection/auth/passkey-auth.js.map +1 -1
- package/dist/collection/auth/store/auth-store.js +0 -1
- package/dist/collection/auth/store/auth-store.js.map +1 -1
- package/dist/collection/locales/de.json +0 -1
- package/dist/collection/locales/en.json +0 -1
- package/dist/collection/locales/fr.json +0 -1
- package/dist/collection/locales/it.json +0 -1
- package/dist/collection/locales/nl_be.json +0 -1
- package/dist/collection/locales/ro.json +0 -1
- package/dist/collection/newsletter/api/newsletters.js +192 -167
- package/dist/collection/newsletter/api/newsletters.js.map +1 -1
- package/dist/collection/newsletter/api/schemas.js +112 -0
- package/dist/collection/newsletter/api/schemas.js.map +1 -0
- package/dist/collection/newsletter/newsletter-helpers.js +57 -70
- package/dist/collection/newsletter/newsletter-helpers.js.map +1 -1
- package/dist/collection/profile/api/profile.js +56 -155
- package/dist/collection/profile/api/profile.js.map +1 -1
- package/dist/collection/profile/api/schemas.js +120 -0
- package/dist/collection/profile/api/schemas.js.map +1 -0
- package/dist/collection/profile/components/field/field.css +1 -1
- package/dist/collection/profile/components/profile/profile.js +35 -101
- package/dist/collection/profile/components/profile/profile.js.map +1 -1
- package/dist/collection/shared/components/config/config.js +2 -2
- package/dist/collection/shared/components/error-message/error-message.js +3 -3
- package/dist/collection/shared/components/error-message/error-message.js.map +1 -1
- package/dist/collection/shared/components/spinner/spinner.css +1 -1
- package/dist/collection/shared/components/submit-button/submit-button.css +1 -1
- package/dist/collection/ticketable/api/schemas.js +58 -9
- package/dist/collection/ticketable/api/schemas.js.map +1 -1
- package/dist/collection/ticketable/api/subscriptions.js +13 -44
- package/dist/collection/ticketable/api/subscriptions.js.map +1 -1
- package/dist/collection/ticketable/api/ticketable-service.js +74 -0
- package/dist/collection/ticketable/api/ticketable-service.js.map +1 -0
- package/dist/collection/ticketable/api/tickets.js +13 -45
- package/dist/collection/ticketable/api/tickets.js.map +1 -1
- package/dist/collection/ticketable/components/ticketable-list/ticketable-list.js +37 -77
- package/dist/collection/ticketable/components/ticketable-list/ticketable-list.js.map +1 -1
- package/dist/components/auth-store.js +0 -1
- package/dist/components/auth-store.js.map +1 -1
- package/dist/components/field.js +1 -1
- package/dist/components/field.js.map +1 -1
- package/dist/components/i18n.js +0 -6
- package/dist/components/i18n.js.map +1 -1
- package/dist/components/index.js +1 -2
- package/dist/components/index.js.map +1 -1
- package/dist/components/index2.js +1475 -1106
- package/dist/components/index2.js.map +1 -1
- package/dist/components/newsletter-helpers.js +57 -70
- package/dist/components/newsletter-helpers.js.map +1 -1
- package/dist/components/profile.js +34 -54
- package/dist/components/profile.js.map +1 -1
- package/dist/components/spinner.js +1 -1
- package/dist/components/spinner.js.map +1 -1
- package/dist/components/submit-button.js +1 -1
- package/dist/components/submit-button.js.map +1 -1
- package/dist/components/u-config.js +1 -2
- package/dist/components/u-config.js.map +1 -1
- package/dist/components/u-error-message.js +2 -2
- package/dist/components/u-error-message.js.map +1 -1
- package/dist/components/u-logout-button.js +1 -1
- package/dist/components/u-magic-code-field.js +1 -1
- package/dist/components/u-missing-fields-submit-button.js +4 -1
- package/dist/components/u-missing-fields-submit-button.js.map +1 -1
- package/dist/components/u-newsletter-root.js +1 -1
- package/dist/components/u-passkey.js +1 -1
- package/dist/components/u-reset-password-button.js +1 -1
- package/dist/components/u-send-magic-code-button.js +1 -1
- package/dist/components/u-signin-step.js +1 -1
- package/dist/components/u-ticketable-list.js +36 -29
- package/dist/components/u-ticketable-list.js.map +1 -1
- package/dist/esm/app-globals-CPU9ZcqZ.js.map +1 -1
- package/dist/esm/{auth-store-CVvBlKGv.js → auth-store-BMqUdTpC.js} +2 -3
- package/dist/esm/auth-store-BMqUdTpC.js.map +1 -0
- package/dist/esm/{i18n-CLdWzy5J.js → i18n-BANodpxG.js} +2 -8
- package/dist/esm/{i18n-CLdWzy5J.js.map → i18n-BANodpxG.js.map} +1 -1
- package/dist/esm/{index-DSDkaHWI.js → index-2p1QEJrx.js} +1477 -1108
- package/dist/esm/index-2p1QEJrx.js.map +1 -0
- package/dist/esm/index.js +3 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/{newsletter-helpers-Dc_24im3.js → newsletter-helpers-D64LTcSM.js} +61 -74
- package/dist/esm/newsletter-helpers-D64LTcSM.js.map +1 -0
- package/dist/esm/{profile-helpers-CglNd6Nw.js → profile-helpers-DAvXZ9Uj.js} +3 -3
- package/dist/esm/{profile-helpers-CglNd6Nw.js.map → profile-helpers-DAvXZ9Uj.js.map} +1 -1
- package/dist/esm/u-conditional-render.entry.js +5 -6
- package/dist/esm/u-conditional-render.entry.js.map +1 -1
- package/dist/esm/u-config.entry.js +4 -5
- package/dist/esm/u-config.entry.js.map +1 -1
- package/dist/esm/u-email-field.entry.js +2 -2
- package/dist/esm/u-error-message.entry.js +3 -3
- package/dist/esm/u-error-message.entry.js.map +1 -1
- package/dist/esm/u-field.u-raw-field.entry.js.map +1 -1
- package/dist/esm/u-field_2.entry.js +2 -2
- package/dist/esm/u-full-profile.entry.js +1 -1
- package/dist/esm/u-logout-button.entry.js +5 -6
- package/dist/esm/u-logout-button.entry.js.map +1 -1
- package/dist/esm/u-magic-code-field.entry.js +4 -5
- package/dist/esm/u-magic-code-field.entry.js.map +1 -1
- package/dist/esm/u-missing-field.entry.js +1 -1
- package/dist/esm/u-missing-fields-submit-button.entry.js +9 -5
- package/dist/esm/u-missing-fields-submit-button.entry.js.map +1 -1
- package/dist/esm/u-newsletter-checkbox.entry.js +5 -6
- package/dist/esm/u-newsletter-checkbox.entry.js.map +1 -1
- package/dist/esm/u-newsletter-logout-button.entry.js +6 -7
- package/dist/esm/u-newsletter-logout-button.entry.js.map +1 -1
- package/dist/esm/u-newsletter-preference-checkbox.entry.js +5 -6
- package/dist/esm/u-newsletter-preference-checkbox.entry.js.map +1 -1
- package/dist/esm/u-newsletter-resend-doi-button.entry.js +4 -5
- package/dist/esm/u-newsletter-resend-doi-button.entry.js.map +1 -1
- package/dist/esm/u-newsletter-root.entry.js +4 -5
- package/dist/esm/u-newsletter-root.entry.js.map +1 -1
- package/dist/esm/u-newsletter-toggle-subscription-button.entry.js +4 -5
- package/dist/esm/u-newsletter-toggle-subscription-button.entry.js.map +1 -1
- package/dist/esm/u-passkey.entry.js +4 -5
- package/dist/esm/u-passkey.entry.js.map +1 -1
- package/dist/esm/u-password-field.entry.js +2 -2
- package/dist/esm/u-profile.u-submit-button.entry.js.map +1 -1
- package/dist/esm/u-profile_2.entry.js +36 -56
- package/dist/esm/u-registration-button.entry.js +2 -2
- package/dist/esm/u-reset-password-button.entry.js +3 -4
- package/dist/esm/u-reset-password-button.entry.js.map +1 -1
- package/dist/esm/u-send-magic-code-button.entry.js +4 -5
- package/dist/esm/u-send-magic-code-button.entry.js.map +1 -1
- package/dist/esm/u-signed-in.entry.js +1 -1
- package/dist/esm/u-signin-root.entry.js +1 -1
- package/dist/esm/u-signin-step.entry.js +4 -5
- package/dist/esm/u-signin-step.entry.js.map +1 -1
- package/dist/esm/u-signin-strategy.entry.js +1 -1
- package/dist/esm/u-social-login-button.entry.js +2 -2
- package/dist/esm/u-spinner.entry.js +1 -1
- package/dist/esm/u-spinner.entry.js.map +1 -1
- package/dist/esm/u-ticketable-list.entry.js +40 -30
- package/dist/esm/u-ticketable-list.entry.js.map +1 -1
- package/dist/sdk/index.esm.js +1 -1
- package/dist/sdk/index.esm.js.map +1 -1
- package/dist/sdk/locales/de.json +0 -1
- package/dist/sdk/locales/en.json +0 -1
- package/dist/sdk/locales/fr.json +0 -1
- package/dist/sdk/locales/it.json +0 -1
- package/dist/sdk/locales/nl_be.json +0 -1
- package/dist/sdk/locales/ro.json +0 -1
- package/dist/sdk/{p-5babee6b.entry.js → p-098eef67.entry.js} +2 -2
- package/dist/sdk/p-0e74de96.entry.js +2 -0
- package/dist/sdk/p-0e74de96.entry.js.map +1 -0
- package/dist/sdk/p-0ed36cbb.entry.js +2 -0
- package/dist/sdk/p-0ed36cbb.entry.js.map +1 -0
- package/dist/sdk/p-1149e044.entry.js +2 -0
- package/dist/sdk/p-1149e044.entry.js.map +1 -0
- package/dist/sdk/p-16d763fd.entry.js +2 -0
- package/dist/sdk/p-16d763fd.entry.js.map +1 -0
- package/dist/sdk/p-1d404c36.entry.js +2 -0
- package/dist/sdk/p-1d404c36.entry.js.map +1 -0
- package/dist/sdk/p-32da9922.entry.js +2 -0
- package/dist/sdk/p-32da9922.entry.js.map +1 -0
- package/dist/sdk/p-3d3a9c90.entry.js +2 -0
- package/dist/sdk/p-3d3a9c90.entry.js.map +1 -0
- package/dist/sdk/p-43024bd6.entry.js +2 -0
- package/dist/sdk/p-43024bd6.entry.js.map +1 -0
- package/dist/sdk/{p-e2e7061b.entry.js → p-5da49d00.entry.js} +2 -2
- package/dist/sdk/{p-f961fbea.entry.js → p-67af762e.entry.js} +2 -2
- package/dist/sdk/{p-f961fbea.entry.js.map → p-67af762e.entry.js.map} +1 -1
- package/dist/sdk/p-7099bd56.entry.js +2 -0
- package/dist/sdk/p-7099bd56.entry.js.map +1 -0
- package/dist/sdk/p-745742f1.entry.js +2 -0
- package/dist/sdk/{p-9e71a36c.entry.js → p-74e6523f.entry.js} +2 -2
- package/dist/sdk/p-86d16818.entry.js +2 -0
- package/dist/sdk/{p-effaf86b.entry.js.map → p-86d16818.entry.js.map} +1 -1
- package/dist/sdk/{p-DA84OuuU.js → p-BasehRhW.js} +2 -2
- package/dist/sdk/{p-DA84OuuU.js.map → p-BasehRhW.js.map} +1 -1
- package/dist/sdk/p-C4aHo4nN.js +2 -0
- package/dist/sdk/p-C4aHo4nN.js.map +1 -0
- package/dist/sdk/p-CFiZLMAA.js.map +1 -1
- package/dist/sdk/p-DGDhaqCd.js +2 -0
- package/dist/sdk/p-DGDhaqCd.js.map +1 -0
- package/dist/sdk/{p-CbRhHGU5.js → p-DSq94RWc.js} +2 -2
- package/dist/sdk/{p-CbRhHGU5.js.map → p-DSq94RWc.js.map} +1 -1
- package/dist/sdk/p-DSwwVdp1.js +2 -0
- package/dist/sdk/p-DSwwVdp1.js.map +1 -0
- package/dist/sdk/p-a037bbe3.entry.js +2 -0
- package/dist/sdk/p-a037bbe3.entry.js.map +1 -0
- package/dist/sdk/p-adcb7911.entry.js +2 -0
- package/dist/sdk/p-adcb7911.entry.js.map +1 -0
- package/dist/sdk/{p-39b61f33.entry.js → p-bbbec3d4.entry.js} +2 -2
- package/dist/sdk/{p-f232929b.entry.js → p-c2fba7c8.entry.js} +2 -2
- package/dist/sdk/p-c4618822.entry.js +2 -0
- package/dist/sdk/p-c4618822.entry.js.map +1 -0
- package/dist/sdk/p-ca4e57f2.entry.js +2 -0
- package/dist/sdk/p-ca4e57f2.entry.js.map +1 -0
- package/dist/sdk/p-ce4ab77c.entry.js +2 -0
- package/dist/sdk/p-ce4ab77c.entry.js.map +1 -0
- package/dist/sdk/p-d143e097.entry.js +2 -0
- package/dist/sdk/p-d143e097.entry.js.map +1 -0
- package/dist/sdk/{p-a69b83ec.entry.js → p-e0d2397c.entry.js} +2 -2
- package/dist/sdk/{p-80034205.entry.js → p-e6beb9d7.entry.js} +2 -2
- package/dist/sdk/p-ecc7fcff.entry.js +2 -0
- package/dist/sdk/p-ecc7fcff.entry.js.map +1 -0
- package/dist/sdk/{p-2cb6a2d0.entry.js → p-f1788e52.entry.js} +2 -2
- package/dist/sdk/p-fb665a5c.entry.js +2 -0
- package/dist/sdk/p-fb665a5c.entry.js.map +1 -0
- package/dist/sdk/p-fc67cf07.entry.js +2 -0
- package/dist/sdk/p-fc67cf07.entry.js.map +1 -0
- package/dist/sdk/sdk.esm.js +1 -1
- package/dist/sdk/u-conditional-render.entry.esm.js.map +1 -1
- package/dist/sdk/u-config.entry.esm.js.map +1 -1
- package/dist/sdk/u-error-message.entry.esm.js.map +1 -1
- package/dist/sdk/u-field.u-raw-field.entry.esm.js.map +1 -1
- package/dist/sdk/u-logout-button.entry.esm.js.map +1 -1
- package/dist/sdk/u-magic-code-field.entry.esm.js.map +1 -1
- package/dist/sdk/u-missing-fields-submit-button.entry.esm.js.map +1 -1
- package/dist/sdk/u-newsletter-checkbox.entry.esm.js.map +1 -1
- package/dist/sdk/u-newsletter-logout-button.entry.esm.js.map +1 -1
- package/dist/sdk/u-newsletter-preference-checkbox.entry.esm.js.map +1 -1
- package/dist/sdk/u-newsletter-resend-doi-button.entry.esm.js.map +1 -1
- package/dist/sdk/u-newsletter-root.entry.esm.js.map +1 -1
- package/dist/sdk/u-newsletter-toggle-subscription-button.entry.esm.js.map +1 -1
- package/dist/sdk/u-passkey.entry.esm.js.map +1 -1
- package/dist/sdk/u-profile.u-submit-button.entry.esm.js.map +1 -1
- package/dist/sdk/u-reset-password-button.entry.esm.js.map +1 -1
- package/dist/sdk/u-send-magic-code-button.entry.esm.js.map +1 -1
- package/dist/sdk/u-signin-step.entry.esm.js.map +1 -1
- package/dist/sdk/u-spinner.entry.esm.js.map +1 -1
- package/dist/sdk/u-ticketable-list.entry.esm.js.map +1 -1
- package/dist/types/api/base-client.d.ts +54 -0
- package/dist/types/api/base-service.d.ts +62 -0
- package/dist/types/api/client.d.ts +9 -31
- package/dist/types/api/index.d.ts +1 -0
- package/dist/types/api/shared.d.ts +11 -0
- package/dist/types/api/standalone.d.ts +105 -0
- package/dist/types/auth/api/auth.d.ts +71 -287
- package/dist/types/auth/api/schemas.d.ts +572 -0
- package/dist/types/auth/auth-helpers.d.ts +65 -66
- package/dist/types/auth/store/auth-store.d.ts +3 -3
- package/dist/types/components.d.ts +0 -72
- package/dist/types/newsletter/api/newsletters.d.ts +73 -196
- package/dist/types/newsletter/api/schemas.d.ts +192 -0
- package/dist/types/profile/api/profile.d.ts +12 -237
- package/dist/types/profile/api/schemas.d.ts +336 -0
- package/dist/types/profile/components/profile/profile.d.ts +1 -17
- package/dist/types/shared/components/error-message/error-message.d.ts +1 -1
- package/dist/types/ticketable/api/schemas.d.ts +108 -15
- package/dist/types/ticketable/api/subscriptions.d.ts +16 -83
- package/dist/types/ticketable/api/ticketable-service.d.ts +39 -0
- package/dist/types/ticketable/api/tickets.d.ts +16 -85
- package/dist/types/ticketable/components/ticketable-list/ticketable-list.d.ts +2 -12
- package/package.json +5 -1
- package/dist/cjs/auth-NU3DBc-6.js +0 -581
- package/dist/cjs/auth-NU3DBc-6.js.map +0 -1
- package/dist/cjs/auth-store-BaxuIp4z.js.map +0 -1
- package/dist/cjs/index-R2MKLaem.js.map +0 -1
- package/dist/cjs/newsletter-helpers-DR0vsegt.js.map +0 -1
- package/dist/collection/ticketable/api/get-with-schema.js +0 -35
- package/dist/collection/ticketable/api/get-with-schema.js.map +0 -1
- package/dist/components/auth.js +0 -580
- package/dist/components/auth.js.map +0 -1
- package/dist/esm/auth-nsjRdpvS.js +0 -579
- package/dist/esm/auth-nsjRdpvS.js.map +0 -1
- package/dist/esm/auth-store-CVvBlKGv.js.map +0 -1
- package/dist/esm/index-DSDkaHWI.js.map +0 -1
- package/dist/esm/newsletter-helpers-Dc_24im3.js.map +0 -1
- package/dist/sdk/p-0ab98e7a.entry.js +0 -2
- package/dist/sdk/p-0ab98e7a.entry.js.map +0 -1
- package/dist/sdk/p-0d324822.entry.js +0 -2
- package/dist/sdk/p-0d324822.entry.js.map +0 -1
- package/dist/sdk/p-0fb37ee9.entry.js +0 -2
- package/dist/sdk/p-0fb37ee9.entry.js.map +0 -1
- package/dist/sdk/p-3049e73f.entry.js +0 -2
- package/dist/sdk/p-3049e73f.entry.js.map +0 -1
- package/dist/sdk/p-312b919e.entry.js +0 -2
- package/dist/sdk/p-312b919e.entry.js.map +0 -1
- package/dist/sdk/p-319c5d3b.entry.js +0 -2
- package/dist/sdk/p-319c5d3b.entry.js.map +0 -1
- package/dist/sdk/p-34b98f55.entry.js +0 -2
- package/dist/sdk/p-34b98f55.entry.js.map +0 -1
- package/dist/sdk/p-4ec3302d.entry.js +0 -2
- package/dist/sdk/p-4ec3302d.entry.js.map +0 -1
- package/dist/sdk/p-568eabbc.entry.js +0 -2
- package/dist/sdk/p-568eabbc.entry.js.map +0 -1
- package/dist/sdk/p-5b40a68b.entry.js +0 -2
- package/dist/sdk/p-5b40a68b.entry.js.map +0 -1
- package/dist/sdk/p-66587fdd.entry.js +0 -2
- package/dist/sdk/p-66587fdd.entry.js.map +0 -1
- package/dist/sdk/p-88d93d64.entry.js +0 -2
- package/dist/sdk/p-90e2253e.entry.js +0 -2
- package/dist/sdk/p-90e2253e.entry.js.map +0 -1
- package/dist/sdk/p-BiILQPdb.js +0 -2
- package/dist/sdk/p-BiILQPdb.js.map +0 -1
- package/dist/sdk/p-DdUvQelg.js +0 -2
- package/dist/sdk/p-DdUvQelg.js.map +0 -1
- package/dist/sdk/p-PKvQIsOt.js +0 -2
- package/dist/sdk/p-PKvQIsOt.js.map +0 -1
- package/dist/sdk/p-a4f5940f.entry.js +0 -2
- package/dist/sdk/p-a4f5940f.entry.js.map +0 -1
- package/dist/sdk/p-aMrLKr2m.js +0 -2
- package/dist/sdk/p-aMrLKr2m.js.map +0 -1
- package/dist/sdk/p-bfb04b17.entry.js +0 -2
- package/dist/sdk/p-bfb04b17.entry.js.map +0 -1
- package/dist/sdk/p-c6816542.entry.js +0 -2
- package/dist/sdk/p-c6816542.entry.js.map +0 -1
- package/dist/sdk/p-da363474.entry.js +0 -2
- package/dist/sdk/p-da363474.entry.js.map +0 -1
- package/dist/sdk/p-e54d5d38.entry.js +0 -2
- package/dist/sdk/p-e54d5d38.entry.js.map +0 -1
- package/dist/sdk/p-e81bbd62.entry.js +0 -2
- package/dist/sdk/p-e81bbd62.entry.js.map +0 -1
- package/dist/sdk/p-effaf86b.entry.js +0 -2
- package/dist/types/ticketable/api/get-with-schema.d.ts +0 -3
- /package/dist/sdk/{p-5babee6b.entry.js.map → p-098eef67.entry.js.map} +0 -0
- /package/dist/sdk/{p-e2e7061b.entry.js.map → p-5da49d00.entry.js.map} +0 -0
- /package/dist/sdk/{p-88d93d64.entry.js.map → p-745742f1.entry.js.map} +0 -0
- /package/dist/sdk/{p-9e71a36c.entry.js.map → p-74e6523f.entry.js.map} +0 -0
- /package/dist/sdk/{p-39b61f33.entry.js.map → p-bbbec3d4.entry.js.map} +0 -0
- /package/dist/sdk/{p-f232929b.entry.js.map → p-c2fba7c8.entry.js.map} +0 -0
- /package/dist/sdk/{p-a69b83ec.entry.js.map → p-e0d2397c.entry.js.map} +0 -0
- /package/dist/sdk/{p-80034205.entry.js.map → p-e6beb9d7.entry.js.map} +0 -0
- /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
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
.
|
|
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,
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/ticketable/api/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,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,0CAA0C;AAC1C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,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;AAEH,+BAA+B;AAC/B,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;CAC/B,CAAC,CAAC;AAEH,sDAAsD;AACtD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,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;AAEH,qCAAqC;AACrC,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC;CACrC,CAAC,CAAC","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
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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":"
|
|
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
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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":"
|
|
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 {
|
|
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
|
-
|
|
74
|
-
const
|
|
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
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
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 =
|
|
89
|
-
this.paginationMeta =
|
|
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 =
|
|
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,
|
|
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 [{
|