@spotsdev/sdk 1.4.0 → 1.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +2166 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +1656 -0
- package/dist/index.d.ts +1655 -36
- package/dist/index.js +2021 -64
- package/dist/index.js.map +1 -0
- package/package.json +22 -6
- package/src/api/entities.ts +171 -170
- package/src/api/mutations/products.ts +18 -2
- package/src/api/queries/index.ts +4 -0
- package/src/api/queries/payments.ts +67 -0
- package/dist/api/client.d.ts +0 -12
- package/dist/api/client.js +0 -72
- package/dist/api/entities.d.ts +0 -305
- package/dist/api/entities.js +0 -13
- package/dist/api/mutations/clubs.d.ts +0 -47
- package/dist/api/mutations/clubs.js +0 -97
- package/dist/api/mutations/conversations.d.ts +0 -45
- package/dist/api/mutations/conversations.js +0 -114
- package/dist/api/mutations/index.d.ts +0 -14
- package/dist/api/mutations/index.js +0 -40
- package/dist/api/mutations/notifications.d.ts +0 -38
- package/dist/api/mutations/notifications.js +0 -64
- package/dist/api/mutations/orders.d.ts +0 -73
- package/dist/api/mutations/orders.js +0 -114
- package/dist/api/mutations/posts.d.ts +0 -123
- package/dist/api/mutations/posts.js +0 -242
- package/dist/api/mutations/products.d.ts +0 -81
- package/dist/api/mutations/products.js +0 -98
- package/dist/api/mutations/redemptions.d.ts +0 -33
- package/dist/api/mutations/redemptions.js +0 -63
- package/dist/api/mutations/spots.d.ts +0 -93
- package/dist/api/mutations/spots.js +0 -167
- package/dist/api/mutations/users.d.ts +0 -73
- package/dist/api/mutations/users.js +0 -175
- package/dist/api/queries/auth.d.ts +0 -37
- package/dist/api/queries/auth.js +0 -61
- package/dist/api/queries/clubs.d.ts +0 -52
- package/dist/api/queries/clubs.js +0 -116
- package/dist/api/queries/conversations.d.ts +0 -52
- package/dist/api/queries/conversations.js +0 -83
- package/dist/api/queries/index.d.ts +0 -28
- package/dist/api/queries/index.js +0 -69
- package/dist/api/queries/misc.d.ts +0 -30
- package/dist/api/queries/misc.js +0 -91
- package/dist/api/queries/notifications.d.ts +0 -34
- package/dist/api/queries/notifications.js +0 -62
- package/dist/api/queries/orders.d.ts +0 -45
- package/dist/api/queries/orders.js +0 -93
- package/dist/api/queries/posts.d.ts +0 -92
- package/dist/api/queries/posts.js +0 -233
- package/dist/api/queries/products.d.ts +0 -48
- package/dist/api/queries/products.js +0 -87
- package/dist/api/queries/spots.d.ts +0 -93
- package/dist/api/queries/spots.js +0 -250
- package/dist/api/queries/templates.d.ts +0 -39
- package/dist/api/queries/templates.js +0 -81
- package/dist/api/queries/users.d.ts +0 -104
- package/dist/api/queries/users.js +0 -235
- package/dist/api/queries/wallet.d.ts +0 -109
- package/dist/api/queries/wallet.js +0 -136
- package/dist/api/services/index.d.ts +0 -2
- package/dist/api/services/index.js +0 -8
- package/dist/api/services/marketplace.d.ts +0 -129
- package/dist/api/services/marketplace.js +0 -168
- package/dist/api/types.d.ts +0 -57
- package/dist/api/types.js +0 -33
package/dist/api/entities.d.ts
DELETED
|
@@ -1,305 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Spots SDK Entity Types
|
|
3
|
-
*
|
|
4
|
-
* These types mirror the Prisma schema entities but without @prisma/client dependency.
|
|
5
|
-
* This allows the SDK to work in React Native where Prisma is not available.
|
|
6
|
-
*
|
|
7
|
-
* IMPORTANT: Enum types are imported from @spotsdev/types (generated from OpenAPI spec).
|
|
8
|
-
* types.ts handles re-exporting from spots-types - this file only defines entity interfaces
|
|
9
|
-
* and SDK-specific types not in the OpenAPI spec.
|
|
10
|
-
*/
|
|
11
|
-
import type { SpotType, AccountStatus, PostType, ResponseStatus, ReportReason, ProductResponseDto, ClaimStatus, OrderStatus, NotificationType } from '@spotsdev/types';
|
|
12
|
-
export type SpotPostType = PostType;
|
|
13
|
-
export type ReportStatus = 'PENDING' | 'REVIEWED' | 'RESOLVED' | 'DISMISSED';
|
|
14
|
-
export interface UserVibe {
|
|
15
|
-
id: string;
|
|
16
|
-
name: string;
|
|
17
|
-
emoji: string | null;
|
|
18
|
-
slug?: string;
|
|
19
|
-
category?: string;
|
|
20
|
-
}
|
|
21
|
-
export interface User {
|
|
22
|
-
id: string;
|
|
23
|
-
phone: string | null;
|
|
24
|
-
email: string | null;
|
|
25
|
-
name: string | null;
|
|
26
|
-
bio: string | null;
|
|
27
|
-
avatarUrl: string | null;
|
|
28
|
-
status: AccountStatus;
|
|
29
|
-
onboardingCompleted: boolean;
|
|
30
|
-
vibes?: UserVibe[];
|
|
31
|
-
lastActiveAt: Date | null;
|
|
32
|
-
createdAt: Date;
|
|
33
|
-
updatedAt: Date;
|
|
34
|
-
}
|
|
35
|
-
export interface Spot {
|
|
36
|
-
id: string;
|
|
37
|
-
name: string;
|
|
38
|
-
slug: string;
|
|
39
|
-
description: string | null;
|
|
40
|
-
address: string | null;
|
|
41
|
-
city: string | null;
|
|
42
|
-
country: string | null;
|
|
43
|
-
latitude: number | null;
|
|
44
|
-
longitude: number | null;
|
|
45
|
-
lat?: number | null;
|
|
46
|
-
lng?: number | null;
|
|
47
|
-
type: SpotType;
|
|
48
|
-
googlePlaceId: string | null;
|
|
49
|
-
website: string | null;
|
|
50
|
-
phone: string | null;
|
|
51
|
-
imageUrl: string | null;
|
|
52
|
-
ownerId: string | null;
|
|
53
|
-
isVerified: boolean;
|
|
54
|
-
marketplaceEnabled: boolean;
|
|
55
|
-
createdAt: Date | string;
|
|
56
|
-
updatedAt: Date | string;
|
|
57
|
-
}
|
|
58
|
-
export interface SpotPost {
|
|
59
|
-
id: string;
|
|
60
|
-
spotId: string;
|
|
61
|
-
userId: string;
|
|
62
|
-
postType: SpotPostType;
|
|
63
|
-
title: string;
|
|
64
|
-
content: string | null;
|
|
65
|
-
emoji: string | null;
|
|
66
|
-
expiresAt: Date | null;
|
|
67
|
-
status: 'ACTIVE' | 'FULFILLED' | 'EXPIRED' | 'DELETED';
|
|
68
|
-
upvoteCount: number;
|
|
69
|
-
responseCount: number;
|
|
70
|
-
replyCount: number;
|
|
71
|
-
createdAt: Date;
|
|
72
|
-
updatedAt: Date;
|
|
73
|
-
user?: User;
|
|
74
|
-
spot?: Spot;
|
|
75
|
-
}
|
|
76
|
-
export interface PostReply {
|
|
77
|
-
id: string;
|
|
78
|
-
postId: string;
|
|
79
|
-
userId: string;
|
|
80
|
-
content: string;
|
|
81
|
-
createdAt: Date;
|
|
82
|
-
updatedAt: Date;
|
|
83
|
-
user?: User;
|
|
84
|
-
}
|
|
85
|
-
export interface PostResponse {
|
|
86
|
-
id: string;
|
|
87
|
-
postId: string;
|
|
88
|
-
userId: string;
|
|
89
|
-
note: string | null;
|
|
90
|
-
status: ResponseStatus;
|
|
91
|
-
createdAt: Date;
|
|
92
|
-
updatedAt: Date;
|
|
93
|
-
user?: User;
|
|
94
|
-
post?: SpotPost;
|
|
95
|
-
}
|
|
96
|
-
export interface PostUpvote {
|
|
97
|
-
id: string;
|
|
98
|
-
postId: string;
|
|
99
|
-
userId: string;
|
|
100
|
-
createdAt: Date;
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* PostUpvoter - user who upvoted a post (from /posts/:id/upvotes endpoint)
|
|
104
|
-
*/
|
|
105
|
-
export interface PostUpvoter {
|
|
106
|
-
id: string;
|
|
107
|
-
userId: string;
|
|
108
|
-
name: string | null;
|
|
109
|
-
avatarUrl: string | null;
|
|
110
|
-
createdAt: Date;
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* PostUpvotesResponse - response from /posts/:id/upvotes endpoint
|
|
114
|
-
*/
|
|
115
|
-
export interface PostUpvotesResponse {
|
|
116
|
-
data: PostUpvoter[];
|
|
117
|
-
meta: {
|
|
118
|
-
total: number;
|
|
119
|
-
limit: number;
|
|
120
|
-
offset: number;
|
|
121
|
-
hasMore: boolean;
|
|
122
|
-
currentUserUpvoted: boolean;
|
|
123
|
-
isPostAuthor: boolean;
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
export interface PostReport {
|
|
127
|
-
id: string;
|
|
128
|
-
postId: string;
|
|
129
|
-
userId: string;
|
|
130
|
-
reason: ReportReason;
|
|
131
|
-
details: string | null;
|
|
132
|
-
status: ReportStatus;
|
|
133
|
-
createdAt: Date;
|
|
134
|
-
updatedAt: Date;
|
|
135
|
-
}
|
|
136
|
-
export interface Club {
|
|
137
|
-
id: string;
|
|
138
|
-
name: string;
|
|
139
|
-
slug: string;
|
|
140
|
-
description: string | null;
|
|
141
|
-
imageUrl: string | null;
|
|
142
|
-
isPrivate: boolean;
|
|
143
|
-
createdById: string;
|
|
144
|
-
createdAt: Date;
|
|
145
|
-
updatedAt: Date;
|
|
146
|
-
}
|
|
147
|
-
export interface ClubMember {
|
|
148
|
-
id: string;
|
|
149
|
-
clubId: string;
|
|
150
|
-
userId: string;
|
|
151
|
-
role: 'MEMBER' | 'ADMIN' | 'OWNER';
|
|
152
|
-
joinedAt: Date;
|
|
153
|
-
}
|
|
154
|
-
export interface Conversation {
|
|
155
|
-
id: string;
|
|
156
|
-
createdAt: Date;
|
|
157
|
-
updatedAt: Date;
|
|
158
|
-
participants?: User[];
|
|
159
|
-
messages?: Message[];
|
|
160
|
-
}
|
|
161
|
-
export interface Message {
|
|
162
|
-
id: string;
|
|
163
|
-
conversationId: string;
|
|
164
|
-
senderId: string;
|
|
165
|
-
content: string;
|
|
166
|
-
createdAt: Date;
|
|
167
|
-
sender?: User;
|
|
168
|
-
}
|
|
169
|
-
export interface Notification {
|
|
170
|
-
id: string;
|
|
171
|
-
userId: string;
|
|
172
|
-
type: NotificationType;
|
|
173
|
-
title: string;
|
|
174
|
-
body: string | null;
|
|
175
|
-
data: Record<string, unknown> | null;
|
|
176
|
-
isRead: boolean;
|
|
177
|
-
createdAt: Date;
|
|
178
|
-
}
|
|
179
|
-
export interface PostTemplate {
|
|
180
|
-
id: string;
|
|
181
|
-
postType: SpotPostType;
|
|
182
|
-
emoji: string;
|
|
183
|
-
title: string;
|
|
184
|
-
placeholder: string | null;
|
|
185
|
-
isActive: boolean;
|
|
186
|
-
sortOrder: number;
|
|
187
|
-
createdAt: Date;
|
|
188
|
-
updatedAt: Date;
|
|
189
|
-
}
|
|
190
|
-
export interface Vibe {
|
|
191
|
-
id: string;
|
|
192
|
-
name: string;
|
|
193
|
-
emoji: string | null;
|
|
194
|
-
createdAt: Date;
|
|
195
|
-
}
|
|
196
|
-
export interface Interest {
|
|
197
|
-
id: string;
|
|
198
|
-
name: string;
|
|
199
|
-
emoji: string | null;
|
|
200
|
-
category: string | null;
|
|
201
|
-
createdAt: Date;
|
|
202
|
-
}
|
|
203
|
-
export interface Intention {
|
|
204
|
-
id: string;
|
|
205
|
-
name: string;
|
|
206
|
-
emoji: string | null;
|
|
207
|
-
createdAt: Date;
|
|
208
|
-
}
|
|
209
|
-
export interface LifeSituation {
|
|
210
|
-
id: string;
|
|
211
|
-
name: string;
|
|
212
|
-
emoji: string | null;
|
|
213
|
-
createdAt: Date;
|
|
214
|
-
}
|
|
215
|
-
export interface FavoriteSpot {
|
|
216
|
-
id: string;
|
|
217
|
-
userId: string;
|
|
218
|
-
spotId: string;
|
|
219
|
-
createdAt: Date;
|
|
220
|
-
spot?: Spot;
|
|
221
|
-
}
|
|
222
|
-
export interface SpotImage {
|
|
223
|
-
id: string;
|
|
224
|
-
spotId: string;
|
|
225
|
-
url: string;
|
|
226
|
-
caption: string | null;
|
|
227
|
-
sortOrder: number;
|
|
228
|
-
createdAt: Date;
|
|
229
|
-
}
|
|
230
|
-
export interface SpotVibe {
|
|
231
|
-
id: string;
|
|
232
|
-
spotId: string;
|
|
233
|
-
vibeId: string;
|
|
234
|
-
vibe?: Vibe;
|
|
235
|
-
}
|
|
236
|
-
export interface SpotIntention {
|
|
237
|
-
id: string;
|
|
238
|
-
spotId: string;
|
|
239
|
-
intentionId: string;
|
|
240
|
-
intention?: Intention;
|
|
241
|
-
}
|
|
242
|
-
export interface SpotClaim {
|
|
243
|
-
id: string;
|
|
244
|
-
spotId: string;
|
|
245
|
-
userId: string;
|
|
246
|
-
status: ClaimStatus;
|
|
247
|
-
verificationMethod: string | null;
|
|
248
|
-
createdAt: Date;
|
|
249
|
-
updatedAt: Date;
|
|
250
|
-
}
|
|
251
|
-
export interface SpotSubscription {
|
|
252
|
-
id: string;
|
|
253
|
-
spotId: string;
|
|
254
|
-
userId: string;
|
|
255
|
-
createdAt: Date;
|
|
256
|
-
spot?: Spot;
|
|
257
|
-
}
|
|
258
|
-
export interface City {
|
|
259
|
-
id: string;
|
|
260
|
-
name: string;
|
|
261
|
-
country: string;
|
|
262
|
-
latitude: number;
|
|
263
|
-
longitude: number;
|
|
264
|
-
timezone: string | null;
|
|
265
|
-
createdAt: Date;
|
|
266
|
-
}
|
|
267
|
-
/**
|
|
268
|
-
* Paginated response with meta information
|
|
269
|
-
*/
|
|
270
|
-
export interface PaginatedResponse<T> {
|
|
271
|
-
data: T[];
|
|
272
|
-
meta: PaginationMeta;
|
|
273
|
-
}
|
|
274
|
-
export interface PaginationMeta {
|
|
275
|
-
total: number;
|
|
276
|
-
page: number;
|
|
277
|
-
limit: number;
|
|
278
|
-
totalPages: number;
|
|
279
|
-
hasNextPage: boolean;
|
|
280
|
-
hasPreviousPage: boolean;
|
|
281
|
-
}
|
|
282
|
-
export type Product = ProductResponseDto;
|
|
283
|
-
export interface Order {
|
|
284
|
-
id: string;
|
|
285
|
-
spotId: string;
|
|
286
|
-
userId: string;
|
|
287
|
-
status: OrderStatus;
|
|
288
|
-
subtotal: number;
|
|
289
|
-
tax: number;
|
|
290
|
-
total: number;
|
|
291
|
-
currency: string;
|
|
292
|
-
notes: string | null;
|
|
293
|
-
metadata: Record<string, unknown> | null;
|
|
294
|
-
createdAt: Date;
|
|
295
|
-
updatedAt: Date;
|
|
296
|
-
}
|
|
297
|
-
export interface OrderItem {
|
|
298
|
-
id: string;
|
|
299
|
-
orderId: string;
|
|
300
|
-
productId: string;
|
|
301
|
-
quantity: number;
|
|
302
|
-
unitPrice: number;
|
|
303
|
-
total: number;
|
|
304
|
-
createdAt: Date;
|
|
305
|
-
}
|
package/dist/api/entities.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Spots SDK Entity Types
|
|
4
|
-
*
|
|
5
|
-
* These types mirror the Prisma schema entities but without @prisma/client dependency.
|
|
6
|
-
* This allows the SDK to work in React Native where Prisma is not available.
|
|
7
|
-
*
|
|
8
|
-
* IMPORTANT: Enum types are imported from @spotsdev/types (generated from OpenAPI spec).
|
|
9
|
-
* types.ts handles re-exporting from spots-types - this file only defines entity interfaces
|
|
10
|
-
* and SDK-specific types not in the OpenAPI spec.
|
|
11
|
-
*/
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBpL2VudGl0aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7O0dBU0ciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFNwb3RzIFNESyBFbnRpdHkgVHlwZXNcbiAqXG4gKiBUaGVzZSB0eXBlcyBtaXJyb3IgdGhlIFByaXNtYSBzY2hlbWEgZW50aXRpZXMgYnV0IHdpdGhvdXQgQHByaXNtYS9jbGllbnQgZGVwZW5kZW5jeS5cbiAqIFRoaXMgYWxsb3dzIHRoZSBTREsgdG8gd29yayBpbiBSZWFjdCBOYXRpdmUgd2hlcmUgUHJpc21hIGlzIG5vdCBhdmFpbGFibGUuXG4gKlxuICogSU1QT1JUQU5UOiBFbnVtIHR5cGVzIGFyZSBpbXBvcnRlZCBmcm9tIEBzcG90c2Rldi90eXBlcyAoZ2VuZXJhdGVkIGZyb20gT3BlbkFQSSBzcGVjKS5cbiAqIHR5cGVzLnRzIGhhbmRsZXMgcmUtZXhwb3J0aW5nIGZyb20gc3BvdHMtdHlwZXMgLSB0aGlzIGZpbGUgb25seSBkZWZpbmVzIGVudGl0eSBpbnRlcmZhY2VzXG4gKiBhbmQgU0RLLXNwZWNpZmljIHR5cGVzIG5vdCBpbiB0aGUgT3BlbkFQSSBzcGVjLlxuICovXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIElNUE9SVFMgRlJPTSBAc3BvdHNkZXYvdHlwZXMgKHVzZWQgaW4gaW50ZXJmYWNlcyBiZWxvdylcbi8vIFRoZXNlIGFyZSBOT1QgcmUtZXhwb3J0ZWQgLSB0eXBlcy50cyBoYW5kbGVzIHRoZSByZS1leHBvcnQgZnJvbSBzcG90cy10eXBlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuaW1wb3J0IHR5cGUge1xuICBTcG90VHlwZSxcbiAgQWNjb3VudFN0YXR1cyxcbiAgUG9zdFR5cGUsXG4gIFBvc3RTdGF0dXMsXG4gIFJlc3BvbnNlU3RhdHVzLFxuICBSZXBvcnRSZWFzb24sXG4gIFByb2R1Y3RUeXBlLFxuICBQcm9kdWN0U3RhdHVzLFxuICBQcm9kdWN0UmVzcG9uc2VEdG8sXG4gIENsYWltU3RhdHVzLFxuICBPcmRlclN0YXR1cyxcbiAgTm90aWZpY2F0aW9uVHlwZSxcbn0gZnJvbSAnQHNwb3RzZGV2L3R5cGVzJ1xuXG4vLyBUeXBlIGFsaWFzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSAtIFNESyB1c2VzIFNwb3RQb3N0VHlwZSwgQVBJIHVzZXMgUG9zdFR5cGVcbmV4cG9ydCB0eXBlIFNwb3RQb3N0VHlwZSA9IFBvc3RUeXBlXG5cbi8vIEVudW1zIG5vdCB5ZXQgaW4gT3BlbkFQSSBzcGVjIERUT3MgLSB0aGVzZSBzdGF5IGxvY2FsIHVudGlsIEFQSSBleHBvc2VzIHRoZW1cbmV4cG9ydCB0eXBlIFJlcG9ydFN0YXR1cyA9ICdQRU5ESU5HJyB8ICdSRVZJRVdFRCcgfCAnUkVTT0xWRUQnIHwgJ0RJU01JU1NFRCdcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRU5USVRZIElOVEVSRkFDRVNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IGludGVyZmFjZSBVc2VyVmliZSB7XG4gIGlkOiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIGVtb2ppOiBzdHJpbmcgfCBudWxsXG4gIHNsdWc/OiBzdHJpbmdcbiAgY2F0ZWdvcnk/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVc2VyIHtcbiAgaWQ6IHN0cmluZ1xuICBwaG9uZTogc3RyaW5nIHwgbnVsbFxuICBlbWFpbDogc3RyaW5nIHwgbnVsbFxuICBuYW1lOiBzdHJpbmcgfCBudWxsXG4gIGJpbzogc3RyaW5nIHwgbnVsbFxuICBhdmF0YXJVcmw6IHN0cmluZyB8IG51bGxcbiAgc3RhdHVzOiBBY2NvdW50U3RhdHVzXG4gIG9uYm9hcmRpbmdDb21wbGV0ZWQ6IGJvb2xlYW5cbiAgdmliZXM/OiBVc2VyVmliZVtdXG4gIGxhc3RBY3RpdmVBdDogRGF0ZSB8IG51bGxcbiAgY3JlYXRlZEF0OiBEYXRlXG4gIHVwZGF0ZWRBdDogRGF0ZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNwb3Qge1xuICBpZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBzbHVnOiBzdHJpbmdcbiAgZGVzY3JpcHRpb246IHN0cmluZyB8IG51bGxcbiAgYWRkcmVzczogc3RyaW5nIHwgbnVsbFxuICBjaXR5OiBzdHJpbmcgfCBudWxsXG4gIGNvdW50cnk6IHN0cmluZyB8IG51bGxcbiAgbGF0aXR1ZGU6IG51bWJlciB8IG51bGxcbiAgbG9uZ2l0dWRlOiBudW1iZXIgfCBudWxsXG4gIC8vIEFsaWFzZXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG4gIGxhdD86IG51bWJlciB8IG51bGxcbiAgbG5nPzogbnVtYmVyIHwgbnVsbFxuICB0eXBlOiBTcG90VHlwZVxuICBnb29nbGVQbGFjZUlkOiBzdHJpbmcgfCBudWxsXG4gIHdlYnNpdGU6IHN0cmluZyB8IG51bGxcbiAgcGhvbmU6IHN0cmluZyB8IG51bGxcbiAgaW1hZ2VVcmw6IHN0cmluZyB8IG51bGxcbiAgb3duZXJJZDogc3RyaW5nIHwgbnVsbFxuICBpc1ZlcmlmaWVkOiBib29sZWFuXG4gIG1hcmtldHBsYWNlRW5hYmxlZDogYm9vbGVhblxuICAvLyBEYXRlcyBhcyBzdHJpbmdzIGZvciBKU09OIHNlcmlhbGl6YXRpb24gY29tcGF0aWJpbGl0eVxuICBjcmVhdGVkQXQ6IERhdGUgfCBzdHJpbmdcbiAgdXBkYXRlZEF0OiBEYXRlIHwgc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3BvdFBvc3Qge1xuICBpZDogc3RyaW5nXG4gIHNwb3RJZDogc3RyaW5nXG4gIHVzZXJJZDogc3RyaW5nXG4gIHBvc3RUeXBlOiBTcG90UG9zdFR5cGVcbiAgdGl0bGU6IHN0cmluZ1xuICBjb250ZW50OiBzdHJpbmcgfCBudWxsXG4gIGVtb2ppOiBzdHJpbmcgfCBudWxsXG4gIGV4cGlyZXNBdDogRGF0ZSB8IG51bGxcbiAgc3RhdHVzOiAnQUNUSVZFJyB8ICdGVUxGSUxMRUQnIHwgJ0VYUElSRUQnIHwgJ0RFTEVURUQnXG4gIHVwdm90ZUNvdW50OiBudW1iZXJcbiAgcmVzcG9uc2VDb3VudDogbnVtYmVyXG4gIHJlcGx5Q291bnQ6IG51bWJlclxuICBjcmVhdGVkQXQ6IERhdGVcbiAgdXBkYXRlZEF0OiBEYXRlXG4gIC8vIFJlbGF0aW9ucyAob3B0aW9uYWwsIHBvcHVsYXRlZCBieSBBUEkpXG4gIHVzZXI/OiBVc2VyXG4gIHNwb3Q/OiBTcG90XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9zdFJlcGx5IHtcbiAgaWQ6IHN0cmluZ1xuICBwb3N0SWQ6IHN0cmluZ1xuICB1c2VySWQ6IHN0cmluZ1xuICBjb250ZW50OiBzdHJpbmdcbiAgY3JlYXRlZEF0OiBEYXRlXG4gIHVwZGF0ZWRBdDogRGF0ZVxuICB1c2VyPzogVXNlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvc3RSZXNwb25zZSB7XG4gIGlkOiBzdHJpbmdcbiAgcG9zdElkOiBzdHJpbmdcbiAgdXNlcklkOiBzdHJpbmdcbiAgbm90ZTogc3RyaW5nIHwgbnVsbFxuICBzdGF0dXM6IFJlc3BvbnNlU3RhdHVzXG4gIGNyZWF0ZWRBdDogRGF0ZVxuICB1cGRhdGVkQXQ6IERhdGVcbiAgdXNlcj86IFVzZXJcbiAgcG9zdD86IFNwb3RQb3N0XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9zdFVwdm90ZSB7XG4gIGlkOiBzdHJpbmdcbiAgcG9zdElkOiBzdHJpbmdcbiAgdXNlcklkOiBzdHJpbmdcbiAgY3JlYXRlZEF0OiBEYXRlXG59XG5cbi8qKlxuICogUG9zdFVwdm90ZXIgLSB1c2VyIHdobyB1cHZvdGVkIGEgcG9zdCAoZnJvbSAvcG9zdHMvOmlkL3Vwdm90ZXMgZW5kcG9pbnQpXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUG9zdFVwdm90ZXIge1xuICBpZDogc3RyaW5nXG4gIHVzZXJJZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZyB8IG51bGxcbiAgYXZhdGFyVXJsOiBzdHJpbmcgfCBudWxsXG4gIGNyZWF0ZWRBdDogRGF0ZVxufVxuXG4vKipcbiAqIFBvc3RVcHZvdGVzUmVzcG9uc2UgLSByZXNwb25zZSBmcm9tIC9wb3N0cy86aWQvdXB2b3RlcyBlbmRwb2ludFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBvc3RVcHZvdGVzUmVzcG9uc2Uge1xuICBkYXRhOiBQb3N0VXB2b3RlcltdXG4gIG1ldGE6IHtcbiAgICB0b3RhbDogbnVtYmVyXG4gICAgbGltaXQ6IG51bWJlclxuICAgIG9mZnNldDogbnVtYmVyXG4gICAgaGFzTW9yZTogYm9vbGVhblxuICAgIGN1cnJlbnRVc2VyVXB2b3RlZDogYm9vbGVhblxuICAgIGlzUG9zdEF1dGhvcjogYm9vbGVhblxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9zdFJlcG9ydCB7XG4gIGlkOiBzdHJpbmdcbiAgcG9zdElkOiBzdHJpbmdcbiAgdXNlcklkOiBzdHJpbmdcbiAgcmVhc29uOiBSZXBvcnRSZWFzb25cbiAgZGV0YWlsczogc3RyaW5nIHwgbnVsbFxuICBzdGF0dXM6IFJlcG9ydFN0YXR1c1xuICBjcmVhdGVkQXQ6IERhdGVcbiAgdXBkYXRlZEF0OiBEYXRlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2x1YiB7XG4gIGlkOiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIHNsdWc6IHN0cmluZ1xuICBkZXNjcmlwdGlvbjogc3RyaW5nIHwgbnVsbFxuICBpbWFnZVVybDogc3RyaW5nIHwgbnVsbFxuICBpc1ByaXZhdGU6IGJvb2xlYW5cbiAgY3JlYXRlZEJ5SWQ6IHN0cmluZ1xuICBjcmVhdGVkQXQ6IERhdGVcbiAgdXBkYXRlZEF0OiBEYXRlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2x1Yk1lbWJlciB7XG4gIGlkOiBzdHJpbmdcbiAgY2x1YklkOiBzdHJpbmdcbiAgdXNlcklkOiBzdHJpbmdcbiAgcm9sZTogJ01FTUJFUicgfCAnQURNSU4nIHwgJ09XTkVSJ1xuICBqb2luZWRBdDogRGF0ZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnZlcnNhdGlvbiB7XG4gIGlkOiBzdHJpbmdcbiAgY3JlYXRlZEF0OiBEYXRlXG4gIHVwZGF0ZWRBdDogRGF0ZVxuICBwYXJ0aWNpcGFudHM/OiBVc2VyW11cbiAgbWVzc2FnZXM/OiBNZXNzYWdlW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlIHtcbiAgaWQ6IHN0cmluZ1xuICBjb252ZXJzYXRpb25JZDogc3RyaW5nXG4gIHNlbmRlcklkOiBzdHJpbmdcbiAgY29udGVudDogc3RyaW5nXG4gIGNyZWF0ZWRBdDogRGF0ZVxuICBzZW5kZXI/OiBVc2VyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm90aWZpY2F0aW9uIHtcbiAgaWQ6IHN0cmluZ1xuICB1c2VySWQ6IHN0cmluZ1xuICB0eXBlOiBOb3RpZmljYXRpb25UeXBlXG4gIHRpdGxlOiBzdHJpbmdcbiAgYm9keTogc3RyaW5nIHwgbnVsbFxuICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IG51bGxcbiAgaXNSZWFkOiBib29sZWFuXG4gIGNyZWF0ZWRBdDogRGF0ZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvc3RUZW1wbGF0ZSB7XG4gIGlkOiBzdHJpbmdcbiAgcG9zdFR5cGU6IFNwb3RQb3N0VHlwZVxuICBlbW9qaTogc3RyaW5nXG4gIHRpdGxlOiBzdHJpbmdcbiAgcGxhY2Vob2xkZXI6IHN0cmluZyB8IG51bGxcbiAgaXNBY3RpdmU6IGJvb2xlYW5cbiAgc29ydE9yZGVyOiBudW1iZXJcbiAgY3JlYXRlZEF0OiBEYXRlXG4gIHVwZGF0ZWRBdDogRGF0ZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZpYmUge1xuICBpZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBlbW9qaTogc3RyaW5nIHwgbnVsbFxuICBjcmVhdGVkQXQ6IERhdGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcmVzdCB7XG4gIGlkOiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIGVtb2ppOiBzdHJpbmcgfCBudWxsXG4gIGNhdGVnb3J5OiBzdHJpbmcgfCBudWxsXG4gIGNyZWF0ZWRBdDogRGF0ZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludGVudGlvbiB7XG4gIGlkOiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIGVtb2ppOiBzdHJpbmcgfCBudWxsXG4gIGNyZWF0ZWRBdDogRGF0ZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpZmVTaXR1YXRpb24ge1xuICBpZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBlbW9qaTogc3RyaW5nIHwgbnVsbFxuICBjcmVhdGVkQXQ6IERhdGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGYXZvcml0ZVNwb3Qge1xuICBpZDogc3RyaW5nXG4gIHVzZXJJZDogc3RyaW5nXG4gIHNwb3RJZDogc3RyaW5nXG4gIGNyZWF0ZWRBdDogRGF0ZVxuICBzcG90PzogU3BvdFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNwb3RJbWFnZSB7XG4gIGlkOiBzdHJpbmdcbiAgc3BvdElkOiBzdHJpbmdcbiAgdXJsOiBzdHJpbmdcbiAgY2FwdGlvbjogc3RyaW5nIHwgbnVsbFxuICBzb3J0T3JkZXI6IG51bWJlclxuICBjcmVhdGVkQXQ6IERhdGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTcG90VmliZSB7XG4gIGlkOiBzdHJpbmdcbiAgc3BvdElkOiBzdHJpbmdcbiAgdmliZUlkOiBzdHJpbmdcbiAgdmliZT86IFZpYmVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTcG90SW50ZW50aW9uIHtcbiAgaWQ6IHN0cmluZ1xuICBzcG90SWQ6IHN0cmluZ1xuICBpbnRlbnRpb25JZDogc3RyaW5nXG4gIGludGVudGlvbj86IEludGVudGlvblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNwb3RDbGFpbSB7XG4gIGlkOiBzdHJpbmdcbiAgc3BvdElkOiBzdHJpbmdcbiAgdXNlcklkOiBzdHJpbmdcbiAgc3RhdHVzOiBDbGFpbVN0YXR1c1xuICB2ZXJpZmljYXRpb25NZXRob2Q6IHN0cmluZyB8IG51bGxcbiAgY3JlYXRlZEF0OiBEYXRlXG4gIHVwZGF0ZWRBdDogRGF0ZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNwb3RTdWJzY3JpcHRpb24ge1xuICBpZDogc3RyaW5nXG4gIHNwb3RJZDogc3RyaW5nXG4gIHVzZXJJZDogc3RyaW5nXG4gIGNyZWF0ZWRBdDogRGF0ZVxuICBzcG90PzogU3BvdFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENpdHkge1xuICBpZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBjb3VudHJ5OiBzdHJpbmdcbiAgbGF0aXR1ZGU6IG51bWJlclxuICBsb25naXR1ZGU6IG51bWJlclxuICB0aW1lem9uZTogc3RyaW5nIHwgbnVsbFxuICBjcmVhdGVkQXQ6IERhdGVcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVBJIFJFU1BPTlNFIFRZUEVTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIE5PVEU6IEFwaVJlc3BvbnNlIGlzIHJlLWV4cG9ydGVkIGZyb20gQHNwb3RzL3R5cGVzIGluIHR5cGVzLnRzXG5cbi8qKlxuICogUGFnaW5hdGVkIHJlc3BvbnNlIHdpdGggbWV0YSBpbmZvcm1hdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luYXRlZFJlc3BvbnNlPFQ+IHtcbiAgZGF0YTogVFtdXG4gIG1ldGE6IFBhZ2luYXRpb25NZXRhXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFnaW5hdGlvbk1ldGEge1xuICB0b3RhbDogbnVtYmVyXG4gIHBhZ2U6IG51bWJlclxuICBsaW1pdDogbnVtYmVyXG4gIHRvdGFsUGFnZXM6IG51bWJlclxuICBoYXNOZXh0UGFnZTogYm9vbGVhblxuICBoYXNQcmV2aW91c1BhZ2U6IGJvb2xlYW5cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTUFSS0VUUExBQ0UgVFlQRVNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gVXNlIFByb2R1Y3RSZXNwb25zZUR0byBmcm9tIHNwb3RzLXR5cGVzIGRpcmVjdGx5XG5leHBvcnQgdHlwZSBQcm9kdWN0ID0gUHJvZHVjdFJlc3BvbnNlRHRvXG5cbmV4cG9ydCBpbnRlcmZhY2UgT3JkZXIge1xuICBpZDogc3RyaW5nXG4gIHNwb3RJZDogc3RyaW5nXG4gIHVzZXJJZDogc3RyaW5nXG4gIHN0YXR1czogT3JkZXJTdGF0dXNcbiAgc3VidG90YWw6IG51bWJlclxuICB0YXg6IG51bWJlclxuICB0b3RhbDogbnVtYmVyXG4gIGN1cnJlbmN5OiBzdHJpbmdcbiAgbm90ZXM6IHN0cmluZyB8IG51bGxcbiAgbWV0YWRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbFxuICBjcmVhdGVkQXQ6IERhdGVcbiAgdXBkYXRlZEF0OiBEYXRlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3JkZXJJdGVtIHtcbiAgaWQ6IHN0cmluZ1xuICBvcmRlcklkOiBzdHJpbmdcbiAgcHJvZHVjdElkOiBzdHJpbmdcbiAgcXVhbnRpdHk6IG51bWJlclxuICB1bml0UHJpY2U6IG51bWJlclxuICB0b3RhbDogbnVtYmVyXG4gIGNyZWF0ZWRBdDogRGF0ZVxufVxuIl19
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Clubs Mutation Hooks
|
|
3
|
-
*
|
|
4
|
-
* TanStack Query hooks for club mutation operations.
|
|
5
|
-
*/
|
|
6
|
-
import { type UseMutationOptions, type UseMutationResult } from '@tanstack/react-query';
|
|
7
|
-
import { type Club } from '../types';
|
|
8
|
-
/**
|
|
9
|
-
* Create a new club
|
|
10
|
-
*
|
|
11
|
-
* @endpoint POST /clubs
|
|
12
|
-
*/
|
|
13
|
-
export declare function useCreateClub(options?: Omit<UseMutationOptions<Club, Error, {
|
|
14
|
-
spotId: string;
|
|
15
|
-
name: string;
|
|
16
|
-
description?: string;
|
|
17
|
-
}>, 'mutationFn'>): UseMutationResult<Club, Error, {
|
|
18
|
-
spotId: string;
|
|
19
|
-
name: string;
|
|
20
|
-
description?: string;
|
|
21
|
-
}>;
|
|
22
|
-
/**
|
|
23
|
-
* Update a club
|
|
24
|
-
*
|
|
25
|
-
* @endpoint PUT /clubs/{id}
|
|
26
|
-
*/
|
|
27
|
-
export declare function useUpdateClub(options?: Omit<UseMutationOptions<Club, Error, {
|
|
28
|
-
clubId: string;
|
|
29
|
-
name?: string;
|
|
30
|
-
description?: string;
|
|
31
|
-
}>, 'mutationFn'>): UseMutationResult<Club, Error, {
|
|
32
|
-
clubId: string;
|
|
33
|
-
name?: string;
|
|
34
|
-
description?: string;
|
|
35
|
-
}>;
|
|
36
|
-
/**
|
|
37
|
-
* Join a club
|
|
38
|
-
*
|
|
39
|
-
* @endpoint POST /clubs/{id}/join
|
|
40
|
-
*/
|
|
41
|
-
export declare function useJoinClub(options?: Omit<UseMutationOptions<void, Error, string>, 'mutationFn'>): UseMutationResult<void, Error, string>;
|
|
42
|
-
/**
|
|
43
|
-
* Leave a club
|
|
44
|
-
*
|
|
45
|
-
* @endpoint POST /clubs/{id}/leave
|
|
46
|
-
*/
|
|
47
|
-
export declare function useLeaveClub(options?: Omit<UseMutationOptions<void, Error, string>, 'mutationFn'>): UseMutationResult<void, Error, string>;
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Clubs Mutation Hooks
|
|
4
|
-
*
|
|
5
|
-
* TanStack Query hooks for club mutation operations.
|
|
6
|
-
*/
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.useCreateClub = useCreateClub;
|
|
9
|
-
exports.useUpdateClub = useUpdateClub;
|
|
10
|
-
exports.useJoinClub = useJoinClub;
|
|
11
|
-
exports.useLeaveClub = useLeaveClub;
|
|
12
|
-
const react_query_1 = require("@tanstack/react-query");
|
|
13
|
-
const client_1 = require("../client");
|
|
14
|
-
const clubs_1 = require("../queries/clubs");
|
|
15
|
-
const users_1 = require("../queries/users");
|
|
16
|
-
// ============================================================================
|
|
17
|
-
// MUTATION HOOKS
|
|
18
|
-
// ============================================================================
|
|
19
|
-
/**
|
|
20
|
-
* Create a new club
|
|
21
|
-
*
|
|
22
|
-
* @endpoint POST /clubs
|
|
23
|
-
*/
|
|
24
|
-
function useCreateClub(options) {
|
|
25
|
-
const queryClient = (0, react_query_1.useQueryClient)();
|
|
26
|
-
return (0, react_query_1.useMutation)({
|
|
27
|
-
mutationFn: async (data) => {
|
|
28
|
-
const client = (0, client_1.getApiClient)();
|
|
29
|
-
const response = await client.post('/clubs', data);
|
|
30
|
-
return response.data.data;
|
|
31
|
-
},
|
|
32
|
-
onSuccess: (_, variables) => {
|
|
33
|
-
queryClient.invalidateQueries({
|
|
34
|
-
queryKey: clubs_1.clubKeys.bySpot(variables.spotId),
|
|
35
|
-
});
|
|
36
|
-
},
|
|
37
|
-
...options,
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Update a club
|
|
42
|
-
*
|
|
43
|
-
* @endpoint PUT /clubs/{id}
|
|
44
|
-
*/
|
|
45
|
-
function useUpdateClub(options) {
|
|
46
|
-
const queryClient = (0, react_query_1.useQueryClient)();
|
|
47
|
-
return (0, react_query_1.useMutation)({
|
|
48
|
-
mutationFn: async ({ clubId, ...data }) => {
|
|
49
|
-
const client = (0, client_1.getApiClient)();
|
|
50
|
-
const response = await client.put(`/clubs/${clubId}`, data);
|
|
51
|
-
return response.data.data;
|
|
52
|
-
},
|
|
53
|
-
onSuccess: (data, variables) => {
|
|
54
|
-
queryClient.setQueryData(clubs_1.clubKeys.detail(variables.clubId), data);
|
|
55
|
-
},
|
|
56
|
-
...options,
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Join a club
|
|
61
|
-
*
|
|
62
|
-
* @endpoint POST /clubs/{id}/join
|
|
63
|
-
*/
|
|
64
|
-
function useJoinClub(options) {
|
|
65
|
-
const queryClient = (0, react_query_1.useQueryClient)();
|
|
66
|
-
return (0, react_query_1.useMutation)({
|
|
67
|
-
mutationFn: async (clubId) => {
|
|
68
|
-
const client = (0, client_1.getApiClient)();
|
|
69
|
-
await client.post(`/clubs/${clubId}/join`);
|
|
70
|
-
},
|
|
71
|
-
onSuccess: (_, clubId) => {
|
|
72
|
-
queryClient.invalidateQueries({ queryKey: clubs_1.clubKeys.detail(clubId) });
|
|
73
|
-
queryClient.invalidateQueries({ queryKey: users_1.userKeys.clubs() });
|
|
74
|
-
},
|
|
75
|
-
...options,
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Leave a club
|
|
80
|
-
*
|
|
81
|
-
* @endpoint POST /clubs/{id}/leave
|
|
82
|
-
*/
|
|
83
|
-
function useLeaveClub(options) {
|
|
84
|
-
const queryClient = (0, react_query_1.useQueryClient)();
|
|
85
|
-
return (0, react_query_1.useMutation)({
|
|
86
|
-
mutationFn: async (clubId) => {
|
|
87
|
-
const client = (0, client_1.getApiClient)();
|
|
88
|
-
await client.post(`/clubs/${clubId}/leave`);
|
|
89
|
-
},
|
|
90
|
-
onSuccess: (_, clubId) => {
|
|
91
|
-
queryClient.invalidateQueries({ queryKey: clubs_1.clubKeys.detail(clubId) });
|
|
92
|
-
queryClient.invalidateQueries({ queryKey: users_1.userKeys.clubs() });
|
|
93
|
-
},
|
|
94
|
-
...options,
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1YnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL211dGF0aW9ucy9jbHVicy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7R0FJRzs7QUF1Qkgsc0NBNkJDO0FBT0Qsc0NBOEJDO0FBT0Qsa0NBZ0JDO0FBT0Qsb0NBZ0JDO0FBcklELHVEQUs4QjtBQUU5QixzQ0FBc0M7QUFDdEMsNENBQXlDO0FBQ3pDLDRDQUF5QztBQUd6QywrRUFBK0U7QUFDL0UsaUJBQWlCO0FBQ2pCLCtFQUErRTtBQUUvRTs7OztHQUlHO0FBQ0gsU0FBZ0IsYUFBYSxDQUMzQixPQU9DO0lBTUQsTUFBTSxXQUFXLEdBQUcsSUFBQSw0QkFBYyxHQUFFLENBQUE7SUFFcEMsT0FBTyxJQUFBLHlCQUFXLEVBQUM7UUFDakIsVUFBVSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQWlCLEVBQUU7WUFDeEMsTUFBTSxNQUFNLEdBQUcsSUFBQSxxQkFBWSxHQUFFLENBQUE7WUFDN0IsTUFBTSxRQUFRLEdBQUcsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUFvQixRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFDckUsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQTtRQUMzQixDQUFDO1FBQ0QsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFO1lBQzFCLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDNUIsUUFBUSxFQUFFLGdCQUFRLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7YUFDNUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQztRQUNELEdBQUcsT0FBTztLQUNYLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsYUFBYSxDQUMzQixPQU9DO0lBTUQsTUFBTSxXQUFXLEdBQUcsSUFBQSw0QkFBYyxHQUFFLENBQUE7SUFFcEMsT0FBTyxJQUFBLHlCQUFXLEVBQUM7UUFDakIsVUFBVSxFQUFFLEtBQUssRUFBRSxFQUFDLE1BQU0sRUFBRSxHQUFHLElBQUksRUFBQyxFQUFpQixFQUFFO1lBQ3JELE1BQU0sTUFBTSxHQUFHLElBQUEscUJBQVksR0FBRSxDQUFBO1lBQzdCLE1BQU0sUUFBUSxHQUFHLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FDL0IsVUFBVSxNQUFNLEVBQUUsRUFDbEIsSUFBSSxDQUNMLENBQUE7WUFDRCxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFBO1FBQzNCLENBQUM7UUFDRCxTQUFTLEVBQUUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUU7WUFDN0IsV0FBVyxDQUFDLFlBQVksQ0FBQyxnQkFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDbkUsQ0FBQztRQUNELEdBQUcsT0FBTztLQUNYLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsV0FBVyxDQUN6QixPQUFxRTtJQUVyRSxNQUFNLFdBQVcsR0FBRyxJQUFBLDRCQUFjLEdBQUUsQ0FBQTtJQUVwQyxPQUFPLElBQUEseUJBQVcsRUFBQztRQUNqQixVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQWMsRUFBaUIsRUFBRTtZQUNsRCxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEdBQUUsQ0FBQTtZQUM3QixNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxNQUFNLE9BQU8sQ0FBQyxDQUFBO1FBQzVDLENBQUM7UUFDRCxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDdkIsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEVBQUMsUUFBUSxFQUFFLGdCQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFDLENBQUMsQ0FBQTtZQUNsRSxXQUFXLENBQUMsaUJBQWlCLENBQUMsRUFBQyxRQUFRLEVBQUUsZ0JBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBQyxDQUFDLENBQUE7UUFDN0QsQ0FBQztRQUNELEdBQUcsT0FBTztLQUNYLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsWUFBWSxDQUMxQixPQUFxRTtJQUVyRSxNQUFNLFdBQVcsR0FBRyxJQUFBLDRCQUFjLEdBQUUsQ0FBQTtJQUVwQyxPQUFPLElBQUEseUJBQVcsRUFBQztRQUNqQixVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQWMsRUFBaUIsRUFBRTtZQUNsRCxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEdBQUUsQ0FBQTtZQUM3QixNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxNQUFNLFFBQVEsQ0FBQyxDQUFBO1FBQzdDLENBQUM7UUFDRCxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDdkIsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEVBQUMsUUFBUSxFQUFFLGdCQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFDLENBQUMsQ0FBQTtZQUNsRSxXQUFXLENBQUMsaUJBQWlCLENBQUMsRUFBQyxRQUFRLEVBQUUsZ0JBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBQyxDQUFDLENBQUE7UUFDN0QsQ0FBQztRQUNELEdBQUcsT0FBTztLQUNYLENBQUMsQ0FBQTtBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENsdWJzIE11dGF0aW9uIEhvb2tzXG4gKlxuICogVGFuU3RhY2sgUXVlcnkgaG9va3MgZm9yIGNsdWIgbXV0YXRpb24gb3BlcmF0aW9ucy5cbiAqL1xuXG5pbXBvcnQge1xuICB1c2VNdXRhdGlvbixcbiAgdHlwZSBVc2VNdXRhdGlvbk9wdGlvbnMsXG4gIHR5cGUgVXNlTXV0YXRpb25SZXN1bHQsXG4gIHVzZVF1ZXJ5Q2xpZW50LFxufSBmcm9tICdAdGFuc3RhY2svcmVhY3QtcXVlcnknXG5cbmltcG9ydCB7Z2V0QXBpQ2xpZW50fSBmcm9tICcuLi9jbGllbnQnXG5pbXBvcnQge2NsdWJLZXlzfSBmcm9tICcuLi9xdWVyaWVzL2NsdWJzJ1xuaW1wb3J0IHt1c2VyS2V5c30gZnJvbSAnLi4vcXVlcmllcy91c2VycydcbmltcG9ydCB7dHlwZSBBcGlSZXNwb25zZSwgdHlwZSBDbHVifSBmcm9tICcuLi90eXBlcydcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTVVUQVRJT04gSE9PS1Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBDcmVhdGUgYSBuZXcgY2x1YlxuICpcbiAqIEBlbmRwb2ludCBQT1NUIC9jbHVic1xuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlQ3JlYXRlQ2x1YihcbiAgb3B0aW9ucz86IE9taXQ8XG4gICAgVXNlTXV0YXRpb25PcHRpb25zPFxuICAgICAgQ2x1YixcbiAgICAgIEVycm9yLFxuICAgICAge3Nwb3RJZDogc3RyaW5nOyBuYW1lOiBzdHJpbmc7IGRlc2NyaXB0aW9uPzogc3RyaW5nfVxuICAgID4sXG4gICAgJ211dGF0aW9uRm4nXG4gID4sXG4pOiBVc2VNdXRhdGlvblJlc3VsdDxcbiAgQ2x1YixcbiAgRXJyb3IsXG4gIHtzcG90SWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nOyBkZXNjcmlwdGlvbj86IHN0cmluZ31cbj4ge1xuICBjb25zdCBxdWVyeUNsaWVudCA9IHVzZVF1ZXJ5Q2xpZW50KClcblxuICByZXR1cm4gdXNlTXV0YXRpb24oe1xuICAgIG11dGF0aW9uRm46IGFzeW5jIChkYXRhKTogUHJvbWlzZTxDbHViPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKVxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQucG9zdDxBcGlSZXNwb25zZTxDbHViPj4oJy9jbHVicycsIGRhdGEpXG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YS5kYXRhXG4gICAgfSxcbiAgICBvblN1Y2Nlc3M6IChfLCB2YXJpYWJsZXMpID0+IHtcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHtcbiAgICAgICAgcXVlcnlLZXk6IGNsdWJLZXlzLmJ5U3BvdCh2YXJpYWJsZXMuc3BvdElkKSxcbiAgICAgIH0pXG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KVxufVxuXG4vKipcbiAqIFVwZGF0ZSBhIGNsdWJcbiAqXG4gKiBAZW5kcG9pbnQgUFVUIC9jbHVicy97aWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VVcGRhdGVDbHViKFxuICBvcHRpb25zPzogT21pdDxcbiAgICBVc2VNdXRhdGlvbk9wdGlvbnM8XG4gICAgICBDbHViLFxuICAgICAgRXJyb3IsXG4gICAgICB7Y2x1YklkOiBzdHJpbmc7IG5hbWU/OiBzdHJpbmc7IGRlc2NyaXB0aW9uPzogc3RyaW5nfVxuICAgID4sXG4gICAgJ211dGF0aW9uRm4nXG4gID4sXG4pOiBVc2VNdXRhdGlvblJlc3VsdDxcbiAgQ2x1YixcbiAgRXJyb3IsXG4gIHtjbHViSWQ6IHN0cmluZzsgbmFtZT86IHN0cmluZzsgZGVzY3JpcHRpb24/OiBzdHJpbmd9XG4+IHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCgpXG5cbiAgcmV0dXJuIHVzZU11dGF0aW9uKHtcbiAgICBtdXRhdGlvbkZuOiBhc3luYyAoe2NsdWJJZCwgLi4uZGF0YX0pOiBQcm9taXNlPENsdWI+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5wdXQ8QXBpUmVzcG9uc2U8Q2x1Yj4+KFxuICAgICAgICBgL2NsdWJzLyR7Y2x1YklkfWAsXG4gICAgICAgIGRhdGEsXG4gICAgICApXG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YS5kYXRhXG4gICAgfSxcbiAgICBvblN1Y2Nlc3M6IChkYXRhLCB2YXJpYWJsZXMpID0+IHtcbiAgICAgIHF1ZXJ5Q2xpZW50LnNldFF1ZXJ5RGF0YShjbHViS2V5cy5kZXRhaWwodmFyaWFibGVzLmNsdWJJZCksIGRhdGEpXG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KVxufVxuXG4vKipcbiAqIEpvaW4gYSBjbHViXG4gKlxuICogQGVuZHBvaW50IFBPU1QgL2NsdWJzL3tpZH0vam9pblxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlSm9pbkNsdWIoXG4gIG9wdGlvbnM/OiBPbWl0PFVzZU11dGF0aW9uT3B0aW9uczx2b2lkLCBFcnJvciwgc3RyaW5nPiwgJ211dGF0aW9uRm4nPixcbik6IFVzZU11dGF0aW9uUmVzdWx0PHZvaWQsIEVycm9yLCBzdHJpbmc+IHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCgpXG5cbiAgcmV0dXJuIHVzZU11dGF0aW9uKHtcbiAgICBtdXRhdGlvbkZuOiBhc3luYyAoY2x1YklkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpXG4gICAgICBhd2FpdCBjbGllbnQucG9zdChgL2NsdWJzLyR7Y2x1YklkfS9qb2luYClcbiAgICB9LFxuICAgIG9uU3VjY2VzczogKF8sIGNsdWJJZCkgPT4ge1xuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoe3F1ZXJ5S2V5OiBjbHViS2V5cy5kZXRhaWwoY2x1YklkKX0pXG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7cXVlcnlLZXk6IHVzZXJLZXlzLmNsdWJzKCl9KVxuICAgIH0sXG4gICAgLi4ub3B0aW9ucyxcbiAgfSlcbn1cblxuLyoqXG4gKiBMZWF2ZSBhIGNsdWJcbiAqXG4gKiBAZW5kcG9pbnQgUE9TVCAvY2x1YnMve2lkfS9sZWF2ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlTGVhdmVDbHViKFxuICBvcHRpb25zPzogT21pdDxVc2VNdXRhdGlvbk9wdGlvbnM8dm9pZCwgRXJyb3IsIHN0cmluZz4sICdtdXRhdGlvbkZuJz4sXG4pOiBVc2VNdXRhdGlvblJlc3VsdDx2b2lkLCBFcnJvciwgc3RyaW5nPiB7XG4gIGNvbnN0IHF1ZXJ5Q2xpZW50ID0gdXNlUXVlcnlDbGllbnQoKVxuXG4gIHJldHVybiB1c2VNdXRhdGlvbih7XG4gICAgbXV0YXRpb25GbjogYXN5bmMgKGNsdWJJZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKVxuICAgICAgYXdhaXQgY2xpZW50LnBvc3QoYC9jbHVicy8ke2NsdWJJZH0vbGVhdmVgKVxuICAgIH0sXG4gICAgb25TdWNjZXNzOiAoXywgY2x1YklkKSA9PiB7XG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7cXVlcnlLZXk6IGNsdWJLZXlzLmRldGFpbChjbHViSWQpfSlcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHtxdWVyeUtleTogdXNlcktleXMuY2x1YnMoKX0pXG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KVxufVxuIl19
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Conversations Mutation Hooks
|
|
3
|
-
*
|
|
4
|
-
* TanStack Query hooks for conversation/messaging mutation operations.
|
|
5
|
-
*/
|
|
6
|
-
import { type UseMutationOptions, type UseMutationResult } from '@tanstack/react-query';
|
|
7
|
-
import { type Conversation, type CreateConversationRequest, type Message, type SendMessageRequest } from '../types';
|
|
8
|
-
/**
|
|
9
|
-
* Create a new conversation
|
|
10
|
-
*
|
|
11
|
-
* @endpoint POST /conversations
|
|
12
|
-
*/
|
|
13
|
-
export declare function useCreateConversation(options?: Omit<UseMutationOptions<Conversation, Error, CreateConversationRequest>, 'mutationFn'>): UseMutationResult<Conversation, Error, CreateConversationRequest>;
|
|
14
|
-
/**
|
|
15
|
-
* Create or get direct conversation with a user
|
|
16
|
-
*
|
|
17
|
-
* @endpoint POST /conversations/direct
|
|
18
|
-
*/
|
|
19
|
-
export declare function useCreateDirectConversation(options?: Omit<UseMutationOptions<Conversation, Error, {
|
|
20
|
-
userId: string;
|
|
21
|
-
}>, 'mutationFn'>): UseMutationResult<Conversation, Error, {
|
|
22
|
-
userId: string;
|
|
23
|
-
}>;
|
|
24
|
-
/**
|
|
25
|
-
* Send a message in a conversation
|
|
26
|
-
*
|
|
27
|
-
* @endpoint POST /conversations/{id}/messages
|
|
28
|
-
*/
|
|
29
|
-
export declare function useSendMessage(options?: Omit<UseMutationOptions<Message, Error, {
|
|
30
|
-
conversationId: string;
|
|
31
|
-
} & SendMessageRequest>, 'mutationFn'>): UseMutationResult<Message, Error, {
|
|
32
|
-
conversationId: string;
|
|
33
|
-
} & SendMessageRequest>;
|
|
34
|
-
/**
|
|
35
|
-
* Mark conversation as read
|
|
36
|
-
*
|
|
37
|
-
* @endpoint PUT /conversations/{id}/read
|
|
38
|
-
*/
|
|
39
|
-
export declare function useMarkConversationAsRead(options?: Omit<UseMutationOptions<void, Error, string>, 'mutationFn'>): UseMutationResult<void, Error, string>;
|
|
40
|
-
/**
|
|
41
|
-
* Send typing indicator
|
|
42
|
-
*
|
|
43
|
-
* @endpoint POST /conversations/{id}/typing
|
|
44
|
-
*/
|
|
45
|
-
export declare function useSendTypingIndicator(options?: Omit<UseMutationOptions<void, Error, string>, 'mutationFn'>): UseMutationResult<void, Error, string>;
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Conversations Mutation Hooks
|
|
4
|
-
*
|
|
5
|
-
* TanStack Query hooks for conversation/messaging mutation operations.
|
|
6
|
-
*/
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.useCreateConversation = useCreateConversation;
|
|
9
|
-
exports.useCreateDirectConversation = useCreateDirectConversation;
|
|
10
|
-
exports.useSendMessage = useSendMessage;
|
|
11
|
-
exports.useMarkConversationAsRead = useMarkConversationAsRead;
|
|
12
|
-
exports.useSendTypingIndicator = useSendTypingIndicator;
|
|
13
|
-
const react_query_1 = require("@tanstack/react-query");
|
|
14
|
-
const client_1 = require("../client");
|
|
15
|
-
const conversations_1 = require("../queries/conversations");
|
|
16
|
-
// ============================================================================
|
|
17
|
-
// MUTATION HOOKS
|
|
18
|
-
// ============================================================================
|
|
19
|
-
/**
|
|
20
|
-
* Create a new conversation
|
|
21
|
-
*
|
|
22
|
-
* @endpoint POST /conversations
|
|
23
|
-
*/
|
|
24
|
-
function useCreateConversation(options) {
|
|
25
|
-
const queryClient = (0, react_query_1.useQueryClient)();
|
|
26
|
-
return (0, react_query_1.useMutation)({
|
|
27
|
-
mutationFn: async (data) => {
|
|
28
|
-
const client = (0, client_1.getApiClient)();
|
|
29
|
-
const response = await client.post('/conversations', data);
|
|
30
|
-
return response.data.data;
|
|
31
|
-
},
|
|
32
|
-
onSuccess: () => {
|
|
33
|
-
queryClient.invalidateQueries({ queryKey: conversations_1.conversationKeys.lists() });
|
|
34
|
-
},
|
|
35
|
-
...options,
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Create or get direct conversation with a user
|
|
40
|
-
*
|
|
41
|
-
* @endpoint POST /conversations/direct
|
|
42
|
-
*/
|
|
43
|
-
function useCreateDirectConversation(options) {
|
|
44
|
-
const queryClient = (0, react_query_1.useQueryClient)();
|
|
45
|
-
return (0, react_query_1.useMutation)({
|
|
46
|
-
mutationFn: async (data) => {
|
|
47
|
-
const client = (0, client_1.getApiClient)();
|
|
48
|
-
const response = await client.post('/conversations/direct', data);
|
|
49
|
-
return response.data.data;
|
|
50
|
-
},
|
|
51
|
-
onSuccess: () => {
|
|
52
|
-
queryClient.invalidateQueries({ queryKey: conversations_1.conversationKeys.lists() });
|
|
53
|
-
},
|
|
54
|
-
...options,
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Send a message in a conversation
|
|
59
|
-
*
|
|
60
|
-
* @endpoint POST /conversations/{id}/messages
|
|
61
|
-
*/
|
|
62
|
-
function useSendMessage(options) {
|
|
63
|
-
const queryClient = (0, react_query_1.useQueryClient)();
|
|
64
|
-
return (0, react_query_1.useMutation)({
|
|
65
|
-
mutationFn: async ({ conversationId, ...data }) => {
|
|
66
|
-
const client = (0, client_1.getApiClient)();
|
|
67
|
-
const response = await client.post(`/conversations/${conversationId}/messages`, data);
|
|
68
|
-
return response.data.data;
|
|
69
|
-
},
|
|
70
|
-
onSuccess: (_, variables) => {
|
|
71
|
-
queryClient.invalidateQueries({
|
|
72
|
-
queryKey: conversations_1.conversationKeys.messages(variables.conversationId),
|
|
73
|
-
});
|
|
74
|
-
queryClient.invalidateQueries({ queryKey: conversations_1.conversationKeys.lists() });
|
|
75
|
-
},
|
|
76
|
-
...options,
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Mark conversation as read
|
|
81
|
-
*
|
|
82
|
-
* @endpoint PUT /conversations/{id}/read
|
|
83
|
-
*/
|
|
84
|
-
function useMarkConversationAsRead(options) {
|
|
85
|
-
const queryClient = (0, react_query_1.useQueryClient)();
|
|
86
|
-
return (0, react_query_1.useMutation)({
|
|
87
|
-
mutationFn: async (conversationId) => {
|
|
88
|
-
const client = (0, client_1.getApiClient)();
|
|
89
|
-
await client.put(`/conversations/${conversationId}/read`);
|
|
90
|
-
},
|
|
91
|
-
onSuccess: (_, conversationId) => {
|
|
92
|
-
queryClient.invalidateQueries({
|
|
93
|
-
queryKey: conversations_1.conversationKeys.detail(conversationId),
|
|
94
|
-
});
|
|
95
|
-
queryClient.invalidateQueries({ queryKey: conversations_1.conversationKeys.lists() });
|
|
96
|
-
},
|
|
97
|
-
...options,
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Send typing indicator
|
|
102
|
-
*
|
|
103
|
-
* @endpoint POST /conversations/{id}/typing
|
|
104
|
-
*/
|
|
105
|
-
function useSendTypingIndicator(options) {
|
|
106
|
-
return (0, react_query_1.useMutation)({
|
|
107
|
-
mutationFn: async (conversationId) => {
|
|
108
|
-
const client = (0, client_1.getApiClient)();
|
|
109
|
-
await client.post(`/conversations/${conversationId}/typing`);
|
|
110
|
-
},
|
|
111
|
-
...options,
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvbXV0YXRpb25zL2NvbnZlcnNhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7O0dBSUc7O0FBNEJILHNEQXdCQztBQU9ELGtFQXNCQztBQU9ELHdDQWlDQztBQU9ELDhEQWtCQztBQU9ELHdEQVVDO0FBaktELHVEQUs4QjtBQUU5QixzQ0FBc0M7QUFDdEMsNERBQXlEO0FBU3pELCtFQUErRTtBQUMvRSxpQkFBaUI7QUFDakIsK0VBQStFO0FBRS9FOzs7O0dBSUc7QUFDSCxTQUFnQixxQkFBcUIsQ0FDbkMsT0FHQztJQUVELE1BQU0sV0FBVyxHQUFHLElBQUEsNEJBQWMsR0FBRSxDQUFBO0lBRXBDLE9BQU8sSUFBQSx5QkFBVyxFQUFDO1FBQ2pCLFVBQVUsRUFBRSxLQUFLLEVBQ2YsSUFBK0IsRUFDUixFQUFFO1lBQ3pCLE1BQU0sTUFBTSxHQUFHLElBQUEscUJBQVksR0FBRSxDQUFBO1lBQzdCLE1BQU0sUUFBUSxHQUFHLE1BQU0sTUFBTSxDQUFDLElBQUksQ0FDaEMsZ0JBQWdCLEVBQ2hCLElBQUksQ0FDTCxDQUFBO1lBQ0QsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQTtRQUMzQixDQUFDO1FBQ0QsU0FBUyxFQUFFLEdBQUcsRUFBRTtZQUNkLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFDLFFBQVEsRUFBRSxnQ0FBZ0IsQ0FBQyxLQUFLLEVBQUUsRUFBQyxDQUFDLENBQUE7UUFDckUsQ0FBQztRQUNELEdBQUcsT0FBTztLQUNYLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsMkJBQTJCLENBQ3pDLE9BR0M7SUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFBLDRCQUFjLEdBQUUsQ0FBQTtJQUVwQyxPQUFPLElBQUEseUJBQVcsRUFBQztRQUNqQixVQUFVLEVBQUUsS0FBSyxFQUFF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bnZlcnNhdGlvbnMgTXV0YXRpb24gSG9va3NcbiAqXG4gKiBUYW5TdGFjayBRdWVyeSBob29rcyBmb3IgY29udmVyc2F0aW9uL21lc3NhZ2luZyBtdXRhdGlvbiBvcGVyYXRpb25zLlxuICovXG5cbmltcG9ydCB7XG4gIHVzZU11dGF0aW9uLFxuICB0eXBlIFVzZU11dGF0aW9uT3B0aW9ucyxcbiAgdHlwZSBVc2VNdXRhdGlvblJlc3VsdCxcbiAgdXNlUXVlcnlDbGllbnQsXG59IGZyb20gJ0B0YW5zdGFjay9yZWFjdC1xdWVyeSdcblxuaW1wb3J0IHtnZXRBcGlDbGllbnR9IGZyb20gJy4uL2NsaWVudCdcbmltcG9ydCB7Y29udmVyc2F0aW9uS2V5c30gZnJvbSAnLi4vcXVlcmllcy9jb252ZXJzYXRpb25zJ1xuaW1wb3J0IHtcbiAgdHlwZSBBcGlSZXNwb25zZSxcbiAgdHlwZSBDb252ZXJzYXRpb24sXG4gIHR5cGUgQ3JlYXRlQ29udmVyc2F0aW9uUmVxdWVzdCxcbiAgdHlwZSBNZXNzYWdlLFxuICB0eXBlIFNlbmRNZXNzYWdlUmVxdWVzdCxcbn0gZnJvbSAnLi4vdHlwZXMnXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1VVEFUSU9OIEhPT0tTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogQ3JlYXRlIGEgbmV3IGNvbnZlcnNhdGlvblxuICpcbiAqIEBlbmRwb2ludCBQT1NUIC9jb252ZXJzYXRpb25zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VDcmVhdGVDb252ZXJzYXRpb24oXG4gIG9wdGlvbnM/OiBPbWl0PFxuICAgIFVzZU11dGF0aW9uT3B0aW9uczxDb252ZXJzYXRpb24sIEVycm9yLCBDcmVhdGVDb252ZXJzYXRpb25SZXF1ZXN0PixcbiAgICAnbXV0YXRpb25GbidcbiAgPixcbik6IFVzZU11dGF0aW9uUmVzdWx0PENvbnZlcnNhdGlvbiwgRXJyb3IsIENyZWF0ZUNvbnZlcnNhdGlvblJlcXVlc3Q+IHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCgpXG5cbiAgcmV0dXJuIHVzZU11dGF0aW9uKHtcbiAgICBtdXRhdGlvbkZuOiBhc3luYyAoXG4gICAgICBkYXRhOiBDcmVhdGVDb252ZXJzYXRpb25SZXF1ZXN0LFxuICAgICk6IFByb21pc2U8Q29udmVyc2F0aW9uPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKVxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQucG9zdDxBcGlSZXNwb25zZTxDb252ZXJzYXRpb24+PihcbiAgICAgICAgJy9jb252ZXJzYXRpb25zJyxcbiAgICAgICAgZGF0YSxcbiAgICAgIClcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhLmRhdGFcbiAgICB9LFxuICAgIG9uU3VjY2VzczogKCkgPT4ge1xuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoe3F1ZXJ5S2V5OiBjb252ZXJzYXRpb25LZXlzLmxpc3RzKCl9KVxuICAgIH0sXG4gICAgLi4ub3B0aW9ucyxcbiAgfSlcbn1cblxuLyoqXG4gKiBDcmVhdGUgb3IgZ2V0IGRpcmVjdCBjb252ZXJzYXRpb24gd2l0aCBhIHVzZXJcbiAqXG4gKiBAZW5kcG9pbnQgUE9TVCAvY29udmVyc2F0aW9ucy9kaXJlY3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUNyZWF0ZURpcmVjdENvbnZlcnNhdGlvbihcbiAgb3B0aW9ucz86IE9taXQ8XG4gICAgVXNlTXV0YXRpb25PcHRpb25zPENvbnZlcnNhdGlvbiwgRXJyb3IsIHt1c2VySWQ6IHN0cmluZ30+LFxuICAgICdtdXRhdGlvbkZuJ1xuICA+LFxuKTogVXNlTXV0YXRpb25SZXN1bHQ8Q29udmVyc2F0aW9uLCBFcnJvciwge3VzZXJJZDogc3RyaW5nfT4ge1xuICBjb25zdCBxdWVyeUNsaWVudCA9IHVzZVF1ZXJ5Q2xpZW50KClcblxuICByZXR1cm4gdXNlTXV0YXRpb24oe1xuICAgIG11dGF0aW9uRm46IGFzeW5jIChkYXRhOiB7dXNlcklkOiBzdHJpbmd9KTogUHJvbWlzZTxDb252ZXJzYXRpb24+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5wb3N0PEFwaVJlc3BvbnNlPENvbnZlcnNhdGlvbj4+KFxuICAgICAgICAnL2NvbnZlcnNhdGlvbnMvZGlyZWN0JyxcbiAgICAgICAgZGF0YSxcbiAgICAgIClcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhLmRhdGFcbiAgICB9LFxuICAgIG9uU3VjY2VzczogKCkgPT4ge1xuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoe3F1ZXJ5S2V5OiBjb252ZXJzYXRpb25LZXlzLmxpc3RzKCl9KVxuICAgIH0sXG4gICAgLi4ub3B0aW9ucyxcbiAgfSlcbn1cblxuLyoqXG4gKiBTZW5kIGEgbWVzc2FnZSBpbiBhIGNvbnZlcnNhdGlvblxuICpcbiAqIEBlbmRwb2ludCBQT1NUIC9jb252ZXJzYXRpb25zL3tpZH0vbWVzc2FnZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVNlbmRNZXNzYWdlKFxuICBvcHRpb25zPzogT21pdDxcbiAgICBVc2VNdXRhdGlvbk9wdGlvbnM8XG4gICAgICBNZXNzYWdlLFxuICAgICAgRXJyb3IsXG4gICAgICB7Y29udmVyc2F0aW9uSWQ6IHN0cmluZ30gJiBTZW5kTWVzc2FnZVJlcXVlc3RcbiAgICA+LFxuICAgICdtdXRhdGlvbkZuJ1xuICA+LFxuKTogVXNlTXV0YXRpb25SZXN1bHQ8XG4gIE1lc3NhZ2UsXG4gIEVycm9yLFxuICB7Y29udmVyc2F0aW9uSWQ6IHN0cmluZ30gJiBTZW5kTWVzc2FnZVJlcXVlc3Rcbj4ge1xuICBjb25zdCBxdWVyeUNsaWVudCA9IHVzZVF1ZXJ5Q2xpZW50KClcblxuICByZXR1cm4gdXNlTXV0YXRpb24oe1xuICAgIG11dGF0aW9uRm46IGFzeW5jICh7Y29udmVyc2F0aW9uSWQsIC4uLmRhdGF9KTogUHJvbWlzZTxNZXNzYWdlPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKVxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQucG9zdDxBcGlSZXNwb25zZTxNZXNzYWdlPj4oXG4gICAgICAgIGAvY29udmVyc2F0aW9ucy8ke2NvbnZlcnNhdGlvbklkfS9tZXNzYWdlc2AsXG4gICAgICAgIGRhdGEsXG4gICAgICApXG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YS5kYXRhXG4gICAgfSxcbiAgICBvblN1Y2Nlc3M6IChfLCB2YXJpYWJsZXMpID0+IHtcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHtcbiAgICAgICAgcXVlcnlLZXk6IGNvbnZlcnNhdGlvbktleXMubWVzc2FnZXModmFyaWFibGVzLmNvbnZlcnNhdGlvbklkKSxcbiAgICAgIH0pXG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7cXVlcnlLZXk6IGNvbnZlcnNhdGlvbktleXMubGlzdHMoKX0pXG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KVxufVxuXG4vKipcbiAqIE1hcmsgY29udmVyc2F0aW9uIGFzIHJlYWRcbiAqXG4gKiBAZW5kcG9pbnQgUFVUIC9jb252ZXJzYXRpb25zL3tpZH0vcmVhZFxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlTWFya0NvbnZlcnNhdGlvbkFzUmVhZChcbiAgb3B0aW9ucz86IE9taXQ8VXNlTXV0YXRpb25PcHRpb25zPHZvaWQsIEVycm9yLCBzdHJpbmc+LCAnbXV0YXRpb25Gbic+LFxuKTogVXNlTXV0YXRpb25SZXN1bHQ8dm9pZCwgRXJyb3IsIHN0cmluZz4ge1xuICBjb25zdCBxdWVyeUNsaWVudCA9IHVzZVF1ZXJ5Q2xpZW50KClcblxuICByZXR1cm4gdXNlTXV0YXRpb24oe1xuICAgIG11dGF0aW9uRm46IGFzeW5jIChjb252ZXJzYXRpb25JZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKVxuICAgICAgYXdhaXQgY2xpZW50LnB1dChgL2NvbnZlcnNhdGlvbnMvJHtjb252ZXJzYXRpb25JZH0vcmVhZGApXG4gICAgfSxcbiAgICBvblN1Y2Nlc3M6IChfLCBjb252ZXJzYXRpb25JZCkgPT4ge1xuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoe1xuICAgICAgICBxdWVyeUtleTogY29udmVyc2F0aW9uS2V5cy5kZXRhaWwoY29udmVyc2F0aW9uSWQpLFxuICAgICAgfSlcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHtxdWVyeUtleTogY29udmVyc2F0aW9uS2V5cy5saXN0cygpfSlcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pXG59XG5cbi8qKlxuICogU2VuZCB0eXBpbmcgaW5kaWNhdG9yXG4gKlxuICogQGVuZHBvaW50IFBPU1QgL2NvbnZlcnNhdGlvbnMve2lkfS90eXBpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVNlbmRUeXBpbmdJbmRpY2F0b3IoXG4gIG9wdGlvbnM/OiBPbWl0PFVzZU11dGF0aW9uT3B0aW9uczx2b2lkLCBFcnJvciwgc3RyaW5nPiwgJ211dGF0aW9uRm4nPixcbik6IFVzZU11dGF0aW9uUmVzdWx0PHZvaWQsIEVycm9yLCBzdHJpbmc+IHtcbiAgcmV0dXJuIHVzZU11dGF0aW9uKHtcbiAgICBtdXRhdGlvbkZuOiBhc3luYyAoY29udmVyc2F0aW9uSWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KClcbiAgICAgIGF3YWl0IGNsaWVudC5wb3N0KGAvY29udmVyc2F0aW9ucy8ke2NvbnZlcnNhdGlvbklkfS90eXBpbmdgKVxuICAgIH0sXG4gICAgLi4ub3B0aW9ucyxcbiAgfSlcbn1cbiJdfQ==
|