@growsober/sdk 1.0.5 → 1.0.8

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 (70) hide show
  1. package/dist/__tests__/e2e.test.d.ts +30 -0
  2. package/dist/__tests__/e2e.test.js +959 -63
  3. package/dist/api/mutations/badges.d.ts +116 -0
  4. package/dist/api/mutations/badges.js +177 -0
  5. package/dist/api/mutations/brands.d.ts +251 -0
  6. package/dist/api/mutations/brands.js +242 -0
  7. package/dist/api/mutations/creators.d.ts +131 -0
  8. package/dist/api/mutations/creators.js +129 -0
  9. package/dist/api/mutations/event-chat.d.ts +2 -2
  10. package/dist/api/mutations/event-chat.js +9 -9
  11. package/dist/api/mutations/index.d.ts +4 -0
  12. package/dist/api/mutations/index.js +5 -1
  13. package/dist/api/mutations/jack.d.ts +29 -0
  14. package/dist/api/mutations/jack.js +41 -1
  15. package/dist/api/mutations/products.d.ts +175 -0
  16. package/dist/api/mutations/products.js +226 -0
  17. package/dist/api/mutations/support.d.ts +20 -1
  18. package/dist/api/mutations/support.js +36 -1
  19. package/dist/api/queries/badges.d.ts +221 -0
  20. package/dist/api/queries/badges.js +290 -0
  21. package/dist/api/queries/bookings.d.ts +1 -1
  22. package/dist/api/queries/brands.d.ts +248 -0
  23. package/dist/api/queries/brands.js +226 -0
  24. package/dist/api/queries/businesses.d.ts +61 -1
  25. package/dist/api/queries/businesses.js +27 -1
  26. package/dist/api/queries/creators.d.ts +332 -0
  27. package/dist/api/queries/creators.js +249 -0
  28. package/dist/api/queries/event-chat.d.ts +1 -1
  29. package/dist/api/queries/event-chat.js +4 -4
  30. package/dist/api/queries/events.d.ts +45 -0
  31. package/dist/api/queries/index.d.ts +5 -0
  32. package/dist/api/queries/index.js +6 -1
  33. package/dist/api/queries/jack.d.ts +80 -0
  34. package/dist/api/queries/jack.js +98 -1
  35. package/dist/api/queries/library.d.ts +8 -0
  36. package/dist/api/queries/products.d.ts +185 -0
  37. package/dist/api/queries/products.js +203 -0
  38. package/dist/api/queries/support.d.ts +46 -1
  39. package/dist/api/queries/support.js +48 -1
  40. package/dist/api/queries/venues.d.ts +304 -0
  41. package/dist/api/queries/venues.js +211 -0
  42. package/dist/api/types.d.ts +245 -0
  43. package/dist/api/types.js +6 -1
  44. package/dist/api/utils/eventGrouping.d.ts +104 -0
  45. package/dist/api/utils/eventGrouping.js +155 -0
  46. package/dist/index.d.ts +1 -0
  47. package/dist/index.js +5 -1
  48. package/package.json +5 -2
  49. package/src/__tests__/e2e.test.ts +996 -64
  50. package/src/api/mutations/badges.ts +228 -0
  51. package/src/api/mutations/brands.ts +376 -0
  52. package/src/api/mutations/creators.ts +171 -0
  53. package/src/api/mutations/event-chat.ts +8 -8
  54. package/src/api/mutations/index.ts +4 -0
  55. package/src/api/mutations/jack.ts +50 -1
  56. package/src/api/mutations/products.ts +336 -0
  57. package/src/api/mutations/support.ts +44 -0
  58. package/src/api/queries/badges.ts +385 -0
  59. package/src/api/queries/brands.ts +281 -0
  60. package/src/api/queries/businesses.ts +30 -1
  61. package/src/api/queries/creators.ts +308 -0
  62. package/src/api/queries/event-chat.ts +3 -3
  63. package/src/api/queries/index.ts +5 -0
  64. package/src/api/queries/jack.ts +139 -1
  65. package/src/api/queries/products.ts +312 -0
  66. package/src/api/queries/support.ts +54 -0
  67. package/src/api/queries/venues.ts +271 -0
  68. package/src/api/types.ts +317 -1
  69. package/src/api/utils/eventGrouping.ts +181 -0
  70. package/src/index.ts +6 -0
@@ -0,0 +1,242 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useCreateBrand = useCreateBrand;
4
+ exports.useUpdateBrand = useUpdateBrand;
5
+ exports.useAddBrandOwner = useAddBrandOwner;
6
+ exports.useUpdateBrandOwnerRole = useUpdateBrandOwnerRole;
7
+ exports.useRemoveBrandOwner = useRemoveBrandOwner;
8
+ exports.useAddBrandCreator = useAddBrandCreator;
9
+ exports.useUpdateBrandCreator = useUpdateBrandCreator;
10
+ exports.useRemoveBrandCreator = useRemoveBrandCreator;
11
+ const react_query_1 = require("@tanstack/react-query");
12
+ const client_1 = require("../client");
13
+ const brands_1 = require("../queries/brands");
14
+ // ============================================================================
15
+ // MUTATION HOOKS
16
+ // ============================================================================
17
+ /**
18
+ * Create a new brand
19
+ *
20
+ * @example
21
+ * ```tsx
22
+ * const { mutateAsync: createBrand } = useCreateBrand();
23
+ *
24
+ * await createBrand({
25
+ * slug: 'wellness-co',
26
+ * name: 'Wellness Co',
27
+ * description: 'A wellness brand',
28
+ * });
29
+ * ```
30
+ */
31
+ function useCreateBrand(options) {
32
+ const queryClient = (0, react_query_1.useQueryClient)();
33
+ return (0, react_query_1.useMutation)({
34
+ mutationFn: async (data) => {
35
+ const client = (0, client_1.getApiClient)();
36
+ const response = await client.post('/api/v1/brands', data);
37
+ return response.data;
38
+ },
39
+ onSuccess: () => {
40
+ queryClient.invalidateQueries({ queryKey: brands_1.brandKeys.all });
41
+ },
42
+ ...options,
43
+ });
44
+ }
45
+ /**
46
+ * Update a brand
47
+ *
48
+ * @example
49
+ * ```tsx
50
+ * const { mutateAsync: updateBrand } = useUpdateBrand();
51
+ *
52
+ * await updateBrand({
53
+ * id: 'brand-123',
54
+ * data: { description: 'Updated description' },
55
+ * });
56
+ * ```
57
+ */
58
+ function useUpdateBrand(options) {
59
+ const queryClient = (0, react_query_1.useQueryClient)();
60
+ return (0, react_query_1.useMutation)({
61
+ mutationFn: async ({ id, data }) => {
62
+ const client = (0, client_1.getApiClient)();
63
+ const response = await client.patch(`/api/v1/brands/${id}`, data);
64
+ return response.data;
65
+ },
66
+ onSuccess: (_, variables) => {
67
+ queryClient.invalidateQueries({ queryKey: brands_1.brandKeys.detail(variables.id) });
68
+ },
69
+ ...options,
70
+ });
71
+ }
72
+ /**
73
+ * Add a brand owner
74
+ *
75
+ * @example
76
+ * ```tsx
77
+ * const { mutateAsync: addOwner } = useAddBrandOwner();
78
+ *
79
+ * await addOwner({
80
+ * brandId: 'brand-123',
81
+ * userId: 'user-456',
82
+ * role: 'MANAGER',
83
+ * });
84
+ * ```
85
+ */
86
+ function useAddBrandOwner(options) {
87
+ const queryClient = (0, react_query_1.useQueryClient)();
88
+ return (0, react_query_1.useMutation)({
89
+ mutationFn: async ({ brandId, userId, role, }) => {
90
+ const client = (0, client_1.getApiClient)();
91
+ const response = await client.post(`/api/v1/brands/${brandId}/owners`, { userId, role });
92
+ return response.data;
93
+ },
94
+ onSuccess: (_, variables) => {
95
+ queryClient.invalidateQueries({ queryKey: brands_1.brandKeys.owners(variables.brandId) });
96
+ },
97
+ ...options,
98
+ });
99
+ }
100
+ /**
101
+ * Update a brand owner's role
102
+ *
103
+ * @example
104
+ * ```tsx
105
+ * const { mutateAsync: updateOwnerRole } = useUpdateBrandOwnerRole();
106
+ *
107
+ * await updateOwnerRole({
108
+ * brandId: 'brand-123',
109
+ * userId: 'user-456',
110
+ * role: 'OWNER',
111
+ * });
112
+ * ```
113
+ */
114
+ function useUpdateBrandOwnerRole(options) {
115
+ const queryClient = (0, react_query_1.useQueryClient)();
116
+ return (0, react_query_1.useMutation)({
117
+ mutationFn: async ({ brandId, userId, role, }) => {
118
+ const client = (0, client_1.getApiClient)();
119
+ const response = await client.patch(`/api/v1/brands/${brandId}/owners/${userId}`, { role });
120
+ return response.data;
121
+ },
122
+ onSuccess: (_, variables) => {
123
+ queryClient.invalidateQueries({ queryKey: brands_1.brandKeys.owners(variables.brandId) });
124
+ },
125
+ ...options,
126
+ });
127
+ }
128
+ /**
129
+ * Remove a brand owner
130
+ *
131
+ * @example
132
+ * ```tsx
133
+ * const { mutateAsync: removeOwner } = useRemoveBrandOwner();
134
+ *
135
+ * await removeOwner({
136
+ * brandId: 'brand-123',
137
+ * userId: 'user-456',
138
+ * });
139
+ * ```
140
+ */
141
+ function useRemoveBrandOwner(options) {
142
+ const queryClient = (0, react_query_1.useQueryClient)();
143
+ return (0, react_query_1.useMutation)({
144
+ mutationFn: async ({ brandId, userId, }) => {
145
+ const client = (0, client_1.getApiClient)();
146
+ await client.delete(`/api/v1/brands/${brandId}/owners/${userId}`);
147
+ },
148
+ onSuccess: (_, variables) => {
149
+ queryClient.invalidateQueries({ queryKey: brands_1.brandKeys.owners(variables.brandId) });
150
+ },
151
+ ...options,
152
+ });
153
+ }
154
+ /**
155
+ * Add a creator partnership to a brand
156
+ *
157
+ * @example
158
+ * ```tsx
159
+ * const { mutateAsync: addCreator } = useAddBrandCreator();
160
+ *
161
+ * await addCreator({
162
+ * brandId: 'brand-123',
163
+ * creatorId: 'creator-456',
164
+ * commissionRate: 0.15,
165
+ * });
166
+ * ```
167
+ */
168
+ function useAddBrandCreator(options) {
169
+ const queryClient = (0, react_query_1.useQueryClient)();
170
+ return (0, react_query_1.useMutation)({
171
+ mutationFn: async ({ brandId, creatorId, startDate, endDate, commissionRate, isActive, }) => {
172
+ const client = (0, client_1.getApiClient)();
173
+ const response = await client.post(`/api/v1/brands/${brandId}/creators`, {
174
+ creatorId,
175
+ startDate,
176
+ endDate,
177
+ commissionRate,
178
+ isActive,
179
+ });
180
+ return response.data;
181
+ },
182
+ onSuccess: (_, variables) => {
183
+ queryClient.invalidateQueries({ queryKey: brands_1.brandKeys.creators(variables.brandId) });
184
+ },
185
+ ...options,
186
+ });
187
+ }
188
+ /**
189
+ * Update a creator partnership
190
+ *
191
+ * @example
192
+ * ```tsx
193
+ * const { mutateAsync: updateCreator } = useUpdateBrandCreator();
194
+ *
195
+ * await updateCreator({
196
+ * brandId: 'brand-123',
197
+ * creatorId: 'creator-456',
198
+ * isActive: false,
199
+ * });
200
+ * ```
201
+ */
202
+ function useUpdateBrandCreator(options) {
203
+ const queryClient = (0, react_query_1.useQueryClient)();
204
+ return (0, react_query_1.useMutation)({
205
+ mutationFn: async ({ brandId, creatorId, ...data }) => {
206
+ const client = (0, client_1.getApiClient)();
207
+ const response = await client.patch(`/api/v1/brands/${brandId}/creators/${creatorId}`, data);
208
+ return response.data;
209
+ },
210
+ onSuccess: (_, variables) => {
211
+ queryClient.invalidateQueries({ queryKey: brands_1.brandKeys.creators(variables.brandId) });
212
+ },
213
+ ...options,
214
+ });
215
+ }
216
+ /**
217
+ * Remove a creator partnership from a brand
218
+ *
219
+ * @example
220
+ * ```tsx
221
+ * const { mutateAsync: removeCreator } = useRemoveBrandCreator();
222
+ *
223
+ * await removeCreator({
224
+ * brandId: 'brand-123',
225
+ * creatorId: 'creator-456',
226
+ * });
227
+ * ```
228
+ */
229
+ function useRemoveBrandCreator(options) {
230
+ const queryClient = (0, react_query_1.useQueryClient)();
231
+ return (0, react_query_1.useMutation)({
232
+ mutationFn: async ({ brandId, creatorId, }) => {
233
+ const client = (0, client_1.getApiClient)();
234
+ await client.delete(`/api/v1/brands/${brandId}/creators/${creatorId}`);
235
+ },
236
+ onSuccess: (_, variables) => {
237
+ queryClient.invalidateQueries({ queryKey: brands_1.brandKeys.creators(variables.brandId) });
238
+ },
239
+ ...options,
240
+ });
241
+ }
242
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhbmRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS9tdXRhdGlvbnMvYnJhbmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBOEJBLHdDQWdCQztBQWVELHdDQW1CQztBQWdCRCw0Q0ErQkM7QUFnQkQsMERBK0JDO0FBZUQsa0RBd0JDO0FBZ0JELGdEQWtEQztBQWdCRCxzREF5Q0M7QUFlRCxzREF3QkM7QUF2WEQsdURBQXdGO0FBQ3hGLHNDQUF5QztBQUN6Qyw4Q0FBOEM7QUFVOUMsK0VBQStFO0FBQy9FLGlCQUFpQjtBQUNqQiwrRUFBK0U7QUFFL0U7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILFNBQWdCLGNBQWMsQ0FDNUIsT0FBMEY7SUFFMUYsTUFBTSxXQUFXLEdBQUcsSUFBQSw0QkFBYyxHQUFFLENBQUM7SUFFckMsT0FBTyxJQUFBLHlCQUFXLEVBQUM7UUFDakIsVUFBVSxFQUFFLEtBQUssRUFBRSxJQUF3QixFQUEwQixFQUFFO1lBQ3JFLE1BQU0sTUFBTSxHQUFHLElBQUEscUJBQVksR0FBRSxDQUFDO1lBQzlCLE1BQU0sUUFBUSxHQUFHLE1BQU0sTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUMzRCxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDdkIsQ0FBQztRQUNELFNBQVMsRUFBRSxHQUFHLEVBQUU7WUFDZCxXQUFXLENBQUMsaUJBQWlCLENBQUMsRUFBRSxRQUFRLEVBQUUsa0JBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFDRCxHQUFHLE9BQU87S0FDWCxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsU0FBZ0IsY0FBYyxDQUM1QixPQUdDO0lBRUQsTUFBTSxXQUFXLEdBQUcsSUFBQSw0QkFBYyxHQUFFLENBQUM7SUFFckMsT0FBTyxJQUFBLHlCQUFXLEVBQUM7UUFDakIsVUFBVSxF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QVMsRUFBRSxFQUFFO1lBQzFCLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLFFBQVEsRUFBRSxrQkFBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3JGLENBQUM7UUFDRCxHQUFHLE9BQU87S0FDWCxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlTXV0YXRpb24sIHVzZVF1ZXJ5Q2xpZW50LCBVc2VNdXRhdGlvbk9wdGlvbnMgfSBmcm9tICdAdGFuc3RhY2svcmVhY3QtcXVlcnknO1xuaW1wb3J0IHsgZ2V0QXBpQ2xpZW50IH0gZnJvbSAnLi4vY2xpZW50JztcbmltcG9ydCB7IGJyYW5kS2V5cyB9IGZyb20gJy4uL3F1ZXJpZXMvYnJhbmRzJztcbmltcG9ydCB0eXBlIHtcbiAgQnJhbmRSZXNwb25zZSxcbiAgQnJhbmRPd25lclJlc3BvbnNlLFxuICBCcmFuZENyZWF0b3JSZXNwb25zZSxcbiAgQnJhbmRPd25lclJvbGUsXG4gIENyZWF0ZUJyYW5kUmVxdWVzdCxcbiAgVXBkYXRlQnJhbmRSZXF1ZXN0LFxufSBmcm9tICcuLi90eXBlcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1VVEFUSU9OIEhPT0tTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogQ3JlYXRlIGEgbmV3IGJyYW5kXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogY29uc3QgeyBtdXRhdGVBc3luYzogY3JlYXRlQnJhbmQgfSA9IHVzZUNyZWF0ZUJyYW5kKCk7XG4gKlxuICogYXdhaXQgY3JlYXRlQnJhbmQoe1xuICogICBzbHVnOiAnd2VsbG5lc3MtY28nLFxuICogICBuYW1lOiAnV2VsbG5lc3MgQ28nLFxuICogICBkZXNjcmlwdGlvbjogJ0Egd2VsbG5lc3MgYnJhbmQnLFxuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUNyZWF0ZUJyYW5kKFxuICBvcHRpb25zPzogT21pdDxVc2VNdXRhdGlvbk9wdGlvbnM8QnJhbmRSZXNwb25zZSwgRXJyb3IsIENyZWF0ZUJyYW5kUmVxdWVzdD4sICdtdXRhdGlvbkZuJz5cbikge1xuICBjb25zdCBxdWVyeUNsaWVudCA9IHVzZVF1ZXJ5Q2xpZW50KCk7XG5cbiAgcmV0dXJuIHVzZU11dGF0aW9uKHtcbiAgICBtdXRhdGlvbkZuOiBhc3luYyAoZGF0YTogQ3JlYXRlQnJhbmRSZXF1ZXN0KTogUHJvbWlzZTxCcmFuZFJlc3BvbnNlPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LnBvc3QoJy9hcGkvdjEvYnJhbmRzJywgZGF0YSk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9LFxuICAgIG9uU3VjY2VzczogKCkgPT4ge1xuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoeyBxdWVyeUtleTogYnJhbmRLZXlzLmFsbCB9KTtcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuXG4vKipcbiAqIFVwZGF0ZSBhIGJyYW5kXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogY29uc3QgeyBtdXRhdGVBc3luYzogdXBkYXRlQnJhbmQgfSA9IHVzZVVwZGF0ZUJyYW5kKCk7XG4gKlxuICogYXdhaXQgdXBkYXRlQnJhbmQoe1xuICogICBpZDogJ2JyYW5kLTEyMycsXG4gKiAgIGRhdGE6IHsgZGVzY3JpcHRpb246ICdVcGRhdGVkIGRlc2NyaXB0aW9uJyB9LFxuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVVwZGF0ZUJyYW5kKFxuICBvcHRpb25zPzogT21pdDxcbiAgICBVc2VNdXRhdGlvbk9wdGlvbnM8QnJhbmRSZXNwb25zZSwgRXJyb3IsIHsgaWQ6IHN0cmluZzsgZGF0YTogVXBkYXRlQnJhbmRSZXF1ZXN0IH0+LFxuICAgICdtdXRhdGlvbkZuJ1xuICA+XG4pIHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCgpO1xuXG4gIHJldHVybiB1c2VNdXRhdGlvbih7XG4gICAgbXV0YXRpb25GbjogYXN5bmMgKHsgaWQsIGRhdGEgfTogeyBpZDogc3RyaW5nOyBkYXRhOiBVcGRhdGVCcmFuZFJlcXVlc3QgfSk6IFByb21pc2U8QnJhbmRSZXNwb25zZT4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5wYXRjaChgL2FwaS92MS9icmFuZHMvJHtpZH1gLCBkYXRhKTtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH0sXG4gICAgb25TdWNjZXNzOiAoXywgdmFyaWFibGVzKSA9PiB7XG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7IHF1ZXJ5S2V5OiBicmFuZEtleXMuZGV0YWlsKHZhcmlhYmxlcy5pZCkgfSk7XG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cblxuLyoqXG4gKiBBZGQgYSBicmFuZCBvd25lclxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIGNvbnN0IHsgbXV0YXRlQXN5bmM6IGFkZE93bmVyIH0gPSB1c2VBZGRCcmFuZE93bmVyKCk7XG4gKlxuICogYXdhaXQgYWRkT3duZXIoe1xuICogICBicmFuZElkOiAnYnJhbmQtMTIzJyxcbiAqICAgdXNlcklkOiAndXNlci00NTYnLFxuICogICByb2xlOiAnTUFOQUdFUicsXG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlQWRkQnJhbmRPd25lcihcbiAgb3B0aW9ucz86IE9taXQ8XG4gICAgVXNlTXV0YXRpb25PcHRpb25zPFxuICAgICAgQnJhbmRPd25lclJlc3BvbnNlLFxuICAgICAgRXJyb3IsXG4gICAgICB7IGJyYW5kSWQ6IHN0cmluZzsgdXNlcklkOiBzdHJpbmc7IHJvbGU6IEJyYW5kT3duZXJSb2xlIH1cbiAgICA+LFxuICAgICdtdXRhdGlvbkZuJ1xuICA+XG4pIHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCgpO1xuXG4gIHJldHVybiB1c2VNdXRhdGlvbih7XG4gICAgbXV0YXRpb25GbjogYXN5bmMgKHtcbiAgICAgIGJyYW5kSWQsXG4gICAgICB1c2VySWQsXG4gICAgICByb2xlLFxuICAgIH06IHtcbiAgICAgIGJyYW5kSWQ6IHN0cmluZztcbiAgICAgIHVzZXJJZDogc3RyaW5nO1xuICAgICAgcm9sZTogQnJhbmRPd25lclJvbGU7XG4gICAgfSk6IFByb21pc2U8QnJhbmRPd25lclJlc3BvbnNlPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LnBvc3QoYC9hcGkvdjEvYnJhbmRzLyR7YnJhbmRJZH0vb3duZXJzYCwgeyB1c2VySWQsIHJvbGUgfSk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9LFxuICAgIG9uU3VjY2VzczogKF8sIHZhcmlhYmxlcykgPT4ge1xuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoeyBxdWVyeUtleTogYnJhbmRLZXlzLm93bmVycyh2YXJpYWJsZXMuYnJhbmRJZCkgfSk7XG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cblxuLyoqXG4gKiBVcGRhdGUgYSBicmFuZCBvd25lcidzIHJvbGVcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiBjb25zdCB7IG11dGF0ZUFzeW5jOiB1cGRhdGVPd25lclJvbGUgfSA9IHVzZVVwZGF0ZUJyYW5kT3duZXJSb2xlKCk7XG4gKlxuICogYXdhaXQgdXBkYXRlT3duZXJSb2xlKHtcbiAqICAgYnJhbmRJZDogJ2JyYW5kLTEyMycsXG4gKiAgIHVzZXJJZDogJ3VzZXItNDU2JyxcbiAqICAgcm9sZTogJ09XTkVSJyxcbiAqIH0pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VVcGRhdGVCcmFuZE93bmVyUm9sZShcbiAgb3B0aW9ucz86IE9taXQ8XG4gICAgVXNlTXV0YXRpb25PcHRpb25zPFxuICAgICAgQnJhbmRPd25lclJlc3BvbnNlLFxuICAgICAgRXJyb3IsXG4gICAgICB7IGJyYW5kSWQ6IHN0cmluZzsgdXNlcklkOiBzdHJpbmc7IHJvbGU6IEJyYW5kT3duZXJSb2xlIH1cbiAgICA+LFxuICAgICdtdXRhdGlvbkZuJ1xuICA+XG4pIHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCgpO1xuXG4gIHJldHVybiB1c2VNdXRhdGlvbih7XG4gICAgbXV0YXRpb25GbjogYXN5bmMgKHtcbiAgICAgIGJyYW5kSWQsXG4gICAgICB1c2VySWQsXG4gICAgICByb2xlLFxuICAgIH06IHtcbiAgICAgIGJyYW5kSWQ6IHN0cmluZztcbiAgICAgIHVzZXJJZDogc3RyaW5nO1xuICAgICAgcm9sZTogQnJhbmRPd25lclJvbGU7XG4gICAgfSk6IFByb21pc2U8QnJhbmRPd25lclJlc3BvbnNlPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LnBhdGNoKGAvYXBpL3YxL2JyYW5kcy8ke2JyYW5kSWR9L293bmVycy8ke3VzZXJJZH1gLCB7IHJvbGUgfSk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9LFxuICAgIG9uU3VjY2VzczogKF8sIHZhcmlhYmxlcykgPT4ge1xuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoeyBxdWVyeUtleTogYnJhbmRLZXlzLm93bmVycyh2YXJpYWJsZXMuYnJhbmRJZCkgfSk7XG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgYSBicmFuZCBvd25lclxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIGNvbnN0IHsgbXV0YXRlQXN5bmM6IHJlbW92ZU93bmVyIH0gPSB1c2VSZW1vdmVCcmFuZE93bmVyKCk7XG4gKlxuICogYXdhaXQgcmVtb3ZlT3duZXIoe1xuICogICBicmFuZElkOiAnYnJhbmQtMTIzJyxcbiAqICAgdXNlcklkOiAndXNlci00NTYnLFxuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVJlbW92ZUJyYW5kT3duZXIoXG4gIG9wdGlvbnM/OiBPbWl0PFxuICAgIFVzZU11dGF0aW9uT3B0aW9uczx2b2lkLCBFcnJvciwgeyBicmFuZElkOiBzdHJpbmc7IHVzZXJJZDogc3RyaW5nIH0+LFxuICAgICdtdXRhdGlvbkZuJ1xuICA+XG4pIHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCgpO1xuXG4gIHJldHVybiB1c2VNdXRhdGlvbih7XG4gICAgbXV0YXRpb25GbjogYXN5bmMgKHtcbiAgICAgIGJyYW5kSWQsXG4gICAgICB1c2VySWQsXG4gICAgfToge1xuICAgICAgYnJhbmRJZDogc3RyaW5nO1xuICAgICAgdXNlcklkOiBzdHJpbmc7XG4gICAgfSk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KCk7XG4gICAgICBhd2FpdCBjbGllbnQuZGVsZXRlKGAvYXBpL3YxL2JyYW5kcy8ke2JyYW5kSWR9L293bmVycy8ke3VzZXJJZH1gKTtcbiAgICB9LFxuICAgIG9uU3VjY2VzczogKF8sIHZhcmlhYmxlcykgPT4ge1xuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoeyBxdWVyeUtleTogYnJhbmRLZXlzLm93bmVycyh2YXJpYWJsZXMuYnJhbmRJZCkgfSk7XG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cblxuLyoqXG4gKiBBZGQgYSBjcmVhdG9yIHBhcnRuZXJzaGlwIHRvIGEgYnJhbmRcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiBjb25zdCB7IG11dGF0ZUFzeW5jOiBhZGRDcmVhdG9yIH0gPSB1c2VBZGRCcmFuZENyZWF0b3IoKTtcbiAqXG4gKiBhd2FpdCBhZGRDcmVhdG9yKHtcbiAqICAgYnJhbmRJZDogJ2JyYW5kLTEyMycsXG4gKiAgIGNyZWF0b3JJZDogJ2NyZWF0b3ItNDU2JyxcbiAqICAgY29tbWlzc2lvblJhdGU6IDAuMTUsXG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlQWRkQnJhbmRDcmVhdG9yKFxuICBvcHRpb25zPzogT21pdDxcbiAgICBVc2VNdXRhdGlvbk9wdGlvbnM8XG4gICAgICBCcmFuZENyZWF0b3JSZXNwb25zZSxcbiAgICAgIEVycm9yLFxuICAgICAge1xuICAgICAgICBicmFuZElkOiBzdHJpbmc7XG4gICAgICAgIGNyZWF0b3JJZDogc3RyaW5nO1xuICAgICAgICBzdGFydERhdGU/OiBzdHJpbmc7XG4gICAgICAgIGVuZERhdGU/OiBzdHJpbmc7XG4gICAgICAgIGNvbW1pc3Npb25SYXRlPzogbnVtYmVyO1xuICAgICAgICBpc0FjdGl2ZT86IGJvb2xlYW47XG4gICAgICB9XG4gICAgPixcbiAgICAnbXV0YXRpb25GbidcbiAgPlxuKSB7XG4gIGNvbnN0IHF1ZXJ5Q2xpZW50ID0gdXNlUXVlcnlDbGllbnQoKTtcblxuICByZXR1cm4gdXNlTXV0YXRpb24oe1xuICAgIG11dGF0aW9uRm46IGFzeW5jICh7XG4gICAgICBicmFuZElkLFxuICAgICAgY3JlYXRvcklkLFxuICAgICAgc3RhcnREYXRlLFxuICAgICAgZW5kRGF0ZSxcbiAgICAgIGNvbW1pc3Npb25SYXRlLFxuICAgICAgaXNBY3RpdmUsXG4gICAgfToge1xuICAgICAgYnJhbmRJZDogc3RyaW5nO1xuICAgICAgY3JlYXRvcklkOiBzdHJpbmc7XG4gICAgICBzdGFydERhdGU/OiBzdHJpbmc7XG4gICAgICBlbmREYXRlPzogc3RyaW5nO1xuICAgICAgY29tbWlzc2lvblJhdGU/OiBudW1iZXI7XG4gICAgICBpc0FjdGl2ZT86IGJvb2xlYW47XG4gICAgfSk6IFByb21pc2U8QnJhbmRDcmVhdG9yUmVzcG9uc2U+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQucG9zdChgL2FwaS92MS9icmFuZHMvJHticmFuZElkfS9jcmVhdG9yc2AsIHtcbiAgICAgICAgY3JlYXRvcklkLFxuICAgICAgICBzdGFydERhdGUsXG4gICAgICAgIGVuZERhdGUsXG4gICAgICAgIGNvbW1pc3Npb25SYXRlLFxuICAgICAgICBpc0FjdGl2ZSxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSxcbiAgICBvblN1Y2Nlc3M6IChfLCB2YXJpYWJsZXMpID0+IHtcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHsgcXVlcnlLZXk6IGJyYW5kS2V5cy5jcmVhdG9ycyh2YXJpYWJsZXMuYnJhbmRJZCkgfSk7XG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cblxuLyoqXG4gKiBVcGRhdGUgYSBjcmVhdG9yIHBhcnRuZXJzaGlwXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogY29uc3QgeyBtdXRhdGVBc3luYzogdXBkYXRlQ3JlYXRvciB9ID0gdXNlVXBkYXRlQnJhbmRDcmVhdG9yKCk7XG4gKlxuICogYXdhaXQgdXBkYXRlQ3JlYXRvcih7XG4gKiAgIGJyYW5kSWQ6ICdicmFuZC0xMjMnLFxuICogICBjcmVhdG9ySWQ6ICdjcmVhdG9yLTQ1NicsXG4gKiAgIGlzQWN0aXZlOiBmYWxzZSxcbiAqIH0pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VVcGRhdGVCcmFuZENyZWF0b3IoXG4gIG9wdGlvbnM/OiBPbWl0PFxuICAgIFVzZU11dGF0aW9uT3B0aW9uczxcbiAgICAgIEJyYW5kQ3JlYXRvclJlc3BvbnNlLFxuICAgICAgRXJyb3IsXG4gICAgICB7XG4gICAgICAgIGJyYW5kSWQ6IHN0cmluZztcbiAgICAgICAgY3JlYXRvcklkOiBzdHJpbmc7XG4gICAgICAgIHN0YXJ0RGF0ZT86IHN0cmluZztcbiAgICAgICAgZW5kRGF0ZT86IHN0cmluZztcbiAgICAgICAgY29tbWlzc2lvblJhdGU/OiBudW1iZXI7XG4gICAgICAgIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgICAgIH1cbiAgICA+LFxuICAgICdtdXRhdGlvbkZuJ1xuICA+XG4pIHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCgpO1xuXG4gIHJldHVybiB1c2VNdXRhdGlvbih7XG4gICAgbXV0YXRpb25GbjogYXN5bmMgKHtcbiAgICAgIGJyYW5kSWQsXG4gICAgICBjcmVhdG9ySWQsXG4gICAgICAuLi5kYXRhXG4gICAgfToge1xuICAgICAgYnJhbmRJZDogc3RyaW5nO1xuICAgICAgY3JlYXRvcklkOiBzdHJpbmc7XG4gICAgICBzdGFydERhdGU/OiBzdHJpbmc7XG4gICAgICBlbmREYXRlPzogc3RyaW5nO1xuICAgICAgY29tbWlzc2lvblJhdGU/OiBudW1iZXI7XG4gICAgICBpc0FjdGl2ZT86IGJvb2xlYW47XG4gICAgfSk6IFByb21pc2U8QnJhbmRDcmVhdG9yUmVzcG9uc2U+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQucGF0Y2goYC9hcGkvdjEvYnJhbmRzLyR7YnJhbmRJZH0vY3JlYXRvcnMvJHtjcmVhdG9ySWR9YCwgZGF0YSk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9LFxuICAgIG9uU3VjY2VzczogKF8sIHZhcmlhYmxlcykgPT4ge1xuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoeyBxdWVyeUtleTogYnJhbmRLZXlzLmNyZWF0b3JzKHZhcmlhYmxlcy5icmFuZElkKSB9KTtcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuXG4vKipcbiAqIFJlbW92ZSBhIGNyZWF0b3IgcGFydG5lcnNoaXAgZnJvbSBhIGJyYW5kXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogY29uc3QgeyBtdXRhdGVBc3luYzogcmVtb3ZlQ3JlYXRvciB9ID0gdXNlUmVtb3ZlQnJhbmRDcmVhdG9yKCk7XG4gKlxuICogYXdhaXQgcmVtb3ZlQ3JlYXRvcih7XG4gKiAgIGJyYW5kSWQ6ICdicmFuZC0xMjMnLFxuICogICBjcmVhdG9ySWQ6ICdjcmVhdG9yLTQ1NicsXG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlUmVtb3ZlQnJhbmRDcmVhdG9yKFxuICBvcHRpb25zPzogT21pdDxcbiAgICBVc2VNdXRhdGlvbk9wdGlvbnM8dm9pZCwgRXJyb3IsIHsgYnJhbmRJZDogc3RyaW5nOyBjcmVhdG9ySWQ6IHN0cmluZyB9PixcbiAgICAnbXV0YXRpb25GbidcbiAgPlxuKSB7XG4gIGNvbnN0IHF1ZXJ5Q2xpZW50ID0gdXNlUXVlcnlDbGllbnQoKTtcblxuICByZXR1cm4gdXNlTXV0YXRpb24oe1xuICAgIG11dGF0aW9uRm46IGFzeW5jICh7XG4gICAgICBicmFuZElkLFxuICAgICAgY3JlYXRvcklkLFxuICAgIH06IHtcbiAgICAgIGJyYW5kSWQ6IHN0cmluZztcbiAgICAgIGNyZWF0b3JJZDogc3RyaW5nO1xuICAgIH0pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgYXdhaXQgY2xpZW50LmRlbGV0ZShgL2FwaS92MS9icmFuZHMvJHticmFuZElkfS9jcmVhdG9ycy8ke2NyZWF0b3JJZH1gKTtcbiAgICB9LFxuICAgIG9uU3VjY2VzczogKF8sIHZhcmlhYmxlcykgPT4ge1xuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoeyBxdWVyeUtleTogYnJhbmRLZXlzLmNyZWF0b3JzKHZhcmlhYmxlcy5icmFuZElkKSB9KTtcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuIl19
@@ -0,0 +1,131 @@
1
+ import { UseMutationOptions } from '@tanstack/react-query';
2
+ import type { CreatorResponse, CreatorAvailabilityResponse, CreateCreatorRequest, UpdateCreatorRequest, CreateAvailabilityRequest } from '../types';
3
+ /**
4
+ * Create a new creator profile for the current user
5
+ *
6
+ * @example
7
+ * ```tsx
8
+ * const { mutateAsync: createCreator } = useCreateCreator();
9
+ *
10
+ * await createCreator({
11
+ * slug: 'john-doe',
12
+ * displayName: 'John Doe',
13
+ * bio: 'Wellness facilitator',
14
+ * canFacilitate: true,
15
+ * });
16
+ * ```
17
+ */
18
+ export declare function useCreateCreator(options?: Omit<UseMutationOptions<CreatorResponse, Error, CreateCreatorRequest>, 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<{
19
+ id: string;
20
+ userId: string;
21
+ slug: string;
22
+ displayName: string;
23
+ bio?: Record<string, never>;
24
+ avatarUrl?: Record<string, never>;
25
+ cityIds: string[];
26
+ canFacilitate: boolean;
27
+ canCreateContent: boolean;
28
+ isInfluencer: boolean;
29
+ specialties: string[];
30
+ certifications: string[];
31
+ sessionRate?: number;
32
+ isVerified: boolean;
33
+ isActive: boolean;
34
+ createdAt: string;
35
+ updatedAt: string;
36
+ user?: import("@growsober/types/dist/generated").components["schemas"]["CreatorUserDto"];
37
+ }, Error, CreateCreatorRequest, unknown>;
38
+ /**
39
+ * Update a creator profile
40
+ *
41
+ * @example
42
+ * ```tsx
43
+ * const { mutateAsync: updateCreator } = useUpdateCreator();
44
+ *
45
+ * await updateCreator({
46
+ * id: 'creator-123',
47
+ * data: { bio: 'Updated bio' },
48
+ * });
49
+ * ```
50
+ */
51
+ export declare function useUpdateCreator(options?: Omit<UseMutationOptions<CreatorResponse, Error, {
52
+ id: string;
53
+ data: UpdateCreatorRequest;
54
+ }>, 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<{
55
+ id: string;
56
+ userId: string;
57
+ slug: string;
58
+ displayName: string;
59
+ bio?: Record<string, never>;
60
+ avatarUrl?: Record<string, never>;
61
+ cityIds: string[];
62
+ canFacilitate: boolean;
63
+ canCreateContent: boolean;
64
+ isInfluencer: boolean;
65
+ specialties: string[];
66
+ certifications: string[];
67
+ sessionRate?: number;
68
+ isVerified: boolean;
69
+ isActive: boolean;
70
+ createdAt: string;
71
+ updatedAt: string;
72
+ user?: import("@growsober/types/dist/generated").components["schemas"]["CreatorUserDto"];
73
+ }, Error, {
74
+ id: string;
75
+ data: UpdateCreatorRequest;
76
+ }, unknown>;
77
+ /**
78
+ * Add an availability slot for a creator
79
+ *
80
+ * @example
81
+ * ```tsx
82
+ * const { mutateAsync: addAvailability } = useAddCreatorAvailability();
83
+ *
84
+ * await addAvailability({
85
+ * creatorId: 'creator-123',
86
+ * data: {
87
+ * dayOfWeek: 1, // Monday
88
+ * startTime: '09:00',
89
+ * endTime: '17:00',
90
+ * timezone: 'Europe/London',
91
+ * isRecurring: true,
92
+ * },
93
+ * });
94
+ * ```
95
+ */
96
+ export declare function useAddCreatorAvailability(options?: Omit<UseMutationOptions<CreatorAvailabilityResponse, Error, {
97
+ creatorId: string;
98
+ data: CreateAvailabilityRequest;
99
+ }>, 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<{
100
+ id: string;
101
+ creatorId: string;
102
+ dayOfWeek: Record<string, never>;
103
+ startTime: string;
104
+ endTime: string;
105
+ timezone: string;
106
+ isRecurring: boolean;
107
+ specificDate?: string;
108
+ }, Error, {
109
+ creatorId: string;
110
+ data: CreateAvailabilityRequest;
111
+ }, unknown>;
112
+ /**
113
+ * Remove an availability slot for a creator
114
+ *
115
+ * @example
116
+ * ```tsx
117
+ * const { mutateAsync: removeAvailability } = useRemoveCreatorAvailability();
118
+ *
119
+ * await removeAvailability({
120
+ * creatorId: 'creator-123',
121
+ * availabilityId: 'availability-456',
122
+ * });
123
+ * ```
124
+ */
125
+ export declare function useRemoveCreatorAvailability(options?: Omit<UseMutationOptions<void, Error, {
126
+ creatorId: string;
127
+ availabilityId: string;
128
+ }>, 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<void, Error, {
129
+ creatorId: string;
130
+ availabilityId: string;
131
+ }, unknown>;
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useCreateCreator = useCreateCreator;
4
+ exports.useUpdateCreator = useUpdateCreator;
5
+ exports.useAddCreatorAvailability = useAddCreatorAvailability;
6
+ exports.useRemoveCreatorAvailability = useRemoveCreatorAvailability;
7
+ const react_query_1 = require("@tanstack/react-query");
8
+ const client_1 = require("../client");
9
+ const creators_1 = require("../queries/creators");
10
+ // ============================================================================
11
+ // MUTATION HOOKS
12
+ // ============================================================================
13
+ /**
14
+ * Create a new creator profile for the current user
15
+ *
16
+ * @example
17
+ * ```tsx
18
+ * const { mutateAsync: createCreator } = useCreateCreator();
19
+ *
20
+ * await createCreator({
21
+ * slug: 'john-doe',
22
+ * displayName: 'John Doe',
23
+ * bio: 'Wellness facilitator',
24
+ * canFacilitate: true,
25
+ * });
26
+ * ```
27
+ */
28
+ function useCreateCreator(options) {
29
+ const queryClient = (0, react_query_1.useQueryClient)();
30
+ return (0, react_query_1.useMutation)({
31
+ mutationFn: async (data) => {
32
+ const client = (0, client_1.getApiClient)();
33
+ const response = await client.post('/api/v1/creators', data);
34
+ return response.data;
35
+ },
36
+ onSuccess: () => {
37
+ queryClient.invalidateQueries({ queryKey: creators_1.creatorKeys.all });
38
+ },
39
+ ...options,
40
+ });
41
+ }
42
+ /**
43
+ * Update a creator profile
44
+ *
45
+ * @example
46
+ * ```tsx
47
+ * const { mutateAsync: updateCreator } = useUpdateCreator();
48
+ *
49
+ * await updateCreator({
50
+ * id: 'creator-123',
51
+ * data: { bio: 'Updated bio' },
52
+ * });
53
+ * ```
54
+ */
55
+ function useUpdateCreator(options) {
56
+ const queryClient = (0, react_query_1.useQueryClient)();
57
+ return (0, react_query_1.useMutation)({
58
+ mutationFn: async ({ id, data }) => {
59
+ const client = (0, client_1.getApiClient)();
60
+ const response = await client.patch(`/api/v1/creators/${id}`, data);
61
+ return response.data;
62
+ },
63
+ onSuccess: (_, variables) => {
64
+ queryClient.invalidateQueries({ queryKey: creators_1.creatorKeys.detail(variables.id) });
65
+ queryClient.invalidateQueries({ queryKey: creators_1.creatorKeys.me() });
66
+ },
67
+ ...options,
68
+ });
69
+ }
70
+ /**
71
+ * Add an availability slot for a creator
72
+ *
73
+ * @example
74
+ * ```tsx
75
+ * const { mutateAsync: addAvailability } = useAddCreatorAvailability();
76
+ *
77
+ * await addAvailability({
78
+ * creatorId: 'creator-123',
79
+ * data: {
80
+ * dayOfWeek: 1, // Monday
81
+ * startTime: '09:00',
82
+ * endTime: '17:00',
83
+ * timezone: 'Europe/London',
84
+ * isRecurring: true,
85
+ * },
86
+ * });
87
+ * ```
88
+ */
89
+ function useAddCreatorAvailability(options) {
90
+ const queryClient = (0, react_query_1.useQueryClient)();
91
+ return (0, react_query_1.useMutation)({
92
+ mutationFn: async ({ creatorId, data, }) => {
93
+ const client = (0, client_1.getApiClient)();
94
+ const response = await client.post(`/api/v1/creators/${creatorId}/availability`, data);
95
+ return response.data;
96
+ },
97
+ onSuccess: (_, variables) => {
98
+ queryClient.invalidateQueries({ queryKey: creators_1.creatorKeys.availability(variables.creatorId) });
99
+ },
100
+ ...options,
101
+ });
102
+ }
103
+ /**
104
+ * Remove an availability slot for a creator
105
+ *
106
+ * @example
107
+ * ```tsx
108
+ * const { mutateAsync: removeAvailability } = useRemoveCreatorAvailability();
109
+ *
110
+ * await removeAvailability({
111
+ * creatorId: 'creator-123',
112
+ * availabilityId: 'availability-456',
113
+ * });
114
+ * ```
115
+ */
116
+ function useRemoveCreatorAvailability(options) {
117
+ const queryClient = (0, react_query_1.useQueryClient)();
118
+ return (0, react_query_1.useMutation)({
119
+ mutationFn: async ({ creatorId, availabilityId, }) => {
120
+ const client = (0, client_1.getApiClient)();
121
+ await client.delete(`/api/v1/creators/${creatorId}/availability/${availabilityId}`);
122
+ },
123
+ onSuccess: (_, variables) => {
124
+ queryClient.invalidateQueries({ queryKey: creators_1.creatorKeys.availability(variables.creatorId) });
125
+ },
126
+ ...options,
127
+ });
128
+ }
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL211dGF0aW9ucy9jcmVhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQThCQSw0Q0FnQkM7QUFlRCw0Q0FvQkM7QUFxQkQsOERBNkJDO0FBZUQsb0VBd0JDO0FBMUtELHVEQUF3RjtBQUN4RixzQ0FBeUM7QUFDekMsa0RBQWtEO0FBU2xELCtFQUErRTtBQUMvRSxpQkFBaUI7QUFDakIsK0VBQStFO0FBRS9FOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsU0FBZ0IsZ0JBQWdCLENBQzlCLE9BQThGO0lBRTlGLE1BQU0sV0FBVyxHQUFHLElBQUEsNEJBQWMsR0FBRSxDQUFDO0lBRXJDLE9BQU8sSUFBQSx5QkFBVyxFQUFDO1FBQ2pCLFVBQVUsRUFBRSxLQUFLLEVBQUUsSUFBMEIsRUFBNEIsRUFBRTtZQUN6RSxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEdBQUUsQ0FBQztZQUM5QixNQUFNLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDN0QsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxTQUFTLEVBQUUsR0FBRyxFQUFFO1lBQ2QsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsUUFBUSxFQUFFLHNCQUFXLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMvRCxDQUFDO1FBQ0QsR0FBRyxPQUFPO0tBQ1gsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILFNBQWdCLGdCQUFnQixDQUM5QixPQUdDO0lBRUQsTUFBTSxXQUFXLEdBQUcsSUFBQSw0QkFBYyxHQUFFLENBQUM7SUFFckMsT0FBTyxJQUFBLHlCQUFXLEVBQUM7UUFDakIsVUFBVSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQThDLEVBQTRCLEVBQUU7WUFDdkcsTUFBTSxNQUFNLEdBQUcsSUFBQSxxQkFBWSxHQUFFLENBQUM7WUFDOUIsTUFBTSxRQUFRLEdBQUcsTUFBTSxNQUFNLENBQUMsS0FBSyxDQUFDLG9CQUFvQixFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNwRSxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDdkIsQ0FBQztRQUNELFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsRUFBRTtZQUMxQixXQUFXLENBQUMsaUJBQWlCLENBQUMsRUFBRSxRQUFRLEVBQUUsc0JBQVcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM5RSxXQUFXLENBQUMsaUJBQWlCLENBQUMsRUFBRSxRQUFRLEVBQUUsc0JBQVcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUNELEdBQUcsT0FBTztLQUNYLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBQ0gsU0FBZ0IseUJBQXlCLENBQ3ZDLE9BT0M7SUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFBLDRCQUFjLEdBQUUsQ0FBQztJQUVyQyxPQUFPLElBQUEseUJBQVcsRUFBQztRQUNqQixVQUFVLEVBQUUsS0FBSyxFQUFFLEVBQ2pCLFNBQVMsRUFDVCxJQUFJLEdBSUwsRUFBd0MsRUFBRTtZQUN6QyxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEdBQUUsQ0FBQztZQUM5QixNQUFNLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLFNBQVMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3ZGLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQztRQUN2QixDQUFDO1FBQ0QsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFO1lBQzFCLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLFFBQVEsRUFBRSxzQkFBVyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdGLENBQUM7UUFDRCxHQUFHLE9BQU87S0FDWCxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsU0FBZ0IsNEJBQTRCLENBQzFDLE9BR0M7SUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFBLDRCQUFjLEdBQUUsQ0FBQztJQUVyQyxPQUFPLElBQUEseUJBQVcsRUFBQztRQUNqQixVQUFVLEVBQUUsS0FBSyxFQUFFLEVBQ2pCLFNBQVMsRUFDVCxjQUFjLEdBSWYsRUFBaUIsRUFBRTtZQUNsQixNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEdBQUUsQ0FBQztZQUM5QixNQUFNLE1BQU0sQ0FBQyxNQUFNLENBQUMsb0JBQW9CLFNBQVMsaUJBQWlCLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDdEYsQ0FBQztRQUNELFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsRUFBRTtZQUMxQixXQUFXLENBQUMsaUJBQWlCLENBQUMsRUFBRSxRQUFRLEVBQUUsc0JBQVcsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM3RixDQUFDO1FBQ0QsR0FBRyxPQUFPO0tBQ1gsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZU11dGF0aW9uLCB1c2VRdWVyeUNsaWVudCwgVXNlTXV0YXRpb25PcHRpb25zIH0gZnJvbSAnQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5JztcbmltcG9ydCB7IGdldEFwaUNsaWVudCB9IGZyb20gJy4uL2NsaWVudCc7XG5pbXBvcnQgeyBjcmVhdG9yS2V5cyB9IGZyb20gJy4uL3F1ZXJpZXMvY3JlYXRvcnMnO1xuaW1wb3J0IHR5cGUge1xuICBDcmVhdG9yUmVzcG9uc2UsXG4gIENyZWF0b3JBdmFpbGFiaWxpdHlSZXNwb25zZSxcbiAgQ3JlYXRlQ3JlYXRvclJlcXVlc3QsXG4gIFVwZGF0ZUNyZWF0b3JSZXF1ZXN0LFxuICBDcmVhdGVBdmFpbGFiaWxpdHlSZXF1ZXN0LFxufSBmcm9tICcuLi90eXBlcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1VVEFUSU9OIEhPT0tTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogQ3JlYXRlIGEgbmV3IGNyZWF0b3IgcHJvZmlsZSBmb3IgdGhlIGN1cnJlbnQgdXNlclxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIGNvbnN0IHsgbXV0YXRlQXN5bmM6IGNyZWF0ZUNyZWF0b3IgfSA9IHVzZUNyZWF0ZUNyZWF0b3IoKTtcbiAqXG4gKiBhd2FpdCBjcmVhdGVDcmVhdG9yKHtcbiAqICAgc2x1ZzogJ2pvaG4tZG9lJyxcbiAqICAgZGlzcGxheU5hbWU6ICdKb2huIERvZScsXG4gKiAgIGJpbzogJ1dlbGxuZXNzIGZhY2lsaXRhdG9yJyxcbiAqICAgY2FuRmFjaWxpdGF0ZTogdHJ1ZSxcbiAqIH0pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VDcmVhdGVDcmVhdG9yKFxuICBvcHRpb25zPzogT21pdDxVc2VNdXRhdGlvbk9wdGlvbnM8Q3JlYXRvclJlc3BvbnNlLCBFcnJvciwgQ3JlYXRlQ3JlYXRvclJlcXVlc3Q+LCAnbXV0YXRpb25Gbic+XG4pIHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCgpO1xuXG4gIHJldHVybiB1c2VNdXRhdGlvbih7XG4gICAgbXV0YXRpb25GbjogYXN5bmMgKGRhdGE6IENyZWF0ZUNyZWF0b3JSZXF1ZXN0KTogUHJvbWlzZTxDcmVhdG9yUmVzcG9uc2U+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQucG9zdCgnL2FwaS92MS9jcmVhdG9ycycsIGRhdGEpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSxcbiAgICBvblN1Y2Nlc3M6ICgpID0+IHtcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHsgcXVlcnlLZXk6IGNyZWF0b3JLZXlzLmFsbCB9KTtcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuXG4vKipcbiAqIFVwZGF0ZSBhIGNyZWF0b3IgcHJvZmlsZVxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIGNvbnN0IHsgbXV0YXRlQXN5bmM6IHVwZGF0ZUNyZWF0b3IgfSA9IHVzZVVwZGF0ZUNyZWF0b3IoKTtcbiAqXG4gKiBhd2FpdCB1cGRhdGVDcmVhdG9yKHtcbiAqICAgaWQ6ICdjcmVhdG9yLTEyMycsXG4gKiAgIGRhdGE6IHsgYmlvOiAnVXBkYXRlZCBiaW8nIH0sXG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlVXBkYXRlQ3JlYXRvcihcbiAgb3B0aW9ucz86IE9taXQ8XG4gICAgVXNlTXV0YXRpb25PcHRpb25zPENyZWF0b3JSZXNwb25zZSwgRXJyb3IsIHsgaWQ6IHN0cmluZzsgZGF0YTogVXBkYXRlQ3JlYXRvclJlcXVlc3QgfT4sXG4gICAgJ211dGF0aW9uRm4nXG4gID5cbikge1xuICBjb25zdCBxdWVyeUNsaWVudCA9IHVzZVF1ZXJ5Q2xpZW50KCk7XG5cbiAgcmV0dXJuIHVzZU11dGF0aW9uKHtcbiAgICBtdXRhdGlvbkZuOiBhc3luYyAoeyBpZCwgZGF0YSB9OiB7IGlkOiBzdHJpbmc7IGRhdGE6IFVwZGF0ZUNyZWF0b3JSZXF1ZXN0IH0pOiBQcm9taXNlPENyZWF0b3JSZXNwb25zZT4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5wYXRjaChgL2FwaS92MS9jcmVhdG9ycy8ke2lkfWAsIGRhdGEpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSxcbiAgICBvblN1Y2Nlc3M6IChfLCB2YXJpYWJsZXMpID0+IHtcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHsgcXVlcnlLZXk6IGNyZWF0b3JLZXlzLmRldGFpbCh2YXJpYWJsZXMuaWQpIH0pO1xuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoeyBxdWVyeUtleTogY3JlYXRvcktleXMubWUoKSB9KTtcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuXG4vKipcbiAqIEFkZCBhbiBhdmFpbGFiaWxpdHkgc2xvdCBmb3IgYSBjcmVhdG9yXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogY29uc3QgeyBtdXRhdGVBc3luYzogYWRkQXZhaWxhYmlsaXR5IH0gPSB1c2VBZGRDcmVhdG9yQXZhaWxhYmlsaXR5KCk7XG4gKlxuICogYXdhaXQgYWRkQXZhaWxhYmlsaXR5KHtcbiAqICAgY3JlYXRvcklkOiAnY3JlYXRvci0xMjMnLFxuICogICBkYXRhOiB7XG4gKiAgICAgZGF5T2ZXZWVrOiAxLCAvLyBNb25kYXlcbiAqICAgICBzdGFydFRpbWU6ICcwOTowMCcsXG4gKiAgICAgZW5kVGltZTogJzE3OjAwJyxcbiAqICAgICB0aW1lem9uZTogJ0V1cm9wZS9Mb25kb24nLFxuICogICAgIGlzUmVjdXJyaW5nOiB0cnVlLFxuICogICB9LFxuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUFkZENyZWF0b3JBdmFpbGFiaWxpdHkoXG4gIG9wdGlvbnM/OiBPbWl0PFxuICAgIFVzZU11dGF0aW9uT3B0aW9uczxcbiAgICAgIENyZWF0b3JBdmFpbGFiaWxpdHlSZXNwb25zZSxcbiAgICAgIEVycm9yLFxuICAgICAgeyBjcmVhdG9ySWQ6IHN0cmluZzsgZGF0YTogQ3JlYXRlQXZhaWxhYmlsaXR5UmVxdWVzdCB9XG4gICAgPixcbiAgICAnbXV0YXRpb25GbidcbiAgPlxuKSB7XG4gIGNvbnN0IHF1ZXJ5Q2xpZW50ID0gdXNlUXVlcnlDbGllbnQoKTtcblxuICByZXR1cm4gdXNlTXV0YXRpb24oe1xuICAgIG11dGF0aW9uRm46IGFzeW5jICh7XG4gICAgICBjcmVhdG9ySWQsXG4gICAgICBkYXRhLFxuICAgIH06IHtcbiAgICAgIGNyZWF0b3JJZDogc3RyaW5nO1xuICAgICAgZGF0YTogQ3JlYXRlQXZhaWxhYmlsaXR5UmVxdWVzdDtcbiAgICB9KTogUHJvbWlzZTxDcmVhdG9yQXZhaWxhYmlsaXR5UmVzcG9uc2U+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQucG9zdChgL2FwaS92MS9jcmVhdG9ycy8ke2NyZWF0b3JJZH0vYXZhaWxhYmlsaXR5YCwgZGF0YSk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9LFxuICAgIG9uU3VjY2VzczogKF8sIHZhcmlhYmxlcykgPT4ge1xuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoeyBxdWVyeUtleTogY3JlYXRvcktleXMuYXZhaWxhYmlsaXR5KHZhcmlhYmxlcy5jcmVhdG9ySWQpIH0pO1xuICAgIH0sXG4gICAgLi4ub3B0aW9ucyxcbiAgfSk7XG59XG5cbi8qKlxuICogUmVtb3ZlIGFuIGF2YWlsYWJpbGl0eSBzbG90IGZvciBhIGNyZWF0b3JcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiBjb25zdCB7IG11dGF0ZUFzeW5jOiByZW1vdmVBdmFpbGFiaWxpdHkgfSA9IHVzZVJlbW92ZUNyZWF0b3JBdmFpbGFiaWxpdHkoKTtcbiAqXG4gKiBhd2FpdCByZW1vdmVBdmFpbGFiaWxpdHkoe1xuICogICBjcmVhdG9ySWQ6ICdjcmVhdG9yLTEyMycsXG4gKiAgIGF2YWlsYWJpbGl0eUlkOiAnYXZhaWxhYmlsaXR5LTQ1NicsXG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlUmVtb3ZlQ3JlYXRvckF2YWlsYWJpbGl0eShcbiAgb3B0aW9ucz86IE9taXQ8XG4gICAgVXNlTXV0YXRpb25PcHRpb25zPHZvaWQsIEVycm9yLCB7IGNyZWF0b3JJZDogc3RyaW5nOyBhdmFpbGFiaWxpdHlJZDogc3RyaW5nIH0+LFxuICAgICdtdXRhdGlvbkZuJ1xuICA+XG4pIHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCgpO1xuXG4gIHJldHVybiB1c2VNdXRhdGlvbih7XG4gICAgbXV0YXRpb25GbjogYXN5bmMgKHtcbiAgICAgIGNyZWF0b3JJZCxcbiAgICAgIGF2YWlsYWJpbGl0eUlkLFxuICAgIH06IHtcbiAgICAgIGNyZWF0b3JJZDogc3RyaW5nO1xuICAgICAgYXZhaWxhYmlsaXR5SWQ6IHN0cmluZztcbiAgICB9KTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGF3YWl0IGNsaWVudC5kZWxldGUoYC9hcGkvdjEvY3JlYXRvcnMvJHtjcmVhdG9ySWR9L2F2YWlsYWJpbGl0eS8ke2F2YWlsYWJpbGl0eUlkfWApO1xuICAgIH0sXG4gICAgb25TdWNjZXNzOiAoXywgdmFyaWFibGVzKSA9PiB7XG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7IHF1ZXJ5S2V5OiBjcmVhdG9yS2V5cy5hdmFpbGFiaWxpdHkodmFyaWFibGVzLmNyZWF0b3JJZCkgfSk7XG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cbiJdfQ==
@@ -23,7 +23,7 @@ export declare function useJoinEventChat(eventId: string): import("@tanstack/rea
23
23
  id: string;
24
24
  chatId: string;
25
25
  userId: string;
26
- role: "MEMBER" | "MODERATOR" | "HOST";
26
+ role: "ATTENDEE" | "CREATOR" | "VENUE_REP" | "BRAND_REP" | "ADMIN" | "MODERATOR";
27
27
  nickname?: string;
28
28
  isMuted: boolean;
29
29
  lastReadAt?: string;
@@ -42,7 +42,7 @@ export declare function useUpdateMemberSettings(eventId: string): import("@tanst
42
42
  id: string;
43
43
  chatId: string;
44
44
  userId: string;
45
- role: "MEMBER" | "MODERATOR" | "HOST";
45
+ role: "ATTENDEE" | "CREATOR" | "VENUE_REP" | "BRAND_REP" | "ADMIN" | "MODERATOR";
46
46
  nickname?: string;
47
47
  isMuted: boolean;
48
48
  lastReadAt?: string;