@spotsdev/sdk 1.0.0 → 1.2.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.
- package/dist/api/client.d.ts +1 -1
- package/dist/api/client.js +7 -3
- package/dist/api/entities.d.ts +318 -0
- package/dist/api/entities.js +9 -0
- package/dist/api/mutations/clubs.d.ts +6 -6
- package/dist/api/mutations/clubs.js +12 -10
- package/dist/api/mutations/conversations.d.ts +7 -7
- package/dist/api/mutations/conversations.js +17 -13
- package/dist/api/mutations/index.js +1 -1
- package/dist/api/mutations/notifications.d.ts +4 -4
- package/dist/api/mutations/notifications.js +7 -7
- package/dist/api/mutations/orders.d.ts +7 -7
- package/dist/api/mutations/orders.js +11 -13
- package/dist/api/mutations/posts.d.ts +13 -13
- package/dist/api/mutations/posts.js +41 -29
- package/dist/api/mutations/products.d.ts +5 -5
- package/dist/api/mutations/products.js +9 -13
- package/dist/api/mutations/spots.d.ts +42 -8
- package/dist/api/mutations/spots.js +51 -13
- package/dist/api/mutations/users.d.ts +12 -10
- package/dist/api/mutations/users.js +20 -18
- package/dist/api/queries/auth.d.ts +5 -5
- package/dist/api/queries/auth.js +7 -7
- package/dist/api/queries/clubs.d.ts +7 -7
- package/dist/api/queries/clubs.js +11 -11
- package/dist/api/queries/conversations.d.ts +5 -5
- package/dist/api/queries/conversations.js +7 -7
- package/dist/api/queries/index.js +1 -1
- package/dist/api/queries/misc.d.ts +8 -32
- package/dist/api/queries/misc.js +28 -66
- package/dist/api/queries/notifications.d.ts +4 -4
- package/dist/api/queries/notifications.js +5 -5
- package/dist/api/queries/orders.d.ts +4 -4
- package/dist/api/queries/orders.js +7 -7
- package/dist/api/queries/posts.d.ts +44 -7
- package/dist/api/queries/posts.js +118 -15
- package/dist/api/queries/products.d.ts +6 -10
- package/dist/api/queries/products.js +7 -9
- package/dist/api/queries/spots.d.ts +31 -16
- package/dist/api/queries/spots.js +113 -31
- package/dist/api/queries/templates.d.ts +6 -9
- package/dist/api/queries/templates.js +8 -13
- package/dist/api/queries/users.d.ts +25 -11
- package/dist/api/queries/users.js +75 -27
- package/dist/api/types.d.ts +36 -33
- package/dist/api/types.js +6 -7
- package/dist/index.d.ts +1 -2
- package/dist/index.js +1 -8
- package/package.json +6 -21
- package/src/api/client.ts +45 -30
- package/src/api/entities.ts +424 -0
- package/src/api/mutations/clubs.ts +73 -40
- package/src/api/mutations/conversations.ts +91 -47
- package/src/api/mutations/index.ts +8 -8
- package/src/api/mutations/notifications.ts +48 -25
- package/src/api/mutations/orders.ts +101 -70
- package/src/api/mutations/posts.ts +229 -118
- package/src/api/mutations/products.ts +120 -81
- package/src/api/mutations/spots.ts +167 -55
- package/src/api/mutations/users.ts +109 -76
- package/src/api/queries/auth.ts +49 -24
- package/src/api/queries/clubs.ts +53 -38
- package/src/api/queries/conversations.ts +48 -30
- package/src/api/queries/index.ts +21 -21
- package/src/api/queries/misc.ts +53 -82
- package/src/api/queries/notifications.ts +32 -21
- package/src/api/queries/orders.ts +59 -42
- package/src/api/queries/posts.ts +203 -48
- package/src/api/queries/products.ts +51 -44
- package/src/api/queries/spots.ts +216 -85
- package/src/api/queries/templates.ts +39 -32
- package/src/api/queries/users.ts +157 -64
- package/src/api/types.ts +72 -118
- package/src/index.ts +5 -11
package/dist/api/client.d.ts
CHANGED
package/dist/api/client.js
CHANGED
|
@@ -40,10 +40,14 @@ function createApiClient(sdkConfig) {
|
|
|
40
40
|
if (token) {
|
|
41
41
|
requestConfig.headers.Authorization = `Bearer ${token}`;
|
|
42
42
|
}
|
|
43
|
+
// Debug logging
|
|
44
|
+
console.log(`[SDK] ${requestConfig.method?.toUpperCase()} ${sdkConfig.baseURL}${requestConfig.url}`);
|
|
43
45
|
return requestConfig;
|
|
44
|
-
},
|
|
46
|
+
}, error => Promise.reject(error));
|
|
45
47
|
// Response interceptor - handle 401
|
|
46
|
-
client.interceptors.response.use(
|
|
48
|
+
client.interceptors.response.use(response => response, async (error) => {
|
|
49
|
+
console.log(`[SDK] Error: ${error.response?.status} ${error.config?.url}`, error.message);
|
|
50
|
+
// Handle auth token expiration (401)
|
|
47
51
|
if (error.response?.status === 401) {
|
|
48
52
|
if (sdkConfig.refreshAccessToken) {
|
|
49
53
|
try {
|
|
@@ -65,4 +69,4 @@ function createApiClient(sdkConfig) {
|
|
|
65
69
|
});
|
|
66
70
|
return client;
|
|
67
71
|
}
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwaS9jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBZ0JBLG9DQUdDO0FBRUQsb0NBS0M7QUFFRCw4QkFLQztBQWpDRCxrREFJYztBQVNkLElBQUksTUFBTSxHQUFxQixJQUFJLENBQUE7QUFDbkMsSUFBSSxTQUFTLEdBQXlCLElBQUksQ0FBQTtBQThFbEMsOEJBQVM7QUE1RWpCLFNBQWdCLFlBQVksQ0FBQyxTQUFvQjtJQUMvQyxNQUFNLEdBQUcsU0FBUyxDQUFBO0lBQ2xCLG9CQUFBLFNBQVMsR0FBRyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUE7QUFDeEMsQ0FBQztBQUVELFNBQWdCLFlBQVk7SUFDMUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxDQUFBO0lBQ25FLENBQUM7SUFDRCxPQUFPLFNBQVMsQ0FBQTtBQUNsQixDQUFDO0FBRUQsU0FBZ0IsU0FBUztJQUN2QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWixNQUFNLElBQUksS0FBSyxDQUFDLGdEQUFnRCxDQUFDLENBQUE7SUFDbkUsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQztBQUVELFNBQVMsZUFBZSxDQUFDLFNBQW9CO0lBQzNDLE1BQU0sTUFBTSxHQUFHLGVBQUssQ0FBQyxNQUFNLENBQUM7UUFDMUIsT0FBTyxFQUFFLFNBQVMsQ0FBQyxPQUFPO1FBQzFCLE9BQU8sRUFBRTtZQUNQLGNBQWMsRUFBRSxrQkFBa0I7U0FDbkM7S0FDRixDQUFDLENBQUE7SUFFRix1Q0FBdUM7SUFDdkMsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUM3QixLQUFLLEVBQUUsYUFBeUMsRUFBRSxFQUFFO1FBQ2xELE1BQU0sS0FBSyxHQUFHLE1BQU0sU0FBUyxDQUFDLGNBQWMsRUFBRSxDQUFBO1FBQzlDLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixhQUFhLENBQUMsT0FBTyxDQUFDLGFBQWEsR0FBRyxVQUFVLEtBQUssRUFBRSxDQUFBO1FBQ3pELENBQUM7UUFFRCxnQkFBZ0I7UUFDaEIsT0FBTyxDQUFDLEdBQUcsQ0FDVCxTQUFTLGFBQWEsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLElBQUksU0FBUyxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUMsR0FBRyxFQUFFLENBQ3hGLENBQUE7UUFDRCxPQUFPLGFBQWEsQ0FBQTtJQUN0QixDQUFDLEVBQ0QsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUMvQixDQUFBO0lBRUQsb0NBQW9DO0lBQ3BDLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FDOUIsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQ3BCLEtBQUssRUFBRSxLQUFpQixFQUFFLEVBQUU7UUFDMUIsT0FBTyxDQUFDLEdBQUcsQ0FDVCxnQkFBZ0IsS0FBSyxDQUFDLFFBQVEsRUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFDN0QsS0FBSyxDQUFDLE9BQU8sQ0FDZCxDQUFBO1FBRUQscUNBQXFDO1FBQ3JDLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDbkMsSUFBSSxTQUFTLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztnQkFDakMsSUFBSSxDQUFDO29CQUNILE1BQU0sUUFBUSxHQUFHLE1BQU0sU0FBUyxDQUFDLGtCQUFrQixFQUFFLENBQUE7b0JBQ3JELElBQUksUUFBUSxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQzt3QkFDN0IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxHQUFHLFVBQVUsUUFBUSxFQUFFLENBQUE7d0JBQ3pELE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUE7b0JBQ3JDLENBQUM7Z0JBQ0gsQ0FBQztnQkFBQyxNQUFNLENBQUM7b0JBQ1AsU0FBUyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUE7Z0JBQzlCLENBQUM7WUFDSCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sU0FBUyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUE7WUFDOUIsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDOUIsQ0FBQyxDQUNGLENBQUE7SUFFRCxPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXhpb3MsIHtcbiAgdHlwZSBBeGlvc0Vycm9yLFxuICB0eXBlIEF4aW9zSW5zdGFuY2UsXG4gIHR5cGUgSW50ZXJuYWxBeGlvc1JlcXVlc3RDb25maWcsXG59IGZyb20gJ2F4aW9zJ1xuXG5leHBvcnQgaW50ZXJmYWNlIFNES0NvbmZpZyB7XG4gIGJhc2VVUkw6IHN0cmluZ1xuICBnZXRBY2Nlc3NUb2tlbjogKCkgPT4gc3RyaW5nIHwgbnVsbCB8IFByb21pc2U8c3RyaW5nIHwgbnVsbD5cbiAgcmVmcmVzaEFjY2Vzc1Rva2VuPzogKCkgPT4gUHJvbWlzZTxzdHJpbmc+XG4gIG9uVW5hdXRob3JpemVkPzogKCkgPT4gdm9pZFxufVxuXG5sZXQgY29uZmlnOiBTREtDb25maWcgfCBudWxsID0gbnVsbFxubGV0IGFwaUNsaWVudDogQXhpb3NJbnN0YW5jZSB8IG51bGwgPSBudWxsXG5cbmV4cG9ydCBmdW5jdGlvbiBjb25maWd1cmVTREsoc2RrQ29uZmlnOiBTREtDb25maWcpOiB2b2lkIHtcbiAgY29uZmlnID0gc2RrQ29uZmlnXG4gIGFwaUNsaWVudCA9IGNyZWF0ZUFwaUNsaWVudChzZGtDb25maWcpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBcGlDbGllbnQoKTogQXhpb3NJbnN0YW5jZSB7XG4gIGlmICghYXBpQ2xpZW50KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdTREsgbm90IGNvbmZpZ3VyZWQuIENhbGwgY29uZmlndXJlU0RLKCkgZmlyc3QuJylcbiAgfVxuICByZXR1cm4gYXBpQ2xpZW50XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb25maWcoKTogU0RLQ29uZmlnIHtcbiAgaWYgKCFjb25maWcpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1NESyBub3QgY29uZmlndXJlZC4gQ2FsbCBjb25maWd1cmVTREsoKSBmaXJzdC4nKVxuICB9XG4gIHJldHVybiBjb25maWdcbn1cblxuZnVuY3Rpb24gY3JlYXRlQXBpQ2xpZW50KHNka0NvbmZpZzogU0RLQ29uZmlnKTogQXhpb3NJbnN0YW5jZSB7XG4gIGNvbnN0IGNsaWVudCA9IGF4aW9zLmNyZWF0ZSh7XG4gICAgYmFzZVVSTDogc2RrQ29uZmlnLmJhc2VVUkwsXG4gICAgaGVhZGVyczoge1xuICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICB9LFxuICB9KVxuXG4gIC8vIFJlcXVlc3QgaW50ZXJjZXB0b3IgLSBhZGQgYXV0aCB0b2tlblxuICBjbGllbnQuaW50ZXJjZXB0b3JzLnJlcXVlc3QudXNlKFxuICAgIGFzeW5jIChyZXF1ZXN0Q29uZmlnOiBJbnRlcm5hbEF4aW9zUmVxdWVzdENvbmZpZykgPT4ge1xuICAgICAgY29uc3QgdG9rZW4gPSBhd2FpdCBzZGtDb25maWcuZ2V0QWNjZXNzVG9rZW4oKVxuICAgICAgaWYgKHRva2VuKSB7XG4gICAgICAgIHJlcXVlc3RDb25maWcuaGVhZGVycy5BdXRob3JpemF0aW9uID0gYEJlYXJlciAke3Rva2VufWBcbiAgICAgIH1cblxuICAgICAgLy8gRGVidWcgbG9nZ2luZ1xuICAgICAgY29uc29sZS5sb2coXG4gICAgICAgIGBbU0RLXSAke3JlcXVlc3RDb25maWcubWV0aG9kPy50b1VwcGVyQ2FzZSgpfSAke3Nka0NvbmZpZy5iYXNlVVJMfSR7cmVxdWVzdENvbmZpZy51cmx9YCxcbiAgICAgIClcbiAgICAgIHJldHVybiByZXF1ZXN0Q29uZmlnXG4gICAgfSxcbiAgICBlcnJvciA9PiBQcm9taXNlLnJlamVjdChlcnJvciksXG4gIClcblxuICAvLyBSZXNwb25zZSBpbnRlcmNlcHRvciAtIGhhbmRsZSA0MDFcbiAgY2xpZW50LmludGVyY2VwdG9ycy5yZXNwb25zZS51c2UoXG4gICAgcmVzcG9uc2UgPT4gcmVzcG9uc2UsXG4gICAgYXN5bmMgKGVycm9yOiBBeGlvc0Vycm9yKSA9PiB7XG4gICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgYFtTREtdIEVycm9yOiAke2Vycm9yLnJlc3BvbnNlPy5zdGF0dXN9ICR7ZXJyb3IuY29uZmlnPy51cmx9YCxcbiAgICAgICAgZXJyb3IubWVzc2FnZSxcbiAgICAgIClcblxuICAgICAgLy8gSGFuZGxlIGF1dGggdG9rZW4gZXhwaXJhdGlvbiAoNDAxKVxuICAgICAgaWYgKGVycm9yLnJlc3BvbnNlPy5zdGF0dXMgPT09IDQwMSkge1xuICAgICAgICBpZiAoc2RrQ29uZmlnLnJlZnJlc2hBY2Nlc3NUb2tlbikge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBuZXdUb2tlbiA9IGF3YWl0IHNka0NvbmZpZy5yZWZyZXNoQWNjZXNzVG9rZW4oKVxuICAgICAgICAgICAgaWYgKG5ld1Rva2VuICYmIGVycm9yLmNvbmZpZykge1xuICAgICAgICAgICAgICBlcnJvci5jb25maWcuaGVhZGVycy5BdXRob3JpemF0aW9uID0gYEJlYXJlciAke25ld1Rva2VufWBcbiAgICAgICAgICAgICAgcmV0dXJuIGNsaWVudC5yZXF1ZXN0KGVycm9yLmNvbmZpZylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgIHNka0NvbmZpZy5vblVuYXV0aG9yaXplZD8uKClcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc2RrQ29uZmlnLm9uVW5hdXRob3JpemVkPy4oKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZXJyb3IpXG4gICAgfSxcbiAgKVxuXG4gIHJldHVybiBjbGllbnRcbn1cblxuZXhwb3J0IHthcGlDbGllbnR9XG4iXX0=
|
|
@@ -0,0 +1,318 @@
|
|
|
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
|
+
export type SpotType = 'CAFE' | 'RESTAURANT' | 'BAR' | 'PARK' | 'BEACH' | 'COWORKING' | 'LIBRARY' | 'GYM' | 'MUSEUM' | 'GALLERY' | 'THEATER' | 'CINEMA' | 'MALL' | 'MARKET' | 'HOTEL' | 'HOSTEL' | 'OTHER';
|
|
8
|
+
export type SpotPostType = 'CHECK_IN' | 'LOOKING_FOR' | 'OFFERING' | 'QUESTION' | 'EVENT' | 'RECOMMENDATION' | 'GENERAL';
|
|
9
|
+
export type AccountStatus = 'ACTIVE' | 'SUSPENDED' | 'DELETED' | 'PENDING';
|
|
10
|
+
export type ClaimStatus = 'PENDING' | 'APPROVED' | 'REJECTED';
|
|
11
|
+
export type ResponseStatus = 'PENDING' | 'ACCEPTED' | 'DECLINED';
|
|
12
|
+
export type ReportReason = 'SPAM' | 'HARASSMENT' | 'INAPPROPRIATE' | 'SCAM' | 'OTHER';
|
|
13
|
+
export type ReportStatus = 'PENDING' | 'REVIEWED' | 'RESOLVED' | 'DISMISSED';
|
|
14
|
+
export type NotificationType = 'POST_RESPONSE' | 'POST_REPLY' | 'POST_UPVOTE' | 'RESPONSE_ACCEPTED' | 'RESPONSE_DECLINED' | 'NEW_MESSAGE' | 'SYSTEM';
|
|
15
|
+
export interface User {
|
|
16
|
+
id: string;
|
|
17
|
+
phone: string | null;
|
|
18
|
+
email: string | null;
|
|
19
|
+
name: string | null;
|
|
20
|
+
bio: string | null;
|
|
21
|
+
avatarUrl: string | null;
|
|
22
|
+
status: AccountStatus;
|
|
23
|
+
onboardingCompleted: boolean;
|
|
24
|
+
lastActiveAt: Date | null;
|
|
25
|
+
createdAt: Date;
|
|
26
|
+
updatedAt: Date;
|
|
27
|
+
}
|
|
28
|
+
export interface Spot {
|
|
29
|
+
id: string;
|
|
30
|
+
name: string;
|
|
31
|
+
slug: string;
|
|
32
|
+
description: string | null;
|
|
33
|
+
address: string | null;
|
|
34
|
+
city: string | null;
|
|
35
|
+
country: string | null;
|
|
36
|
+
latitude: number | null;
|
|
37
|
+
longitude: number | null;
|
|
38
|
+
lat?: number | null;
|
|
39
|
+
lng?: number | null;
|
|
40
|
+
type: SpotType;
|
|
41
|
+
googlePlaceId: string | null;
|
|
42
|
+
website: string | null;
|
|
43
|
+
phone: string | null;
|
|
44
|
+
imageUrl: string | null;
|
|
45
|
+
ownerId: string | null;
|
|
46
|
+
isVerified: boolean;
|
|
47
|
+
createdAt: Date | string;
|
|
48
|
+
updatedAt: Date | string;
|
|
49
|
+
}
|
|
50
|
+
export interface SpotPost {
|
|
51
|
+
id: string;
|
|
52
|
+
spotId: string;
|
|
53
|
+
userId: string;
|
|
54
|
+
postType: SpotPostType;
|
|
55
|
+
title: string;
|
|
56
|
+
content: string | null;
|
|
57
|
+
emoji: string | null;
|
|
58
|
+
expiresAt: Date | null;
|
|
59
|
+
status: 'ACTIVE' | 'FULFILLED' | 'EXPIRED' | 'DELETED';
|
|
60
|
+
upvoteCount: number;
|
|
61
|
+
responseCount: number;
|
|
62
|
+
replyCount: number;
|
|
63
|
+
createdAt: Date;
|
|
64
|
+
updatedAt: Date;
|
|
65
|
+
user?: User;
|
|
66
|
+
spot?: Spot;
|
|
67
|
+
}
|
|
68
|
+
export interface PostReply {
|
|
69
|
+
id: string;
|
|
70
|
+
postId: string;
|
|
71
|
+
userId: string;
|
|
72
|
+
content: string;
|
|
73
|
+
createdAt: Date;
|
|
74
|
+
updatedAt: Date;
|
|
75
|
+
user?: User;
|
|
76
|
+
}
|
|
77
|
+
export interface PostResponse {
|
|
78
|
+
id: string;
|
|
79
|
+
postId: string;
|
|
80
|
+
userId: string;
|
|
81
|
+
note: string | null;
|
|
82
|
+
status: ResponseStatus;
|
|
83
|
+
createdAt: Date;
|
|
84
|
+
updatedAt: Date;
|
|
85
|
+
user?: User;
|
|
86
|
+
post?: SpotPost;
|
|
87
|
+
}
|
|
88
|
+
export interface PostUpvote {
|
|
89
|
+
id: string;
|
|
90
|
+
postId: string;
|
|
91
|
+
userId: string;
|
|
92
|
+
createdAt: Date;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* PostUpvoter - user who upvoted a post (from /posts/:id/upvotes endpoint)
|
|
96
|
+
*/
|
|
97
|
+
export interface PostUpvoter {
|
|
98
|
+
id: string;
|
|
99
|
+
userId: string;
|
|
100
|
+
name: string | null;
|
|
101
|
+
avatarUrl: string | null;
|
|
102
|
+
createdAt: Date;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* PostUpvotesResponse - response from /posts/:id/upvotes endpoint
|
|
106
|
+
*/
|
|
107
|
+
export interface PostUpvotesResponse {
|
|
108
|
+
data: PostUpvoter[];
|
|
109
|
+
meta: {
|
|
110
|
+
total: number;
|
|
111
|
+
limit: number;
|
|
112
|
+
offset: number;
|
|
113
|
+
hasMore: boolean;
|
|
114
|
+
currentUserUpvoted: boolean;
|
|
115
|
+
isPostAuthor: boolean;
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
export interface PostReport {
|
|
119
|
+
id: string;
|
|
120
|
+
postId: string;
|
|
121
|
+
userId: string;
|
|
122
|
+
reason: ReportReason;
|
|
123
|
+
details: string | null;
|
|
124
|
+
status: ReportStatus;
|
|
125
|
+
createdAt: Date;
|
|
126
|
+
updatedAt: Date;
|
|
127
|
+
}
|
|
128
|
+
export interface Club {
|
|
129
|
+
id: string;
|
|
130
|
+
name: string;
|
|
131
|
+
slug: string;
|
|
132
|
+
description: string | null;
|
|
133
|
+
imageUrl: string | null;
|
|
134
|
+
isPrivate: boolean;
|
|
135
|
+
createdById: string;
|
|
136
|
+
createdAt: Date;
|
|
137
|
+
updatedAt: Date;
|
|
138
|
+
}
|
|
139
|
+
export interface ClubMember {
|
|
140
|
+
id: string;
|
|
141
|
+
clubId: string;
|
|
142
|
+
userId: string;
|
|
143
|
+
role: 'MEMBER' | 'ADMIN' | 'OWNER';
|
|
144
|
+
joinedAt: Date;
|
|
145
|
+
}
|
|
146
|
+
export interface Conversation {
|
|
147
|
+
id: string;
|
|
148
|
+
createdAt: Date;
|
|
149
|
+
updatedAt: Date;
|
|
150
|
+
participants?: User[];
|
|
151
|
+
messages?: Message[];
|
|
152
|
+
}
|
|
153
|
+
export interface Message {
|
|
154
|
+
id: string;
|
|
155
|
+
conversationId: string;
|
|
156
|
+
senderId: string;
|
|
157
|
+
content: string;
|
|
158
|
+
createdAt: Date;
|
|
159
|
+
sender?: User;
|
|
160
|
+
}
|
|
161
|
+
export interface Notification {
|
|
162
|
+
id: string;
|
|
163
|
+
userId: string;
|
|
164
|
+
type: NotificationType;
|
|
165
|
+
title: string;
|
|
166
|
+
body: string | null;
|
|
167
|
+
data: Record<string, unknown> | null;
|
|
168
|
+
isRead: boolean;
|
|
169
|
+
createdAt: Date;
|
|
170
|
+
}
|
|
171
|
+
export interface PostTemplate {
|
|
172
|
+
id: string;
|
|
173
|
+
postType: SpotPostType;
|
|
174
|
+
emoji: string;
|
|
175
|
+
title: string;
|
|
176
|
+
placeholder: string | null;
|
|
177
|
+
isActive: boolean;
|
|
178
|
+
sortOrder: number;
|
|
179
|
+
createdAt: Date;
|
|
180
|
+
updatedAt: Date;
|
|
181
|
+
}
|
|
182
|
+
export interface Vibe {
|
|
183
|
+
id: string;
|
|
184
|
+
name: string;
|
|
185
|
+
emoji: string | null;
|
|
186
|
+
createdAt: Date;
|
|
187
|
+
}
|
|
188
|
+
export interface Interest {
|
|
189
|
+
id: string;
|
|
190
|
+
name: string;
|
|
191
|
+
emoji: string | null;
|
|
192
|
+
category: string | null;
|
|
193
|
+
createdAt: Date;
|
|
194
|
+
}
|
|
195
|
+
export interface Intention {
|
|
196
|
+
id: string;
|
|
197
|
+
name: string;
|
|
198
|
+
emoji: string | null;
|
|
199
|
+
createdAt: Date;
|
|
200
|
+
}
|
|
201
|
+
export interface LifeSituation {
|
|
202
|
+
id: string;
|
|
203
|
+
name: string;
|
|
204
|
+
emoji: string | null;
|
|
205
|
+
createdAt: Date;
|
|
206
|
+
}
|
|
207
|
+
export interface FavoriteSpot {
|
|
208
|
+
id: string;
|
|
209
|
+
userId: string;
|
|
210
|
+
spotId: string;
|
|
211
|
+
createdAt: Date;
|
|
212
|
+
spot?: Spot;
|
|
213
|
+
}
|
|
214
|
+
export interface SpotImage {
|
|
215
|
+
id: string;
|
|
216
|
+
spotId: string;
|
|
217
|
+
url: string;
|
|
218
|
+
caption: string | null;
|
|
219
|
+
sortOrder: number;
|
|
220
|
+
createdAt: Date;
|
|
221
|
+
}
|
|
222
|
+
export interface SpotVibe {
|
|
223
|
+
id: string;
|
|
224
|
+
spotId: string;
|
|
225
|
+
vibeId: string;
|
|
226
|
+
vibe?: Vibe;
|
|
227
|
+
}
|
|
228
|
+
export interface SpotIntention {
|
|
229
|
+
id: string;
|
|
230
|
+
spotId: string;
|
|
231
|
+
intentionId: string;
|
|
232
|
+
intention?: Intention;
|
|
233
|
+
}
|
|
234
|
+
export interface SpotClaim {
|
|
235
|
+
id: string;
|
|
236
|
+
spotId: string;
|
|
237
|
+
userId: string;
|
|
238
|
+
status: ClaimStatus;
|
|
239
|
+
verificationMethod: string | null;
|
|
240
|
+
createdAt: Date;
|
|
241
|
+
updatedAt: Date;
|
|
242
|
+
}
|
|
243
|
+
export interface SpotSubscription {
|
|
244
|
+
id: string;
|
|
245
|
+
spotId: string;
|
|
246
|
+
userId: string;
|
|
247
|
+
createdAt: Date;
|
|
248
|
+
spot?: Spot;
|
|
249
|
+
}
|
|
250
|
+
export interface City {
|
|
251
|
+
id: string;
|
|
252
|
+
name: string;
|
|
253
|
+
country: string;
|
|
254
|
+
latitude: number;
|
|
255
|
+
longitude: number;
|
|
256
|
+
timezone: string | null;
|
|
257
|
+
createdAt: Date;
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Paginated response with meta information
|
|
261
|
+
*/
|
|
262
|
+
export interface PaginatedResponse<T> {
|
|
263
|
+
data: T[];
|
|
264
|
+
meta: PaginationMeta;
|
|
265
|
+
}
|
|
266
|
+
export interface PaginationMeta {
|
|
267
|
+
total: number;
|
|
268
|
+
page: number;
|
|
269
|
+
limit: number;
|
|
270
|
+
totalPages: number;
|
|
271
|
+
hasNextPage: boolean;
|
|
272
|
+
hasPreviousPage: boolean;
|
|
273
|
+
}
|
|
274
|
+
export type ProductType = 'PHYSICAL' | 'DIGITAL' | 'SERVICE' | 'BUNDLE';
|
|
275
|
+
export type ProductStatus = 'DRAFT' | 'ACTIVE' | 'SOLD_OUT' | 'ARCHIVED';
|
|
276
|
+
export type OrderStatus = 'PENDING' | 'CONFIRMED' | 'PREPARING' | 'READY' | 'COMPLETED' | 'CANCELLED' | 'REFUNDED';
|
|
277
|
+
export interface Product {
|
|
278
|
+
id: string;
|
|
279
|
+
spotId: string;
|
|
280
|
+
name: string;
|
|
281
|
+
slug: string;
|
|
282
|
+
description: string | null;
|
|
283
|
+
type: ProductType;
|
|
284
|
+
status: ProductStatus;
|
|
285
|
+
price: number;
|
|
286
|
+
currency: string;
|
|
287
|
+
imageUrl: string | null;
|
|
288
|
+
images: string[];
|
|
289
|
+
stock: number | null;
|
|
290
|
+
maxQuantity: number;
|
|
291
|
+
sortOrder: number;
|
|
292
|
+
metadata: Record<string, unknown> | null;
|
|
293
|
+
createdAt: Date;
|
|
294
|
+
updatedAt: Date;
|
|
295
|
+
}
|
|
296
|
+
export interface Order {
|
|
297
|
+
id: string;
|
|
298
|
+
spotId: string;
|
|
299
|
+
userId: string;
|
|
300
|
+
status: OrderStatus;
|
|
301
|
+
subtotal: number;
|
|
302
|
+
tax: number;
|
|
303
|
+
total: number;
|
|
304
|
+
currency: string;
|
|
305
|
+
notes: string | null;
|
|
306
|
+
metadata: Record<string, unknown> | null;
|
|
307
|
+
createdAt: Date;
|
|
308
|
+
updatedAt: Date;
|
|
309
|
+
}
|
|
310
|
+
export interface OrderItem {
|
|
311
|
+
id: string;
|
|
312
|
+
orderId: string;
|
|
313
|
+
productId: string;
|
|
314
|
+
quantity: number;
|
|
315
|
+
unitPrice: number;
|
|
316
|
+
total: number;
|
|
317
|
+
createdAt: Date;
|
|
318
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBpL2VudGl0aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7R0FLRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU3BvdHMgU0RLIEVudGl0eSBUeXBlc1xuICpcbiAqIFRoZXNlIHR5cGVzIG1pcnJvciB0aGUgUHJpc21hIHNjaGVtYSBlbnRpdGllcyBidXQgd2l0aG91dCBAcHJpc21hL2NsaWVudCBkZXBlbmRlbmN5LlxuICogVGhpcyBhbGxvd3MgdGhlIFNESyB0byB3b3JrIGluIFJlYWN0IE5hdGl2ZSB3aGVyZSBQcmlzbWEgaXMgbm90IGF2YWlsYWJsZS5cbiAqL1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBFTlVNU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgdHlwZSBTcG90VHlwZSA9XG4gIHwgJ0NBRkUnXG4gIHwgJ1JFU1RBVVJBTlQnXG4gIHwgJ0JBUidcbiAgfCAnUEFSSydcbiAgfCAnQkVBQ0gnXG4gIHwgJ0NPV09SS0lORydcbiAgfCAnTElCUkFSWSdcbiAgfCAnR1lNJ1xuICB8ICdNVVNFVU0nXG4gIHwgJ0dBTExFUlknXG4gIHwgJ1RIRUFURVInXG4gIHwgJ0NJTkVNQSdcbiAgfCAnTUFMTCdcbiAgfCAnTUFSS0VUJ1xuICB8ICdIT1RFTCdcbiAgfCAnSE9TVEVMJ1xuICB8ICdPVEhFUidcblxuZXhwb3J0IHR5cGUgU3BvdFBvc3RUeXBlID1cbiAgfCAnQ0hFQ0tfSU4nXG4gIHwgJ0xPT0tJTkdfRk9SJ1xuICB8ICdPRkZFUklORydcbiAgfCAnUVVFU1RJT04nXG4gIHwgJ0VWRU5UJ1xuICB8ICdSRUNPTU1FTkRBVElPTidcbiAgfCAnR0VORVJBTCdcblxuZXhwb3J0IHR5cGUgQWNjb3VudFN0YXR1cyA9ICdBQ1RJVkUnIHwgJ1NVU1BFTkRFRCcgfCAnREVMRVRFRCcgfCAnUEVORElORydcblxuZXhwb3J0IHR5cGUgQ2xhaW1TdGF0dXMgPSAnUEVORElORycgfCAnQVBQUk9WRUQnIHwgJ1JFSkVDVEVEJ1xuXG5leHBvcnQgdHlwZSBSZXNwb25zZVN0YXR1cyA9ICdQRU5ESU5HJyB8ICdBQ0NFUFRFRCcgfCAnREVDTElORUQnXG5cbmV4cG9ydCB0eXBlIFJlcG9ydFJlYXNvbiA9XG4gIHwgJ1NQQU0nXG4gIHwgJ0hBUkFTU01FTlQnXG4gIHwgJ0lOQVBQUk9QUklBVEUnXG4gIHwgJ1NDQU0nXG4gIHwgJ09USEVSJ1xuXG5leHBvcnQgdHlwZSBSZXBvcnRTdGF0dXMgPSAnUEVORElORycgfCAnUkVWSUVXRUQnIHwgJ1JFU09MVkVEJyB8ICdESVNNSVNTRUQnXG5cbmV4cG9ydCB0eXBlIE5vdGlmaWNhdGlvblR5cGUgPVxuICB8ICdQT1NUX1JFU1BPTlNFJ1xuICB8ICdQT1NUX1JFUExZJ1xuICB8ICdQT1NUX1VQVk9URSdcbiAgfCAnUkVTUE9OU0VfQUNDRVBURUQnXG4gIHwgJ1JFU1BPTlNFX0RFQ0xJTkVEJ1xuICB8ICdORVdfTUVTU0FHRSdcbiAgfCAnU1lTVEVNJ1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBFTlRJVFkgSU5URVJGQUNFU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXIge1xuICBpZDogc3RyaW5nXG4gIHBob25lOiBzdHJpbmcgfCBudWxsXG4gIGVtYWlsOiBzdHJpbmcgfCBudWxsXG4gIG5hbWU6IHN0cmluZyB8IG51bGxcbiAgYmlvOiBzdHJpbmcgfCBudWxsXG4gIGF2YXRhclVybDogc3RyaW5nIHwgbnVsbFxuICBzdGF0dXM6IEFjY291bnRTdGF0dXNcbiAgb25ib2FyZGluZ0NvbXBsZXRlZDogYm9vbGVhblxuICBsYXN0QWN0aXZlQXQ6IERhdGUgfCBudWxsXG4gIGNyZWF0ZWRBdDogRGF0ZVxuICB1cGRhdGVkQXQ6IERhdGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTcG90IHtcbiAgaWQ6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgc2x1Zzogc3RyaW5nXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCBudWxsXG4gIGFkZHJlc3M6IHN0cmluZyB8IG51bGxcbiAgY2l0eTogc3RyaW5nIHwgbnVsbFxuICBjb3VudHJ5OiBzdHJpbmcgfCBudWxsXG4gIGxhdGl0dWRlOiBudW1iZXIgfCBudWxsXG4gIGxvbmdpdHVkZTogbnVtYmVyIHwgbnVsbFxuICAvLyBBbGlhc2VzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuICBsYXQ/OiBudW1iZXIgfCBudWxsXG4gIGxuZz86IG51bWJlciB8IG51bGxcbiAgdHlwZTogU3BvdFR5cGVcbiAgZ29vZ2xlUGxhY2VJZDogc3RyaW5nIHwgbnVsbFxuICB3ZWJzaXRlOiBzdHJpbmcgfCBudWxsXG4gIHBob25lOiBzdHJpbmcgfCBudWxsXG4gIGltYWdlVXJsOiBzdHJpbmcgfCBudWxsXG4gIG93bmVySWQ6IHN0cmluZyB8IG51bGxcbiAgaXNWZXJpZmllZDogYm9vbGVhblxuICAvLyBEYXRlcyBhcyBzdHJpbmdzIGZvciBKU09OIHNlcmlhbGl6YXRpb24gY29tcGF0aWJpbGl0eVxuICBjcmVhdGVkQXQ6IERhdGUgfCBzdHJpbmdcbiAgdXBkYXRlZEF0OiBEYXRlIHwgc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3BvdFBvc3Qge1xuICBpZDogc3RyaW5nXG4gIHNwb3RJZDogc3RyaW5nXG4gIHVzZXJJZDogc3RyaW5nXG4gIHBvc3RUeXBlOiBTcG90UG9zdFR5cGVcbiAgdGl0bGU6IHN0cmluZ1xuICBjb250ZW50OiBzdHJpbmcgfCBudWxsXG4gIGVtb2ppOiBzdHJpbmcgfCBudWxsXG4gIGV4cGlyZXNBdDogRGF0ZSB8IG51bGxcbiAgc3RhdHVzOiAnQUNUSVZFJyB8ICdGVUxGSUxMRUQnIHwgJ0VYUElSRUQnIHwgJ0RFTEVURUQnXG4gIHVwdm90ZUNvdW50OiBudW1iZXJcbiAgcmVzcG9uc2VDb3VudDogbnVtYmVyXG4gIHJlcGx5Q291bnQ6IG51bWJlclxuICBjcmVhdGVkQXQ6IERhdGVcbiAgdXBkYXRlZEF0OiBEYXRlXG4gIC8vIFJlbGF0aW9ucyAob3B0aW9uYWwsIHBvcHVsYXRlZCBieSBBUEkpXG4gIHVzZXI/OiBVc2VyXG4gIHNwb3Q/OiBTcG90XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9zdFJlcGx5IHtcbiAgaWQ6IHN0cmluZ1xuICBwb3N0SWQ6IHN0cmluZ1xuICB1c2VySWQ6IHN0cmluZ1xuICBjb250ZW50OiBzdHJpbmdcbiAgY3JlYXRlZEF0OiBEYXRlXG4gIHVwZGF0ZWRBdDogRGF0ZVxuICB1c2VyPzogVXNlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvc3RSZXNwb25zZSB7XG4gIGlkOiBzdHJpbmdcbiAgcG9zdElkOiBzdHJpbmdcbiAgdXNlcklkOiBzdHJpbmdcbiAgbm90ZTogc3RyaW5nIHwgbnVsbFxuICBzdGF0dXM6IFJlc3BvbnNlU3RhdHVzXG4gIGNyZWF0ZWRBdDogRGF0ZVxuICB1cGRhdGVkQXQ6IERhdGVcbiAgdXNlcj86IFVzZXJcbiAgcG9zdD86IFNwb3RQb3N0XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9zdFVwdm90ZSB7XG4gIGlkOiBzdHJpbmdcbiAgcG9zdElkOiBzdHJpbmdcbiAgdXNlcklkOiBzdHJpbmdcbiAgY3JlYXRlZEF0OiBEYXRlXG59XG5cbi8qKlxuICogUG9zdFVwdm90ZXIgLSB1c2VyIHdobyB1cHZvdGVkIGEgcG9zdCAoZnJvbSAvcG9zdHMvOmlkL3Vwdm90ZXMgZW5kcG9pbnQpXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUG9zdFVwdm90ZXIge1xuICBpZDogc3RyaW5nXG4gIHVzZXJJZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZyB8IG51bGxcbiAgYXZhdGFyVXJsOiBzdHJpbmcgfCBudWxsXG4gIGNyZWF0ZWRBdDogRGF0ZVxufVxuXG4vKipcbiAqIFBvc3RVcHZvdGVzUmVzcG9uc2UgLSByZXNwb25zZSBmcm9tIC9wb3N0cy86aWQvdXB2b3RlcyBlbmRwb2ludFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBvc3RVcHZvdGVzUmVzcG9uc2Uge1xuICBkYXRhOiBQb3N0VXB2b3RlcltdXG4gIG1ldGE6IHtcbiAgICB0b3RhbDogbnVtYmVyXG4gICAgbGltaXQ6IG51bWJlclxuICAgIG9mZnNldDogbnVtYmVyXG4gICAgaGFzTW9yZTogYm9vbGVhblxuICAgIGN1cnJlbnRVc2VyVXB2b3RlZDogYm9vbGVhblxuICAgIGlzUG9zdEF1dGhvcjogYm9vbGVhblxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9zdFJlcG9ydCB7XG4gIGlkOiBzdHJpbmdcbiAgcG9zdElkOiBzdHJpbmdcbiAgdXNlcklkOiBzdHJpbmdcbiAgcmVhc29uOiBSZXBvcnRSZWFzb25cbiAgZGV0YWlsczogc3RyaW5nIHwgbnVsbFxuICBzdGF0dXM6IFJlcG9ydFN0YXR1c1xuICBjcmVhdGVkQXQ6IERhdGVcbiAgdXBkYXRlZEF0OiBEYXRlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2x1YiB7XG4gIGlkOiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIHNsdWc6IHN0cmluZ1xuICBkZXNjcmlwdGlvbjogc3RyaW5nIHwgbnVsbFxuICBpbWFnZVVybDogc3RyaW5nIHwgbnVsbFxuICBpc1ByaXZhdGU6IGJvb2xlYW5cbiAgY3JlYXRlZEJ5SWQ6IHN0cmluZ1xuICBjcmVhdGVkQXQ6IERhdGVcbiAgdXBkYXRlZEF0OiBEYXRlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2x1Yk1lbWJlciB7XG4gIGlkOiBzdHJpbmdcbiAgY2x1YklkOiBzdHJpbmdcbiAgdXNlcklkOiBzdHJpbmdcbiAgcm9sZTogJ01FTUJFUicgfCAnQURNSU4nIHwgJ09XTkVSJ1xuICBqb2luZWRBdDogRGF0ZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnZlcnNhdGlvbiB7XG4gIGlkOiBzdHJpbmdcbiAgY3JlYXRlZEF0OiBEYXRlXG4gIHVwZGF0ZWRBdDogRGF0ZVxuICBwYXJ0aWNpcGFudHM/OiBVc2VyW11cbiAgbWVzc2FnZXM/OiBNZXNzYWdlW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlIHtcbiAgaWQ6IHN0cmluZ1xuICBjb252ZXJzYXRpb25JZDogc3RyaW5nXG4gIHNlbmRlcklkOiBzdHJpbmdcbiAgY29udGVudDogc3RyaW5nXG4gIGNyZWF0ZWRBdDogRGF0ZVxuICBzZW5kZXI/OiBVc2VyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm90aWZpY2F0aW9uIHtcbiAgaWQ6IHN0cmluZ1xuICB1c2VySWQ6IHN0cmluZ1xuICB0eXBlOiBOb3RpZmljYXRpb25UeXBlXG4gIHRpdGxlOiBzdHJpbmdcbiAgYm9keTogc3RyaW5nIHwgbnVsbFxuICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IG51bGxcbiAgaXNSZWFkOiBib29sZWFuXG4gIGNyZWF0ZWRBdDogRGF0ZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvc3RUZW1wbGF0ZSB7XG4gIGlkOiBzdHJpbmdcbiAgcG9zdFR5cGU6IFNwb3RQb3N0VHlwZVxuICBlbW9qaTogc3RyaW5nXG4gIHRpdGxlOiBzdHJpbmdcbiAgcGxhY2Vob2xkZXI6IHN0cmluZyB8IG51bGxcbiAgaXNBY3RpdmU6IGJvb2xlYW5cbiAgc29ydE9yZGVyOiBudW1iZXJcbiAgY3JlYXRlZEF0OiBEYXRlXG4gIHVwZGF0ZWRBdDogRGF0ZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZpYmUge1xuICBpZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBlbW9qaTogc3RyaW5nIHwgbnVsbFxuICBjcmVhdGVkQXQ6IERhdGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcmVzdCB7XG4gIGlkOiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIGVtb2ppOiBzdHJpbmcgfCBudWxsXG4gIGNhdGVnb3J5OiBzdHJpbmcgfCBudWxsXG4gIGNyZWF0ZWRBdDogRGF0ZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludGVudGlvbiB7XG4gIGlkOiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIGVtb2ppOiBzdHJpbmcgfCBudWxsXG4gIGNyZWF0ZWRBdDogRGF0ZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpZmVTaXR1YXRpb24ge1xuICBpZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBlbW9qaTogc3RyaW5nIHwgbnVsbFxuICBjcmVhdGVkQXQ6IERhdGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGYXZvcml0ZVNwb3Qge1xuICBpZDogc3RyaW5nXG4gIHVzZXJJZDogc3RyaW5nXG4gIHNwb3RJZDogc3RyaW5nXG4gIGNyZWF0ZWRBdDogRGF0ZVxuICBzcG90PzogU3BvdFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNwb3RJbWFnZSB7XG4gIGlkOiBzdHJpbmdcbiAgc3BvdElkOiBzdHJpbmdcbiAgdXJsOiBzdHJpbmdcbiAgY2FwdGlvbjogc3RyaW5nIHwgbnVsbFxuICBzb3J0T3JkZXI6IG51bWJlclxuICBjcmVhdGVkQXQ6IERhdGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTcG90VmliZSB7XG4gIGlkOiBzdHJpbmdcbiAgc3BvdElkOiBzdHJpbmdcbiAgdmliZUlkOiBzdHJpbmdcbiAgdmliZT86IFZpYmVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTcG90SW50ZW50aW9uIHtcbiAgaWQ6IHN0cmluZ1xuICBzcG90SWQ6IHN0cmluZ1xuICBpbnRlbnRpb25JZDogc3RyaW5nXG4gIGludGVudGlvbj86IEludGVudGlvblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNwb3RDbGFpbSB7XG4gIGlkOiBzdHJpbmdcbiAgc3BvdElkOiBzdHJpbmdcbiAgdXNlcklkOiBzdHJpbmdcbiAgc3RhdHVzOiBDbGFpbVN0YXR1c1xuICB2ZXJpZmljYXRpb25NZXRob2Q6IHN0cmluZyB8IG51bGxcbiAgY3JlYXRlZEF0OiBEYXRlXG4gIHVwZGF0ZWRBdDogRGF0ZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNwb3RTdWJzY3JpcHRpb24ge1xuICBpZDogc3RyaW5nXG4gIHNwb3RJZDogc3RyaW5nXG4gIHVzZXJJZDogc3RyaW5nXG4gIGNyZWF0ZWRBdDogRGF0ZVxuICBzcG90PzogU3BvdFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENpdHkge1xuICBpZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBjb3VudHJ5OiBzdHJpbmdcbiAgbGF0aXR1ZGU6IG51bWJlclxuICBsb25naXR1ZGU6IG51bWJlclxuICB0aW1lem9uZTogc3RyaW5nIHwgbnVsbFxuICBjcmVhdGVkQXQ6IERhdGVcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVBJIFJFU1BPTlNFIFRZUEVTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIE5PVEU6IEFwaVJlc3BvbnNlIGlzIHJlLWV4cG9ydGVkIGZyb20gQHNwb3RzL3R5cGVzIGluIHR5cGVzLnRzXG5cbi8qKlxuICogUGFnaW5hdGVkIHJlc3BvbnNlIHdpdGggbWV0YSBpbmZvcm1hdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luYXRlZFJlc3BvbnNlPFQ+IHtcbiAgZGF0YTogVFtdXG4gIG1ldGE6IFBhZ2luYXRpb25NZXRhXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFnaW5hdGlvbk1ldGEge1xuICB0b3RhbDogbnVtYmVyXG4gIHBhZ2U6IG51bWJlclxuICBsaW1pdDogbnVtYmVyXG4gIHRvdGFsUGFnZXM6IG51bWJlclxuICBoYXNOZXh0UGFnZTogYm9vbGVhblxuICBoYXNQcmV2aW91c1BhZ2U6IGJvb2xlYW5cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTUFSS0VUUExBQ0UgVFlQRVNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUgUHJvZHVjdFR5cGUgPSAnUEhZU0lDQUwnIHwgJ0RJR0lUQUwnIHwgJ1NFUlZJQ0UnIHwgJ0JVTkRMRSdcblxuZXhwb3J0IHR5cGUgUHJvZHVjdFN0YXR1cyA9ICdEUkFGVCcgfCAnQUNUSVZFJyB8ICdTT0xEX09VVCcgfCAnQVJDSElWRUQnXG5cbmV4cG9ydCB0eXBlIE9yZGVyU3RhdHVzID1cbiAgfCAnUEVORElORydcbiAgfCAnQ09ORklSTUVEJ1xuICB8ICdQUkVQQVJJTkcnXG4gIHwgJ1JFQURZJ1xuICB8ICdDT01QTEVURUQnXG4gIHwgJ0NBTkNFTExFRCdcbiAgfCAnUkVGVU5ERUQnXG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdCB7XG4gIGlkOiBzdHJpbmdcbiAgc3BvdElkOiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIHNsdWc6IHN0cmluZ1xuICBkZXNjcmlwdGlvbjogc3RyaW5nIHwgbnVsbFxuICB0eXBlOiBQcm9kdWN0VHlwZVxuICBzdGF0dXM6IFByb2R1Y3RTdGF0dXNcbiAgcHJpY2U6IG51bWJlclxuICBjdXJyZW5jeTogc3RyaW5nXG4gIGltYWdlVXJsOiBzdHJpbmcgfCBudWxsXG4gIGltYWdlczogc3RyaW5nW11cbiAgc3RvY2s6IG51bWJlciB8IG51bGxcbiAgbWF4UXVhbnRpdHk6IG51bWJlclxuICBzb3J0T3JkZXI6IG51bWJlclxuICBtZXRhZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBudWxsXG4gIGNyZWF0ZWRBdDogRGF0ZVxuICB1cGRhdGVkQXQ6IERhdGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPcmRlciB7XG4gIGlkOiBzdHJpbmdcbiAgc3BvdElkOiBzdHJpbmdcbiAgdXNlcklkOiBzdHJpbmdcbiAgc3RhdHVzOiBPcmRlclN0YXR1c1xuICBzdWJ0b3RhbDogbnVtYmVyXG4gIHRheDogbnVtYmVyXG4gIHRvdGFsOiBudW1iZXJcbiAgY3VycmVuY3k6IHN0cmluZ1xuICBub3Rlczogc3RyaW5nIHwgbnVsbFxuICBtZXRhZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBudWxsXG4gIGNyZWF0ZWRBdDogRGF0ZVxuICB1cGRhdGVkQXQ6IERhdGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPcmRlckl0ZW0ge1xuICBpZDogc3RyaW5nXG4gIG9yZGVySWQ6IHN0cmluZ1xuICBwcm9kdWN0SWQ6IHN0cmluZ1xuICBxdWFudGl0eTogbnVtYmVyXG4gIHVuaXRQcmljZTogbnVtYmVyXG4gIHRvdGFsOiBudW1iZXJcbiAgY3JlYXRlZEF0OiBEYXRlXG59XG4iXX0=
|
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
*
|
|
4
4
|
* TanStack Query hooks for club mutation operations.
|
|
5
5
|
*/
|
|
6
|
-
import { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';
|
|
7
|
-
import type
|
|
6
|
+
import { type UseMutationOptions, type UseMutationResult } from '@tanstack/react-query';
|
|
7
|
+
import { type Club } from '../types';
|
|
8
8
|
/**
|
|
9
9
|
* Create a new club
|
|
10
10
|
*
|
|
11
|
-
* @endpoint POST /
|
|
11
|
+
* @endpoint POST /clubs
|
|
12
12
|
*/
|
|
13
13
|
export declare function useCreateClub(options?: Omit<UseMutationOptions<Club, Error, {
|
|
14
14
|
spotId: string;
|
|
@@ -22,7 +22,7 @@ export declare function useCreateClub(options?: Omit<UseMutationOptions<Club, Er
|
|
|
22
22
|
/**
|
|
23
23
|
* Update a club
|
|
24
24
|
*
|
|
25
|
-
* @endpoint PUT /
|
|
25
|
+
* @endpoint PUT /clubs/{id}
|
|
26
26
|
*/
|
|
27
27
|
export declare function useUpdateClub(options?: Omit<UseMutationOptions<Club, Error, {
|
|
28
28
|
clubId: string;
|
|
@@ -36,12 +36,12 @@ export declare function useUpdateClub(options?: Omit<UseMutationOptions<Club, Er
|
|
|
36
36
|
/**
|
|
37
37
|
* Join a club
|
|
38
38
|
*
|
|
39
|
-
* @endpoint POST /
|
|
39
|
+
* @endpoint POST /clubs/{id}/join
|
|
40
40
|
*/
|
|
41
41
|
export declare function useJoinClub(options?: Omit<UseMutationOptions<void, Error, string>, 'mutationFn'>): UseMutationResult<void, Error, string>;
|
|
42
42
|
/**
|
|
43
43
|
* Leave a club
|
|
44
44
|
*
|
|
45
|
-
* @endpoint POST /
|
|
45
|
+
* @endpoint POST /clubs/{id}/leave
|
|
46
46
|
*/
|
|
47
47
|
export declare function useLeaveClub(options?: Omit<UseMutationOptions<void, Error, string>, 'mutationFn'>): UseMutationResult<void, Error, string>;
|
|
@@ -19,18 +19,20 @@ const users_1 = require("../queries/users");
|
|
|
19
19
|
/**
|
|
20
20
|
* Create a new club
|
|
21
21
|
*
|
|
22
|
-
* @endpoint POST /
|
|
22
|
+
* @endpoint POST /clubs
|
|
23
23
|
*/
|
|
24
24
|
function useCreateClub(options) {
|
|
25
25
|
const queryClient = (0, react_query_1.useQueryClient)();
|
|
26
26
|
return (0, react_query_1.useMutation)({
|
|
27
27
|
mutationFn: async (data) => {
|
|
28
28
|
const client = (0, client_1.getApiClient)();
|
|
29
|
-
const response = await client.post('/
|
|
29
|
+
const response = await client.post('/clubs', data);
|
|
30
30
|
return response.data.data;
|
|
31
31
|
},
|
|
32
32
|
onSuccess: (_, variables) => {
|
|
33
|
-
queryClient.invalidateQueries({
|
|
33
|
+
queryClient.invalidateQueries({
|
|
34
|
+
queryKey: clubs_1.clubKeys.bySpot(variables.spotId),
|
|
35
|
+
});
|
|
34
36
|
},
|
|
35
37
|
...options,
|
|
36
38
|
});
|
|
@@ -38,14 +40,14 @@ function useCreateClub(options) {
|
|
|
38
40
|
/**
|
|
39
41
|
* Update a club
|
|
40
42
|
*
|
|
41
|
-
* @endpoint PUT /
|
|
43
|
+
* @endpoint PUT /clubs/{id}
|
|
42
44
|
*/
|
|
43
45
|
function useUpdateClub(options) {
|
|
44
46
|
const queryClient = (0, react_query_1.useQueryClient)();
|
|
45
47
|
return (0, react_query_1.useMutation)({
|
|
46
48
|
mutationFn: async ({ clubId, ...data }) => {
|
|
47
49
|
const client = (0, client_1.getApiClient)();
|
|
48
|
-
const response = await client.put(`/
|
|
50
|
+
const response = await client.put(`/clubs/${clubId}`, data);
|
|
49
51
|
return response.data.data;
|
|
50
52
|
},
|
|
51
53
|
onSuccess: (data, variables) => {
|
|
@@ -57,14 +59,14 @@ function useUpdateClub(options) {
|
|
|
57
59
|
/**
|
|
58
60
|
* Join a club
|
|
59
61
|
*
|
|
60
|
-
* @endpoint POST /
|
|
62
|
+
* @endpoint POST /clubs/{id}/join
|
|
61
63
|
*/
|
|
62
64
|
function useJoinClub(options) {
|
|
63
65
|
const queryClient = (0, react_query_1.useQueryClient)();
|
|
64
66
|
return (0, react_query_1.useMutation)({
|
|
65
67
|
mutationFn: async (clubId) => {
|
|
66
68
|
const client = (0, client_1.getApiClient)();
|
|
67
|
-
await client.post(`/
|
|
69
|
+
await client.post(`/clubs/${clubId}/join`);
|
|
68
70
|
},
|
|
69
71
|
onSuccess: (_, clubId) => {
|
|
70
72
|
queryClient.invalidateQueries({ queryKey: clubs_1.clubKeys.detail(clubId) });
|
|
@@ -76,14 +78,14 @@ function useJoinClub(options) {
|
|
|
76
78
|
/**
|
|
77
79
|
* Leave a club
|
|
78
80
|
*
|
|
79
|
-
* @endpoint POST /
|
|
81
|
+
* @endpoint POST /clubs/{id}/leave
|
|
80
82
|
*/
|
|
81
83
|
function useLeaveClub(options) {
|
|
82
84
|
const queryClient = (0, react_query_1.useQueryClient)();
|
|
83
85
|
return (0, react_query_1.useMutation)({
|
|
84
86
|
mutationFn: async (clubId) => {
|
|
85
87
|
const client = (0, client_1.getApiClient)();
|
|
86
|
-
await client.post(`/
|
|
88
|
+
await client.post(`/clubs/${clubId}/leave`);
|
|
87
89
|
},
|
|
88
90
|
onSuccess: (_, clubId) => {
|
|
89
91
|
queryClient.invalidateQueries({ queryKey: clubs_1.clubKeys.detail(clubId) });
|
|
@@ -92,4 +94,4 @@ function useLeaveClub(options) {
|
|
|
92
94
|
...options,
|
|
93
95
|
});
|
|
94
96
|
}
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1YnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL211dGF0aW9ucy9jbHVicy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7R0FJRzs7QUF1Qkgsc0NBNkJDO0FBT0Qsc0NBOEJDO0FBT0Qsa0NBZ0JDO0FBT0Qsb0NBZ0JDO0FBcklELHVEQUs4QjtBQUU5QixzQ0FBc0M7QUFDdEMsNENBQXlDO0FBQ3pDLDRDQUF5QztBQUd6QywrRUFBK0U7QUFDL0UsaUJBQWlCO0FBQ2pCLCtFQUErRTtBQUUvRTs7OztHQUlHO0FBQ0gsU0FBZ0IsYUFBYSxDQUMzQixPQU9DO0lBTUQsTUFBTSxXQUFXLEdBQUcsSUFBQSw0QkFBYyxHQUFFLENBQUE7SUFFcEMsT0FBTyxJQUFBLHlCQUFXLEVBQUM7UUFDakIsVUFBVSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQWlCLEVBQUU7WUFDeEMsTUFBTSxNQUFNLEdBQUcsSUFBQSxxQkFBWSxHQUFFLENBQUE7WUFDN0IsTUFBTSxRQUFRLEdBQUcsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUFvQixRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFDckUsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQTtRQUMzQixDQUFDO1FBQ0QsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFO1lBQzFCLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDNUIsUUFBUSxFQUFFLGdCQUFRLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7YUFDNUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQztRQUNELEdBQUcsT0FBTztLQUNYLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsYUFBYSxDQUMzQixPQU9DO0lBTUQsTUFBTSxXQUFXLEdBQUcsSUFBQSw0QkFBYyxHQUFFLENBQUE7SUFFcEMsT0FBTyxJQUFBLHlCQUFXLEVBQUM7UUFDakIsVUFBVSxFQUFFLEtBQUssRUFBRSxFQUFDLE1BQU0sRUFBRSxHQUFHLElBQUksRUFBQyxFQUFpQixFQUFFO1lBQ3JELE1BQU0sTUFBTSxHQUFHLElBQUEscUJBQVksR0FBRSxDQUFBO1lBQzdCLE1BQU0sUUFBUSxHQUFHLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FDL0IsVUFBVSxNQUFNLEVBQUUsRUFDbEIsSUFBSSxDQUNMLENBQUE7WUFDRCxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFBO1FBQzNCLENBQUM7UUFDRCxTQUFTLEVBQUUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUU7WUFDN0IsV0FBVyxDQUFDLFlBQVksQ0FBQyxnQkFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDbkUsQ0FBQztRQUNELEdBQUcsT0FBTztLQUNYLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsV0FBVyxDQUN6QixPQUFxRTtJQUVyRSxNQUFNLFdBQVcsR0FBRyxJQUFBLDRCQUFjLEdBQUUsQ0FBQTtJQUVwQyxPQUFPLElBQUEseUJBQVcsRUFBQztRQUNqQixVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQWMsRUFBaUIsRUFBRTtZQUNsRCxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEdBQUUsQ0FBQTtZQUM3QixNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxNQUFNLE9BQU8sQ0FBQyxDQUFBO1FBQzVDLENBQUM7UUFDRCxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDdkIsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEVBQUMsUUFBUSxFQUFFLGdCQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFDLENBQUMsQ0FBQTtZQUNsRSxXQUFXLENBQUMsaUJBQWlCLENBQUMsRUFBQyxRQUFRLEVBQUUsZ0JBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBQyxDQUFDLENBQUE7UUFDN0QsQ0FBQztRQUNELEdBQUcsT0FBTztLQUNYLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsWUFBWSxDQUMxQixPQUFxRTtJQUVyRSxNQUFNLFdBQVcsR0FBRyxJQUFBLDRCQUFjLEdBQUUsQ0FBQTtJQUVwQyxPQUFPLElBQUEseUJBQVcsRUFBQztRQUNqQixVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQWMsRUFBaUIsRUFBRTtZQUNsRCxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEdBQUUsQ0FBQTtZQUM3QixNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxNQUFNLFFBQVEsQ0FBQyxDQUFBO1FBQzdDLENBQUM7UUFDRCxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDdkIsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEVBQUMsUUFBUSxFQUFFLGdCQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFDLENBQUMsQ0FBQTtZQUNsRSxXQUFXLENBQUMsaUJBQWlCLENBQUMsRUFBQyxRQUFRLEVBQUUsZ0JBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBQyxDQUFDLENBQUE7UUFDN0QsQ0FBQztRQUNELEdBQUcsT0FBTztLQUNYLENBQUMsQ0FBQTtBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENsdWJzIE11dGF0aW9uIEhvb2tzXG4gKlxuICogVGFuU3RhY2sgUXVlcnkgaG9va3MgZm9yIGNsdWIgbXV0YXRpb24gb3BlcmF0aW9ucy5cbiAqL1xuXG5pbXBvcnQge1xuICB1c2VNdXRhdGlvbixcbiAgdHlwZSBVc2VNdXRhdGlvbk9wdGlvbnMsXG4gIHR5cGUgVXNlTXV0YXRpb25SZXN1bHQsXG4gIHVzZVF1ZXJ5Q2xpZW50LFxufSBmcm9tICdAdGFuc3RhY2svcmVhY3QtcXVlcnknXG5cbmltcG9ydCB7Z2V0QXBpQ2xpZW50fSBmcm9tICcuLi9jbGllbnQnXG5pbXBvcnQge2NsdWJLZXlzfSBmcm9tICcuLi9xdWVyaWVzL2NsdWJzJ1xuaW1wb3J0IHt1c2VyS2V5c30gZnJvbSAnLi4vcXVlcmllcy91c2VycydcbmltcG9ydCB7dHlwZSBBcGlSZXNwb25zZSwgdHlwZSBDbHVifSBmcm9tICcuLi90eXBlcydcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTVVUQVRJT04gSE9PS1Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBDcmVhdGUgYSBuZXcgY2x1YlxuICpcbiAqIEBlbmRwb2ludCBQT1NUIC9jbHVic1xuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlQ3JlYXRlQ2x1YihcbiAgb3B0aW9ucz86IE9taXQ8XG4gICAgVXNlTXV0YXRpb25PcHRpb25zPFxuICAgICAgQ2x1YixcbiAgICAgIEVycm9yLFxuICAgICAge3Nwb3RJZDogc3RyaW5nOyBuYW1lOiBzdHJpbmc7IGRlc2NyaXB0aW9uPzogc3RyaW5nfVxuICAgID4sXG4gICAgJ211dGF0aW9uRm4nXG4gID4sXG4pOiBVc2VNdXRhdGlvblJlc3VsdDxcbiAgQ2x1YixcbiAgRXJyb3IsXG4gIHtzcG90SWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nOyBkZXNjcmlwdGlvbj86IHN0cmluZ31cbj4ge1xuICBjb25zdCBxdWVyeUNsaWVudCA9IHVzZVF1ZXJ5Q2xpZW50KClcblxuICByZXR1cm4gdXNlTXV0YXRpb24oe1xuICAgIG11dGF0aW9uRm46IGFzeW5jIChkYXRhKTogUHJvbWlzZTxDbHViPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKVxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQucG9zdDxBcGlSZXNwb25zZTxDbHViPj4oJy9jbHVicycsIGRhdGEpXG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YS5kYXRhXG4gICAgfSxcbiAgICBvblN1Y2Nlc3M6IChfLCB2YXJpYWJsZXMpID0+IHtcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHtcbiAgICAgICAgcXVlcnlLZXk6IGNsdWJLZXlzLmJ5U3BvdCh2YXJpYWJsZXMuc3BvdElkKSxcbiAgICAgIH0pXG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KVxufVxuXG4vKipcbiAqIFVwZGF0ZSBhIGNsdWJcbiAqXG4gKiBAZW5kcG9pbnQgUFVUIC9jbHVicy97aWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VVcGRhdGVDbHViKFxuICBvcHRpb25zPzogT21pdDxcbiAgICBVc2VNdXRhdGlvbk9wdGlvbnM8XG4gICAgICBDbHViLFxuICAgICAgRXJyb3IsXG4gICAgICB7Y2x1YklkOiBzdHJpbmc7IG5hbWU/OiBzdHJpbmc7IGRlc2NyaXB0aW9uPzogc3RyaW5nfVxuICAgID4sXG4gICAgJ211dGF0aW9uRm4nXG4gID4sXG4pOiBVc2VNdXRhdGlvblJlc3VsdDxcbiAgQ2x1YixcbiAgRXJyb3IsXG4gIHtjbHViSWQ6IHN0cmluZzsgbmFtZT86IHN0cmluZzsgZGVzY3JpcHRpb24/OiBzdHJpbmd9XG4+IHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCgpXG5cbiAgcmV0dXJuIHVzZU11dGF0aW9uKHtcbiAgICBtdXRhdGlvbkZuOiBhc3luYyAoe2NsdWJJZCwgLi4uZGF0YX0pOiBQcm9taXNlPENsdWI+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5wdXQ8QXBpUmVzcG9uc2U8Q2x1Yj4+KFxuICAgICAgICBgL2NsdWJzLyR7Y2x1YklkfWAsXG4gICAgICAgIGRhdGEsXG4gICAgICApXG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YS5kYXRhXG4gICAgfSxcbiAgICBvblN1Y2Nlc3M6IChkYXRhLCB2YXJpYWJsZXMpID0+IHtcbiAgICAgIHF1ZXJ5Q2xpZW50LnNldFF1ZXJ5RGF0YShjbHViS2V5cy5kZXRhaWwodmFyaWFibGVzLmNsdWJJZCksIGRhdGEpXG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KVxufVxuXG4vKipcbiAqIEpvaW4gYSBjbHViXG4gKlxuICogQGVuZHBvaW50IFBPU1QgL2NsdWJzL3tpZH0vam9pblxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlSm9pbkNsdWIoXG4gIG9wdGlvbnM/OiBPbWl0PFVzZU11dGF0aW9uT3B0aW9uczx2b2lkLCBFcnJvciwgc3RyaW5nPiwgJ211dGF0aW9uRm4nPixcbik6IFVzZU11dGF0aW9uUmVzdWx0PHZvaWQsIEVycm9yLCBzdHJpbmc+IHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCgpXG5cbiAgcmV0dXJuIHVzZU11dGF0aW9uKHtcbiAgICBtdXRhdGlvbkZuOiBhc3luYyAoY2x1YklkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpXG4gICAgICBhd2FpdCBjbGllbnQucG9zdChgL2NsdWJzLyR7Y2x1YklkfS9qb2luYClcbiAgICB9LFxuICAgIG9uU3VjY2VzczogKF8sIGNsdWJJZCkgPT4ge1xuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoe3F1ZXJ5S2V5OiBjbHViS2V5cy5kZXRhaWwoY2x1YklkKX0pXG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7cXVlcnlLZXk6IHVzZXJLZXlzLmNsdWJzKCl9KVxuICAgIH0sXG4gICAgLi4ub3B0aW9ucyxcbiAgfSlcbn1cblxuLyoqXG4gKiBMZWF2ZSBhIGNsdWJcbiAqXG4gKiBAZW5kcG9pbnQgUE9TVCAvY2x1YnMve2lkfS9sZWF2ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlTGVhdmVDbHViKFxuICBvcHRpb25zPzogT21pdDxVc2VNdXRhdGlvbk9wdGlvbnM8dm9pZCwgRXJyb3IsIHN0cmluZz4sICdtdXRhdGlvbkZuJz4sXG4pOiBVc2VNdXRhdGlvblJlc3VsdDx2b2lkLCBFcnJvciwgc3RyaW5nPiB7XG4gIGNvbnN0IHF1ZXJ5Q2xpZW50ID0gdXNlUXVlcnlDbGllbnQoKVxuXG4gIHJldHVybiB1c2VNdXRhdGlvbih7XG4gICAgbXV0YXRpb25GbjogYXN5bmMgKGNsdWJJZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKVxuICAgICAgYXdhaXQgY2xpZW50LnBvc3QoYC9jbHVicy8ke2NsdWJJZH0vbGVhdmVgKVxuICAgIH0sXG4gICAgb25TdWNjZXNzOiAoXywgY2x1YklkKSA9PiB7XG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7cXVlcnlLZXk6IGNsdWJLZXlzLmRldGFpbChjbHViSWQpfSlcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHtxdWVyeUtleTogdXNlcktleXMuY2x1YnMoKX0pXG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KVxufVxuIl19
|
|
@@ -3,18 +3,18 @@
|
|
|
3
3
|
*
|
|
4
4
|
* TanStack Query hooks for conversation/messaging mutation operations.
|
|
5
5
|
*/
|
|
6
|
-
import { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';
|
|
7
|
-
import type
|
|
6
|
+
import { type UseMutationOptions, type UseMutationResult } from '@tanstack/react-query';
|
|
7
|
+
import { type Conversation, type CreateConversationRequest, type Message, type SendMessageRequest } from '../types';
|
|
8
8
|
/**
|
|
9
9
|
* Create a new conversation
|
|
10
10
|
*
|
|
11
|
-
* @endpoint POST /
|
|
11
|
+
* @endpoint POST /conversations
|
|
12
12
|
*/
|
|
13
13
|
export declare function useCreateConversation(options?: Omit<UseMutationOptions<Conversation, Error, CreateConversationRequest>, 'mutationFn'>): UseMutationResult<Conversation, Error, CreateConversationRequest>;
|
|
14
14
|
/**
|
|
15
15
|
* Create or get direct conversation with a user
|
|
16
16
|
*
|
|
17
|
-
* @endpoint POST /
|
|
17
|
+
* @endpoint POST /conversations/direct
|
|
18
18
|
*/
|
|
19
19
|
export declare function useCreateDirectConversation(options?: Omit<UseMutationOptions<Conversation, Error, {
|
|
20
20
|
userId: string;
|
|
@@ -24,7 +24,7 @@ export declare function useCreateDirectConversation(options?: Omit<UseMutationOp
|
|
|
24
24
|
/**
|
|
25
25
|
* Send a message in a conversation
|
|
26
26
|
*
|
|
27
|
-
* @endpoint POST /
|
|
27
|
+
* @endpoint POST /conversations/{id}/messages
|
|
28
28
|
*/
|
|
29
29
|
export declare function useSendMessage(options?: Omit<UseMutationOptions<Message, Error, {
|
|
30
30
|
conversationId: string;
|
|
@@ -34,12 +34,12 @@ export declare function useSendMessage(options?: Omit<UseMutationOptions<Message
|
|
|
34
34
|
/**
|
|
35
35
|
* Mark conversation as read
|
|
36
36
|
*
|
|
37
|
-
* @endpoint PUT /
|
|
37
|
+
* @endpoint PUT /conversations/{id}/read
|
|
38
38
|
*/
|
|
39
39
|
export declare function useMarkConversationAsRead(options?: Omit<UseMutationOptions<void, Error, string>, 'mutationFn'>): UseMutationResult<void, Error, string>;
|
|
40
40
|
/**
|
|
41
41
|
* Send typing indicator
|
|
42
42
|
*
|
|
43
|
-
* @endpoint POST /
|
|
43
|
+
* @endpoint POST /conversations/{id}/typing
|
|
44
44
|
*/
|
|
45
45
|
export declare function useSendTypingIndicator(options?: Omit<UseMutationOptions<void, Error, string>, 'mutationFn'>): UseMutationResult<void, Error, string>;
|