@actschurch/ccms-sdk 0.0.9 → 0.0.11

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 (43) hide show
  1. package/dist/models/common/ResponseData.d.ts +8 -0
  2. package/dist/models/common/ResponseData.d.ts.map +1 -1
  3. package/dist/models/payments/PayFastModels.d.ts +33 -0
  4. package/dist/models/payments/PayFastModels.d.ts.map +1 -1
  5. package/dist/models/vendorcatalog/ModelView/ShopEventProductModelView.d.ts +9 -0
  6. package/dist/models/vendorcatalog/ModelView/ShopEventProductModelView.d.ts.map +1 -1
  7. package/dist/react/hooks/index.d.ts +1 -0
  8. package/dist/react/hooks/index.d.ts.map +1 -1
  9. package/dist/react/hooks/index.js +2 -0
  10. package/dist/react/hooks/index.js.map +1 -1
  11. package/dist/react/hooks/services/index.d.ts +1 -0
  12. package/dist/react/hooks/services/index.d.ts.map +1 -1
  13. package/dist/react/hooks/services/index.js +2 -0
  14. package/dist/react/hooks/services/index.js.map +1 -1
  15. package/dist/react/hooks/services/usePayFastCheckout.d.ts +98 -0
  16. package/dist/react/hooks/services/usePayFastCheckout.d.ts.map +1 -0
  17. package/dist/react/hooks/services/usePayFastCheckout.js +94 -0
  18. package/dist/react/hooks/services/usePayFastCheckout.js.map +1 -0
  19. package/dist/react/hooks/useEventProductStreaming.d.ts +75 -0
  20. package/dist/react/hooks/useEventProductStreaming.d.ts.map +1 -0
  21. package/dist/react/hooks/useEventProductStreaming.js +123 -0
  22. package/dist/react/hooks/useEventProductStreaming.js.map +1 -0
  23. package/dist/services/vendorcatalog/EventProductStreamingService.d.ts +41 -0
  24. package/dist/services/vendorcatalog/EventProductStreamingService.d.ts.map +1 -0
  25. package/dist/services/vendorcatalog/EventProductStreamingService.js +47 -0
  26. package/dist/services/vendorcatalog/EventProductStreamingService.js.map +1 -0
  27. package/dist/services/vendorcatalog/VendorCatalogShopService.d.ts +10 -0
  28. package/dist/services/vendorcatalog/VendorCatalogShopService.d.ts.map +1 -1
  29. package/dist/services/vendorcatalog/VendorCatalogShopService.js +18 -0
  30. package/dist/services/vendorcatalog/VendorCatalogShopService.js.map +1 -1
  31. package/dist/services/vendorcatalog/index.d.ts +1 -0
  32. package/dist/services/vendorcatalog/index.d.ts.map +1 -1
  33. package/dist/services/vendorcatalog/index.js +1 -0
  34. package/dist/services/vendorcatalog/index.js.map +1 -1
  35. package/dist/utils/PayFastCheckout.d.ts +99 -0
  36. package/dist/utils/PayFastCheckout.d.ts.map +1 -0
  37. package/dist/utils/PayFastCheckout.js +154 -0
  38. package/dist/utils/PayFastCheckout.js.map +1 -0
  39. package/dist/utils/index.d.ts +1 -0
  40. package/dist/utils/index.d.ts.map +1 -1
  41. package/dist/utils/index.js +2 -0
  42. package/dist/utils/index.js.map +1 -1
  43. package/package.json +1 -1
@@ -15,5 +15,13 @@ export interface ResponseData<T> {
15
15
  errors?: string[] | null;
16
16
  /** UTC timestamp when the response was generated (ISO-8601 format) */
17
17
  timestamp: string;
18
+ /** Total number of items across all pages */
19
+ totalCount?: number | null;
20
+ /** Number of items skipped */
21
+ skip?: number | null;
22
+ /** Number of items requested */
23
+ take?: number | null;
24
+ /** Whether there are more items beyond the current page */
25
+ hasMore?: boolean | null;
18
26
  }
19
27
  //# sourceMappingURL=ResponseData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ResponseData.d.ts","sourceRoot":"","sources":["../../../src/models/common/ResponseData.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,8CAA8C;IAC9C,OAAO,EAAE,OAAO,CAAC;IAEjB,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAC;IAEnB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAExB,gCAAgC;IAChC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IAEhB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAEzB,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"ResponseData.d.ts","sourceRoot":"","sources":["../../../src/models/common/ResponseData.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,8CAA8C;IAC9C,OAAO,EAAE,OAAO,CAAC;IAEjB,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAC;IAEnB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAExB,gCAAgC;IAChC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IAEhB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAEzB,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAC;IAGlB,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC1B"}
@@ -112,4 +112,37 @@ export interface PaymentReturnResponse {
112
112
  status: string;
113
113
  message: string;
114
114
  }
115
+ /**
116
+ * Redirect strategy for PayFast checkout.
117
+ *
118
+ * - `'auto'` — Injects the server-generated `redirectHtml` into the page.
119
+ * Simplest option: a self-submitting form that redirects immediately.
120
+ *
121
+ * - `'form'` — Programmatically creates a hidden form from `payFastFormData`
122
+ * and submits it to `payFastProcessUrl`. Gives the caller a chance to
123
+ * store the transaction reference before the redirect happens.
124
+ *
125
+ * - `'manual'` — No redirect. Returns the `PayFastPaymentReference` so the
126
+ * caller has full control. Use this when you need to open a new window,
127
+ * show a confirmation dialog, or handle the redirect yourself.
128
+ */
129
+ export type PayFastRedirectMode = 'auto' | 'form' | 'manual';
130
+ /**
131
+ * Reference returned after initiating a payment.
132
+ * Always available regardless of redirect mode.
133
+ */
134
+ export interface PayFastPaymentReference {
135
+ /** Internal transaction ID for status polling */
136
+ transactionID: string;
137
+ /** Merchant payment reference (m_payment_id) */
138
+ paymentId: string;
139
+ /** Whether this payment is in sandbox mode */
140
+ isSandbox: boolean;
141
+ /** Full response for advanced usage */
142
+ response: PayFastPaymentResponse;
143
+ }
144
+ /**
145
+ * Payment type shorthand for convenience checkout methods.
146
+ */
147
+ export type PayFastPaymentType = 'initiate' | 'give' | 'purchase' | 'donate' | 'service' | 'vendor';
115
148
  //# sourceMappingURL=PayFastModels.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PayFastModels.d.ts","sourceRoot":"","sources":["../../../src/models/payments/PayFastModels.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PayFastModels.d.ts","sourceRoot":"","sources":["../../../src/models/payments/PayFastModels.ts"],"names":[],"mappings":"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"}
@@ -7,11 +7,18 @@
7
7
  */
8
8
  import type { VendorProductMediaModelView } from './VendorProductMediaModelView';
9
9
  import type { VendorProductVarientModelView } from './VendorProductVarientModelView';
10
+ import type { VendorProductAddOnModelView } from './VendorProductAddOnModelView';
10
11
  export interface ShopEventProductModelView {
11
12
  /** Product ID */
12
13
  productID: number;
13
14
  /** Vendor ID */
14
15
  vendorID: number;
16
+ /** Vendor display name (TradingName or BusinessName) */
17
+ vendorName?: string | null;
18
+ /** Vendor bio/description */
19
+ vendorBio?: string | null;
20
+ /** Event ID (0 when not in event context) */
21
+ eventID: number;
15
22
  /** Product name */
16
23
  name?: string | null;
17
24
  /** Product code/SKU */
@@ -52,5 +59,7 @@ export interface ShopEventProductModelView {
52
59
  mediaFiles?: VendorProductMediaModelView[] | null;
53
60
  /** Active product variants */
54
61
  productVarients?: VendorProductVarientModelView[] | null;
62
+ /** Active product add-ons */
63
+ productAddOns?: VendorProductAddOnModelView[] | null;
55
64
  }
56
65
  //# sourceMappingURL=ShopEventProductModelView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ShopEventProductModelView.d.ts","sourceRoot":"","sources":["../../../../src/models/vendorcatalog/ModelView/ShopEventProductModelView.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAErF,MAAM,WAAW,yBAAyB;IAExC,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,2BAA2B;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,UAAU,EAAE,OAAO,CAAC;IACpB,yBAAyB;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,iBAAiB,EAAE,OAAO,CAAC;IAC3B,6BAA6B;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IAGzB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAGzB,0BAA0B;IAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAG3B,wBAAwB;IACxB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,6BAA6B;IAC7B,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAGpC,0CAA0C;IAC1C,eAAe,EAAE,MAAM,CAAC;IACxB,mDAAmD;IACnD,gBAAgB,EAAE,MAAM,CAAC;IAGzB,gDAAgD;IAChD,YAAY,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,eAAe,EAAE,MAAM,CAAC;IACxB,mEAAmE;IACnE,iBAAiB,EAAE,MAAM,CAAC;IAG1B,uCAAuC;IACvC,UAAU,CAAC,EAAE,2BAA2B,EAAE,GAAG,IAAI,CAAC;IAGlD,8BAA8B;IAC9B,eAAe,CAAC,EAAE,6BAA6B,EAAE,GAAG,IAAI,CAAC;CAC1D"}
1
+ {"version":3,"file":"ShopEventProductModelView.d.ts","sourceRoot":"","sources":["../../../../src/models/vendorcatalog/ModelView/ShopEventProductModelView.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAEjF,MAAM,WAAW,yBAAyB;IAExC,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,2BAA2B;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,UAAU,EAAE,OAAO,CAAC;IACpB,yBAAyB;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,iBAAiB,EAAE,OAAO,CAAC;IAC3B,6BAA6B;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IAGzB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAGzB,0BAA0B;IAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAG3B,wBAAwB;IACxB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,6BAA6B;IAC7B,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAGpC,0CAA0C;IAC1C,eAAe,EAAE,MAAM,CAAC;IACxB,mDAAmD;IACnD,gBAAgB,EAAE,MAAM,CAAC;IAGzB,gDAAgD;IAChD,YAAY,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,eAAe,EAAE,MAAM,CAAC;IACxB,mEAAmE;IACnE,iBAAiB,EAAE,MAAM,CAAC;IAG1B,uCAAuC;IACvC,UAAU,CAAC,EAAE,2BAA2B,EAAE,GAAG,IAAI,CAAC;IAGlD,8BAA8B;IAC9B,eAAe,CAAC,EAAE,6BAA6B,EAAE,GAAG,IAAI,CAAC;IAGzD,6BAA6B;IAC7B,aAAa,CAAC,EAAE,2BAA2B,EAAE,GAAG,IAAI,CAAC;CACtD"}
@@ -11,4 +11,5 @@ export * from './useUpload';
11
11
  export * from './useServices';
12
12
  export * from './useServiceQuery';
13
13
  export * from './useTaskStreaming';
14
+ export * from './useEventProductStreaming';
14
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,cAAc,WAAW,CAAC;AAG1B,cAAc,UAAU,CAAC;AAGzB,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oDAAoD,CAAC;AAGnE,cAAc,eAAe,CAAC;AAG9B,cAAc,aAAa,CAAC;AAG5B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,cAAc,WAAW,CAAC;AAG1B,cAAc,UAAU,CAAC;AAGzB,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oDAAoD,CAAC;AAGnE,cAAc,eAAe,CAAC;AAG9B,cAAc,aAAa,CAAC;AAG5B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,4BAA4B,CAAC"}
@@ -18,4 +18,6 @@ export * from './useServices';
18
18
  export * from './useServiceQuery';
19
19
  // Task streaming hooks
20
20
  export * from './useTaskStreaming';
21
+ // Event product streaming hooks
22
+ export * from './useEventProductStreaming';
21
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/react/hooks/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,iBAAiB;AACjB,cAAc,WAAW,CAAC;AAE1B,YAAY;AACZ,cAAc,UAAU,CAAC;AAEzB,yBAAyB;AACzB,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oDAAoD,CAAC;AAEnE,iBAAiB;AACjB,cAAc,eAAe,CAAC;AAE9B,eAAe;AACf,cAAc,aAAa,CAAC;AAE5B,gBAAgB;AAChB,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAElC,uBAAuB;AACvB,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/react/hooks/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,iBAAiB;AACjB,cAAc,WAAW,CAAC;AAE1B,YAAY;AACZ,cAAc,UAAU,CAAC;AAEzB,yBAAyB;AACzB,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oDAAoD,CAAC;AAEnE,iBAAiB;AACjB,cAAc,eAAe,CAAC;AAE9B,eAAe;AACf,cAAc,aAAa,CAAC;AAE5B,gBAAgB;AAChB,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAElC,uBAAuB;AACvB,cAAc,oBAAoB,CAAC;AAEnC,gCAAgC;AAChC,cAAc,4BAA4B,CAAC"}
@@ -30,4 +30,5 @@ export * from './useVendorPortalServices';
30
30
  export * from './useTaskPortalServices';
31
31
  export * from './useStaffPortalServices';
32
32
  export * from './useAnnouncementsServices';
33
+ export * from './usePayFastCheckout';
33
34
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/react/hooks/services/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,mBAAmB,CAAC;AAGlC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AAGtC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,2BAA2B,CAAC;AAE1C,cAAc,uBAAuB,CAAC;AAGtC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,2BAA2B,CAAC;AAG1C,cAAc,4BAA4B,CAAC;AAG3C,cAAc,2BAA2B,CAAC;AAG1C,cAAc,yBAAyB,CAAC;AAGxC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/react/hooks/services/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,mBAAmB,CAAC;AAGlC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AAGtC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,2BAA2B,CAAC;AAE1C,cAAc,uBAAuB,CAAC;AAGtC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,2BAA2B,CAAC;AAG1C,cAAc,4BAA4B,CAAC;AAG3C,cAAc,2BAA2B,CAAC;AAG1C,cAAc,yBAAyB,CAAC;AAGxC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,4BAA4B,CAAC;AAG3C,cAAc,sBAAsB,CAAC"}
@@ -56,6 +56,8 @@ export * from './useTaskPortalServices';
56
56
  export * from './useStaffPortalServices';
57
57
  // Announcement service hooks
58
58
  export * from './useAnnouncementsServices';
59
+ // PayFast checkout hook
60
+ export * from './usePayFastCheckout';
59
61
  // Add other domain hooks here as they are implemented:
60
62
  // etc.
61
63
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/react/hooks/services/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,qBAAqB;AACrB,cAAc,mBAAmB,CAAC;AAElC,qBAAqB;AACrB,cAAc,oBAAoB,CAAC;AAEnC,qBAAqB;AACrB,cAAc,mBAAmB,CAAC;AAElC,8BAA8B;AAC9B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AAEtC,uBAAuB;AACvB,cAAc,qBAAqB,CAAC;AAEpC,0BAA0B;AAC1B,cAAc,wBAAwB,CAAC;AACvC,6BAA6B;AAC7B,cAAc,2BAA2B,CAAC;AAC1C,yBAAyB;AACzB,cAAc,uBAAuB,CAAC;AAEtC,yBAAyB;AACzB,cAAc,uBAAuB,CAAC;AAEtC,mBAAmB;AACnB,cAAc,iBAAiB,CAAC;AAEhC,yBAAyB;AACzB,cAAc,uBAAuB,CAAC;AAEtC,4BAA4B;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AAExC,wBAAwB;AACxB,cAAc,sBAAsB,CAAC;AAErC,sBAAsB;AACtB,cAAc,qBAAqB,CAAC;AAEpC,wBAAwB;AACxB,cAAc,sBAAsB,CAAC;AAErC,wBAAwB;AACxB,cAAc,uBAAuB,CAAC;AAEtC,0BAA0B;AAC1B,cAAc,wBAAwB,CAAC;AAEvC,6BAA6B;AAC7B,cAAc,0BAA0B,CAAC;AAEzC,uBAAuB;AACvB,cAAc,qBAAqB,CAAC;AAEpC,wBAAwB;AACxB,cAAc,sBAAsB,CAAC;AAErC,8BAA8B;AAC9B,cAAc,2BAA2B,CAAC;AAE1C,+BAA+B;AAC/B,cAAc,4BAA4B,CAAC;AAE3C,oDAAoD;AACpD,cAAc,2BAA2B,CAAC;AAE1C,iEAAiE;AACjE,cAAc,yBAAyB,CAAC;AAExC,qDAAqD;AACrD,cAAc,0BAA0B,CAAC;AAEzC,6BAA6B;AAC7B,cAAc,4BAA4B,CAAC;AAE3C,uDAAuD;AACvD,OAAO"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/react/hooks/services/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,qBAAqB;AACrB,cAAc,mBAAmB,CAAC;AAElC,qBAAqB;AACrB,cAAc,oBAAoB,CAAC;AAEnC,qBAAqB;AACrB,cAAc,mBAAmB,CAAC;AAElC,8BAA8B;AAC9B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AAEtC,uBAAuB;AACvB,cAAc,qBAAqB,CAAC;AAEpC,0BAA0B;AAC1B,cAAc,wBAAwB,CAAC;AACvC,6BAA6B;AAC7B,cAAc,2BAA2B,CAAC;AAC1C,yBAAyB;AACzB,cAAc,uBAAuB,CAAC;AAEtC,yBAAyB;AACzB,cAAc,uBAAuB,CAAC;AAEtC,mBAAmB;AACnB,cAAc,iBAAiB,CAAC;AAEhC,yBAAyB;AACzB,cAAc,uBAAuB,CAAC;AAEtC,4BAA4B;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AAExC,wBAAwB;AACxB,cAAc,sBAAsB,CAAC;AAErC,sBAAsB;AACtB,cAAc,qBAAqB,CAAC;AAEpC,wBAAwB;AACxB,cAAc,sBAAsB,CAAC;AAErC,wBAAwB;AACxB,cAAc,uBAAuB,CAAC;AAEtC,0BAA0B;AAC1B,cAAc,wBAAwB,CAAC;AAEvC,6BAA6B;AAC7B,cAAc,0BAA0B,CAAC;AAEzC,uBAAuB;AACvB,cAAc,qBAAqB,CAAC;AAEpC,wBAAwB;AACxB,cAAc,sBAAsB,CAAC;AAErC,8BAA8B;AAC9B,cAAc,2BAA2B,CAAC;AAE1C,+BAA+B;AAC/B,cAAc,4BAA4B,CAAC;AAE3C,oDAAoD;AACpD,cAAc,2BAA2B,CAAC;AAE1C,iEAAiE;AACjE,cAAc,yBAAyB,CAAC;AAExC,qDAAqD;AACrD,cAAc,0BAA0B,CAAC;AAEzC,6BAA6B;AAC7B,cAAc,4BAA4B,CAAC;AAE3C,wBAAwB;AACxB,cAAc,sBAAsB,CAAC;AAErC,uDAAuD;AACvD,OAAO"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * usePayFastCheckout
3
+ * React hook for PayFast checkout with state management.
4
+ * Wraps PayFastPaymentService + PayFastCheckout utility.
5
+ */
6
+ import { PayFastPaymentRequest, PayFastPaymentReference, PayFastRedirectMode, PayFastPaymentType, PayFastPaymentResponse, PaymentStatusResponse } from '../../../models/payments';
7
+ import { PayFastCheckoutOptions } from '../../../utils/PayFastCheckout';
8
+ /**
9
+ * State returned by usePayFastCheckout.
10
+ */
11
+ export interface PayFastCheckoutState {
12
+ /** Whether a payment request is currently in flight */
13
+ loading: boolean;
14
+ /** Error from the last checkout attempt, if any */
15
+ error: Error | null;
16
+ /** Payment reference from the last successful checkout */
17
+ reference: PayFastPaymentReference | null;
18
+ }
19
+ /**
20
+ * Actions returned by usePayFastCheckout.
21
+ */
22
+ export interface PayFastCheckoutActions {
23
+ /**
24
+ * Initiate a payment and handle the redirect.
25
+ *
26
+ * @param request - Payment details (amount, itemName, etc.)
27
+ * @param type - Payment type: 'give', 'purchase', 'donate', 'service', 'vendor', or 'initiate'
28
+ * @param options - Redirect mode and callbacks
29
+ * @returns The payment reference
30
+ */
31
+ checkout: (request: PayFastPaymentRequest, type?: PayFastPaymentType, options?: PayFastCheckoutOptions) => Promise<PayFastPaymentReference>;
32
+ /**
33
+ * Redirect using an existing PayFastPaymentResponse.
34
+ * Useful when you fetched the response elsewhere and just need the redirect.
35
+ */
36
+ redirect: (response: PayFastPaymentResponse, options?: PayFastCheckoutOptions) => Promise<PayFastPaymentReference>;
37
+ /**
38
+ * Poll payment status by transaction ID.
39
+ */
40
+ getStatus: (transactionId: string) => Promise<PaymentStatusResponse>;
41
+ /**
42
+ * Clear the current error and reference state.
43
+ */
44
+ reset: () => void;
45
+ }
46
+ /**
47
+ * Hook options.
48
+ */
49
+ export interface UsePayFastCheckoutOptions {
50
+ /**
51
+ * Default redirect mode for all checkout calls.
52
+ * Can be overridden per-call via PayFastCheckoutOptions.
53
+ * @default 'auto'
54
+ */
55
+ defaultMode?: PayFastRedirectMode;
56
+ /**
57
+ * Default callback before redirect.
58
+ * Can be overridden per-call.
59
+ */
60
+ onBeforeRedirect?: (reference: PayFastPaymentReference) => void | Promise<void>;
61
+ /**
62
+ * Callback on successful payment initiation (before redirect).
63
+ */
64
+ onSuccess?: (reference: PayFastPaymentReference) => void;
65
+ /**
66
+ * Callback on payment initiation error.
67
+ */
68
+ onError?: (error: Error) => void;
69
+ }
70
+ /**
71
+ * React hook for PayFast checkout with loading/error state management.
72
+ *
73
+ * @example
74
+ * // Auto-redirect (simplest usage)
75
+ * const { checkout, loading, error, reference } = usePayFastCheckout();
76
+ *
77
+ * const handlePay = () => checkout({ amount: 100, itemName: 'Donation' }, 'donate');
78
+ *
79
+ * @example
80
+ * // Manual mode — show confirmation before redirect
81
+ * const { checkout, reference, redirect } = usePayFastCheckout({ defaultMode: 'manual' });
82
+ *
83
+ * const handlePay = async () => {
84
+ * const ref = await checkout({ amount: 50, itemName: 'T-Shirt' }, 'purchase');
85
+ * // Show confirmation dialog, then:
86
+ * await redirect(ref.response, { mode: 'form' });
87
+ * };
88
+ *
89
+ * @example
90
+ * // Form mode with pre-redirect storage
91
+ * const { checkout, loading } = usePayFastCheckout({
92
+ * defaultMode: 'form',
93
+ * onBeforeRedirect: (ref) => sessionStorage.setItem('paymentId', ref.paymentId),
94
+ * onSuccess: (ref) => console.log('Payment initiated:', ref.transactionID),
95
+ * });
96
+ */
97
+ export declare function usePayFastCheckout(hookOptions?: UsePayFastCheckoutOptions): PayFastCheckoutState & PayFastCheckoutActions;
98
+ //# sourceMappingURL=usePayFastCheckout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePayFastCheckout.d.ts","sourceRoot":"","sources":["../../../../src/react/hooks/services/usePayFastCheckout.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAEL,sBAAsB,EAEvB,MAAM,gCAAgC,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,uDAAuD;IACvD,OAAO,EAAE,OAAO,CAAC;IACjB,mDAAmD;IACnD,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,0DAA0D;IAC1D,SAAS,EAAE,uBAAuB,GAAG,IAAI,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;;;OAOG;IACH,QAAQ,EAAE,CACR,OAAO,EAAE,qBAAqB,EAC9B,IAAI,CAAC,EAAE,kBAAkB,EACzB,OAAO,CAAC,EAAE,sBAAsB,KAC7B,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAEtC;;;OAGG;IACH,QAAQ,EAAE,CACR,QAAQ,EAAE,sBAAsB,EAChC,OAAO,CAAC,EAAE,sBAAsB,KAC7B,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAEtC;;OAEG;IACH,SAAS,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAErE;;OAEG;IACH,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAElC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,uBAAuB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhF;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,uBAAuB,KAAK,IAAI,CAAC;IAEzD;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,GAAE,yBAA8B,GAC1C,oBAAoB,GAAG,sBAAsB,CAgF/C"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * usePayFastCheckout
3
+ * React hook for PayFast checkout with state management.
4
+ * Wraps PayFastPaymentService + PayFastCheckout utility.
5
+ */
6
+ import { useState, useCallback, useRef } from 'react';
7
+ import { usePayFastPaymentService } from './usePaymentServices';
8
+ import { PayFastCheckout, } from '../../../utils/PayFastCheckout';
9
+ /**
10
+ * React hook for PayFast checkout with loading/error state management.
11
+ *
12
+ * @example
13
+ * // Auto-redirect (simplest usage)
14
+ * const { checkout, loading, error, reference } = usePayFastCheckout();
15
+ *
16
+ * const handlePay = () => checkout({ amount: 100, itemName: 'Donation' }, 'donate');
17
+ *
18
+ * @example
19
+ * // Manual mode — show confirmation before redirect
20
+ * const { checkout, reference, redirect } = usePayFastCheckout({ defaultMode: 'manual' });
21
+ *
22
+ * const handlePay = async () => {
23
+ * const ref = await checkout({ amount: 50, itemName: 'T-Shirt' }, 'purchase');
24
+ * // Show confirmation dialog, then:
25
+ * await redirect(ref.response, { mode: 'form' });
26
+ * };
27
+ *
28
+ * @example
29
+ * // Form mode with pre-redirect storage
30
+ * const { checkout, loading } = usePayFastCheckout({
31
+ * defaultMode: 'form',
32
+ * onBeforeRedirect: (ref) => sessionStorage.setItem('paymentId', ref.paymentId),
33
+ * onSuccess: (ref) => console.log('Payment initiated:', ref.transactionID),
34
+ * });
35
+ */
36
+ export function usePayFastCheckout(hookOptions = {}) {
37
+ const service = usePayFastPaymentService();
38
+ const [loading, setLoading] = useState(false);
39
+ const [error, setError] = useState(null);
40
+ const [reference, setReference] = useState(null);
41
+ const hookOptionsRef = useRef(hookOptions);
42
+ hookOptionsRef.current = hookOptions;
43
+ const checkout = useCallback(async (request, type = 'initiate', options = {}) => {
44
+ setLoading(true);
45
+ setError(null);
46
+ try {
47
+ const mergedOptions = {
48
+ mode: options.mode ?? hookOptionsRef.current.defaultMode ?? 'auto',
49
+ onBeforeRedirect: options.onBeforeRedirect ?? hookOptionsRef.current.onBeforeRedirect,
50
+ ...options,
51
+ };
52
+ const ref = await PayFastCheckout.checkout(service, request, type, mergedOptions);
53
+ setReference(ref);
54
+ setLoading(false);
55
+ hookOptionsRef.current.onSuccess?.(ref);
56
+ return ref;
57
+ }
58
+ catch (err) {
59
+ const error = err instanceof Error ? err : new Error(String(err));
60
+ setError(error);
61
+ setLoading(false);
62
+ hookOptionsRef.current.onError?.(error);
63
+ throw error;
64
+ }
65
+ }, [service]);
66
+ const redirect = useCallback(async (response, options = {}) => {
67
+ const mergedOptions = {
68
+ mode: options.mode ?? hookOptionsRef.current.defaultMode ?? 'auto',
69
+ onBeforeRedirect: options.onBeforeRedirect ?? hookOptionsRef.current.onBeforeRedirect,
70
+ ...options,
71
+ };
72
+ const ref = await PayFastCheckout.redirect(response, mergedOptions);
73
+ setReference(ref);
74
+ return ref;
75
+ }, []);
76
+ const getStatus = useCallback(async (transactionId) => {
77
+ return service.getStatusById(transactionId);
78
+ }, [service]);
79
+ const reset = useCallback(() => {
80
+ setLoading(false);
81
+ setError(null);
82
+ setReference(null);
83
+ }, []);
84
+ return {
85
+ loading,
86
+ error,
87
+ reference,
88
+ checkout,
89
+ redirect,
90
+ getStatus,
91
+ reset,
92
+ };
93
+ }
94
+ //# sourceMappingURL=usePayFastCheckout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePayFastCheckout.js","sourceRoot":"","sources":["../../../../src/react/hooks/services/usePayFastCheckout.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * useEventProductStreaming Hook
3
+ * React hook for auto-paginated streaming of event products.
4
+ * Fetches all products for an event in batches, updating the UI progressively.
5
+ */
6
+ import type { ShopEventProductModelView } from '../../models/vendorcatalog';
7
+ /**
8
+ * Hook return type
9
+ */
10
+ export interface UseEventProductStreamingReturn {
11
+ /** Loaded products (accumulates as batches arrive) */
12
+ products: ShopEventProductModelView[];
13
+ /** Whether data is currently being fetched */
14
+ isLoading: boolean;
15
+ /** Whether all pages have been loaded */
16
+ isDone: boolean;
17
+ /** Progress percentage (0-100) */
18
+ progress: number;
19
+ /** Number of products loaded so far */
20
+ loadedCount: number;
21
+ /** Total number of products available (from server) */
22
+ totalCount: number;
23
+ /** Error if loading failed */
24
+ error: Error | null;
25
+ /** Start loading products */
26
+ load: () => Promise<void>;
27
+ /** Reset state and clear loaded products */
28
+ reset: () => void;
29
+ }
30
+ /**
31
+ * React hook for streaming event products with auto-pagination.
32
+ * Loads products in batches from the server, progressively updating the UI
33
+ * as each batch arrives.
34
+ *
35
+ * @param eventId - The event ID to fetch products for
36
+ * @param batchSize - Number of products per batch (default: 10)
37
+ * @returns Hook return object with products, loading state, and control functions
38
+ *
39
+ * @example
40
+ * ```tsx
41
+ * function EventProductList({ eventId }: { eventId: number }) {
42
+ * const {
43
+ * products,
44
+ * isLoading,
45
+ * isDone,
46
+ * progress,
47
+ * loadedCount,
48
+ * totalCount,
49
+ * error,
50
+ * load,
51
+ * reset,
52
+ * } = useEventProductStreaming(eventId, 10);
53
+ *
54
+ * useEffect(() => {
55
+ * load();
56
+ * }, [eventId]);
57
+ *
58
+ * return (
59
+ * <div>
60
+ * {isLoading && <ProgressBar value={progress} />}
61
+ * {error && <p>Error: {error.message}</p>}
62
+ * <p>{loadedCount} of {totalCount} products loaded</p>
63
+ * <div className="product-grid">
64
+ * {products.map(product => (
65
+ * <ProductCard key={product.productID} product={product} />
66
+ * ))}
67
+ * </div>
68
+ * {isDone && <p>All products loaded!</p>}
69
+ * </div>
70
+ * );
71
+ * }
72
+ * ```
73
+ */
74
+ export declare function useEventProductStreaming(eventId: number, batchSize?: number): UseEventProductStreamingReturn;
75
+ //# sourceMappingURL=useEventProductStreaming.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEventProductStreaming.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/useEventProductStreaming.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAI5E;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,sDAAsD;IACtD,QAAQ,EAAE,yBAAyB,EAAE,CAAC;IACtC,8CAA8C;IAC9C,SAAS,EAAE,OAAO,CAAC;IACnB,yCAAyC;IACzC,MAAM,EAAE,OAAO,CAAC;IAChB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,8BAA8B;IAC9B,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,6BAA6B;IAC7B,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,4CAA4C;IAC5C,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,MAAW,GACrB,8BAA8B,CA2EhC"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * useEventProductStreaming Hook
3
+ * React hook for auto-paginated streaming of event products.
4
+ * Fetches all products for an event in batches, updating the UI progressively.
5
+ */
6
+ import { useState, useCallback, useRef } from 'react';
7
+ import { EventProductStreamingService } from '../../services/vendorcatalog/EventProductStreamingService';
8
+ import { useVendorCatalogShopService } from './services/useVendorCatalogServices';
9
+ /**
10
+ * React hook for streaming event products with auto-pagination.
11
+ * Loads products in batches from the server, progressively updating the UI
12
+ * as each batch arrives.
13
+ *
14
+ * @param eventId - The event ID to fetch products for
15
+ * @param batchSize - Number of products per batch (default: 10)
16
+ * @returns Hook return object with products, loading state, and control functions
17
+ *
18
+ * @example
19
+ * ```tsx
20
+ * function EventProductList({ eventId }: { eventId: number }) {
21
+ * const {
22
+ * products,
23
+ * isLoading,
24
+ * isDone,
25
+ * progress,
26
+ * loadedCount,
27
+ * totalCount,
28
+ * error,
29
+ * load,
30
+ * reset,
31
+ * } = useEventProductStreaming(eventId, 10);
32
+ *
33
+ * useEffect(() => {
34
+ * load();
35
+ * }, [eventId]);
36
+ *
37
+ * return (
38
+ * <div>
39
+ * {isLoading && <ProgressBar value={progress} />}
40
+ * {error && <p>Error: {error.message}</p>}
41
+ * <p>{loadedCount} of {totalCount} products loaded</p>
42
+ * <div className="product-grid">
43
+ * {products.map(product => (
44
+ * <ProductCard key={product.productID} product={product} />
45
+ * ))}
46
+ * </div>
47
+ * {isDone && <p>All products loaded!</p>}
48
+ * </div>
49
+ * );
50
+ * }
51
+ * ```
52
+ */
53
+ export function useEventProductStreaming(eventId, batchSize = 10) {
54
+ const shopService = useVendorCatalogShopService();
55
+ const [products, setProducts] = useState([]);
56
+ const [isLoading, setIsLoading] = useState(false);
57
+ const [isDone, setIsDone] = useState(false);
58
+ const [progress, setProgress] = useState(0);
59
+ const [loadedCount, setLoadedCount] = useState(0);
60
+ const [totalCount, setTotalCount] = useState(0);
61
+ const [error, setError] = useState(null);
62
+ const abortRef = useRef(false);
63
+ const load = useCallback(async () => {
64
+ // Reset state before loading
65
+ setIsLoading(true);
66
+ setIsDone(false);
67
+ setProgress(0);
68
+ setProducts([]);
69
+ setLoadedCount(0);
70
+ setTotalCount(0);
71
+ setError(null);
72
+ abortRef.current = false;
73
+ try {
74
+ const streamingService = new EventProductStreamingService(shopService);
75
+ let accumulated = [];
76
+ for await (const chunk of streamingService.streamEventProducts(eventId, batchSize)) {
77
+ if (abortRef.current)
78
+ break;
79
+ accumulated = [...accumulated, ...chunk.items];
80
+ const currentTotal = chunk.totalCount;
81
+ setProducts(accumulated);
82
+ setLoadedCount(accumulated.length);
83
+ setTotalCount(currentTotal);
84
+ setProgress(currentTotal > 0
85
+ ? Math.min(99, Math.round((accumulated.length / currentTotal) * 100))
86
+ : 0);
87
+ }
88
+ if (!abortRef.current) {
89
+ setProgress(100);
90
+ setIsDone(true);
91
+ }
92
+ }
93
+ catch (err) {
94
+ const loadError = err instanceof Error ? err : new Error(String(err));
95
+ setError(loadError);
96
+ }
97
+ finally {
98
+ setIsLoading(false);
99
+ }
100
+ }, [shopService, eventId, batchSize]);
101
+ const reset = useCallback(() => {
102
+ abortRef.current = true;
103
+ setProducts([]);
104
+ setIsLoading(false);
105
+ setIsDone(false);
106
+ setProgress(0);
107
+ setLoadedCount(0);
108
+ setTotalCount(0);
109
+ setError(null);
110
+ }, []);
111
+ return {
112
+ products,
113
+ isLoading,
114
+ isDone,
115
+ progress,
116
+ loadedCount,
117
+ totalCount,
118
+ error,
119
+ load,
120
+ reset,
121
+ };
122
+ }
123
+ //# sourceMappingURL=useEventProductStreaming.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEventProductStreaming.js","sourceRoot":"","sources":["../../../src/react/hooks/useEventProductStreaming.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * EventProductStreamingService
3
+ * Service for auto-paginated streaming of event products.
4
+ * Uses AsyncGenerator pattern for progressive data loading from the server.
5
+ */
6
+ import { VendorCatalogShopService } from './VendorCatalogShopService';
7
+ import type { ShopEventProductModelView } from '../../models/vendorcatalog';
8
+ /**
9
+ * Chunk yielded by the streaming generator
10
+ */
11
+ export interface EventProductChunk {
12
+ /** Products in this batch */
13
+ items: ShopEventProductModelView[];
14
+ /** Total count of products across all pages (from server) */
15
+ totalCount: number;
16
+ }
17
+ /**
18
+ * EventProductStreamingService
19
+ * Streams event products from the server in batches using auto-pagination.
20
+ * Each yield returns a batch of products plus the total count.
21
+ *
22
+ * @example
23
+ * ```typescript
24
+ * const service = new EventProductStreamingService(shopService);
25
+ * for await (const chunk of service.streamEventProducts(eventId, 10)) {
26
+ * console.log(`Received ${chunk.items.length} products, total: ${chunk.totalCount}`);
27
+ * }
28
+ * ```
29
+ */
30
+ export declare class EventProductStreamingService {
31
+ private shopService;
32
+ constructor(shopService: VendorCatalogShopService);
33
+ /**
34
+ * Stream event products with server-side pagination
35
+ * @param eventId - The event ID to fetch products for
36
+ * @param batchSize - Number of products per batch (default: 10)
37
+ * @yields EventProductChunk with items and totalCount
38
+ */
39
+ streamEventProducts(eventId: number, batchSize?: number): AsyncGenerator<EventProductChunk, void, undefined>;
40
+ }
41
+ //# sourceMappingURL=EventProductStreamingService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventProductStreamingService.d.ts","sourceRoot":"","sources":["../../../src/services/vendorcatalog/EventProductStreamingService.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,6BAA6B;IAC7B,KAAK,EAAE,yBAAyB,EAAE,CAAC;IACnC,6DAA6D;IAC7D,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,4BAA4B;IACvC,OAAO,CAAC,WAAW,CAA2B;gBAElC,WAAW,EAAE,wBAAwB;IAIjD;;;;;OAKG;IACI,mBAAmB,CACxB,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,MAAW,GACrB,cAAc,CAAC,iBAAiB,EAAE,IAAI,EAAE,SAAS,CAAC;CAoBtD"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * EventProductStreamingService
3
+ * Service for auto-paginated streaming of event products.
4
+ * Uses AsyncGenerator pattern for progressive data loading from the server.
5
+ */
6
+ /**
7
+ * EventProductStreamingService
8
+ * Streams event products from the server in batches using auto-pagination.
9
+ * Each yield returns a batch of products plus the total count.
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * const service = new EventProductStreamingService(shopService);
14
+ * for await (const chunk of service.streamEventProducts(eventId, 10)) {
15
+ * console.log(`Received ${chunk.items.length} products, total: ${chunk.totalCount}`);
16
+ * }
17
+ * ```
18
+ */
19
+ export class EventProductStreamingService {
20
+ constructor(shopService) {
21
+ this.shopService = shopService;
22
+ }
23
+ /**
24
+ * Stream event products with server-side pagination
25
+ * @param eventId - The event ID to fetch products for
26
+ * @param batchSize - Number of products per batch (default: 10)
27
+ * @yields EventProductChunk with items and totalCount
28
+ */
29
+ async *streamEventProducts(eventId, batchSize = 10) {
30
+ let skip = 0;
31
+ let hasMore = true;
32
+ while (hasMore) {
33
+ const response = await this.shopService.getEventProductsRaw(eventId, skip, batchSize);
34
+ const items = response.data ?? [];
35
+ const totalCount = response.totalCount ?? 0;
36
+ hasMore = response.hasMore ?? false;
37
+ if (items.length > 0) {
38
+ yield { items, totalCount };
39
+ }
40
+ skip += batchSize;
41
+ // Safety: stop if server returned no items
42
+ if (items.length === 0)
43
+ break;
44
+ }
45
+ }
46
+ }
47
+ //# sourceMappingURL=EventProductStreamingService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventProductStreamingService.js","sourceRoot":"","sources":["../../../src/services/vendorcatalog/EventProductStreamingService.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAeH;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,4BAA4B;IAGvC,YAAY,WAAqC;QAC/C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,CAAC,mBAAmB,CACxB,OAAe,EACf,YAAoB,EAAE;QAEtB,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,OAAO,OAAO,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;YACtF,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,IAAI,CAAC,CAAC;YAC5C,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,KAAK,CAAC;YAEpC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;YAC9B,CAAC;YAED,IAAI,IAAI,SAAS,CAAC;YAElB,2CAA2C;YAC3C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM;QAChC,CAAC;IACH,CAAC;CACF"}
@@ -63,6 +63,16 @@ export declare class VendorCatalogShopService extends BaseService {
63
63
  * Get event catalog (raw response)
64
64
  */
65
65
  getEventCatalogRaw(eventId: number, page?: number, pageSize?: number): Promise<ResponseData<ShopEventCatalogModelView>>;
66
+ /**
67
+ * Get paginated products for an event from all confirmed vendors
68
+ * GET /api/shop/events/{eventId}/products?skip=0&take=10
69
+ */
70
+ getEventProducts(eventId: number, skip?: number, take?: number): Promise<ShopEventProductModelView[]>;
71
+ /**
72
+ * Get event products (raw response with pagination metadata)
73
+ * Response includes totalCount, skip, take, hasMore on the envelope
74
+ */
75
+ getEventProductsRaw(eventId: number, skip?: number, take?: number): Promise<ResponseData<ShopEventProductModelView[]>>;
66
76
  /**
67
77
  * Get featured active products
68
78
  * GET /api/shop/products/featured
@@ -1 +1 @@
1
- {"version":3,"file":"VendorCatalogShopService.d.ts","sourceRoot":"","sources":["../../../src/services/vendorcatalog/VendorCatalogShopService.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAEvG;;;;GAIG;AACH,qBAAa,wBAAyB,SAAQ,WAAW;IACvD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAqB;IACjE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAc;gBAEnC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,aAAa;IAUpD;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,yBAAyB,EAAE,CAAC;IAKzD;;OAEG;IACH,cAAc,IAAI,OAAO,CAAC,YAAY,CAAC,yBAAyB,EAAE,CAAC,CAAC;IAMpE;;;OAGG;IACG,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAQpE;;OAEG;IACH,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAC;IAM/E;;;OAGG;IACG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;IAKjF;;OAEG;IACH,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,yBAAyB,EAAE,CAAC,CAAC;IAM5F;;;OAGG;IACG,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;IAK7E;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,yBAAyB,EAAE,CAAC,CAAC;IAQxF;;;OAGG;IACG,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,SAAI,EAAE,QAAQ,SAAK,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAQnG;;OAEG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,SAAI,EAAE,QAAQ,SAAK,GAAG,OAAO,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAC;IAQ9G;;;OAGG;IACG,mBAAmB,IAAI,OAAO,CAAC,yBAAyB,EAAE,CAAC;IAKjE;;OAEG;IACH,sBAAsB,IAAI,OAAO,CAAC,YAAY,CAAC,yBAAyB,EAAE,CAAC,CAAC;CAK7E"}
1
+ {"version":3,"file":"VendorCatalogShopService.d.ts","sourceRoot":"","sources":["../../../src/services/vendorcatalog/VendorCatalogShopService.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAEvG;;;;GAIG;AACH,qBAAa,wBAAyB,SAAQ,WAAW;IACvD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAqB;IACjE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAc;gBAEnC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,aAAa;IAUpD;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,yBAAyB,EAAE,CAAC;IAKzD;;OAEG;IACH,cAAc,IAAI,OAAO,CAAC,YAAY,CAAC,yBAAyB,EAAE,CAAC,CAAC;IAMpE;;;OAGG;IACG,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAQpE;;OAEG;IACH,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAC;IAM/E;;;OAGG;IACG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;IAKjF;;OAEG;IACH,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,yBAAyB,EAAE,CAAC,CAAC;IAM5F;;;OAGG;IACG,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;IAK7E;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,yBAAyB,EAAE,CAAC,CAAC;IAQxF;;;OAGG;IACG,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,SAAI,EAAE,QAAQ,SAAK,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAQnG;;OAEG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,SAAI,EAAE,QAAQ,SAAK,GAAG,OAAO,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAC;IAQ9G;;;OAGG;IACG,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,SAAI,EAAE,IAAI,SAAK,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;IAKlG;;;OAGG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,SAAI,EAAE,IAAI,SAAK,GAAG,OAAO,CAAC,YAAY,CAAC,yBAAyB,EAAE,CAAC,CAAC;IAQ7G;;;OAGG;IACG,mBAAmB,IAAI,OAAO,CAAC,yBAAyB,EAAE,CAAC;IAKjE;;OAEG;IACH,sBAAsB,IAAI,OAAO,CAAC,YAAY,CAAC,yBAAyB,EAAE,CAAC,CAAC;CAK7E"}
@@ -106,6 +106,24 @@ export class VendorCatalogShopService extends BaseService {
106
106
  const url = this.buildUrlWithParams(endpoint, { page, pageSize });
107
107
  return this.http.get(url);
108
108
  }
109
+ // ==================== EVENT PRODUCTS ENDPOINT ====================
110
+ /**
111
+ * Get paginated products for an event from all confirmed vendors
112
+ * GET /api/shop/events/{eventId}/products?skip=0&take=10
113
+ */
114
+ async getEventProducts(eventId, skip = 0, take = 10) {
115
+ const response = await this.getEventProductsRaw(eventId, skip, take);
116
+ return response.data ?? [];
117
+ }
118
+ /**
119
+ * Get event products (raw response with pagination metadata)
120
+ * Response includes totalCount, skip, take, hasMore on the envelope
121
+ */
122
+ getEventProductsRaw(eventId, skip = 0, take = 10) {
123
+ const endpoint = this.getEndpoint('event-products', `events/${eventId}/products`);
124
+ const url = this.buildUrlWithParams(endpoint, { skip, take });
125
+ return this.http.get(url);
126
+ }
109
127
  // ==================== FEATURED ENDPOINTS ====================
110
128
  /**
111
129
  * Get featured active products
@@ -1 +1 @@
1
- {"version":3,"file":"VendorCatalogShopService.js","sourceRoot":"","sources":["../../../src/services/vendorcatalog/VendorCatalogShopService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VendorCatalogShopService.js","sourceRoot":"","sources":["../../../src/services/vendorcatalog/VendorCatalogShopService.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIlD;;;;GAIG;AACH,MAAM,OAAO,wBAAyB,SAAQ,WAAW;IAIvD,YAAY,IAAgB,EAAE,MAAsB;QAClD,KAAK,CAAC,IAAI,EAAE;YACV,WAAW,EAAE,MAAM,EAAE,WAAW,IAAI,wBAAwB,CAAC,oBAAoB;YACjF,QAAQ,EAAE,wBAAwB,CAAC,SAAS;YAC5C,SAAS,EAAE,MAAM,EAAE,SAAS;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,8DAA8D;IAE9D;;;OAGG;IACH,KAAK,CAAC,WAAW;QACf,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,OAAO,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAA8B,GAAG,CAAC,CAAC;IACzD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,EAAU;QAC7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,EAAU;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QACrE,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAA4B,GAAG,CAAC,CAAC;IACvD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,mBAAmB,CAAC,QAAgB;QACxC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QAC7D,OAAO,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,QAAgB;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,mBAAmB,QAAQ,EAAE,CAAC,CAAC;QACvF,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAA8B,GAAG,CAAC,CAAC;IACzD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CAAC,MAAc;QACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACzD,OAAO,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,oBAAoB,CAAC,MAAc;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,oBAAoB,MAAM,EAAE,CAAC,CAAC;QACpF,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAA8B,GAAG,CAAC,CAAC;IACzD,CAAC;IAED,oEAAoE;IAEpE;;;OAGG;IACH,KAAK,CAAC,eAAe,CAAC,OAAe,EAAE,IAAI,GAAG,CAAC,EAAE,QAAQ,GAAG,EAAE;QAC5D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QACxE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,YAAY,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,OAAe,EAAE,IAAI,GAAG,CAAC,EAAE,QAAQ,GAAG,EAAE;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,UAAU,OAAO,UAAU,CAAC,CAAC;QAChF,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAA4B,GAAG,CAAC,CAAC;IACvD,CAAC;IAED,oEAAoE;IAEpE;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAAe,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE;QACzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACrE,OAAO,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,mBAAmB,CAAC,OAAe,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,UAAU,OAAO,WAAW,CAAC,CAAC;QAClF,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAA8B,GAAG,CAAC,CAAC;IACzD,CAAC;IAED,+DAA+D;IAE/D;;;OAGG;IACH,KAAK,CAAC,mBAAmB;QACvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACrD,OAAO,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,sBAAsB;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;QAC5E,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAA8B,GAAG,CAAC,CAAC;IACzD,CAAC;;AAtJuB,6CAAoB,GAAG,iBAAiB,CAAC;AACzC,kCAAS,GAAG,UAAU,CAAC"}
@@ -19,6 +19,7 @@ export { VendorCatalogShopService } from './VendorCatalogShopService';
19
19
  export { VendorProductAddOnService } from './VendorProductAddOnService';
20
20
  export { VendorProductAddOnCategoryService } from './VendorProductAddOnCategoryService';
21
21
  export { VendorProductVariantCategoryService } from './VendorProductVariantCategoryService';
22
+ export { EventProductStreamingService } from './EventProductStreamingService';
22
23
  import { VendorProductService } from './VendorProductService';
23
24
  import { VendorProductTypeService } from './VendorProductTypeService';
24
25
  import { VendorProductStatusService } from './VendorProductStatusService';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/vendorcatalog/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/vendorcatalog/index.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ export { VendorCatalogShopService } from './VendorCatalogShopService';
18
18
  export { VendorProductAddOnService } from './VendorProductAddOnService';
19
19
  export { VendorProductAddOnCategoryService } from './VendorProductAddOnCategoryService';
20
20
  export { VendorProductVariantCategoryService } from './VendorProductVariantCategoryService';
21
+ export { EventProductStreamingService } from './EventProductStreamingService';
21
22
  // Import for factory function
22
23
  import { VendorProductService } from './VendorProductService';
23
24
  import { VendorProductTypeService } from './VendorProductTypeService';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/vendorcatalog/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/vendorcatalog/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * PayFastCheckout
3
+ * Framework-agnostic utility for handling PayFast payment redirects.
4
+ * Supports three redirect strategies: auto, form, and manual.
5
+ *
6
+ * Works in any browser environment (React, Vue, Angular, vanilla JS).
7
+ * For React-specific usage with state management, see usePayFastCheckout hook.
8
+ */
9
+ import { PayFastPaymentResponse, PayFastPaymentReference, PayFastRedirectMode, PayFastPaymentType, PayFastPaymentRequest } from '../models/payments';
10
+ import { PayFastPaymentService } from '../services/payments/PayFastPaymentService';
11
+ /**
12
+ * Options for the checkout method.
13
+ */
14
+ export interface PayFastCheckoutOptions {
15
+ /**
16
+ * Redirect strategy.
17
+ * - `'auto'` — Injects the server-generated redirectHtml into the page (immediate redirect).
18
+ * - `'form'` — Builds a hidden form from payFastFormData and submits it (allows pre-redirect logic).
19
+ * - `'manual'` — No redirect; returns the reference for the caller to handle.
20
+ *
21
+ * @default 'auto'
22
+ */
23
+ mode?: PayFastRedirectMode;
24
+ /**
25
+ * DOM element to inject the auto-redirect HTML into.
26
+ * Only used when mode is `'auto'`.
27
+ * Defaults to `document.body`.
28
+ */
29
+ container?: HTMLElement;
30
+ /**
31
+ * Target attribute for the hidden form submission.
32
+ * Only used when mode is `'form'`.
33
+ * Use `'_blank'` to open PayFast in a new tab.
34
+ * @default '_self'
35
+ */
36
+ formTarget?: string;
37
+ /**
38
+ * Callback invoked with the PayFastPaymentReference before the redirect happens.
39
+ * Useful for persisting the transactionID/paymentId to local storage or state.
40
+ * Only called for `'auto'` and `'form'` modes (manual mode returns the reference directly).
41
+ */
42
+ onBeforeRedirect?: (reference: PayFastPaymentReference) => void | Promise<void>;
43
+ }
44
+ /**
45
+ * Extract a PayFastPaymentReference from a PayFastPaymentResponse.
46
+ */
47
+ export declare function toPayFastReference(response: PayFastPaymentResponse): PayFastPaymentReference;
48
+ /**
49
+ * PayFastCheckout — static utility class for PayFast payment redirects.
50
+ *
51
+ * @example
52
+ * // Auto-redirect (simplest)
53
+ * const ref = await PayFastCheckout.checkout(payFastService, request, 'give');
54
+ *
55
+ * // Form redirect with pre-redirect callback
56
+ * const ref = await PayFastCheckout.checkout(payFastService, request, 'purchase', {
57
+ * mode: 'form',
58
+ * onBeforeRedirect: (ref) => localStorage.setItem('txn', ref.transactionID),
59
+ * });
60
+ *
61
+ * // Manual — no redirect, full control
62
+ * const ref = await PayFastCheckout.checkout(payFastService, request, 'donate', { mode: 'manual' });
63
+ * // ref.response.payFastProcessUrl, ref.response.payFastFormData available
64
+ *
65
+ * // Or redirect an existing response
66
+ * PayFastCheckout.redirect(existingResponse, { mode: 'form' });
67
+ */
68
+ export declare class PayFastCheckout {
69
+ /**
70
+ * Full checkout flow: call the payment service, then redirect based on mode.
71
+ *
72
+ * @param service - PayFastPaymentService instance
73
+ * @param request - Payment request data
74
+ * @param type - Payment type shorthand (maps to the service method)
75
+ * @param options - Checkout options (mode, callbacks, etc.)
76
+ * @returns The payment reference (always returned, even for auto/form modes before redirect)
77
+ */
78
+ static checkout(service: PayFastPaymentService, request: PayFastPaymentRequest, type?: PayFastPaymentType, options?: PayFastCheckoutOptions): Promise<PayFastPaymentReference>;
79
+ /**
80
+ * Redirect the user to PayFast using an existing response.
81
+ * Use this when you already have a PayFastPaymentResponse and just need to handle the redirect.
82
+ */
83
+ static redirect(response: PayFastPaymentResponse, options?: PayFastCheckoutOptions): Promise<PayFastPaymentReference>;
84
+ /**
85
+ * Auto-redirect by injecting the server-generated HTML form into the DOM.
86
+ * The HTML contains a self-submitting form that redirects immediately.
87
+ */
88
+ static autoRedirect(response: PayFastPaymentResponse, container?: HTMLElement): void;
89
+ /**
90
+ * Form-redirect by programmatically creating a hidden form and submitting it.
91
+ * Gives the caller a chance to run pre-redirect logic (via onBeforeRedirect).
92
+ */
93
+ static formRedirect(response: PayFastPaymentResponse, target?: string): void;
94
+ /**
95
+ * Call the appropriate PayFastPaymentService method based on payment type.
96
+ */
97
+ private static callService;
98
+ }
99
+ //# sourceMappingURL=PayFastCheckout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PayFastCheckout.d.ts","sourceRoot":"","sources":["../../src/utils/PayFastCheckout.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AAEnF;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAE3B;;;;OAIG;IACH,SAAS,CAAC,EAAE,WAAW,CAAC;IAExB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,uBAAuB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,uBAAuB,CAO5F;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,eAAe;IAC1B;;;;;;;;OAQG;WACU,QAAQ,CACnB,OAAO,EAAE,qBAAqB,EAC9B,OAAO,EAAE,qBAAqB,EAC9B,IAAI,GAAE,kBAA+B,EACrC,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,uBAAuB,CAAC;IAOnC;;;OAGG;WACU,QAAQ,CACnB,QAAQ,EAAE,sBAAsB,EAChC,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,uBAAuB,CAAC;IAuBnC;;;OAGG;IACH,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,sBAAsB,EAAE,SAAS,CAAC,EAAE,WAAW,GAAG,IAAI;IAwBpF;;;OAGG;IACH,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,sBAAsB,EAAE,MAAM,GAAE,MAAgB,GAAG,IAAI;IA4BrF;;OAEG;mBACkB,WAAW;CAsBjC"}
@@ -0,0 +1,154 @@
1
+ /**
2
+ * PayFastCheckout
3
+ * Framework-agnostic utility for handling PayFast payment redirects.
4
+ * Supports three redirect strategies: auto, form, and manual.
5
+ *
6
+ * Works in any browser environment (React, Vue, Angular, vanilla JS).
7
+ * For React-specific usage with state management, see usePayFastCheckout hook.
8
+ */
9
+ /**
10
+ * Extract a PayFastPaymentReference from a PayFastPaymentResponse.
11
+ */
12
+ export function toPayFastReference(response) {
13
+ return {
14
+ transactionID: response.transactionID,
15
+ paymentId: response.paymentId,
16
+ isSandbox: response.isSandbox,
17
+ response,
18
+ };
19
+ }
20
+ /**
21
+ * PayFastCheckout — static utility class for PayFast payment redirects.
22
+ *
23
+ * @example
24
+ * // Auto-redirect (simplest)
25
+ * const ref = await PayFastCheckout.checkout(payFastService, request, 'give');
26
+ *
27
+ * // Form redirect with pre-redirect callback
28
+ * const ref = await PayFastCheckout.checkout(payFastService, request, 'purchase', {
29
+ * mode: 'form',
30
+ * onBeforeRedirect: (ref) => localStorage.setItem('txn', ref.transactionID),
31
+ * });
32
+ *
33
+ * // Manual — no redirect, full control
34
+ * const ref = await PayFastCheckout.checkout(payFastService, request, 'donate', { mode: 'manual' });
35
+ * // ref.response.payFastProcessUrl, ref.response.payFastFormData available
36
+ *
37
+ * // Or redirect an existing response
38
+ * PayFastCheckout.redirect(existingResponse, { mode: 'form' });
39
+ */
40
+ export class PayFastCheckout {
41
+ /**
42
+ * Full checkout flow: call the payment service, then redirect based on mode.
43
+ *
44
+ * @param service - PayFastPaymentService instance
45
+ * @param request - Payment request data
46
+ * @param type - Payment type shorthand (maps to the service method)
47
+ * @param options - Checkout options (mode, callbacks, etc.)
48
+ * @returns The payment reference (always returned, even for auto/form modes before redirect)
49
+ */
50
+ static async checkout(service, request, type = 'initiate', options = {}) {
51
+ const response = await PayFastCheckout.callService(service, request, type);
52
+ const reference = toPayFastReference(response);
53
+ await PayFastCheckout.redirect(response, options);
54
+ return reference;
55
+ }
56
+ /**
57
+ * Redirect the user to PayFast using an existing response.
58
+ * Use this when you already have a PayFastPaymentResponse and just need to handle the redirect.
59
+ */
60
+ static async redirect(response, options = {}) {
61
+ const { mode = 'auto' } = options;
62
+ const reference = toPayFastReference(response);
63
+ if (options.onBeforeRedirect && mode !== 'manual') {
64
+ await options.onBeforeRedirect(reference);
65
+ }
66
+ switch (mode) {
67
+ case 'auto':
68
+ PayFastCheckout.autoRedirect(response, options.container);
69
+ break;
70
+ case 'form':
71
+ PayFastCheckout.formRedirect(response, options.formTarget);
72
+ break;
73
+ case 'manual':
74
+ // No redirect — caller handles it
75
+ break;
76
+ }
77
+ return reference;
78
+ }
79
+ /**
80
+ * Auto-redirect by injecting the server-generated HTML form into the DOM.
81
+ * The HTML contains a self-submitting form that redirects immediately.
82
+ */
83
+ static autoRedirect(response, container) {
84
+ if (typeof document === 'undefined') {
85
+ throw new Error('PayFastCheckout.autoRedirect requires a browser environment (document is not defined).');
86
+ }
87
+ const target = container ?? document.body;
88
+ const div = document.createElement('div');
89
+ div.innerHTML = response.redirectHtml;
90
+ target.appendChild(div);
91
+ // The redirectHtml contains a self-submitting form with a <script> tag.
92
+ // Re-execute any scripts inside the injected HTML since innerHTML doesn't run scripts.
93
+ const scripts = div.querySelectorAll('script');
94
+ scripts.forEach((oldScript) => {
95
+ const newScript = document.createElement('script');
96
+ if (oldScript.src) {
97
+ newScript.src = oldScript.src;
98
+ }
99
+ else {
100
+ newScript.textContent = oldScript.textContent;
101
+ }
102
+ oldScript.parentNode?.replaceChild(newScript, oldScript);
103
+ });
104
+ }
105
+ /**
106
+ * Form-redirect by programmatically creating a hidden form and submitting it.
107
+ * Gives the caller a chance to run pre-redirect logic (via onBeforeRedirect).
108
+ */
109
+ static formRedirect(response, target = '_self') {
110
+ if (typeof document === 'undefined') {
111
+ throw new Error('PayFastCheckout.formRedirect requires a browser environment (document is not defined).');
112
+ }
113
+ const form = document.createElement('form');
114
+ form.method = 'POST';
115
+ form.action = response.payFastProcessUrl;
116
+ form.target = target;
117
+ form.style.display = 'none';
118
+ for (const [key, value] of Object.entries(response.payFastFormData)) {
119
+ const input = document.createElement('input');
120
+ input.type = 'hidden';
121
+ input.name = key;
122
+ input.value = value;
123
+ form.appendChild(input);
124
+ }
125
+ document.body.appendChild(form);
126
+ form.submit();
127
+ // Clean up the form after submission
128
+ setTimeout(() => {
129
+ document.body.removeChild(form);
130
+ }, 100);
131
+ }
132
+ /**
133
+ * Call the appropriate PayFastPaymentService method based on payment type.
134
+ */
135
+ static async callService(service, request, type) {
136
+ switch (type) {
137
+ case 'initiate':
138
+ return service.initiate(request);
139
+ case 'give':
140
+ return service.give(request);
141
+ case 'purchase':
142
+ return service.purchase(request);
143
+ case 'donate':
144
+ return service.donate(request);
145
+ case 'service':
146
+ return service.service(request);
147
+ case 'vendor':
148
+ return service.vendor(request);
149
+ default:
150
+ throw new Error(`Unknown payment type: ${type}`);
151
+ }
152
+ }
153
+ }
154
+ //# sourceMappingURL=PayFastCheckout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PayFastCheckout.js","sourceRoot":"","sources":["../../src/utils/PayFastCheckout.ts"],"names":[],"mappings":"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"}
@@ -20,4 +20,5 @@ export * from './error';
20
20
  export * from './device';
21
21
  export * from './api';
22
22
  export * from './hooks';
23
+ export * from './PayFastCheckout';
23
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC;AAGzB,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC;AAGzB,cAAc,WAAW,CAAC;AAG1B,cAAc,SAAS,CAAC;AAGxB,cAAc,YAAY,CAAC;AAG3B,cAAc,UAAU,CAAC;AAGzB,cAAc,UAAU,CAAC;AAGzB,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC;AAGzB,cAAc,cAAc,CAAC;AAG7B,cAAc,OAAO,CAAC;AAGtB,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC;AAGzB,cAAc,OAAO,CAAC;AAGtB,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC;AAGzB,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC;AAGzB,cAAc,WAAW,CAAC;AAG1B,cAAc,SAAS,CAAC;AAGxB,cAAc,YAAY,CAAC;AAG3B,cAAc,UAAU,CAAC;AAGzB,cAAc,UAAU,CAAC;AAGzB,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC;AAGzB,cAAc,cAAc,CAAC;AAG7B,cAAc,OAAO,CAAC;AAGtB,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC;AAGzB,cAAc,OAAO,CAAC;AAGtB,cAAc,SAAS,CAAC;AAGxB,cAAc,mBAAmB,CAAC"}
@@ -37,4 +37,6 @@ export * from './device';
37
37
  export * from './api';
38
38
  // React hooks utilities
39
39
  export * from './hooks';
40
+ // PayFast checkout utilities
41
+ export * from './PayFastCheckout';
40
42
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,kBAAkB;AAClB,cAAc,SAAS,CAAC;AAExB,mBAAmB;AACnB,cAAc,UAAU,CAAC;AAEzB,0BAA0B;AAC1B,cAAc,SAAS,CAAC;AAExB,wBAAwB;AACxB,cAAc,UAAU,CAAC;AAEzB,wCAAwC;AACxC,cAAc,WAAW,CAAC;AAE1B,kBAAkB;AAClB,cAAc,SAAS,CAAC;AAExB,sBAAsB;AACtB,cAAc,YAAY,CAAC;AAE3B,mBAAmB;AACnB,cAAc,UAAU,CAAC;AAEzB,mBAAmB;AACnB,cAAc,UAAU,CAAC;AAEzB,kBAAkB;AAClB,cAAc,SAAS,CAAC;AAExB,mBAAmB;AACnB,cAAc,UAAU,CAAC;AAEzB,uBAAuB;AACvB,cAAc,cAAc,CAAC;AAE7B,wBAAwB;AACxB,cAAc,OAAO,CAAC;AAEtB,2BAA2B;AAC3B,cAAc,SAAS,CAAC;AAExB,4BAA4B;AAC5B,cAAc,UAAU,CAAC;AAEzB,uBAAuB;AACvB,cAAc,OAAO,CAAC;AAEtB,wBAAwB;AACxB,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,kBAAkB;AAClB,cAAc,SAAS,CAAC;AAExB,mBAAmB;AACnB,cAAc,UAAU,CAAC;AAEzB,0BAA0B;AAC1B,cAAc,SAAS,CAAC;AAExB,wBAAwB;AACxB,cAAc,UAAU,CAAC;AAEzB,wCAAwC;AACxC,cAAc,WAAW,CAAC;AAE1B,kBAAkB;AAClB,cAAc,SAAS,CAAC;AAExB,sBAAsB;AACtB,cAAc,YAAY,CAAC;AAE3B,mBAAmB;AACnB,cAAc,UAAU,CAAC;AAEzB,mBAAmB;AACnB,cAAc,UAAU,CAAC;AAEzB,kBAAkB;AAClB,cAAc,SAAS,CAAC;AAExB,mBAAmB;AACnB,cAAc,UAAU,CAAC;AAEzB,uBAAuB;AACvB,cAAc,cAAc,CAAC;AAE7B,wBAAwB;AACxB,cAAc,OAAO,CAAC;AAEtB,2BAA2B;AAC3B,cAAc,SAAS,CAAC;AAExB,4BAA4B;AAC5B,cAAc,UAAU,CAAC;AAEzB,uBAAuB;AACvB,cAAc,OAAO,CAAC;AAEtB,wBAAwB;AACxB,cAAc,SAAS,CAAC;AAExB,6BAA6B;AAC7B,cAAc,mBAAmB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@actschurch/ccms-sdk",
3
- "version": "0.0.9",
3
+ "version": "0.0.11",
4
4
  "description": "CCMS TypeScript SDK for Web APIs and WebSockets (Express, Web, React Native)",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",