@spotsdev/sdk 1.3.3 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/index.cjs +2139 -0
  2. package/dist/index.cjs.map +1 -0
  3. package/dist/index.d.cts +1718 -0
  4. package/dist/index.d.ts +1717 -36
  5. package/dist/index.js +1996 -64
  6. package/dist/index.js.map +1 -0
  7. package/package.json +22 -6
  8. package/src/api/entities.ts +28 -84
  9. package/dist/api/client.d.ts +0 -12
  10. package/dist/api/client.js +0 -72
  11. package/dist/api/entities.d.ts +0 -326
  12. package/dist/api/entities.js +0 -9
  13. package/dist/api/mutations/clubs.d.ts +0 -47
  14. package/dist/api/mutations/clubs.js +0 -97
  15. package/dist/api/mutations/conversations.d.ts +0 -45
  16. package/dist/api/mutations/conversations.js +0 -114
  17. package/dist/api/mutations/index.d.ts +0 -14
  18. package/dist/api/mutations/index.js +0 -40
  19. package/dist/api/mutations/notifications.d.ts +0 -38
  20. package/dist/api/mutations/notifications.js +0 -64
  21. package/dist/api/mutations/orders.d.ts +0 -73
  22. package/dist/api/mutations/orders.js +0 -114
  23. package/dist/api/mutations/posts.d.ts +0 -123
  24. package/dist/api/mutations/posts.js +0 -242
  25. package/dist/api/mutations/products.d.ts +0 -81
  26. package/dist/api/mutations/products.js +0 -98
  27. package/dist/api/mutations/redemptions.d.ts +0 -33
  28. package/dist/api/mutations/redemptions.js +0 -63
  29. package/dist/api/mutations/spots.d.ts +0 -93
  30. package/dist/api/mutations/spots.js +0 -167
  31. package/dist/api/mutations/users.d.ts +0 -73
  32. package/dist/api/mutations/users.js +0 -175
  33. package/dist/api/queries/auth.d.ts +0 -37
  34. package/dist/api/queries/auth.js +0 -61
  35. package/dist/api/queries/clubs.d.ts +0 -52
  36. package/dist/api/queries/clubs.js +0 -116
  37. package/dist/api/queries/conversations.d.ts +0 -52
  38. package/dist/api/queries/conversations.js +0 -83
  39. package/dist/api/queries/index.d.ts +0 -28
  40. package/dist/api/queries/index.js +0 -69
  41. package/dist/api/queries/misc.d.ts +0 -30
  42. package/dist/api/queries/misc.js +0 -91
  43. package/dist/api/queries/notifications.d.ts +0 -34
  44. package/dist/api/queries/notifications.js +0 -62
  45. package/dist/api/queries/orders.d.ts +0 -45
  46. package/dist/api/queries/orders.js +0 -93
  47. package/dist/api/queries/posts.d.ts +0 -92
  48. package/dist/api/queries/posts.js +0 -233
  49. package/dist/api/queries/products.d.ts +0 -48
  50. package/dist/api/queries/products.js +0 -87
  51. package/dist/api/queries/spots.d.ts +0 -93
  52. package/dist/api/queries/spots.js +0 -250
  53. package/dist/api/queries/templates.d.ts +0 -39
  54. package/dist/api/queries/templates.js +0 -81
  55. package/dist/api/queries/users.d.ts +0 -104
  56. package/dist/api/queries/users.js +0 -235
  57. package/dist/api/queries/wallet.d.ts +0 -109
  58. package/dist/api/queries/wallet.js +0 -136
  59. package/dist/api/services/index.d.ts +0 -2
  60. package/dist/api/services/index.js +0 -8
  61. package/dist/api/services/marketplace.d.ts +0 -129
  62. package/dist/api/services/marketplace.js +0 -168
  63. package/dist/api/types.d.ts +0 -57
  64. package/dist/api/types.js +0 -33
@@ -1,175 +0,0 @@
1
- "use strict";
2
- /**
3
- * Users Mutation Hooks
4
- *
5
- * TanStack Query hooks for user mutation operations.
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.useUpdateProfile = useUpdateProfile;
9
- exports.useUploadAvatar = useUploadAvatar;
10
- exports.useDeleteAccount = useDeleteAccount;
11
- exports.useUpdateVibes = useUpdateVibes;
12
- exports.useUpdateInterests = useUpdateInterests;
13
- exports.useCompleteOnboardingStep = useCompleteOnboardingStep;
14
- exports.useBlockUser = useBlockUser;
15
- exports.useUnblockUser = useUnblockUser;
16
- const react_query_1 = require("@tanstack/react-query");
17
- const client_1 = require("../client");
18
- const users_1 = require("../queries/users");
19
- // ============================================================================
20
- // MUTATION HOOKS
21
- // ============================================================================
22
- /**
23
- * Update current user's profile
24
- *
25
- * @endpoint PUT /users/me
26
- */
27
- function useUpdateProfile(options) {
28
- const queryClient = (0, react_query_1.useQueryClient)();
29
- return (0, react_query_1.useMutation)({
30
- mutationFn: async (data) => {
31
- const client = (0, client_1.getApiClient)();
32
- const response = await client.put('/users/me', data);
33
- return response.data.data;
34
- },
35
- onSuccess: data => {
36
- queryClient.setQueryData(users_1.userKeys.me(), data);
37
- },
38
- ...options,
39
- });
40
- }
41
- /**
42
- * Upload avatar
43
- *
44
- * Uploads avatar file and updates user profile in one request.
45
- *
46
- * @endpoint POST /users/me/avatar
47
- */
48
- function useUploadAvatar(options) {
49
- const queryClient = (0, react_query_1.useQueryClient)();
50
- return (0, react_query_1.useMutation)({
51
- mutationFn: async (formData) => {
52
- const client = (0, client_1.getApiClient)();
53
- const response = await client.post('/users/me/avatar', formData, {
54
- headers: { 'Content-Type': 'multipart/form-data' },
55
- });
56
- return response.data.data;
57
- },
58
- onSuccess: () => {
59
- queryClient.invalidateQueries({ queryKey: users_1.userKeys.me() });
60
- },
61
- ...options,
62
- });
63
- }
64
- /**
65
- * Delete current user's account
66
- *
67
- * @endpoint DELETE /users/me
68
- */
69
- function useDeleteAccount(options) {
70
- const queryClient = (0, react_query_1.useQueryClient)();
71
- return (0, react_query_1.useMutation)({
72
- mutationFn: async () => {
73
- const client = (0, client_1.getApiClient)();
74
- await client.delete('/users/me');
75
- },
76
- onSuccess: () => {
77
- queryClient.clear();
78
- },
79
- ...options,
80
- });
81
- }
82
- /**
83
- * Update user vibes
84
- *
85
- * @endpoint PUT /users/me/vibes
86
- */
87
- function useUpdateVibes(options) {
88
- const queryClient = (0, react_query_1.useQueryClient)();
89
- return (0, react_query_1.useMutation)({
90
- mutationFn: async (data) => {
91
- const client = (0, client_1.getApiClient)();
92
- const response = await client.put('/users/me/vibes', data);
93
- return response.data.data;
94
- },
95
- onSuccess: () => {
96
- queryClient.invalidateQueries({ queryKey: users_1.userKeys.me() });
97
- },
98
- ...options,
99
- });
100
- }
101
- /**
102
- * Update user interests
103
- *
104
- * @endpoint PUT /user/me/interests
105
- */
106
- function useUpdateInterests(options) {
107
- const queryClient = (0, react_query_1.useQueryClient)();
108
- return (0, react_query_1.useMutation)({
109
- mutationFn: async (data) => {
110
- const client = (0, client_1.getApiClient)();
111
- const response = await client.put('/user/me/interests', data);
112
- return response.data.data;
113
- },
114
- onSuccess: () => {
115
- queryClient.invalidateQueries({ queryKey: users_1.userKeys.me() });
116
- },
117
- ...options,
118
- });
119
- }
120
- /**
121
- * Complete onboarding step
122
- *
123
- * @endpoint POST /user/me/onboarding-step
124
- */
125
- function useCompleteOnboardingStep(options) {
126
- const queryClient = (0, react_query_1.useQueryClient)();
127
- return (0, react_query_1.useMutation)({
128
- mutationFn: async (data) => {
129
- const client = (0, client_1.getApiClient)();
130
- const response = await client.post('/user/me/onboarding-step', data);
131
- return response.data.data;
132
- },
133
- onSuccess: () => {
134
- queryClient.invalidateQueries({ queryKey: users_1.userKeys.me() });
135
- },
136
- ...options,
137
- });
138
- }
139
- /**
140
- * Block a user
141
- *
142
- * @endpoint POST /users/{id}/block
143
- */
144
- function useBlockUser(options) {
145
- const queryClient = (0, react_query_1.useQueryClient)();
146
- return (0, react_query_1.useMutation)({
147
- mutationFn: async (userId) => {
148
- const client = (0, client_1.getApiClient)();
149
- await client.post(`/users/${userId}/block`);
150
- },
151
- onSuccess: () => {
152
- queryClient.invalidateQueries({ queryKey: users_1.userKeys.blocked() });
153
- },
154
- ...options,
155
- });
156
- }
157
- /**
158
- * Unblock a user
159
- *
160
- * @endpoint DELETE /users/{id}/block
161
- */
162
- function useUnblockUser(options) {
163
- const queryClient = (0, react_query_1.useQueryClient)();
164
- return (0, react_query_1.useMutation)({
165
- mutationFn: async (userId) => {
166
- const client = (0, client_1.getApiClient)();
167
- await client.delete(`/users/${userId}/block`);
168
- },
169
- onSuccess: () => {
170
- queryClient.invalidateQueries({ queryKey: users_1.userKeys.blocked() });
171
- },
172
- ...options,
173
- });
174
- }
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL211dGF0aW9ucy91c2Vycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7R0FJRzs7QUFzQkgsNENBbUJDO0FBU0QsMENBeUJDO0FBT0QsNENBZUM7QUFPRCx3Q0FzQkM7QUFPRCxnREFzQkM7QUFPRCw4REFtQkM7QUFPRCxvQ0FlQztBQU9ELHdDQWVDO0FBL05ELHVEQUs4QjtBQUU5QixzQ0FBc0M7QUFDdEMsNENBQXlDO0FBR3pDLCtFQUErRTtBQUMvRSxpQkFBaUI7QUFDakIsK0VBQStFO0FBRS9FOzs7O0dBSUc7QUFDSCxTQUFnQixnQkFBZ0IsQ0FDOUIsT0FHQztJQUVELE1BQU0sV0FBVyxHQUFHLElBQUEsNEJBQWMsR0FBRSxDQUFBO0lBRXBDLE9BQU8sSUFBQSx5QkFBVyxFQUFDO1FBQ2pCLFVBQVUsRUFBRSxLQUFLLEVBQUUsSUFBMEIsRUFBaUIsRUFBRTtZQUM5RCxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEdBQUUsQ0FBQTtZQUM3QixNQUFNLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQW9CLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQTtZQUN2RSxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFBO1FBQzNCLENBQUM7UUFDRCxTQUFTLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDaEIsV0FBVyxDQUFDLFlBQVksQ0FBQyxnQkFBUSxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQy9DLENBQUM7UUFDRCxHQUFHLE9BQU87S0FDWCxDQUFDLENBQUE7QUFDSixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsZUFBZSxDQUM3QixPQUdDO0lBRUQsTUFBTSxXQUFXLEdBQUcsSUFBQSw0QkFBYyxHQUFFLENBQUE7SUFFcEMsT0FBTyxJQUFBLHlCQUFXLEVBQUM7UUFDakIsVUFBVSxFQUFF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QUM7UUFDakIsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFjLEVBQWlCLEVBQUU7WUFDbEQsTUFBTSxNQUFNLEdBQUcsSUFBQSxxQkFBWSxHQUFFLENBQUE7WUFDN0IsTUFBTSxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsTUFBTSxRQUFRLENBQUMsQ0FBQTtRQUMvQyxDQUFDO1FBQ0QsU0FBUyxFQUFFLEdBQUcsRUFBRTtZQUNkLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFDLFFBQVEsRUFBRSxnQkFBUSxDQUFDLE9BQU8sRUFBRSxFQUFDLENBQUMsQ0FBQTtRQUMvRCxDQUFDO1FBQ0QsR0FBRyxPQUFPO0tBQ1gsQ0FBQyxDQUFBO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVXNlcnMgTXV0YXRpb24gSG9va3NcbiAqXG4gKiBUYW5TdGFjayBRdWVyeSBob29rcyBmb3IgdXNlciBtdXRhdGlvbiBvcGVyYXRpb25zLlxuICovXG5cbmltcG9ydCB7XG4gIHVzZU11dGF0aW9uLFxuICB0eXBlIFVzZU11dGF0aW9uT3B0aW9ucyxcbiAgdHlwZSBVc2VNdXRhdGlvblJlc3VsdCxcbiAgdXNlUXVlcnlDbGllbnQsXG59IGZyb20gJ0B0YW5zdGFjay9yZWFjdC1xdWVyeSdcblxuaW1wb3J0IHtnZXRBcGlDbGllbnR9IGZyb20gJy4uL2NsaWVudCdcbmltcG9ydCB7dXNlcktleXN9IGZyb20gJy4uL3F1ZXJpZXMvdXNlcnMnXG5pbXBvcnQge3R5cGUgQXBpUmVzcG9uc2UsIHR5cGUgVXBkYXRlUHJvZmlsZVJlcXVlc3QsIHR5cGUgVXNlcn0gZnJvbSAnLi4vdHlwZXMnXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1VVEFUSU9OIEhPT0tTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogVXBkYXRlIGN1cnJlbnQgdXNlcidzIHByb2ZpbGVcbiAqXG4gKiBAZW5kcG9pbnQgUFVUIC91c2Vycy9tZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlVXBkYXRlUHJvZmlsZShcbiAgb3B0aW9ucz86IE9taXQ8XG4gICAgVXNlTXV0YXRpb25PcHRpb25zPFVzZXIsIEVycm9yLCBVcGRhdGVQcm9maWxlUmVxdWVzdD4sXG4gICAgJ211dGF0aW9uRm4nXG4gID4sXG4pOiBVc2VNdXRhdGlvblJlc3VsdDxVc2VyLCBFcnJvciwgVXBkYXRlUHJvZmlsZVJlcXVlc3Q+IHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCgpXG5cbiAgcmV0dXJuIHVzZU11dGF0aW9uKHtcbiAgICBtdXRhdGlvbkZuOiBhc3luYyAoZGF0YTogVXBkYXRlUHJvZmlsZVJlcXVlc3QpOiBQcm9taXNlPFVzZXI+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5wdXQ8QXBpUmVzcG9uc2U8VXNlcj4+KCcvdXNlcnMvbWUnLCBkYXRhKVxuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEuZGF0YVxuICAgIH0sXG4gICAgb25TdWNjZXNzOiBkYXRhID0+IHtcbiAgICAgIHF1ZXJ5Q2xpZW50LnNldFF1ZXJ5RGF0YSh1c2VyS2V5cy5tZSgpLCBkYXRhKVxuICAgIH0sXG4gICAgLi4ub3B0aW9ucyxcbiAgfSlcbn1cblxuLyoqXG4gKiBVcGxvYWQgYXZhdGFyXG4gKlxuICogVXBsb2FkcyBhdmF0YXIgZmlsZSBhbmQgdXBkYXRlcyB1c2VyIHByb2ZpbGUgaW4gb25lIHJlcXVlc3QuXG4gKlxuICogQGVuZHBvaW50IFBPU1QgL3VzZXJzL21lL2F2YXRhclxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlVXBsb2FkQXZhdGFyKFxuICBvcHRpb25zPzogT21pdDxcbiAgICBVc2VNdXRhdGlvbk9wdGlvbnM8e2F2YXRhclVybDogc3RyaW5nfSwgRXJyb3IsIEZvcm1EYXRhPixcbiAgICAnbXV0YXRpb25GbidcbiAgPixcbik6IFVzZU11dGF0aW9uUmVzdWx0PHthdmF0YXJVcmw6IHN0cmluZ30sIEVycm9yLCBGb3JtRGF0YT4ge1xuICBjb25zdCBxdWVyeUNsaWVudCA9IHVzZVF1ZXJ5Q2xpZW50KClcblxuICByZXR1cm4gdXNlTXV0YXRpb24oe1xuICAgIG11dGF0aW9uRm46IGFzeW5jIChmb3JtRGF0YTogRm9ybURhdGEpOiBQcm9taXNlPHthdmF0YXJVcmw6IHN0cmluZ30+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5wb3N0PEFwaVJlc3BvbnNlPHthdmF0YXJVcmw6IHN0cmluZ30+PihcbiAgICAgICAgJy91c2Vycy9tZS9hdmF0YXInLFxuICAgICAgICBmb3JtRGF0YSxcbiAgICAgICAge1xuICAgICAgICAgIGhlYWRlcnM6IHsnQ29udGVudC1UeXBlJzogJ211bHRpcGFydC9mb3JtLWRhdGEnfSxcbiAgICAgICAgfSxcbiAgICAgIClcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhLmRhdGFcbiAgICB9LFxuICAgIG9uU3VjY2VzczogKCkgPT4ge1xuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoe3F1ZXJ5S2V5OiB1c2VyS2V5cy5tZSgpfSlcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pXG59XG5cbi8qKlxuICogRGVsZXRlIGN1cnJlbnQgdXNlcidzIGFjY291bnRcbiAqXG4gKiBAZW5kcG9pbnQgREVMRVRFIC91c2Vycy9tZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlRGVsZXRlQWNjb3VudChcbiAgb3B0aW9ucz86IE9taXQ8VXNlTXV0YXRpb25PcHRpb25zPHZvaWQsIEVycm9yLCB2b2lkPiwgJ211dGF0aW9uRm4nPixcbik6IFVzZU11dGF0aW9uUmVzdWx0PHZvaWQsIEVycm9yLCB2b2lkPiB7XG4gIGNvbnN0IHF1ZXJ5Q2xpZW50ID0gdXNlUXVlcnlDbGllbnQoKVxuXG4gIHJldHVybiB1c2VNdXRhdGlvbih7XG4gICAgbXV0YXRpb25GbjogYXN5bmMgKCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KClcbiAgICAgIGF3YWl0IGNsaWVudC5kZWxldGUoJy91c2Vycy9tZScpXG4gICAgfSxcbiAgICBvblN1Y2Nlc3M6ICgpID0+IHtcbiAgICAgIHF1ZXJ5Q2xpZW50LmNsZWFyKClcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pXG59XG5cbi8qKlxuICogVXBkYXRlIHVzZXIgdmliZXNcbiAqXG4gKiBAZW5kcG9pbnQgUFVUIC91c2Vycy9tZS92aWJlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlVXBkYXRlVmliZXMoXG4gIG9wdGlvbnM/OiBPbWl0PFxuICAgIFVzZU11dGF0aW9uT3B0aW9uczxVc2VyLCBFcnJvciwge3ZpYmVzOiBzdHJpbmdbXX0+LFxuICAgICdtdXRhdGlvbkZuJ1xuICA+LFxuKTogVXNlTXV0YXRpb25SZXN1bHQ8VXNlciwgRXJyb3IsIHt2aWJlczogc3RyaW5nW119PiB7XG4gIGNvbnN0IHF1ZXJ5Q2xpZW50ID0gdXNlUXVlcnlDbGllbnQoKVxuXG4gIHJldHVybiB1c2VNdXRhdGlvbih7XG4gICAgbXV0YXRpb25GbjogYXN5bmMgKGRhdGE6IHt2aWJlczogc3RyaW5nW119KTogUHJvbWlzZTxVc2VyPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKVxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQucHV0PEFwaVJlc3BvbnNlPFVzZXI+PihcbiAgICAgICAgJy91c2Vycy9tZS92aWJlcycsXG4gICAgICAgIGRhdGEsXG4gICAgICApXG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YS5kYXRhXG4gICAgfSxcbiAgICBvblN1Y2Nlc3M6ICgpID0+IHtcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHtxdWVyeUtleTogdXNlcktleXMubWUoKX0pXG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KVxufVxuXG4vKipcbiAqIFVwZGF0ZSB1c2VyIGludGVyZXN0c1xuICpcbiAqIEBlbmRwb2ludCBQVVQgL3VzZXIvbWUvaW50ZXJlc3RzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VVcGRhdGVJbnRlcmVzdHMoXG4gIG9wdGlvbnM/OiBPbWl0PFxuICAgIFVzZU11dGF0aW9uT3B0aW9uczxVc2VyLCBFcnJvciwge2ludGVyZXN0czogc3RyaW5nW119PixcbiAgICAnbXV0YXRpb25GbidcbiAgPixcbik6IFVzZU11dGF0aW9uUmVzdWx0PFVzZXIsIEVycm9yLCB7aW50ZXJlc3RzOiBzdHJpbmdbXX0+IHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCgpXG5cbiAgcmV0dXJuIHVzZU11dGF0aW9uKHtcbiAgICBtdXRhdGlvbkZuOiBhc3luYyAoZGF0YToge2ludGVyZXN0czogc3RyaW5nW119KTogUHJvbWlzZTxVc2VyPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKVxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQucHV0PEFwaVJlc3BvbnNlPFVzZXI+PihcbiAgICAgICAgJy91c2VyL21lL2ludGVyZXN0cycsXG4gICAgICAgIGRhdGEsXG4gICAgICApXG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YS5kYXRhXG4gICAgfSxcbiAgICBvblN1Y2Nlc3M6ICgpID0+IHtcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHtxdWVyeUtleTogdXNlcktleXMubWUoKX0pXG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KVxufVxuXG4vKipcbiAqIENvbXBsZXRlIG9uYm9hcmRpbmcgc3RlcFxuICpcbiAqIEBlbmRwb2ludCBQT1NUIC91c2VyL21lL29uYm9hcmRpbmctc3RlcFxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlQ29tcGxldGVPbmJvYXJkaW5nU3RlcChcbiAgb3B0aW9ucz86IE9taXQ8VXNlTXV0YXRpb25PcHRpb25zPFVzZXIsIEVycm9yLCB7c3RlcDogbnVtYmVyfT4sICdtdXRhdGlvbkZuJz4sXG4pOiBVc2VNdXRhdGlvblJlc3VsdDxVc2VyLCBFcnJvciwge3N0ZXA6IG51bWJlcn0+IHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCgpXG5cbiAgcmV0dXJuIHVzZU11dGF0aW9uKHtcbiAgICBtdXRhdGlvbkZuOiBhc3luYyAoZGF0YToge3N0ZXA6IG51bWJlcn0pOiBQcm9taXNlPFVzZXI+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5wb3N0PEFwaVJlc3BvbnNlPFVzZXI+PihcbiAgICAgICAgJy91c2VyL21lL29uYm9hcmRpbmctc3RlcCcsXG4gICAgICAgIGRhdGEsXG4gICAgICApXG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YS5kYXRhXG4gICAgfSxcbiAgICBvblN1Y2Nlc3M6ICgpID0+IHtcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHtxdWVyeUtleTogdXNlcktleXMubWUoKX0pXG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KVxufVxuXG4vKipcbiAqIEJsb2NrIGEgdXNlclxuICpcbiAqIEBlbmRwb2ludCBQT1NUIC91c2Vycy97aWR9L2Jsb2NrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VCbG9ja1VzZXIoXG4gIG9wdGlvbnM/OiBPbWl0PFVzZU11dGF0aW9uT3B0aW9uczx2b2lkLCBFcnJvciwgc3RyaW5nPiwgJ211dGF0aW9uRm4nPixcbik6IFVzZU11dGF0aW9uUmVzdWx0PHZvaWQsIEVycm9yLCBzdHJpbmc+IHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCgpXG5cbiAgcmV0dXJuIHVzZU11dGF0aW9uKHtcbiAgICBtdXRhdGlvbkZuOiBhc3luYyAodXNlcklkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpXG4gICAgICBhd2FpdCBjbGllbnQucG9zdChgL3VzZXJzLyR7dXNlcklkfS9ibG9ja2ApXG4gICAgfSxcbiAgICBvblN1Y2Nlc3M6ICgpID0+IHtcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHtxdWVyeUtleTogdXNlcktleXMuYmxvY2tlZCgpfSlcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pXG59XG5cbi8qKlxuICogVW5ibG9jayBhIHVzZXJcbiAqXG4gKiBAZW5kcG9pbnQgREVMRVRFIC91c2Vycy97aWR9L2Jsb2NrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VVbmJsb2NrVXNlcihcbiAgb3B0aW9ucz86IE9taXQ8VXNlTXV0YXRpb25PcHRpb25zPHZvaWQsIEVycm9yLCBzdHJpbmc+LCAnbXV0YXRpb25Gbic+LFxuKTogVXNlTXV0YXRpb25SZXN1bHQ8dm9pZCwgRXJyb3IsIHN0cmluZz4ge1xuICBjb25zdCBxdWVyeUNsaWVudCA9IHVzZVF1ZXJ5Q2xpZW50KClcblxuICByZXR1cm4gdXNlTXV0YXRpb24oe1xuICAgIG11dGF0aW9uRm46IGFzeW5jICh1c2VySWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KClcbiAgICAgIGF3YWl0IGNsaWVudC5kZWxldGUoYC91c2Vycy8ke3VzZXJJZH0vYmxvY2tgKVxuICAgIH0sXG4gICAgb25TdWNjZXNzOiAoKSA9PiB7XG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7cXVlcnlLZXk6IHVzZXJLZXlzLmJsb2NrZWQoKX0pXG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KVxufVxuIl19
@@ -1,37 +0,0 @@
1
- /**
2
- * Auth Mutation Hooks
3
- *
4
- * TanStack Query hooks for authentication operations.
5
- */
6
- import { type UseMutationOptions, type UseMutationResult } from '@tanstack/react-query';
7
- import { type ApiResponse, type AuthResponse, type SendOtpRequest, type VerifyOtpRequest } from '../types';
8
- /**
9
- * Send OTP to phone number
10
- *
11
- * @endpoint POST /auth/send-otp
12
- */
13
- export declare function useSendOtp(options?: Omit<UseMutationOptions<ApiResponse<{
14
- sent: boolean;
15
- }>, Error, SendOtpRequest>, 'mutationFn'>): UseMutationResult<ApiResponse<{
16
- sent: boolean;
17
- }>, Error, SendOtpRequest>;
18
- /**
19
- * Verify OTP and authenticate
20
- *
21
- * @endpoint POST /auth/verify-otp
22
- */
23
- export declare function useVerifyOtp(options?: Omit<UseMutationOptions<AuthResponse, Error, VerifyOtpRequest>, 'mutationFn'>): UseMutationResult<AuthResponse, Error, VerifyOtpRequest>;
24
- /**
25
- * Refresh access token
26
- *
27
- * @endpoint POST /auth/refresh
28
- */
29
- export declare function useRefreshToken(options?: Omit<UseMutationOptions<{
30
- accessToken: string;
31
- }, Error, {
32
- refreshToken: string;
33
- }>, 'mutationFn'>): UseMutationResult<{
34
- accessToken: string;
35
- }, Error, {
36
- refreshToken: string;
37
- }>;
@@ -1,61 +0,0 @@
1
- "use strict";
2
- /**
3
- * Auth Mutation Hooks
4
- *
5
- * TanStack Query hooks for authentication operations.
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.useSendOtp = useSendOtp;
9
- exports.useVerifyOtp = useVerifyOtp;
10
- exports.useRefreshToken = useRefreshToken;
11
- const react_query_1 = require("@tanstack/react-query");
12
- const client_1 = require("../client");
13
- // ============================================================================
14
- // MUTATION HOOKS
15
- // ============================================================================
16
- /**
17
- * Send OTP to phone number
18
- *
19
- * @endpoint POST /auth/send-otp
20
- */
21
- function useSendOtp(options) {
22
- return (0, react_query_1.useMutation)({
23
- mutationFn: async (data) => {
24
- const client = (0, client_1.getApiClient)();
25
- const response = await client.post('/auth/send-otp', data);
26
- return response.data;
27
- },
28
- ...options,
29
- });
30
- }
31
- /**
32
- * Verify OTP and authenticate
33
- *
34
- * @endpoint POST /auth/verify-otp
35
- */
36
- function useVerifyOtp(options) {
37
- return (0, react_query_1.useMutation)({
38
- mutationFn: async (data) => {
39
- const client = (0, client_1.getApiClient)();
40
- const response = await client.post('/auth/verify-otp', data);
41
- return response.data;
42
- },
43
- ...options,
44
- });
45
- }
46
- /**
47
- * Refresh access token
48
- *
49
- * @endpoint POST /auth/refresh
50
- */
51
- function useRefreshToken(options) {
52
- return (0, react_query_1.useMutation)({
53
- mutationFn: async (data) => {
54
- const client = (0, client_1.getApiClient)();
55
- const response = await client.post('/auth/refresh', data);
56
- return response.data;
57
- },
58
- ...options,
59
- });
60
- }
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvcXVlcmllcy9hdXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7OztHQUlHOztBQXlCSCxnQ0FpQkM7QUFPRCxvQ0FjQztBQU9ELDBDQWlCQztBQXJGRCx1REFJOEI7QUFFOUIsc0NBQXNDO0FBUXRDLCtFQUErRTtBQUMvRSxpQkFBaUI7QUFDakIsK0VBQStFO0FBRS9FOzs7O0dBSUc7QUFDSCxTQUFnQixVQUFVLENBQ3hCLE9BR0M7SUFFRCxPQUFPLElBQUEseUJBQVcsRUFBQztRQUNqQixVQUFVLEVBQUUsS0FBSyxFQUFFLElBQW9CLEVBQUUsRUFBRTtZQUN6QyxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEdBQUUsQ0FBQTtZQUM3QixNQUFNLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQ2hDLGdCQUFnQixFQUNoQixJQUFJLENBQ0wsQ0FBQTtZQUNELE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQTtRQUN0QixDQUFDO1FBQ0QsR0FBRyxPQUFPO0tBQ1gsQ0FBQyxDQUFBO0FBQ0osQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixZQUFZLENBQzFCLE9BR0M7SUFFRCxPQUFPLElBQUEseUJBQVcsRUFBQztRQUNqQixVQUFVLEVBQUUsS0FBSyxFQUFFLElBQXNCLEVBQUUsRUFBRTtZQUMzQyxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEdBQUUsQ0FBQTtZQUM3QixNQUFNLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQWUsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFDMUUsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFBO1FBQ3RCLENBQUM7UUFDRCxHQUFHLE9BQU87S0FDWCxDQUFDLENBQUE7QUFDSixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLGVBQWUsQ0FDN0IsT0FHQztJQUVELE9BQU8sSUFBQSx5QkFBVyxFQUFDO1FBQ2pCLFVBQVUsRUFBRSxLQUFLLEVBQUUsSUFBNEIsRUFBRSxFQUFFO1lBQ2pELE1BQU0sTUFBTSxHQUFHLElBQUEscUJBQVksR0FBRSxDQUFBO1lBQzdCLE1BQU0sUUFBUSxHQUFHLE1BQU0sTUFBTSxDQUFDLElBQUksQ0FDaEMsZUFBZSxFQUNmLElBQUksQ0FDTCxDQUFBO1lBQ0QsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFBO1FBQ3RCLENBQUM7UUFDRCxHQUFHLE9BQU87S0FDWCxDQUFDLENBQUE7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBdXRoIE11dGF0aW9uIEhvb2tzXG4gKlxuICogVGFuU3RhY2sgUXVlcnkgaG9va3MgZm9yIGF1dGhlbnRpY2F0aW9uIG9wZXJhdGlvbnMuXG4gKi9cblxuaW1wb3J0IHtcbiAgdXNlTXV0YXRpb24sXG4gIHR5cGUgVXNlTXV0YXRpb25PcHRpb25zLFxuICB0eXBlIFVzZU11dGF0aW9uUmVzdWx0LFxufSBmcm9tICdAdGFuc3RhY2svcmVhY3QtcXVlcnknXG5cbmltcG9ydCB7Z2V0QXBpQ2xpZW50fSBmcm9tICcuLi9jbGllbnQnXG5pbXBvcnQge1xuICB0eXBlIEFwaVJlc3BvbnNlLFxuICB0eXBlIEF1dGhSZXNwb25zZSxcbiAgdHlwZSBTZW5kT3RwUmVxdWVzdCxcbiAgdHlwZSBWZXJpZnlPdHBSZXF1ZXN0LFxufSBmcm9tICcuLi90eXBlcydcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTVVUQVRJT04gSE9PS1Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBTZW5kIE9UUCB0byBwaG9uZSBudW1iZXJcbiAqXG4gKiBAZW5kcG9pbnQgUE9TVCAvYXV0aC9zZW5kLW90cFxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlU2VuZE90cChcbiAgb3B0aW9ucz86IE9taXQ8XG4gICAgVXNlTXV0YXRpb25PcHRpb25zPEFwaVJlc3BvbnNlPHtzZW50OiBib29sZWFufT4sIEVycm9yLCBTZW5kT3RwUmVxdWVzdD4sXG4gICAgJ211dGF0aW9uRm4nXG4gID4sXG4pOiBVc2VNdXRhdGlvblJlc3VsdDxBcGlSZXNwb25zZTx7c2VudDogYm9vbGVhbn0+LCBFcnJvciwgU2VuZE90cFJlcXVlc3Q+IHtcbiAgcmV0dXJuIHVzZU11dGF0aW9uKHtcbiAgICBtdXRhdGlvbkZuOiBhc3luYyAoZGF0YTogU2VuZE90cFJlcXVlc3QpID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5wb3N0PEFwaVJlc3BvbnNlPHtzZW50OiBib29sZWFufT4+KFxuICAgICAgICAnL2F1dGgvc2VuZC1vdHAnLFxuICAgICAgICBkYXRhLFxuICAgICAgKVxuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGFcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pXG59XG5cbi8qKlxuICogVmVyaWZ5IE9UUCBhbmQgYXV0aGVudGljYXRlXG4gKlxuICogQGVuZHBvaW50IFBPU1QgL2F1dGgvdmVyaWZ5LW90cFxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlVmVyaWZ5T3RwKFxuICBvcHRpb25zPzogT21pdDxcbiAgICBVc2VNdXRhdGlvbk9wdGlvbnM8QXV0aFJlc3BvbnNlLCBFcnJvciwgVmVyaWZ5T3RwUmVxdWVzdD4sXG4gICAgJ211dGF0aW9uRm4nXG4gID4sXG4pOiBVc2VNdXRhdGlvblJlc3VsdDxBdXRoUmVzcG9uc2UsIEVycm9yLCBWZXJpZnlPdHBSZXF1ZXN0PiB7XG4gIHJldHVybiB1c2VNdXRhdGlvbih7XG4gICAgbXV0YXRpb25GbjogYXN5bmMgKGRhdGE6IFZlcmlmeU90cFJlcXVlc3QpID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5wb3N0PEF1dGhSZXNwb25zZT4oJy9hdXRoL3ZlcmlmeS1vdHAnLCBkYXRhKVxuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGFcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pXG59XG5cbi8qKlxuICogUmVmcmVzaCBhY2Nlc3MgdG9rZW5cbiAqXG4gKiBAZW5kcG9pbnQgUE9TVCAvYXV0aC9yZWZyZXNoXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VSZWZyZXNoVG9rZW4oXG4gIG9wdGlvbnM/OiBPbWl0PFxuICAgIFVzZU11dGF0aW9uT3B0aW9uczx7YWNjZXNzVG9rZW46IHN0cmluZ30sIEVycm9yLCB7cmVmcmVzaFRva2VuOiBzdHJpbmd9PixcbiAgICAnbXV0YXRpb25GbidcbiAgPixcbik6IFVzZU11dGF0aW9uUmVzdWx0PHthY2Nlc3NUb2tlbjogc3RyaW5nfSwgRXJyb3IsIHtyZWZyZXNoVG9rZW46IHN0cmluZ30+IHtcbiAgcmV0dXJuIHVzZU11dGF0aW9uKHtcbiAgICBtdXRhdGlvbkZuOiBhc3luYyAoZGF0YToge3JlZnJlc2hUb2tlbjogc3RyaW5nfSkgPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KClcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LnBvc3Q8e2FjY2Vzc1Rva2VuOiBzdHJpbmd9PihcbiAgICAgICAgJy9hdXRoL3JlZnJlc2gnLFxuICAgICAgICBkYXRhLFxuICAgICAgKVxuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGFcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pXG59XG4iXX0=
@@ -1,52 +0,0 @@
1
- /**
2
- * Clubs Query Hooks
3
- *
4
- * TanStack Query hooks for club operations.
5
- */
6
- import { type UseQueryOptions, type UseQueryResult } from '@tanstack/react-query';
7
- import { type Club } from '../types';
8
- export declare const clubKeys: {
9
- all: readonly ["clubs"];
10
- bySpot: (spotId: string) => readonly ["clubs", "spot", string];
11
- details: () => readonly ["clubs", "detail"];
12
- detail: (id: string) => readonly ["clubs", "detail", string];
13
- bySlug: (slug: string) => readonly ["clubs", "slug", string];
14
- byUser: (userId: string) => readonly ["clubs", "user", string];
15
- membership: (clubId: string, userId: string) => readonly ["clubs", "detail", string, "membership", string];
16
- };
17
- /**
18
- * Get clubs for a spot
19
- *
20
- * @endpoint GET /clubs/spot/{spotId}
21
- */
22
- export declare function useClubsBySpot(spotId: string, options?: Omit<UseQueryOptions<Club[]>, 'queryKey' | 'queryFn'>): UseQueryResult<Club[]>;
23
- /**
24
- * Get a club by ID
25
- *
26
- * @endpoint GET /clubs/{id}
27
- */
28
- export declare function useClub(clubId: string, options?: Omit<UseQueryOptions<Club>, 'queryKey' | 'queryFn'>): UseQueryResult<Club>;
29
- /**
30
- * Get a club by slug
31
- *
32
- * @endpoint GET /clubs/slug/{slug}
33
- */
34
- export declare function useClubBySlug(slug: string, options?: Omit<UseQueryOptions<Club>, 'queryKey' | 'queryFn'>): UseQueryResult<Club>;
35
- /**
36
- * Get clubs for a user
37
- *
38
- * @endpoint GET /clubs/user/{userId}
39
- */
40
- export declare function useClubsByUser(userId: string, options?: Omit<UseQueryOptions<Club[]>, 'queryKey' | 'queryFn'>): UseQueryResult<Club[]>;
41
- /**
42
- * Get membership status for a user in a club
43
- *
44
- * @endpoint GET /clubs/{id}/membership/{userId}
45
- */
46
- export declare function useClubMembership(clubId: string, userId: string, options?: Omit<UseQueryOptions<{
47
- isMember: boolean;
48
- role?: string;
49
- }>, 'queryKey' | 'queryFn'>): UseQueryResult<{
50
- isMember: boolean;
51
- role?: string;
52
- }>;
@@ -1,116 +0,0 @@
1
- "use strict";
2
- /**
3
- * Clubs Query Hooks
4
- *
5
- * TanStack Query hooks for club operations.
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.clubKeys = void 0;
9
- exports.useClubsBySpot = useClubsBySpot;
10
- exports.useClub = useClub;
11
- exports.useClubBySlug = useClubBySlug;
12
- exports.useClubsByUser = useClubsByUser;
13
- exports.useClubMembership = useClubMembership;
14
- const react_query_1 = require("@tanstack/react-query");
15
- const client_1 = require("../client");
16
- // ============================================================================
17
- // QUERY KEYS
18
- // ============================================================================
19
- exports.clubKeys = {
20
- all: ['clubs'],
21
- bySpot: (spotId) => [...exports.clubKeys.all, 'spot', spotId],
22
- details: () => [...exports.clubKeys.all, 'detail'],
23
- detail: (id) => [...exports.clubKeys.details(), id],
24
- bySlug: (slug) => [...exports.clubKeys.all, 'slug', slug],
25
- byUser: (userId) => [...exports.clubKeys.all, 'user', userId],
26
- membership: (clubId, userId) => [...exports.clubKeys.detail(clubId), 'membership', userId],
27
- };
28
- // ============================================================================
29
- // QUERY HOOKS
30
- // ============================================================================
31
- /**
32
- * Get clubs for a spot
33
- *
34
- * @endpoint GET /clubs/spot/{spotId}
35
- */
36
- function useClubsBySpot(spotId, options) {
37
- return (0, react_query_1.useQuery)({
38
- queryKey: exports.clubKeys.bySpot(spotId),
39
- queryFn: async () => {
40
- const client = (0, client_1.getApiClient)();
41
- const response = await client.get(`/clubs/spot/${spotId}`);
42
- return response.data.data;
43
- },
44
- enabled: !!spotId,
45
- ...options,
46
- });
47
- }
48
- /**
49
- * Get a club by ID
50
- *
51
- * @endpoint GET /clubs/{id}
52
- */
53
- function useClub(clubId, options) {
54
- return (0, react_query_1.useQuery)({
55
- queryKey: exports.clubKeys.detail(clubId),
56
- queryFn: async () => {
57
- const client = (0, client_1.getApiClient)();
58
- const response = await client.get(`/clubs/${clubId}`);
59
- return response.data.data;
60
- },
61
- enabled: !!clubId,
62
- ...options,
63
- });
64
- }
65
- /**
66
- * Get a club by slug
67
- *
68
- * @endpoint GET /clubs/slug/{slug}
69
- */
70
- function useClubBySlug(slug, options) {
71
- return (0, react_query_1.useQuery)({
72
- queryKey: exports.clubKeys.bySlug(slug),
73
- queryFn: async () => {
74
- const client = (0, client_1.getApiClient)();
75
- const response = await client.get(`/clubs/slug/${slug}`);
76
- return response.data.data;
77
- },
78
- enabled: !!slug,
79
- ...options,
80
- });
81
- }
82
- /**
83
- * Get clubs for a user
84
- *
85
- * @endpoint GET /clubs/user/{userId}
86
- */
87
- function useClubsByUser(userId, options) {
88
- return (0, react_query_1.useQuery)({
89
- queryKey: exports.clubKeys.byUser(userId),
90
- queryFn: async () => {
91
- const client = (0, client_1.getApiClient)();
92
- const response = await client.get(`/clubs/user/${userId}`);
93
- return response.data.data;
94
- },
95
- enabled: !!userId,
96
- ...options,
97
- });
98
- }
99
- /**
100
- * Get membership status for a user in a club
101
- *
102
- * @endpoint GET /clubs/{id}/membership/{userId}
103
- */
104
- function useClubMembership(clubId, userId, options) {
105
- return (0, react_query_1.useQuery)({
106
- queryKey: exports.clubKeys.membership(clubId, userId),
107
- queryFn: async () => {
108
- const client = (0, client_1.getApiClient)();
109
- const response = await client.get(`/clubs/${clubId}/membership/${userId}`);
110
- return response.data.data;
111
- },
112
- enabled: !!clubId && !!userId,
113
- ...options,
114
- });
115
- }
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1YnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3F1ZXJpZXMvY2x1YnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7O0dBSUc7OztBQW1DSCx3Q0FnQkM7QUFPRCwwQkFjQztBQU9ELHNDQWdCQztBQU9ELHdDQWdCQztBQU9ELDhDQW9CQztBQS9JRCx1REFJOEI7QUFFOUIsc0NBQXNDO0FBR3RDLCtFQUErRTtBQUMvRSxhQUFhO0FBQ2IsK0VBQStFO0FBRWxFLFFBQUEsUUFBUSxHQUFHO0lBQ3RCLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBVTtJQUN2QixNQUFNLEVBQUUsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxnQkFBUSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFVO0lBQ3RFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsZ0JBQVEsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFVO0lBQ25ELE1BQU0sRUFBRSxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLGdCQUFRLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFVO0lBQzVELE1BQU0sRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLGdCQUFRLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQVU7SUFDbEUsTUFBTSxFQUFFLENBQUMsTUFBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsZ0JBQVEsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBVTtJQUN0RSxVQUFVLEVBQUUsQ0FBQyxNQUFjLEVBQUUsTUFBYyxFQUFFLEVBQUUsQ0FDN0MsQ0FBQyxHQUFHLGdCQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFlBQVksRUFBRSxNQUFNLENBQVU7Q0FDOUQsQ0FBQTtBQUVELCtFQUErRTtBQUMvRSxjQUFjO0FBQ2QsK0VBQStFO0FBRS9FOzs7O0dBSUc7QUFDSCxTQUFnQixjQUFjLENBQzVCLE1BQWMsRUFDZCxPQUErRDtJQUUvRCxPQUFPLElBQUEsc0JBQVEsRUFBQztRQUNkLFFBQVEsRUFBRSxnQkFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDakMsT0FBTyxFQUFFLEtBQUssSUFBcUIsRUFBRTtZQUNuQyxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEdBQUUsQ0FBQTtZQUM3QixNQUFNLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQy9CLGVBQWUsTUFBTSxFQUFFLENBQ3hCLENBQUE7WUFDRCxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFBO1FBQzNCLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU07UUFDakIsR0FBRyxPQUFPO0tBQ1gsQ0FBQyxDQUFBO0FBQ0osQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixPQUFPLENBQ3JCLE1BQWMsRUFDZCxPQUE2RDtJQUU3RCxPQUFPLElBQUEsc0JBQVEsRUFBQztRQUNkLFFBQVEsRUFBRSxnQkFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDakMsT0FBTyxFQUFFLEtBQUssSUFBbUIsRUFBRTtZQUNqQyxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEdBQUUsQ0FBQTtZQUM3QixNQUFNLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQW9CLFVBQVUsTUFBTSxFQUFFLENBQUMsQ0FBQTtZQUN4RSxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFBO1FBQzNCLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU07UUFDakIsR0FBRyxPQUFPO0tBQ1gsQ0FBQyxDQUFBO0FBQ0osQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixhQUFhLENBQzNCLElBQVksRUFDWixPQUE2RDtJQUU3RCxPQUFPLElBQUEsc0JBQVEsRUFBQztRQUNkLFFBQVEsRUFBRSxnQkFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDL0IsT0FBTyxFQUFFLEtBQUssSUFBbUIsRUFBRTtZQUNqQyxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEdBQUUsQ0FBQTtZQUM3QixNQUFNLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQy9CLGVBQWUsSUFBSSxFQUFFLENBQ3RCLENBQUE7WUFDRCxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFBO1FBQzNCLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUk7UUFDZixHQUFHLE9BQU87S0FDWCxDQUFDLENBQUE7QUFDSixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLGNBQWMsQ0FDNUIsTUFBYyxFQUNkLE9BQStEO0lBRS9ELE9BQU8sSUFBQSxzQkFBUSxFQUFDO1FBQ2QsUUFBUSxFQUFFLGdCQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUNqQyxPQUFPLEVBQUUsS0FBSyxJQUFxQixFQUFFO1lBQ25DLE1BQU0sTUFBTSxHQUFHLElBQUEscUJBQVksR0FBRSxDQUFBO1lBQzdCLE1BQU0sUUFBUSxHQUFHLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FDL0IsZUFBZSxNQUFNLEVBQUUsQ0FDeEIsQ0FBQTtZQUNELE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUE7UUFDM0IsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTTtRQUNqQixHQUFHLE9BQU87S0FDWCxDQUFDLENBQUE7QUFDSixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLGlCQUFpQixDQUMvQixNQUFjLEVBQ2QsTUFBYyxFQUNkLE9BR0M7SUFFRCxPQUFPLElBQUEsc0JBQVEsRUFBQztRQUNkLFFBQVEsRUFBRSxnQkFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDO1FBQzdDLE9BQU8sRUFBRSxLQUFLLElBQUksRUFBRTtZQUNsQixNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEdBQUUsQ0FBQTtZQUM3QixNQUFNLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBRS9CLFVBQVUsTUFBTSxlQUFlLE1BQU0sRUFBRSxDQUFDLENBQUE7WUFDMUMsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQTtRQUMzQixDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLE1BQU07UUFDN0IsR0FBRyxPQUFPO0tBQ1gsQ0FBQyxDQUFBO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ2x1YnMgUXVlcnkgSG9va3NcbiAqXG4gKiBUYW5TdGFjayBRdWVyeSBob29rcyBmb3IgY2x1YiBvcGVyYXRpb25zLlxuICovXG5cbmltcG9ydCB7XG4gIHVzZVF1ZXJ5LFxuICB0eXBlIFVzZVF1ZXJ5T3B0aW9ucyxcbiAgdHlwZSBVc2VRdWVyeVJlc3VsdCxcbn0gZnJvbSAnQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5J1xuXG5pbXBvcnQge2dldEFwaUNsaWVudH0gZnJvbSAnLi4vY2xpZW50J1xuaW1wb3J0IHt0eXBlIEFwaVJlc3BvbnNlLCB0eXBlIENsdWJ9IGZyb20gJy4uL3R5cGVzJ1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBRVUVSWSBLRVlTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCBjb25zdCBjbHViS2V5cyA9IHtcbiAgYWxsOiBbJ2NsdWJzJ10gYXMgY29uc3QsXG4gIGJ5U3BvdDogKHNwb3RJZDogc3RyaW5nKSA9PiBbLi4uY2x1YktleXMuYWxsLCAnc3BvdCcsIHNwb3RJZF0gYXMgY29uc3QsXG4gIGRldGFpbHM6ICgpID0+IFsuLi5jbHViS2V5cy5hbGwsICdkZXRhaWwnXSBhcyBjb25zdCxcbiAgZGV0YWlsOiAoaWQ6IHN0cmluZykgPT4gWy4uLmNsdWJLZXlzLmRldGFpbHMoKSwgaWRdIGFzIGNvbnN0LFxuICBieVNsdWc6IChzbHVnOiBzdHJpbmcpID0+IFsuLi5jbHViS2V5cy5hbGwsICdzbHVnJywgc2x1Z10gYXMgY29uc3QsXG4gIGJ5VXNlcjogKHVzZXJJZDogc3RyaW5nKSA9PiBbLi4uY2x1YktleXMuYWxsLCAndXNlcicsIHVzZXJJZF0gYXMgY29uc3QsXG4gIG1lbWJlcnNoaXA6IChjbHViSWQ6IHN0cmluZywgdXNlcklkOiBzdHJpbmcpID0+XG4gICAgWy4uLmNsdWJLZXlzLmRldGFpbChjbHViSWQpLCAnbWVtYmVyc2hpcCcsIHVzZXJJZF0gYXMgY29uc3QsXG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFFVRVJZIEhPT0tTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogR2V0IGNsdWJzIGZvciBhIHNwb3RcbiAqXG4gKiBAZW5kcG9pbnQgR0VUIC9jbHVicy9zcG90L3tzcG90SWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VDbHVic0J5U3BvdChcbiAgc3BvdElkOiBzdHJpbmcsXG4gIG9wdGlvbnM/OiBPbWl0PFVzZVF1ZXJ5T3B0aW9uczxDbHViW10+LCAncXVlcnlLZXknIHwgJ3F1ZXJ5Rm4nPixcbik6IFVzZVF1ZXJ5UmVzdWx0PENsdWJbXT4ge1xuICByZXR1cm4gdXNlUXVlcnkoe1xuICAgIHF1ZXJ5S2V5OiBjbHViS2V5cy5ieVNwb3Qoc3BvdElkKSxcbiAgICBxdWVyeUZuOiBhc3luYyAoKTogUHJvbWlzZTxDbHViW10+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5nZXQ8QXBpUmVzcG9uc2U8Q2x1YltdPj4oXG4gICAgICAgIGAvY2x1YnMvc3BvdC8ke3Nwb3RJZH1gLFxuICAgICAgKVxuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEuZGF0YVxuICAgIH0sXG4gICAgZW5hYmxlZDogISFzcG90SWQsXG4gICAgLi4ub3B0aW9ucyxcbiAgfSlcbn1cblxuLyoqXG4gKiBHZXQgYSBjbHViIGJ5IElEXG4gKlxuICogQGVuZHBvaW50IEdFVCAvY2x1YnMve2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlQ2x1YihcbiAgY2x1YklkOiBzdHJpbmcsXG4gIG9wdGlvbnM/OiBPbWl0PFVzZVF1ZXJ5T3B0aW9uczxDbHViPiwgJ3F1ZXJ5S2V5JyB8ICdxdWVyeUZuJz4sXG4pOiBVc2VRdWVyeVJlc3VsdDxDbHViPiB7XG4gIHJldHVybiB1c2VRdWVyeSh7XG4gICAgcXVlcnlLZXk6IGNsdWJLZXlzLmRldGFpbChjbHViSWQpLFxuICAgIHF1ZXJ5Rm46IGFzeW5jICgpOiBQcm9taXNlPENsdWI+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5nZXQ8QXBpUmVzcG9uc2U8Q2x1Yj4+KGAvY2x1YnMvJHtjbHViSWR9YClcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhLmRhdGFcbiAgICB9LFxuICAgIGVuYWJsZWQ6ICEhY2x1YklkLFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pXG59XG5cbi8qKlxuICogR2V0IGEgY2x1YiBieSBzbHVnXG4gKlxuICogQGVuZHBvaW50IEdFVCAvY2x1YnMvc2x1Zy97c2x1Z31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUNsdWJCeVNsdWcoXG4gIHNsdWc6IHN0cmluZyxcbiAgb3B0aW9ucz86IE9taXQ8VXNlUXVlcnlPcHRpb25zPENsdWI+LCAncXVlcnlLZXknIHwgJ3F1ZXJ5Rm4nPixcbik6IFVzZVF1ZXJ5UmVzdWx0PENsdWI+IHtcbiAgcmV0dXJuIHVzZVF1ZXJ5KHtcbiAgICBxdWVyeUtleTogY2x1YktleXMuYnlTbHVnKHNsdWcpLFxuICAgIHF1ZXJ5Rm46IGFzeW5jICgpOiBQcm9taXNlPENsdWI+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5nZXQ8QXBpUmVzcG9uc2U8Q2x1Yj4+KFxuICAgICAgICBgL2NsdWJzL3NsdWcvJHtzbHVnfWAsXG4gICAgICApXG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YS5kYXRhXG4gICAgfSxcbiAgICBlbmFibGVkOiAhIXNsdWcsXG4gICAgLi4ub3B0aW9ucyxcbiAgfSlcbn1cblxuLyoqXG4gKiBHZXQgY2x1YnMgZm9yIGEgdXNlclxuICpcbiAqIEBlbmRwb2ludCBHRVQgL2NsdWJzL3VzZXIve3VzZXJJZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUNsdWJzQnlVc2VyKFxuICB1c2VySWQ6IHN0cmluZyxcbiAgb3B0aW9ucz86IE9taXQ8VXNlUXVlcnlPcHRpb25zPENsdWJbXT4sICdxdWVyeUtleScgfCAncXVlcnlGbic+LFxuKTogVXNlUXVlcnlSZXN1bHQ8Q2x1YltdPiB7XG4gIHJldHVybiB1c2VRdWVyeSh7XG4gICAgcXVlcnlLZXk6IGNsdWJLZXlzLmJ5VXNlcih1c2VySWQpLFxuICAgIHF1ZXJ5Rm46IGFzeW5jICgpOiBQcm9taXNlPENsdWJbXT4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KClcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LmdldDxBcGlSZXNwb25zZTxDbHViW10+PihcbiAgICAgICAgYC9jbHVicy91c2VyLyR7dXNlcklkfWAsXG4gICAgICApXG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YS5kYXRhXG4gICAgfSxcbiAgICBlbmFibGVkOiAhIXVzZXJJZCxcbiAgICAuLi5vcHRpb25zLFxuICB9KVxufVxuXG4vKipcbiAqIEdldCBtZW1iZXJzaGlwIHN0YXR1cyBmb3IgYSB1c2VyIGluIGEgY2x1YlxuICpcbiAqIEBlbmRwb2ludCBHRVQgL2NsdWJzL3tpZH0vbWVtYmVyc2hpcC97dXNlcklkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlQ2x1Yk1lbWJlcnNoaXAoXG4gIGNsdWJJZDogc3RyaW5nLFxuICB1c2VySWQ6IHN0cmluZyxcbiAgb3B0aW9ucz86IE9taXQ8XG4gICAgVXNlUXVlcnlPcHRpb25zPHtpc01lbWJlcjogYm9vbGVhbjsgcm9sZT86IHN0cmluZ30+LFxuICAgICdxdWVyeUtleScgfCAncXVlcnlGbidcbiAgPixcbik6IFVzZVF1ZXJ5UmVzdWx0PHtpc01lbWJlcjogYm9vbGVhbjsgcm9sZT86IHN0cmluZ30+IHtcbiAgcmV0dXJuIHVzZVF1ZXJ5KHtcbiAgICBxdWVyeUtleTogY2x1YktleXMubWVtYmVyc2hpcChjbHViSWQsIHVzZXJJZCksXG4gICAgcXVlcnlGbjogYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KClcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LmdldDxcbiAgICAgICAgQXBpUmVzcG9uc2U8e2lzTWVtYmVyOiBib29sZWFuOyByb2xlPzogc3RyaW5nfT5cbiAgICAgID4oYC9jbHVicy8ke2NsdWJJZH0vbWVtYmVyc2hpcC8ke3VzZXJJZH1gKVxuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEuZGF0YVxuICAgIH0sXG4gICAgZW5hYmxlZDogISFjbHViSWQgJiYgISF1c2VySWQsXG4gICAgLi4ub3B0aW9ucyxcbiAgfSlcbn1cbiJdfQ==
@@ -1,52 +0,0 @@
1
- /**
2
- * Conversations Query Hooks
3
- *
4
- * TanStack Query hooks for conversation/messaging operations.
5
- */
6
- import { type UseQueryOptions, type UseQueryResult } from '@tanstack/react-query';
7
- import { type Conversation, type Message } from '../types';
8
- export declare const conversationKeys: {
9
- all: readonly ["conversations"];
10
- lists: () => readonly ["conversations", "list"];
11
- list: () => readonly ["conversations", "list"];
12
- details: () => readonly ["conversations", "detail"];
13
- detail: (id: string) => readonly ["conversations", "detail", string];
14
- messages: (conversationId: string, params?: {
15
- before?: string;
16
- }) => readonly ["conversations", "detail", string, "messages", {
17
- before?: string;
18
- } | undefined];
19
- };
20
- /**
21
- * Get all conversations for current user
22
- *
23
- * @endpoint GET /conversations
24
- */
25
- export declare function useConversations(options?: Omit<UseQueryOptions<Conversation[]>, 'queryKey' | 'queryFn'>): UseQueryResult<Conversation[]>;
26
- /**
27
- * Get a single conversation with details
28
- *
29
- * @endpoint GET /conversations/{id}
30
- */
31
- export declare function useConversation(conversationId: string, options?: Omit<UseQueryOptions<Conversation>, 'queryKey' | 'queryFn'>): UseQueryResult<Conversation>;
32
- /**
33
- * Get messages for a conversation
34
- *
35
- * @endpoint GET /conversations/{id}/messages
36
- */
37
- export declare function useConversationMessages(conversationId: string, params?: {
38
- limit?: number;
39
- before?: string;
40
- }, options?: Omit<UseQueryOptions<{
41
- data: Message[];
42
- meta: {
43
- hasMore: boolean;
44
- oldestMessageAt: string | null;
45
- };
46
- }>, 'queryKey' | 'queryFn'>): UseQueryResult<{
47
- data: Message[];
48
- meta: {
49
- hasMore: boolean;
50
- oldestMessageAt: string | null;
51
- };
52
- }>;
@@ -1,83 +0,0 @@
1
- "use strict";
2
- /**
3
- * Conversations Query Hooks
4
- *
5
- * TanStack Query hooks for conversation/messaging operations.
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.conversationKeys = void 0;
9
- exports.useConversations = useConversations;
10
- exports.useConversation = useConversation;
11
- exports.useConversationMessages = useConversationMessages;
12
- const react_query_1 = require("@tanstack/react-query");
13
- const client_1 = require("../client");
14
- // ============================================================================
15
- // QUERY KEYS
16
- // ============================================================================
17
- exports.conversationKeys = {
18
- all: ['conversations'],
19
- lists: () => [...exports.conversationKeys.all, 'list'],
20
- list: () => [...exports.conversationKeys.lists()],
21
- details: () => [...exports.conversationKeys.all, 'detail'],
22
- detail: (id) => [...exports.conversationKeys.details(), id],
23
- messages: (conversationId, params) => [...exports.conversationKeys.detail(conversationId), 'messages', params],
24
- };
25
- // ============================================================================
26
- // QUERY HOOKS
27
- // ============================================================================
28
- /**
29
- * Get all conversations for current user
30
- *
31
- * @endpoint GET /conversations
32
- */
33
- function useConversations(options) {
34
- return (0, react_query_1.useQuery)({
35
- queryKey: exports.conversationKeys.list(),
36
- queryFn: async () => {
37
- const client = (0, client_1.getApiClient)();
38
- const response = await client.get('/conversations');
39
- return response.data.data;
40
- },
41
- ...options,
42
- });
43
- }
44
- /**
45
- * Get a single conversation with details
46
- *
47
- * @endpoint GET /conversations/{id}
48
- */
49
- function useConversation(conversationId, options) {
50
- return (0, react_query_1.useQuery)({
51
- queryKey: exports.conversationKeys.detail(conversationId),
52
- queryFn: async () => {
53
- const client = (0, client_1.getApiClient)();
54
- const response = await client.get(`/conversations/${conversationId}`);
55
- return response.data.data;
56
- },
57
- enabled: !!conversationId,
58
- ...options,
59
- });
60
- }
61
- /**
62
- * Get messages for a conversation
63
- *
64
- * @endpoint GET /conversations/{id}/messages
65
- */
66
- function useConversationMessages(conversationId, params, options) {
67
- return (0, react_query_1.useQuery)({
68
- queryKey: exports.conversationKeys.messages(conversationId, params),
69
- queryFn: async () => {
70
- const client = (0, client_1.getApiClient)();
71
- const queryParams = new URLSearchParams();
72
- if (params?.limit)
73
- queryParams.set('limit', String(params.limit));
74
- if (params?.before)
75
- queryParams.set('before', params.before);
76
- const response = await client.get(`/conversations/${conversationId}/messages?${queryParams}`);
77
- return response.data;
78
- },
79
- enabled: !!conversationId,
80
- ...options,
81
- });
82
- }
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvcXVlcmllcy9jb252ZXJzYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7OztHQUlHOzs7QUFrQ0gsNENBYUM7QUFPRCwwQ0FnQkM7QUFPRCwwREE4QkM7QUF6R0QsdURBSThCO0FBRTlCLHNDQUFzQztBQUd0QywrRUFBK0U7QUFDL0UsYUFBYTtBQUNiLCtFQUErRTtBQUVsRSxRQUFBLGdCQUFnQixHQUFHO0lBQzlCLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBVTtJQUMvQixLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLHdCQUFnQixDQUFDLEdBQUcsRUFBRSxNQUFNLENBQVU7SUFDdkQsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyx3QkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBVTtJQUNsRCxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLHdCQUFnQixDQUFDLEdBQUcsRUFBRSxRQUFRLENBQVU7SUFDM0QsTUFBTSxFQUFFLENBQUMsRUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsd0JBQWdCLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFVO0lBQ3BFLFFBQVEsRUFBRSxDQUFDLGNBQXNCLEVBQUUsTUFBMEIsRUFBRSxFQUFFLENBQy9ELENBQUMsR0FBRyx3QkFBZ0IsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBVTtDQUM1RSxDQUFBO0FBRUQsK0VBQStFO0FBQy9FLGNBQWM7QUFDZCwrRUFBK0U7QUFFL0U7Ozs7R0FJRztBQUNILFNBQWdCLGdCQUFnQixDQUM5QixPQUF1RTtJQUV2RSxPQUFPLElBQUEsc0JBQVEsRUFBQztRQUNkLFFBQVEsRUFBRSx3QkFBZ0IsQ0FBQyxJQUFJLEVBQUU7UUFDakMsT0FBTyxFQUFFLEtBQUssSUFBNkIsRUFBRTtZQUMzQyxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEdBQUUsQ0FBQTtZQUM3QixNQUFNLFFBQVEsR0FDWixNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQThCLGdCQUFnQixDQUFDLENBQUE7WUFDakUsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQTtRQUMzQixDQUFDO1FBQ0QsR0FBRyxPQUFPO0tBQ1gsQ0FBQyxDQUFBO0FBQ0osQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixlQUFlLENBQzdCLGNBQXNCLEVBQ3RCLE9BQXFFO0lBRXJFLE9BQU8sSUFBQSxzQkFBUSxFQUFDO1FBQ2QsUUFBUSxFQUFFLHdCQUFnQixDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUM7UUFDakQsT0FBTyxFQUFFLEtBQUssSUFBMkIsRUFBRTtZQUN6QyxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEdBQUUsQ0FBQTtZQUM3QixNQUFNLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQy9CLGtCQUFrQixjQUFjLEVBQUUsQ0FDbkMsQ0FBQTtZQUNELE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUE7UUFDM0IsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDLENBQUMsY0FBYztRQUN6QixHQUFHLE9BQU87S0FDWCxDQUFDLENBQUE7QUFDSixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLHVCQUF1QixDQUNyQyxjQUFzQixFQUN0QixNQUEwQyxFQUMxQyxPQU1DO0lBS0QsT0FBTyxJQUFBLHNCQUFRLEVBQUM7UUFDZCxRQUFRLEVBQUUsd0JBQWdCLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUM7UUFDM0QsT0FBTyxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQ2xCLE1BQU0sTUFBTSxHQUFHLElBQUEscUJBQVksR0FBRSxDQUFBO1lBQzdCLE1BQU0sV0FBVyxHQUFHLElBQUksZUFBZSxFQUFFLENBQUE7WUFDekMsSUFBSSxNQUFNLEVBQUUsS0FBSztnQkFBRSxXQUFXLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7WUFDakUsSUFBSSxNQUFNLEVBQUUsTUFBTTtnQkFBRSxXQUFXLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7WUFDNUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUc5QixrQkFBa0IsY0FBYyxhQUFhLFdBQVcsRUFBRSxDQUFDLENBQUE7WUFDOUQsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFBO1FBQ3RCLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQyxDQUFDLGNBQWM7UUFDekIsR0FBRyxPQUFPO0tBQ1gsQ0FBQyxDQUFBO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29udmVyc2F0aW9ucyBRdWVyeSBIb29rc1xuICpcbiAqIFRhblN0YWNrIFF1ZXJ5IGhvb2tzIGZvciBjb252ZXJzYXRpb24vbWVzc2FnaW5nIG9wZXJhdGlvbnMuXG4gKi9cblxuaW1wb3J0IHtcbiAgdXNlUXVlcnksXG4gIHR5cGUgVXNlUXVlcnlPcHRpb25zLFxuICB0eXBlIFVzZVF1ZXJ5UmVzdWx0LFxufSBmcm9tICdAdGFuc3RhY2svcmVhY3QtcXVlcnknXG5cbmltcG9ydCB7Z2V0QXBpQ2xpZW50fSBmcm9tICcuLi9jbGllbnQnXG5pbXBvcnQge3R5cGUgQXBpUmVzcG9uc2UsIHR5cGUgQ29udmVyc2F0aW9uLCB0eXBlIE1lc3NhZ2V9IGZyb20gJy4uL3R5cGVzJ1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBRVUVSWSBLRVlTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCBjb25zdCBjb252ZXJzYXRpb25LZXlzID0ge1xuICBhbGw6IFsnY29udmVyc2F0aW9ucyddIGFzIGNvbnN0LFxuICBsaXN0czogKCkgPT4gWy4uLmNvbnZlcnNhdGlvbktleXMuYWxsLCAnbGlzdCddIGFzIGNvbnN0LFxuICBsaXN0OiAoKSA9PiBbLi4uY29udmVyc2F0aW9uS2V5cy5saXN0cygpXSBhcyBjb25zdCxcbiAgZGV0YWlsczogKCkgPT4gWy4uLmNvbnZlcnNhdGlvbktleXMuYWxsLCAnZGV0YWlsJ10gYXMgY29uc3QsXG4gIGRldGFpbDogKGlkOiBzdHJpbmcpID0+IFsuLi5jb252ZXJzYXRpb25LZXlzLmRldGFpbHMoKSwgaWRdIGFzIGNvbnN0LFxuICBtZXNzYWdlczogKGNvbnZlcnNhdGlvbklkOiBzdHJpbmcsIHBhcmFtcz86IHtiZWZvcmU/OiBzdHJpbmd9KSA9PlxuICAgIFsuLi5jb252ZXJzYXRpb25LZXlzLmRldGFpbChjb252ZXJzYXRpb25JZCksICdtZXNzYWdlcycsIHBhcmFtc10gYXMgY29uc3QsXG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFFVRVJZIEhPT0tTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogR2V0IGFsbCBjb252ZXJzYXRpb25zIGZvciBjdXJyZW50IHVzZXJcbiAqXG4gKiBAZW5kcG9pbnQgR0VUIC9jb252ZXJzYXRpb25zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VDb252ZXJzYXRpb25zKFxuICBvcHRpb25zPzogT21pdDxVc2VRdWVyeU9wdGlvbnM8Q29udmVyc2F0aW9uW10+LCAncXVlcnlLZXknIHwgJ3F1ZXJ5Rm4nPixcbik6IFVzZVF1ZXJ5UmVzdWx0PENvbnZlcnNhdGlvbltdPiB7XG4gIHJldHVybiB1c2VRdWVyeSh7XG4gICAgcXVlcnlLZXk6IGNvbnZlcnNhdGlvbktleXMubGlzdCgpLFxuICAgIHF1ZXJ5Rm46IGFzeW5jICgpOiBQcm9taXNlPENvbnZlcnNhdGlvbltdPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKVxuICAgICAgY29uc3QgcmVzcG9uc2UgPVxuICAgICAgICBhd2FpdCBjbGllbnQuZ2V0PEFwaVJlc3BvbnNlPENvbnZlcnNhdGlvbltdPj4oJy9jb252ZXJzYXRpb25zJylcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhLmRhdGFcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pXG59XG5cbi8qKlxuICogR2V0IGEgc2luZ2xlIGNvbnZlcnNhdGlvbiB3aXRoIGRldGFpbHNcbiAqXG4gKiBAZW5kcG9pbnQgR0VUIC9jb252ZXJzYXRpb25zL3tpZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUNvbnZlcnNhdGlvbihcbiAgY29udmVyc2F0aW9uSWQ6IHN0cmluZyxcbiAgb3B0aW9ucz86IE9taXQ8VXNlUXVlcnlPcHRpb25zPENvbnZlcnNhdGlvbj4sICdxdWVyeUtleScgfCAncXVlcnlGbic+LFxuKTogVXNlUXVlcnlSZXN1bHQ8Q29udmVyc2F0aW9uPiB7XG4gIHJldHVybiB1c2VRdWVyeSh7XG4gICAgcXVlcnlLZXk6IGNvbnZlcnNhdGlvbktleXMuZGV0YWlsKGNvbnZlcnNhdGlvbklkKSxcbiAgICBxdWVyeUZuOiBhc3luYyAoKTogUHJvbWlzZTxDb252ZXJzYXRpb24+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5nZXQ8QXBpUmVzcG9uc2U8Q29udmVyc2F0aW9uPj4oXG4gICAgICAgIGAvY29udmVyc2F0aW9ucy8ke2NvbnZlcnNhdGlvbklkfWAsXG4gICAgICApXG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YS5kYXRhXG4gICAgfSxcbiAgICBlbmFibGVkOiAhIWNvbnZlcnNhdGlvbklkLFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pXG59XG5cbi8qKlxuICogR2V0IG1lc3NhZ2VzIGZvciBhIGNvbnZlcnNhdGlvblxuICpcbiAqIEBlbmRwb2ludCBHRVQgL2NvbnZlcnNhdGlvbnMve2lkfS9tZXNzYWdlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlQ29udmVyc2F0aW9uTWVzc2FnZXMoXG4gIGNvbnZlcnNhdGlvbklkOiBzdHJpbmcsXG4gIHBhcmFtcz86IHtsaW1pdD86IG51bWJlcjsgYmVmb3JlPzogc3RyaW5nfSxcbiAgb3B0aW9ucz86IE9taXQ8XG4gICAgVXNlUXVlcnlPcHRpb25zPHtcbiAgICAgIGRhdGE6IE1lc3NhZ2VbXVxuICAgICAgbWV0YToge2hhc01vcmU6IGJvb2xlYW47IG9sZGVzdE1lc3NhZ2VBdDogc3RyaW5nIHwgbnVsbH1cbiAgICB9PixcbiAgICAncXVlcnlLZXknIHwgJ3F1ZXJ5Rm4nXG4gID4sXG4pOiBVc2VRdWVyeVJlc3VsdDx7XG4gIGRhdGE6IE1lc3NhZ2VbXVxuICBtZXRhOiB7aGFzTW9yZTogYm9vbGVhbjsgb2xkZXN0TWVzc2FnZUF0OiBzdHJpbmcgfCBudWxsfVxufT4ge1xuICByZXR1cm4gdXNlUXVlcnkoe1xuICAgIHF1ZXJ5S2V5OiBjb252ZXJzYXRpb25LZXlzLm1lc3NhZ2VzKGNvbnZlcnNhdGlvbklkLCBwYXJhbXMpLFxuICAgIHF1ZXJ5Rm46IGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpXG4gICAgICBjb25zdCBxdWVyeVBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKVxuICAgICAgaWYgKHBhcmFtcz8ubGltaXQpIHF1ZXJ5UGFyYW1zLnNldCgnbGltaXQnLCBTdHJpbmcocGFyYW1zLmxpbWl0KSlcbiAgICAgIGlmIChwYXJhbXM/LmJlZm9yZSkgcXVlcnlQYXJhbXMuc2V0KCdiZWZvcmUnLCBwYXJhbXMuYmVmb3JlKVxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQuZ2V0PHtcbiAgICAgICAgZGF0YTogTWVzc2FnZVtdXG4gICAgICAgIG1ldGE6IHtoYXNNb3JlOiBib29sZWFuOyBvbGRlc3RNZXNzYWdlQXQ6IHN0cmluZyB8IG51bGx9XG4gICAgICB9PihgL2NvbnZlcnNhdGlvbnMvJHtjb252ZXJzYXRpb25JZH0vbWVzc2FnZXM/JHtxdWVyeVBhcmFtc31gKVxuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGFcbiAgICB9LFxuICAgIGVuYWJsZWQ6ICEhY29udmVyc2F0aW9uSWQsXG4gICAgLi4ub3B0aW9ucyxcbiAgfSlcbn1cbiJdfQ==