@spotsdev/sdk 1.0.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 +12 -0
- package/dist/api/client.js +68 -0
- package/dist/api/mutations/clubs.d.ts +47 -0
- package/dist/api/mutations/clubs.js +95 -0
- package/dist/api/mutations/conversations.d.ts +45 -0
- package/dist/api/mutations/conversations.js +110 -0
- package/dist/api/mutations/index.d.ts +13 -0
- package/dist/api/mutations/index.js +38 -0
- package/dist/api/mutations/notifications.d.ts +38 -0
- package/dist/api/mutations/notifications.js +64 -0
- package/dist/api/mutations/orders.d.ts +73 -0
- package/dist/api/mutations/orders.js +116 -0
- package/dist/api/mutations/posts.d.ts +123 -0
- package/dist/api/mutations/posts.js +229 -0
- package/dist/api/mutations/products.d.ts +81 -0
- package/dist/api/mutations/products.js +102 -0
- package/dist/api/mutations/spots.d.ts +59 -0
- package/dist/api/mutations/spots.js +129 -0
- package/dist/api/mutations/users.d.ts +71 -0
- package/dist/api/mutations/users.js +173 -0
- package/dist/api/queries/auth.d.ts +37 -0
- package/dist/api/queries/auth.js +61 -0
- package/dist/api/queries/clubs.d.ts +52 -0
- package/dist/api/queries/clubs.js +116 -0
- package/dist/api/queries/conversations.d.ts +52 -0
- package/dist/api/queries/conversations.js +83 -0
- package/dist/api/queries/index.d.ts +26 -0
- package/dist/api/queries/index.js +65 -0
- package/dist/api/queries/misc.d.ts +54 -0
- package/dist/api/queries/misc.js +129 -0
- package/dist/api/queries/notifications.d.ts +34 -0
- package/dist/api/queries/notifications.js +62 -0
- package/dist/api/queries/orders.d.ts +45 -0
- package/dist/api/queries/orders.js +93 -0
- package/dist/api/queries/posts.d.ts +55 -0
- package/dist/api/queries/posts.js +130 -0
- package/dist/api/queries/products.d.ts +52 -0
- package/dist/api/queries/products.js +89 -0
- package/dist/api/queries/spots.d.ts +78 -0
- package/dist/api/queries/spots.js +168 -0
- package/dist/api/queries/templates.d.ts +42 -0
- package/dist/api/queries/templates.js +86 -0
- package/dist/api/queries/users.d.ts +90 -0
- package/dist/api/queries/users.js +187 -0
- package/dist/api/services/index.d.ts +2 -0
- package/dist/api/services/index.js +8 -0
- package/dist/api/services/marketplace.d.ts +129 -0
- package/dist/api/services/marketplace.js +168 -0
- package/dist/api/types.d.ts +54 -0
- package/dist/api/types.js +34 -0
- package/dist/index.d.ts +38 -0
- package/dist/index.js +73 -0
- package/package.json +57 -0
- package/src/api/client.ts +78 -0
- package/src/api/mutations/clubs.ts +107 -0
- package/src/api/mutations/conversations.ts +124 -0
- package/src/api/mutations/index.ts +29 -0
- package/src/api/mutations/notifications.ts +70 -0
- package/src/api/mutations/orders.ts +174 -0
- package/src/api/mutations/posts.ts +278 -0
- package/src/api/mutations/products.ts +160 -0
- package/src/api/mutations/spots.ts +146 -0
- package/src/api/mutations/users.ts +197 -0
- package/src/api/queries/auth.ts +67 -0
- package/src/api/queries/clubs.ts +135 -0
- package/src/api/queries/conversations.ts +94 -0
- package/src/api/queries/index.ts +48 -0
- package/src/api/queries/misc.ts +140 -0
- package/src/api/queries/notifications.ts +66 -0
- package/src/api/queries/orders.ts +119 -0
- package/src/api/queries/posts.ts +142 -0
- package/src/api/queries/products.ts +123 -0
- package/src/api/queries/spots.ts +201 -0
- package/src/api/queries/templates.ts +95 -0
- package/src/api/queries/users.ts +206 -0
- package/src/api/services/index.ts +6 -0
- package/src/api/services/marketplace.ts +265 -0
- package/src/api/types.ts +144 -0
- package/src/index.ts +63 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Auth Mutation Hooks
|
|
4
|
+
*
|
|
5
|
+
* TanStack Query hooks for authentication operations.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.useSendOtp = useSendOtp;
|
|
9
|
+
exports.useVerifyOtp = useVerifyOtp;
|
|
10
|
+
exports.useRefreshToken = useRefreshToken;
|
|
11
|
+
const react_query_1 = require("@tanstack/react-query");
|
|
12
|
+
const client_1 = require("../client");
|
|
13
|
+
// ============================================================================
|
|
14
|
+
// MUTATION HOOKS
|
|
15
|
+
// ============================================================================
|
|
16
|
+
/**
|
|
17
|
+
* Send OTP to phone number
|
|
18
|
+
*
|
|
19
|
+
* @endpoint POST /api/v1/auth/send-otp
|
|
20
|
+
*/
|
|
21
|
+
function useSendOtp(options) {
|
|
22
|
+
return (0, react_query_1.useMutation)({
|
|
23
|
+
mutationFn: async (data) => {
|
|
24
|
+
const client = (0, client_1.getApiClient)();
|
|
25
|
+
const response = await client.post('/api/v1/auth/send-otp', data);
|
|
26
|
+
return response.data;
|
|
27
|
+
},
|
|
28
|
+
...options,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Verify OTP and authenticate
|
|
33
|
+
*
|
|
34
|
+
* @endpoint POST /api/v1/auth/verify-otp
|
|
35
|
+
*/
|
|
36
|
+
function useVerifyOtp(options) {
|
|
37
|
+
return (0, react_query_1.useMutation)({
|
|
38
|
+
mutationFn: async (data) => {
|
|
39
|
+
const client = (0, client_1.getApiClient)();
|
|
40
|
+
const response = await client.post('/api/v1/auth/verify-otp', data);
|
|
41
|
+
return response.data;
|
|
42
|
+
},
|
|
43
|
+
...options,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Refresh access token
|
|
48
|
+
*
|
|
49
|
+
* @endpoint POST /api/v1/auth/refresh
|
|
50
|
+
*/
|
|
51
|
+
function useRefreshToken(options) {
|
|
52
|
+
return (0, react_query_1.useMutation)({
|
|
53
|
+
mutationFn: async (data) => {
|
|
54
|
+
const client = (0, client_1.getApiClient)();
|
|
55
|
+
const response = await client.post('/api/v1/auth/refresh', data);
|
|
56
|
+
return response.data;
|
|
57
|
+
},
|
|
58
|
+
...options,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvcXVlcmllcy9hdXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7OztHQUlHOztBQWVILGdDQVdDO0FBT0Qsb0NBV0M7QUFPRCwwQ0FXQztBQTVERCx1REFBMkY7QUFDM0Ysc0NBQXlDO0FBR3pDLCtFQUErRTtBQUMvRSxpQkFBaUI7QUFDakIsK0VBQStFO0FBRS9FOzs7O0dBSUc7QUFDSCxTQUFnQixVQUFVLENBQ3hCLE9BQXVHO0lBRXZHLE9BQU8sSUFBQSx5QkFBVyxFQUFDO1FBQ2pCLFVBQVUsRUFBRSxLQUFLLEVBQUUsSUFBb0IsRUFBRSxFQUFFO1lBQ3pDLE1BQU0sTUFBTSxHQUFHLElBQUEscUJBQVksR0FBRSxDQUFDO1lBQzlCLE1BQU0sUUFBUSxHQUFHLE1BQU0sTUFBTSxDQUFDLElBQUksQ0FBaUMsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDbEcsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxHQUFHLE9BQU87S0FDWCxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLFlBQVksQ0FDMUIsT0FBdUY7SUFFdkYsT0FBTyxJQUFBLHlCQUFXLEVBQUM7UUFDakIsVUFBVSxFQUFFLEtBQUssRUFBRSxJQUFzQixFQUFFLEVBQUU7WUFDM0MsTUFBTSxNQUFNLEdBQUcsSUFBQSxxQkFBWSxHQUFFLENBQUM7WUFDOUIsTUFBTSxRQUFRLEdBQUcsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUFlLHlCQUF5QixFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ2xGLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQztRQUN2QixDQUFDO1FBQ0QsR0FBRyxPQUFPO0tBQ1gsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixlQUFlLENBQzdCLE9BQTBHO0lBRTFHLE9BQU8sSUFBQSx5QkFBVyxFQUFDO1FBQ2pCLFVBQVUsRUFBRSxLQUFLLEVBQUUsSUFBOEIsRUFBRSxFQUFFO1lBQ25ELE1BQU0sTUFBTSxHQUFHLElBQUEscUJBQVksR0FBRSxDQUFDO1lBQzlCLE1BQU0sUUFBUSxHQUFHLE1BQU0sTUFBTSxDQUFDLElBQUksQ0FBMEIsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDMUYsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxHQUFHLE9BQU87S0FDWCxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBdXRoIE11dGF0aW9uIEhvb2tzXG4gKlxuICogVGFuU3RhY2sgUXVlcnkgaG9va3MgZm9yIGF1dGhlbnRpY2F0aW9uIG9wZXJhdGlvbnMuXG4gKi9cblxuaW1wb3J0IHsgdXNlTXV0YXRpb24sIFVzZU11dGF0aW9uT3B0aW9ucywgVXNlTXV0YXRpb25SZXN1bHQgfSBmcm9tICdAdGFuc3RhY2svcmVhY3QtcXVlcnknO1xuaW1wb3J0IHsgZ2V0QXBpQ2xpZW50IH0gZnJvbSAnLi4vY2xpZW50JztcbmltcG9ydCB0eXBlIHsgU2VuZE90cFJlcXVlc3QsIFZlcmlmeU90cFJlcXVlc3QsIEF1dGhSZXNwb25zZSwgQXBpUmVzcG9uc2UgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1VVEFUSU9OIEhPT0tTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogU2VuZCBPVFAgdG8gcGhvbmUgbnVtYmVyXG4gKlxuICogQGVuZHBvaW50IFBPU1QgL2FwaS92MS9hdXRoL3NlbmQtb3RwXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VTZW5kT3RwKFxuICBvcHRpb25zPzogT21pdDxVc2VNdXRhdGlvbk9wdGlvbnM8QXBpUmVzcG9uc2U8eyBzZW50OiBib29sZWFuIH0+LCBFcnJvciwgU2VuZE90cFJlcXVlc3Q+LCAnbXV0YXRpb25Gbic+XG4pOiBVc2VNdXRhdGlvblJlc3VsdDxBcGlSZXNwb25zZTx7IHNlbnQ6IGJvb2xlYW4gfT4sIEVycm9yLCBTZW5kT3RwUmVxdWVzdD4ge1xuICByZXR1cm4gdXNlTXV0YXRpb24oe1xuICAgIG11dGF0aW9uRm46IGFzeW5jIChkYXRhOiBTZW5kT3RwUmVxdWVzdCkgPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5wb3N0PEFwaVJlc3BvbnNlPHsgc2VudDogYm9vbGVhbiB9Pj4oJy9hcGkvdjEvYXV0aC9zZW5kLW90cCcsIGRhdGEpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cblxuLyoqXG4gKiBWZXJpZnkgT1RQIGFuZCBhdXRoZW50aWNhdGVcbiAqXG4gKiBAZW5kcG9pbnQgUE9TVCAvYXBpL3YxL2F1dGgvdmVyaWZ5LW90cFxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlVmVyaWZ5T3RwKFxuICBvcHRpb25zPzogT21pdDxVc2VNdXRhdGlvbk9wdGlvbnM8QXV0aFJlc3BvbnNlLCBFcnJvciwgVmVyaWZ5T3RwUmVxdWVzdD4sICdtdXRhdGlvbkZuJz5cbik6IFVzZU11dGF0aW9uUmVzdWx0PEF1dGhSZXNwb25zZSwgRXJyb3IsIFZlcmlmeU90cFJlcXVlc3Q+IHtcbiAgcmV0dXJuIHVzZU11dGF0aW9uKHtcbiAgICBtdXRhdGlvbkZuOiBhc3luYyAoZGF0YTogVmVyaWZ5T3RwUmVxdWVzdCkgPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5wb3N0PEF1dGhSZXNwb25zZT4oJy9hcGkvdjEvYXV0aC92ZXJpZnktb3RwJywgZGF0YSk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuXG4vKipcbiAqIFJlZnJlc2ggYWNjZXNzIHRva2VuXG4gKlxuICogQGVuZHBvaW50IFBPU1QgL2FwaS92MS9hdXRoL3JlZnJlc2hcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVJlZnJlc2hUb2tlbihcbiAgb3B0aW9ucz86IE9taXQ8VXNlTXV0YXRpb25PcHRpb25zPHsgYWNjZXNzVG9rZW46IHN0cmluZyB9LCBFcnJvciwgeyByZWZyZXNoVG9rZW46IHN0cmluZyB9PiwgJ211dGF0aW9uRm4nPlxuKTogVXNlTXV0YXRpb25SZXN1bHQ8eyBhY2Nlc3NUb2tlbjogc3RyaW5nIH0sIEVycm9yLCB7IHJlZnJlc2hUb2tlbjogc3RyaW5nIH0+IHtcbiAgcmV0dXJuIHVzZU11dGF0aW9uKHtcbiAgICBtdXRhdGlvbkZuOiBhc3luYyAoZGF0YTogeyByZWZyZXNoVG9rZW46IHN0cmluZyB9KSA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LnBvc3Q8eyBhY2Nlc3NUb2tlbjogc3RyaW5nIH0+KCcvYXBpL3YxL2F1dGgvcmVmcmVzaCcsIGRhdGEpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Clubs Query Hooks
|
|
3
|
+
*
|
|
4
|
+
* TanStack Query hooks for club operations.
|
|
5
|
+
*/
|
|
6
|
+
import { UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
|
|
7
|
+
import type { Club } from '../types';
|
|
8
|
+
export declare const clubKeys: {
|
|
9
|
+
all: readonly ["clubs"];
|
|
10
|
+
bySpot: (spotId: string) => readonly ["clubs", "spot", string];
|
|
11
|
+
details: () => readonly ["clubs", "detail"];
|
|
12
|
+
detail: (id: string) => readonly ["clubs", "detail", string];
|
|
13
|
+
bySlug: (slug: string) => readonly ["clubs", "slug", string];
|
|
14
|
+
byUser: (userId: string) => readonly ["clubs", "user", string];
|
|
15
|
+
membership: (clubId: string, userId: string) => readonly ["clubs", "detail", string, "membership", string];
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Get clubs for a spot
|
|
19
|
+
*
|
|
20
|
+
* @endpoint GET /api/v1/clubs/spot/{spotId}
|
|
21
|
+
*/
|
|
22
|
+
export declare function useClubsBySpot(spotId: string, options?: Omit<UseQueryOptions<Club[]>, 'queryKey' | 'queryFn'>): UseQueryResult<Club[]>;
|
|
23
|
+
/**
|
|
24
|
+
* Get a club by ID
|
|
25
|
+
*
|
|
26
|
+
* @endpoint GET /api/v1/clubs/{id}
|
|
27
|
+
*/
|
|
28
|
+
export declare function useClub(clubId: string, options?: Omit<UseQueryOptions<Club>, 'queryKey' | 'queryFn'>): UseQueryResult<Club>;
|
|
29
|
+
/**
|
|
30
|
+
* Get a club by slug
|
|
31
|
+
*
|
|
32
|
+
* @endpoint GET /api/v1/clubs/slug/{slug}
|
|
33
|
+
*/
|
|
34
|
+
export declare function useClubBySlug(slug: string, options?: Omit<UseQueryOptions<Club>, 'queryKey' | 'queryFn'>): UseQueryResult<Club>;
|
|
35
|
+
/**
|
|
36
|
+
* Get clubs for a user
|
|
37
|
+
*
|
|
38
|
+
* @endpoint GET /api/v1/clubs/user/{userId}
|
|
39
|
+
*/
|
|
40
|
+
export declare function useClubsByUser(userId: string, options?: Omit<UseQueryOptions<Club[]>, 'queryKey' | 'queryFn'>): UseQueryResult<Club[]>;
|
|
41
|
+
/**
|
|
42
|
+
* Get membership status for a user in a club
|
|
43
|
+
*
|
|
44
|
+
* @endpoint GET /api/v1/clubs/{id}/membership/{userId}
|
|
45
|
+
*/
|
|
46
|
+
export declare function useClubMembership(clubId: string, userId: string, options?: Omit<UseQueryOptions<{
|
|
47
|
+
isMember: boolean;
|
|
48
|
+
role?: string;
|
|
49
|
+
}>, 'queryKey' | 'queryFn'>): UseQueryResult<{
|
|
50
|
+
isMember: boolean;
|
|
51
|
+
role?: string;
|
|
52
|
+
}>;
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Clubs Query Hooks
|
|
4
|
+
*
|
|
5
|
+
* TanStack Query hooks for club operations.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.clubKeys = void 0;
|
|
9
|
+
exports.useClubsBySpot = useClubsBySpot;
|
|
10
|
+
exports.useClub = useClub;
|
|
11
|
+
exports.useClubBySlug = useClubBySlug;
|
|
12
|
+
exports.useClubsByUser = useClubsByUser;
|
|
13
|
+
exports.useClubMembership = useClubMembership;
|
|
14
|
+
const react_query_1 = require("@tanstack/react-query");
|
|
15
|
+
const client_1 = require("../client");
|
|
16
|
+
// ============================================================================
|
|
17
|
+
// QUERY KEYS
|
|
18
|
+
// ============================================================================
|
|
19
|
+
exports.clubKeys = {
|
|
20
|
+
all: ['clubs'],
|
|
21
|
+
bySpot: (spotId) => [...exports.clubKeys.all, 'spot', spotId],
|
|
22
|
+
details: () => [...exports.clubKeys.all, 'detail'],
|
|
23
|
+
detail: (id) => [...exports.clubKeys.details(), id],
|
|
24
|
+
bySlug: (slug) => [...exports.clubKeys.all, 'slug', slug],
|
|
25
|
+
byUser: (userId) => [...exports.clubKeys.all, 'user', userId],
|
|
26
|
+
membership: (clubId, userId) => [...exports.clubKeys.detail(clubId), 'membership', userId],
|
|
27
|
+
};
|
|
28
|
+
// ============================================================================
|
|
29
|
+
// QUERY HOOKS
|
|
30
|
+
// ============================================================================
|
|
31
|
+
/**
|
|
32
|
+
* Get clubs for a spot
|
|
33
|
+
*
|
|
34
|
+
* @endpoint GET /api/v1/clubs/spot/{spotId}
|
|
35
|
+
*/
|
|
36
|
+
function useClubsBySpot(spotId, options) {
|
|
37
|
+
return (0, react_query_1.useQuery)({
|
|
38
|
+
queryKey: exports.clubKeys.bySpot(spotId),
|
|
39
|
+
queryFn: async () => {
|
|
40
|
+
const client = (0, client_1.getApiClient)();
|
|
41
|
+
const response = await client.get(`/api/v1/clubs/spot/${spotId}`);
|
|
42
|
+
return response.data.data;
|
|
43
|
+
},
|
|
44
|
+
enabled: !!spotId,
|
|
45
|
+
...options,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Get a club by ID
|
|
50
|
+
*
|
|
51
|
+
* @endpoint GET /api/v1/clubs/{id}
|
|
52
|
+
*/
|
|
53
|
+
function useClub(clubId, options) {
|
|
54
|
+
return (0, react_query_1.useQuery)({
|
|
55
|
+
queryKey: exports.clubKeys.detail(clubId),
|
|
56
|
+
queryFn: async () => {
|
|
57
|
+
const client = (0, client_1.getApiClient)();
|
|
58
|
+
const response = await client.get(`/api/v1/clubs/${clubId}`);
|
|
59
|
+
return response.data.data;
|
|
60
|
+
},
|
|
61
|
+
enabled: !!clubId,
|
|
62
|
+
...options,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Get a club by slug
|
|
67
|
+
*
|
|
68
|
+
* @endpoint GET /api/v1/clubs/slug/{slug}
|
|
69
|
+
*/
|
|
70
|
+
function useClubBySlug(slug, options) {
|
|
71
|
+
return (0, react_query_1.useQuery)({
|
|
72
|
+
queryKey: exports.clubKeys.bySlug(slug),
|
|
73
|
+
queryFn: async () => {
|
|
74
|
+
const client = (0, client_1.getApiClient)();
|
|
75
|
+
const response = await client.get(`/api/v1/clubs/slug/${slug}`);
|
|
76
|
+
return response.data.data;
|
|
77
|
+
},
|
|
78
|
+
enabled: !!slug,
|
|
79
|
+
...options,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Get clubs for a user
|
|
84
|
+
*
|
|
85
|
+
* @endpoint GET /api/v1/clubs/user/{userId}
|
|
86
|
+
*/
|
|
87
|
+
function useClubsByUser(userId, options) {
|
|
88
|
+
return (0, react_query_1.useQuery)({
|
|
89
|
+
queryKey: exports.clubKeys.byUser(userId),
|
|
90
|
+
queryFn: async () => {
|
|
91
|
+
const client = (0, client_1.getApiClient)();
|
|
92
|
+
const response = await client.get(`/api/v1/clubs/user/${userId}`);
|
|
93
|
+
return response.data.data;
|
|
94
|
+
},
|
|
95
|
+
enabled: !!userId,
|
|
96
|
+
...options,
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Get membership status for a user in a club
|
|
101
|
+
*
|
|
102
|
+
* @endpoint GET /api/v1/clubs/{id}/membership/{userId}
|
|
103
|
+
*/
|
|
104
|
+
function useClubMembership(clubId, userId, options) {
|
|
105
|
+
return (0, react_query_1.useQuery)({
|
|
106
|
+
queryKey: exports.clubKeys.membership(clubId, userId),
|
|
107
|
+
queryFn: async () => {
|
|
108
|
+
const client = (0, client_1.getApiClient)();
|
|
109
|
+
const response = await client.get(`/api/v1/clubs/${clubId}/membership/${userId}`);
|
|
110
|
+
return response.data.data;
|
|
111
|
+
},
|
|
112
|
+
enabled: !!clubId && !!userId,
|
|
113
|
+
...options,
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1YnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3F1ZXJpZXMvY2x1YnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7O0dBSUc7OztBQTZCSCx3Q0FjQztBQU9ELDBCQWNDO0FBT0Qsc0NBY0M7QUFPRCx3Q0FjQztBQU9ELDhDQWlCQztBQWhJRCx1REFBa0Y7QUFDbEYsc0NBQXlDO0FBR3pDLCtFQUErRTtBQUMvRSxhQUFhO0FBQ2IsK0VBQStFO0FBRWxFLFFBQUEsUUFBUSxHQUFHO0lBQ3RCLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBVTtJQUN2QixNQUFNLEVBQUUsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxnQkFBUSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFVO0lBQ3RFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsZ0JBQVEsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFVO0lBQ25ELE1BQU0sRUFBRSxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLGdCQUFRLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFVO0lBQzVELE1BQU0sRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLGdCQUFRLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQVU7SUFDbEUsTUFBTSxFQUFFLENBQUMsTUFBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsZ0JBQVEsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBVTtJQUN0RSxVQUFVLEVBQUUsQ0FBQyxNQUFjLEVBQUUsTUFBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsZ0JBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsWUFBWSxFQUFFLE1BQU0sQ0FBVTtDQUM1RyxDQUFDO0FBRUYsK0VBQStFO0FBQy9FLGNBQWM7QUFDZCwrRUFB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QztZQUM5QixNQUFNLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQy9CLGlCQUFpQixNQUFNLGVBQWUsTUFBTSxFQUFFLENBQy9DLENBQUM7WUFDRixPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzVCLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsTUFBTTtRQUM3QixHQUFHLE9BQU87S0FDWCxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDbHVicyBRdWVyeSBIb29rc1xuICpcbiAqIFRhblN0YWNrIFF1ZXJ5IGhvb2tzIGZvciBjbHViIG9wZXJhdGlvbnMuXG4gKi9cblxuaW1wb3J0IHsgdXNlUXVlcnksIFVzZVF1ZXJ5T3B0aW9ucywgVXNlUXVlcnlSZXN1bHQgfSBmcm9tICdAdGFuc3RhY2svcmVhY3QtcXVlcnknO1xuaW1wb3J0IHsgZ2V0QXBpQ2xpZW50IH0gZnJvbSAnLi4vY2xpZW50JztcbmltcG9ydCB0eXBlIHsgQ2x1YiwgQXBpUmVzcG9uc2UgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFFVRVJZIEtFWVNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IGNvbnN0IGNsdWJLZXlzID0ge1xuICBhbGw6IFsnY2x1YnMnXSBhcyBjb25zdCxcbiAgYnlTcG90OiAoc3BvdElkOiBzdHJpbmcpID0+IFsuLi5jbHViS2V5cy5hbGwsICdzcG90Jywgc3BvdElkXSBhcyBjb25zdCxcbiAgZGV0YWlsczogKCkgPT4gWy4uLmNsdWJLZXlzLmFsbCwgJ2RldGFpbCddIGFzIGNvbnN0LFxuICBkZXRhaWw6IChpZDogc3RyaW5nKSA9PiBbLi4uY2x1YktleXMuZGV0YWlscygpLCBpZF0gYXMgY29uc3QsXG4gIGJ5U2x1ZzogKHNsdWc6IHN0cmluZykgPT4gWy4uLmNsdWJLZXlzLmFsbCwgJ3NsdWcnLCBzbHVnXSBhcyBjb25zdCxcbiAgYnlVc2VyOiAodXNlcklkOiBzdHJpbmcpID0+IFsuLi5jbHViS2V5cy5hbGwsICd1c2VyJywgdXNlcklkXSBhcyBjb25zdCxcbiAgbWVtYmVyc2hpcDogKGNsdWJJZDogc3RyaW5nLCB1c2VySWQ6IHN0cmluZykgPT4gWy4uLmNsdWJLZXlzLmRldGFpbChjbHViSWQpLCAnbWVtYmVyc2hpcCcsIHVzZXJJZF0gYXMgY29uc3QsXG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBRVUVSWSBIT09LU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEdldCBjbHVicyBmb3IgYSBzcG90XG4gKlxuICogQGVuZHBvaW50IEdFVCAvYXBpL3YxL2NsdWJzL3Nwb3Qve3Nwb3RJZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUNsdWJzQnlTcG90KFxuICBzcG90SWQ6IHN0cmluZyxcbiAgb3B0aW9ucz86IE9taXQ8VXNlUXVlcnlPcHRpb25zPENsdWJbXT4sICdxdWVyeUtleScgfCAncXVlcnlGbic+XG4pOiBVc2VRdWVyeVJlc3VsdDxDbHViW10+IHtcbiAgcmV0dXJuIHVzZVF1ZXJ5KHtcbiAgICBxdWVyeUtleTogY2x1YktleXMuYnlTcG90KHNwb3RJZCksXG4gICAgcXVlcnlGbjogYXN5bmMgKCk6IFByb21pc2U8Q2x1YltdPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LmdldDxBcGlSZXNwb25zZTxDbHViW10+PihgL2FwaS92MS9jbHVicy9zcG90LyR7c3BvdElkfWApO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEuZGF0YTtcbiAgICB9LFxuICAgIGVuYWJsZWQ6ICEhc3BvdElkLFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuXG4vKipcbiAqIEdldCBhIGNsdWIgYnkgSURcbiAqXG4gKiBAZW5kcG9pbnQgR0VUIC9hcGkvdjEvY2x1YnMve2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlQ2x1YihcbiAgY2x1YklkOiBzdHJpbmcsXG4gIG9wdGlvbnM/OiBPbWl0PFVzZVF1ZXJ5T3B0aW9uczxDbHViPiwgJ3F1ZXJ5S2V5JyB8ICdxdWVyeUZuJz5cbik6IFVzZVF1ZXJ5UmVzdWx0PENsdWI+IHtcbiAgcmV0dXJuIHVzZVF1ZXJ5KHtcbiAgICBxdWVyeUtleTogY2x1YktleXMuZGV0YWlsKGNsdWJJZCksXG4gICAgcXVlcnlGbjogYXN5bmMgKCk6IFByb21pc2U8Q2x1Yj4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5nZXQ8QXBpUmVzcG9uc2U8Q2x1Yj4+KGAvYXBpL3YxL2NsdWJzLyR7Y2x1YklkfWApO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEuZGF0YTtcbiAgICB9LFxuICAgIGVuYWJsZWQ6ICEhY2x1YklkLFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuXG4vKipcbiAqIEdldCBhIGNsdWIgYnkgc2x1Z1xuICpcbiAqIEBlbmRwb2ludCBHRVQgL2FwaS92MS9jbHVicy9zbHVnL3tzbHVnfVxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlQ2x1YkJ5U2x1ZyhcbiAgc2x1Zzogc3RyaW5nLFxuICBvcHRpb25zPzogT21pdDxVc2VRdWVyeU9wdGlvbnM8Q2x1Yj4sICdxdWVyeUtleScgfCAncXVlcnlGbic+XG4pOiBVc2VRdWVyeVJlc3VsdDxDbHViPiB7XG4gIHJldHVybiB1c2VRdWVyeSh7XG4gICAgcXVlcnlLZXk6IGNsdWJLZXlzLmJ5U2x1ZyhzbHVnKSxcbiAgICBxdWVyeUZuOiBhc3luYyAoKTogUHJvbWlzZTxDbHViPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LmdldDxBcGlSZXNwb25zZTxDbHViPj4oYC9hcGkvdjEvY2x1YnMvc2x1Zy8ke3NsdWd9YCk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YS5kYXRhO1xuICAgIH0sXG4gICAgZW5hYmxlZDogISFzbHVnLFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuXG4vKipcbiAqIEdldCBjbHVicyBmb3IgYSB1c2VyXG4gKlxuICogQGVuZHBvaW50IEdFVCAvYXBpL3YxL2NsdWJzL3VzZXIve3VzZXJJZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUNsdWJzQnlVc2VyKFxuICB1c2VySWQ6IHN0cmluZyxcbiAgb3B0aW9ucz86IE9taXQ8VXNlUXVlcnlPcHRpb25zPENsdWJbXT4sICdxdWVyeUtleScgfCAncXVlcnlGbic+XG4pOiBVc2VRdWVyeVJlc3VsdDxDbHViW10+IHtcbiAgcmV0dXJuIHVzZVF1ZXJ5KHtcbiAgICBxdWVyeUtleTogY2x1YktleXMuYnlVc2VyKHVzZXJJZCksXG4gICAgcXVlcnlGbjogYXN5bmMgKCk6IFByb21pc2U8Q2x1YltdPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LmdldDxBcGlSZXNwb25zZTxDbHViW10+PihgL2FwaS92MS9jbHVicy91c2VyLyR7dXNlcklkfWApO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEuZGF0YTtcbiAgICB9LFxuICAgIGVuYWJsZWQ6ICEhdXNlcklkLFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuXG4vKipcbiAqIEdldCBtZW1iZXJzaGlwIHN0YXR1cyBmb3IgYSB1c2VyIGluIGEgY2x1YlxuICpcbiAqIEBlbmRwb2ludCBHRVQgL2FwaS92MS9jbHVicy97aWR9L21lbWJlcnNoaXAve3VzZXJJZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUNsdWJNZW1iZXJzaGlwKFxuICBjbHViSWQ6IHN0cmluZyxcbiAgdXNlcklkOiBzdHJpbmcsXG4gIG9wdGlvbnM/OiBPbWl0PFVzZVF1ZXJ5T3B0aW9uczx7IGlzTWVtYmVyOiBib29sZWFuOyByb2xlPzogc3RyaW5nIH0+LCAncXVlcnlLZXknIHwgJ3F1ZXJ5Rm4nPlxuKTogVXNlUXVlcnlSZXN1bHQ8eyBpc01lbWJlcjogYm9vbGVhbjsgcm9sZT86IHN0cmluZyB9PiB7XG4gIHJldHVybiB1c2VRdWVyeSh7XG4gICAgcXVlcnlLZXk6IGNsdWJLZXlzLm1lbWJlcnNoaXAoY2x1YklkLCB1c2VySWQpLFxuICAgIHF1ZXJ5Rm46IGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQuZ2V0PEFwaVJlc3BvbnNlPHsgaXNNZW1iZXI6IGJvb2xlYW47IHJvbGU/OiBzdHJpbmcgfT4+KFxuICAgICAgICBgL2FwaS92MS9jbHVicy8ke2NsdWJJZH0vbWVtYmVyc2hpcC8ke3VzZXJJZH1gXG4gICAgICApO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEuZGF0YTtcbiAgICB9LFxuICAgIGVuYWJsZWQ6ICEhY2x1YklkICYmICEhdXNlcklkLFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuIl19
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Conversations Query Hooks
|
|
3
|
+
*
|
|
4
|
+
* TanStack Query hooks for conversation/messaging operations.
|
|
5
|
+
*/
|
|
6
|
+
import { UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
|
|
7
|
+
import type { Conversation, Message } from '../types';
|
|
8
|
+
export declare const conversationKeys: {
|
|
9
|
+
all: readonly ["conversations"];
|
|
10
|
+
lists: () => readonly ["conversations", "list"];
|
|
11
|
+
list: () => readonly ["conversations", "list"];
|
|
12
|
+
details: () => readonly ["conversations", "detail"];
|
|
13
|
+
detail: (id: string) => readonly ["conversations", "detail", string];
|
|
14
|
+
messages: (conversationId: string, params?: {
|
|
15
|
+
before?: string;
|
|
16
|
+
}) => readonly ["conversations", "detail", string, "messages", {
|
|
17
|
+
before?: string;
|
|
18
|
+
} | undefined];
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Get all conversations for current user
|
|
22
|
+
*
|
|
23
|
+
* @endpoint GET /api/v1/conversations
|
|
24
|
+
*/
|
|
25
|
+
export declare function useConversations(options?: Omit<UseQueryOptions<Conversation[]>, 'queryKey' | 'queryFn'>): UseQueryResult<Conversation[]>;
|
|
26
|
+
/**
|
|
27
|
+
* Get a single conversation with details
|
|
28
|
+
*
|
|
29
|
+
* @endpoint GET /api/v1/conversations/{id}
|
|
30
|
+
*/
|
|
31
|
+
export declare function useConversation(conversationId: string, options?: Omit<UseQueryOptions<Conversation>, 'queryKey' | 'queryFn'>): UseQueryResult<Conversation>;
|
|
32
|
+
/**
|
|
33
|
+
* Get messages for a conversation
|
|
34
|
+
*
|
|
35
|
+
* @endpoint GET /api/v1/conversations/{id}/messages
|
|
36
|
+
*/
|
|
37
|
+
export declare function useConversationMessages(conversationId: string, params?: {
|
|
38
|
+
limit?: number;
|
|
39
|
+
before?: string;
|
|
40
|
+
}, options?: Omit<UseQueryOptions<{
|
|
41
|
+
data: Message[];
|
|
42
|
+
meta: {
|
|
43
|
+
hasMore: boolean;
|
|
44
|
+
oldestMessageAt: string | null;
|
|
45
|
+
};
|
|
46
|
+
}>, 'queryKey' | 'queryFn'>): UseQueryResult<{
|
|
47
|
+
data: Message[];
|
|
48
|
+
meta: {
|
|
49
|
+
hasMore: boolean;
|
|
50
|
+
oldestMessageAt: string | null;
|
|
51
|
+
};
|
|
52
|
+
}>;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Conversations Query Hooks
|
|
4
|
+
*
|
|
5
|
+
* TanStack Query hooks for conversation/messaging operations.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.conversationKeys = void 0;
|
|
9
|
+
exports.useConversations = useConversations;
|
|
10
|
+
exports.useConversation = useConversation;
|
|
11
|
+
exports.useConversationMessages = useConversationMessages;
|
|
12
|
+
const react_query_1 = require("@tanstack/react-query");
|
|
13
|
+
const client_1 = require("../client");
|
|
14
|
+
// ============================================================================
|
|
15
|
+
// QUERY KEYS
|
|
16
|
+
// ============================================================================
|
|
17
|
+
exports.conversationKeys = {
|
|
18
|
+
all: ['conversations'],
|
|
19
|
+
lists: () => [...exports.conversationKeys.all, 'list'],
|
|
20
|
+
list: () => [...exports.conversationKeys.lists()],
|
|
21
|
+
details: () => [...exports.conversationKeys.all, 'detail'],
|
|
22
|
+
detail: (id) => [...exports.conversationKeys.details(), id],
|
|
23
|
+
messages: (conversationId, params) => [...exports.conversationKeys.detail(conversationId), 'messages', params],
|
|
24
|
+
};
|
|
25
|
+
// ============================================================================
|
|
26
|
+
// QUERY HOOKS
|
|
27
|
+
// ============================================================================
|
|
28
|
+
/**
|
|
29
|
+
* Get all conversations for current user
|
|
30
|
+
*
|
|
31
|
+
* @endpoint GET /api/v1/conversations
|
|
32
|
+
*/
|
|
33
|
+
function useConversations(options) {
|
|
34
|
+
return (0, react_query_1.useQuery)({
|
|
35
|
+
queryKey: exports.conversationKeys.list(),
|
|
36
|
+
queryFn: async () => {
|
|
37
|
+
const client = (0, client_1.getApiClient)();
|
|
38
|
+
const response = await client.get('/api/v1/conversations');
|
|
39
|
+
return response.data.data;
|
|
40
|
+
},
|
|
41
|
+
...options,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Get a single conversation with details
|
|
46
|
+
*
|
|
47
|
+
* @endpoint GET /api/v1/conversations/{id}
|
|
48
|
+
*/
|
|
49
|
+
function useConversation(conversationId, options) {
|
|
50
|
+
return (0, react_query_1.useQuery)({
|
|
51
|
+
queryKey: exports.conversationKeys.detail(conversationId),
|
|
52
|
+
queryFn: async () => {
|
|
53
|
+
const client = (0, client_1.getApiClient)();
|
|
54
|
+
const response = await client.get(`/api/v1/conversations/${conversationId}`);
|
|
55
|
+
return response.data.data;
|
|
56
|
+
},
|
|
57
|
+
enabled: !!conversationId,
|
|
58
|
+
...options,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Get messages for a conversation
|
|
63
|
+
*
|
|
64
|
+
* @endpoint GET /api/v1/conversations/{id}/messages
|
|
65
|
+
*/
|
|
66
|
+
function useConversationMessages(conversationId, params, options) {
|
|
67
|
+
return (0, react_query_1.useQuery)({
|
|
68
|
+
queryKey: exports.conversationKeys.messages(conversationId, params),
|
|
69
|
+
queryFn: async () => {
|
|
70
|
+
const client = (0, client_1.getApiClient)();
|
|
71
|
+
const queryParams = new URLSearchParams();
|
|
72
|
+
if (params?.limit)
|
|
73
|
+
queryParams.set('limit', String(params.limit));
|
|
74
|
+
if (params?.before)
|
|
75
|
+
queryParams.set('before', params.before);
|
|
76
|
+
const response = await client.get(`/api/v1/conversations/${conversationId}/messages?${queryParams}`);
|
|
77
|
+
return response.data;
|
|
78
|
+
},
|
|
79
|
+
enabled: !!conversationId,
|
|
80
|
+
...options,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvcXVlcmllcy9jb252ZXJzYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7OztHQUlHOzs7QUE2QkgsNENBWUM7QUFPRCwwQ0FjQztBQU9ELDBEQW9CQztBQXZGRCx1REFBa0Y7QUFDbEYsc0NBQXlDO0FBR3pDLCtFQUErRTtBQUMvRSxhQUFhO0FBQ2IsK0VBQStFO0FBRWxFLFFBQUEsZ0JBQWdCLEdBQUc7SUFDOUIsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFVO0lBQy9CLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsd0JBQWdCLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBVTtJQUN2RCxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLHdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFVO0lBQ2xELE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsd0JBQWdCLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBVTtJQUMzRCxNQUFNLEVBQUUsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyx3QkFBZ0IsQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQVU7SUFDcEUsUUFBUSxFQUFFLENBQUMsY0FBc0IsRUFBRSxNQUE0QixFQUFFLEVBQUUsQ0FDakUsQ0FBQyxHQUFHLHdCQUFnQixDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFVO0NBQzVFLENBQUM7QUFFRiwrRUFBK0U7QUFDL0UsY0FBYztBQUNkLCtFQUErRTtBQUUvRTs7OztHQUlHO0FBQ0gsU0FBZ0IsZ0JBQWdCLENBQzlCLE9BQXVFO0lBRXZFLE9BQU8sSUFBQSxzQkFBUSxFQUFDO1FBQ2QsUUFBUSxFQUFFLHdCQUFnQixDQUFDLElBQUksRUFBRTtRQUNqQyxPQUFPLEVBQUUsS0FBSyxJQUE2QixFQUFFO1lBQzNDLE1BQU0sTUFBTSxHQUFHLElBQUEscUJBQVksR0FBRSxDQUFDO1lBQzlCLE1BQU0sUUFBUSxHQUFHLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBOEIsdUJBQXVCLENBQUMsQ0FBQztZQUN4RixPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzVCLENBQUM7UUFDRCxHQUFHLE9BQU87S0FDWCxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLGVBQWUsQ0FDN0IsY0FBc0IsRUFDdEIsT0FBcUU7SUFFckUsT0FBTyxJQUFBLHNCQUFRLEVBQUM7UUFDZCxRQUFRLEVBQUUsd0JBQWdCLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQztRQUNqRCxPQUFPLEVBQUUsS0FBSyxJQUEyQixFQUFFO1lBQ3pDLE1BQU0sTUFBTSxHQUFHLElBQUEscUJBQVksR0FBRSxDQUFDO1lBQzlCLE1BQU0sUUFBUSxHQUFHLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBNEIseUJBQXlCLGNBQWMsRUFBRSxDQUFDLENBQUM7WUFDeEcsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUM1QixDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUMsQ0FBQyxjQUFjO1FBQ3pCLEdBQUcsT0FBTztLQUNYLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsdUJBQXVCLENBQ3JDLGNBQXNCLEVBQ3RCLE1BQTRDLEVBQzVDLE9BQXdJO0lBRXhJLE9BQU8sSUFBQSxzQkFBUSxFQUFDO1FBQ2QsUUFBUSxFQUFFLHdCQUFnQixDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDO1FBQzNELE9BQU8sRUFBRSxLQUFLLElBQUksRUFBRTtZQUNsQixNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEdBQUUsQ0FBQztZQUM5QixNQUFNLFdBQVcsR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQzFDLElBQUksTUFBTSxFQUFFLEtBQUs7Z0JBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ2xFLElBQUksTUFBTSxFQUFFLE1BQU07Z0JBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzdELE1BQU0sUUFBUSxHQUFHLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FDL0IseUJBQXlCLGNBQWMsYUFBYSxXQUFXLEVBQUUsQ0FDbEUsQ0FBQztZQUNGLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQztRQUN2QixDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUMsQ0FBQyxjQUFjO1FBQ3pCLEdBQUcsT0FBTztLQUNYLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbnZlcnNhdGlvbnMgUXVlcnkgSG9va3NcbiAqXG4gKiBUYW5TdGFjayBRdWVyeSBob29rcyBmb3IgY29udmVyc2F0aW9uL21lc3NhZ2luZyBvcGVyYXRpb25zLlxuICovXG5cbmltcG9ydCB7IHVzZVF1ZXJ5LCBVc2VRdWVyeU9wdGlvbnMsIFVzZVF1ZXJ5UmVzdWx0IH0gZnJvbSAnQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5JztcbmltcG9ydCB7IGdldEFwaUNsaWVudCB9IGZyb20gJy4uL2NsaWVudCc7XG5pbXBvcnQgdHlwZSB7IENvbnZlcnNhdGlvbiwgTWVzc2FnZSwgQXBpUmVzcG9uc2UgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFFVRVJZIEtFWVNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IGNvbnN0IGNvbnZlcnNhdGlvbktleXMgPSB7XG4gIGFsbDogWydjb252ZXJzYXRpb25zJ10gYXMgY29uc3QsXG4gIGxpc3RzOiAoKSA9PiBbLi4uY29udmVyc2F0aW9uS2V5cy5hbGwsICdsaXN0J10gYXMgY29uc3QsXG4gIGxpc3Q6ICgpID0+IFsuLi5jb252ZXJzYXRpb25LZXlzLmxpc3RzKCldIGFzIGNvbnN0LFxuICBkZXRhaWxzOiAoKSA9PiBbLi4uY29udmVyc2F0aW9uS2V5cy5hbGwsICdkZXRhaWwnXSBhcyBjb25zdCxcbiAgZGV0YWlsOiAoaWQ6IHN0cmluZykgPT4gWy4uLmNvbnZlcnNhdGlvbktleXMuZGV0YWlscygpLCBpZF0gYXMgY29uc3QsXG4gIG1lc3NhZ2VzOiAoY29udmVyc2F0aW9uSWQ6IHN0cmluZywgcGFyYW1zPzogeyBiZWZvcmU/OiBzdHJpbmcgfSkgPT5cbiAgICBbLi4uY29udmVyc2F0aW9uS2V5cy5kZXRhaWwoY29udmVyc2F0aW9uSWQpLCAnbWVzc2FnZXMnLCBwYXJhbXNdIGFzIGNvbnN0LFxufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUVVFUlkgSE9PS1Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBHZXQgYWxsIGNvbnZlcnNhdGlvbnMgZm9yIGN1cnJlbnQgdXNlclxuICpcbiAqIEBlbmRwb2ludCBHRVQgL2FwaS92MS9jb252ZXJzYXRpb25zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VDb252ZXJzYXRpb25zKFxuICBvcHRpb25zPzogT21pdDxVc2VRdWVyeU9wdGlvbnM8Q29udmVyc2F0aW9uW10+LCAncXVlcnlLZXknIHwgJ3F1ZXJ5Rm4nPlxuKTogVXNlUXVlcnlSZXN1bHQ8Q29udmVyc2F0aW9uW10+IHtcbiAgcmV0dXJuIHVzZVF1ZXJ5KHtcbiAgICBxdWVyeUtleTogY29udmVyc2F0aW9uS2V5cy5saXN0KCksXG4gICAgcXVlcnlGbjogYXN5bmMgKCk6IFByb21pc2U8Q29udmVyc2F0aW9uW10+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQuZ2V0PEFwaVJlc3BvbnNlPENvbnZlcnNhdGlvbltdPj4oJy9hcGkvdjEvY29udmVyc2F0aW9ucycpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEuZGF0YTtcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuXG4vKipcbiAqIEdldCBhIHNpbmdsZSBjb252ZXJzYXRpb24gd2l0aCBkZXRhaWxzXG4gKlxuICogQGVuZHBvaW50IEdFVCAvYXBpL3YxL2NvbnZlcnNhdGlvbnMve2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlQ29udmVyc2F0aW9uKFxuICBjb252ZXJzYXRpb25JZDogc3RyaW5nLFxuICBvcHRpb25zPzogT21pdDxVc2VRdWVyeU9wdGlvbnM8Q29udmVyc2F0aW9uPiwgJ3F1ZXJ5S2V5JyB8ICdxdWVyeUZuJz5cbik6IFVzZVF1ZXJ5UmVzdWx0PENvbnZlcnNhdGlvbj4ge1xuICByZXR1cm4gdXNlUXVlcnkoe1xuICAgIHF1ZXJ5S2V5OiBjb252ZXJzYXRpb25LZXlzLmRldGFpbChjb252ZXJzYXRpb25JZCksXG4gICAgcXVlcnlGbjogYXN5bmMgKCk6IFByb21pc2U8Q29udmVyc2F0aW9uPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LmdldDxBcGlSZXNwb25zZTxDb252ZXJzYXRpb24+PihgL2FwaS92MS9jb252ZXJzYXRpb25zLyR7Y29udmVyc2F0aW9uSWR9YCk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YS5kYXRhO1xuICAgIH0sXG4gICAgZW5hYmxlZDogISFjb252ZXJzYXRpb25JZCxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cblxuLyoqXG4gKiBHZXQgbWVzc2FnZXMgZm9yIGEgY29udmVyc2F0aW9uXG4gKlxuICogQGVuZHBvaW50IEdFVCAvYXBpL3YxL2NvbnZlcnNhdGlvbnMve2lkfS9tZXNzYWdlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlQ29udmVyc2F0aW9uTWVzc2FnZXMoXG4gIGNvbnZlcnNhdGlvbklkOiBzdHJpbmcsXG4gIHBhcmFtcz86IHsgbGltaXQ/OiBudW1iZXI7IGJlZm9yZT86IHN0cmluZyB9LFxuICBvcHRpb25zPzogT21pdDxVc2VRdWVyeU9wdGlvbnM8eyBkYXRhOiBNZXNzYWdlW107IG1ldGE6IHsgaGFzTW9yZTogYm9vbGVhbjsgb2xkZXN0TWVzc2FnZUF0OiBzdHJpbmcgfCBudWxsIH0gfT4sICdxdWVyeUtleScgfCAncXVlcnlGbic+XG4pOiBVc2VRdWVyeVJlc3VsdDx7IGRhdGE6IE1lc3NhZ2VbXTsgbWV0YTogeyBoYXNNb3JlOiBib29sZWFuOyBvbGRlc3RNZXNzYWdlQXQ6IHN0cmluZyB8IG51bGwgfSB9PiB7XG4gIHJldHVybiB1c2VRdWVyeSh7XG4gICAgcXVlcnlLZXk6IGNvbnZlcnNhdGlvbktleXMubWVzc2FnZXMoY29udmVyc2F0aW9uSWQsIHBhcmFtcyksXG4gICAgcXVlcnlGbjogYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KCk7XG4gICAgICBjb25zdCBxdWVyeVBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKTtcbiAgICAgIGlmIChwYXJhbXM/LmxpbWl0KSBxdWVyeVBhcmFtcy5zZXQoJ2xpbWl0JywgU3RyaW5nKHBhcmFtcy5saW1pdCkpO1xuICAgICAgaWYgKHBhcmFtcz8uYmVmb3JlKSBxdWVyeVBhcmFtcy5zZXQoJ2JlZm9yZScsIHBhcmFtcy5iZWZvcmUpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQuZ2V0PHsgZGF0YTogTWVzc2FnZVtdOyBtZXRhOiB7IGhhc01vcmU6IGJvb2xlYW47IG9sZGVzdE1lc3NhZ2VBdDogc3RyaW5nIHwgbnVsbCB9IH0+KFxuICAgICAgICBgL2FwaS92MS9jb252ZXJzYXRpb25zLyR7Y29udmVyc2F0aW9uSWR9L21lc3NhZ2VzPyR7cXVlcnlQYXJhbXN9YFxuICAgICAgKTtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH0sXG4gICAgZW5hYmxlZDogISFjb252ZXJzYXRpb25JZCxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Spots SDK Query Hooks Index
|
|
3
|
+
*
|
|
4
|
+
* Re-exports all query hooks and keys.
|
|
5
|
+
*/
|
|
6
|
+
export * from './auth';
|
|
7
|
+
export * from './users';
|
|
8
|
+
export { userKeys } from './users';
|
|
9
|
+
export * from './spots';
|
|
10
|
+
export { spotKeys } from './spots';
|
|
11
|
+
export * from './posts';
|
|
12
|
+
export { postKeys } from './posts';
|
|
13
|
+
export * from './conversations';
|
|
14
|
+
export { conversationKeys } from './conversations';
|
|
15
|
+
export * from './clubs';
|
|
16
|
+
export { clubKeys } from './clubs';
|
|
17
|
+
export * from './templates';
|
|
18
|
+
export { templateKeys } from './templates';
|
|
19
|
+
export * from './notifications';
|
|
20
|
+
export { notificationKeys } from './notifications';
|
|
21
|
+
export * from './misc';
|
|
22
|
+
export { miscKeys } from './misc';
|
|
23
|
+
export * from './products';
|
|
24
|
+
export { productKeys } from './products';
|
|
25
|
+
export * from './orders';
|
|
26
|
+
export { orderKeys } from './orders';
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Spots SDK Query Hooks Index
|
|
4
|
+
*
|
|
5
|
+
* Re-exports all query hooks and keys.
|
|
6
|
+
*/
|
|
7
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
+
if (k2 === undefined) k2 = k;
|
|
9
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
+
}
|
|
13
|
+
Object.defineProperty(o, k2, desc);
|
|
14
|
+
}) : (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
o[k2] = m[k];
|
|
17
|
+
}));
|
|
18
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
19
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.orderKeys = exports.productKeys = exports.miscKeys = exports.notificationKeys = exports.templateKeys = exports.clubKeys = exports.conversationKeys = exports.postKeys = exports.spotKeys = exports.userKeys = void 0;
|
|
23
|
+
// Auth (mutations, but grouped with queries for convenience)
|
|
24
|
+
__exportStar(require("./auth"), exports);
|
|
25
|
+
// Users
|
|
26
|
+
__exportStar(require("./users"), exports);
|
|
27
|
+
var users_1 = require("./users");
|
|
28
|
+
Object.defineProperty(exports, "userKeys", { enumerable: true, get: function () { return users_1.userKeys; } });
|
|
29
|
+
// Spots
|
|
30
|
+
__exportStar(require("./spots"), exports);
|
|
31
|
+
var spots_1 = require("./spots");
|
|
32
|
+
Object.defineProperty(exports, "spotKeys", { enumerable: true, get: function () { return spots_1.spotKeys; } });
|
|
33
|
+
// Posts
|
|
34
|
+
__exportStar(require("./posts"), exports);
|
|
35
|
+
var posts_1 = require("./posts");
|
|
36
|
+
Object.defineProperty(exports, "postKeys", { enumerable: true, get: function () { return posts_1.postKeys; } });
|
|
37
|
+
// Conversations
|
|
38
|
+
__exportStar(require("./conversations"), exports);
|
|
39
|
+
var conversations_1 = require("./conversations");
|
|
40
|
+
Object.defineProperty(exports, "conversationKeys", { enumerable: true, get: function () { return conversations_1.conversationKeys; } });
|
|
41
|
+
// Clubs
|
|
42
|
+
__exportStar(require("./clubs"), exports);
|
|
43
|
+
var clubs_1 = require("./clubs");
|
|
44
|
+
Object.defineProperty(exports, "clubKeys", { enumerable: true, get: function () { return clubs_1.clubKeys; } });
|
|
45
|
+
// Templates
|
|
46
|
+
__exportStar(require("./templates"), exports);
|
|
47
|
+
var templates_1 = require("./templates");
|
|
48
|
+
Object.defineProperty(exports, "templateKeys", { enumerable: true, get: function () { return templates_1.templateKeys; } });
|
|
49
|
+
// Notifications
|
|
50
|
+
__exportStar(require("./notifications"), exports);
|
|
51
|
+
var notifications_1 = require("./notifications");
|
|
52
|
+
Object.defineProperty(exports, "notificationKeys", { enumerable: true, get: function () { return notifications_1.notificationKeys; } });
|
|
53
|
+
// Misc (cities, vibes, events)
|
|
54
|
+
__exportStar(require("./misc"), exports);
|
|
55
|
+
var misc_1 = require("./misc");
|
|
56
|
+
Object.defineProperty(exports, "miscKeys", { enumerable: true, get: function () { return misc_1.miscKeys; } });
|
|
57
|
+
// Products (marketplace)
|
|
58
|
+
__exportStar(require("./products"), exports);
|
|
59
|
+
var products_1 = require("./products");
|
|
60
|
+
Object.defineProperty(exports, "productKeys", { enumerable: true, get: function () { return products_1.productKeys; } });
|
|
61
|
+
// Orders (marketplace)
|
|
62
|
+
__exportStar(require("./orders"), exports);
|
|
63
|
+
var orders_1 = require("./orders");
|
|
64
|
+
Object.defineProperty(exports, "orderKeys", { enumerable: true, get: function () { return orders_1.orderKeys; } });
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3F1ZXJpZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7O0dBSUc7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUgsNkRBQTZEO0FBQzdELHlDQUF1QjtBQUV2QixRQUFRO0FBQ1IsMENBQXdCO0FBQ3hCLGlDQUFtQztBQUExQixpR0FBQSxRQUFRLE9BQUE7QUFFakIsUUFBUTtBQUNSLDBDQUF3QjtBQUN4QixpQ0FBbUM7QUFBMUIsaUdBQUEsUUFBUSxPQUFBO0FBRWpCLFFBQVE7QUFDUiwwQ0FBd0I7QUFDeEIsaUNBQW1DO0FBQTFCLGlHQUFBLFFBQVEsT0FBQTtBQUVqQixnQkFBZ0I7QUFDaEIsa0RBQWdDO0FBQ2hDLGlEQUFtRDtBQUExQyxpSEFBQSxnQkFBZ0IsT0FBQTtBQUV6QixRQUFRO0FBQ1IsMENBQXdCO0FBQ3hCLGlDQUFtQztBQUExQixpR0FBQSxRQUFRLE9BQUE7QUFFakIsWUFBWTtBQUNaLDhDQUE0QjtBQUM1Qix5Q0FBMkM7QUFBbEMseUdBQUEsWUFBWSxPQUFBO0FBRXJCLGdCQUFnQjtBQUNoQixrREFBZ0M7QUFDaEMsaURBQW1EO0FBQTFDLGlIQUFBLGdCQUFnQixPQUFBO0FBRXpCLCtCQUErQjtBQUMvQix5Q0FBdUI7QUFDdkIsK0JBQWtDO0FBQXpCLGdHQUFBLFFBQVEsT0FBQTtBQUVqQix5QkFBeUI7QUFDekIsNkNBQTJCO0FBQzNCLHVDQUF5QztBQUFoQyx1R0FBQSxXQUFXLE9BQUE7QUFFcEIsdUJBQXVCO0FBQ3ZCLDJDQUF5QjtBQUN6QixtQ0FBcUM7QUFBNUIsbUdBQUEsU0FBUyxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTcG90cyBTREsgUXVlcnkgSG9va3MgSW5kZXhcbiAqXG4gKiBSZS1leHBvcnRzIGFsbCBxdWVyeSBob29rcyBhbmQga2V5cy5cbiAqL1xuXG4vLyBBdXRoIChtdXRhdGlvbnMsIGJ1dCBncm91cGVkIHdpdGggcXVlcmllcyBmb3IgY29udmVuaWVuY2UpXG5leHBvcnQgKiBmcm9tICcuL2F1dGgnO1xuXG4vLyBVc2Vyc1xuZXhwb3J0ICogZnJvbSAnLi91c2Vycyc7XG5leHBvcnQgeyB1c2VyS2V5cyB9IGZyb20gJy4vdXNlcnMnO1xuXG4vLyBTcG90c1xuZXhwb3J0ICogZnJvbSAnLi9zcG90cyc7XG5leHBvcnQgeyBzcG90S2V5cyB9IGZyb20gJy4vc3BvdHMnO1xuXG4vLyBQb3N0c1xuZXhwb3J0ICogZnJvbSAnLi9wb3N0cyc7XG5leHBvcnQgeyBwb3N0S2V5cyB9IGZyb20gJy4vcG9zdHMnO1xuXG4vLyBDb252ZXJzYXRpb25zXG5leHBvcnQgKiBmcm9tICcuL2NvbnZlcnNhdGlvbnMnO1xuZXhwb3J0IHsgY29udmVyc2F0aW9uS2V5cyB9IGZyb20gJy4vY29udmVyc2F0aW9ucyc7XG5cbi8vIENsdWJzXG5leHBvcnQgKiBmcm9tICcuL2NsdWJzJztcbmV4cG9ydCB7IGNsdWJLZXlzIH0gZnJvbSAnLi9jbHVicyc7XG5cbi8vIFRlbXBsYXRlc1xuZXhwb3J0ICogZnJvbSAnLi90ZW1wbGF0ZXMnO1xuZXhwb3J0IHsgdGVtcGxhdGVLZXlzIH0gZnJvbSAnLi90ZW1wbGF0ZXMnO1xuXG4vLyBOb3RpZmljYXRpb25zXG5leHBvcnQgKiBmcm9tICcuL25vdGlmaWNhdGlvbnMnO1xuZXhwb3J0IHsgbm90aWZpY2F0aW9uS2V5cyB9IGZyb20gJy4vbm90aWZpY2F0aW9ucyc7XG5cbi8vIE1pc2MgKGNpdGllcywgdmliZXMsIGV2ZW50cylcbmV4cG9ydCAqIGZyb20gJy4vbWlzYyc7XG5leHBvcnQgeyBtaXNjS2V5cyB9IGZyb20gJy4vbWlzYyc7XG5cbi8vIFByb2R1Y3RzIChtYXJrZXRwbGFjZSlcbmV4cG9ydCAqIGZyb20gJy4vcHJvZHVjdHMnO1xuZXhwb3J0IHsgcHJvZHVjdEtleXMgfSBmcm9tICcuL3Byb2R1Y3RzJztcblxuLy8gT3JkZXJzIChtYXJrZXRwbGFjZSlcbmV4cG9ydCAqIGZyb20gJy4vb3JkZXJzJztcbmV4cG9ydCB7IG9yZGVyS2V5cyB9IGZyb20gJy4vb3JkZXJzJztcbiJdfQ==
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Misc Query Hooks
|
|
3
|
+
*
|
|
4
|
+
* TanStack Query hooks for cities, vibes, and other reference data.
|
|
5
|
+
* All types come from @prisma/client (via ../types re-export).
|
|
6
|
+
*
|
|
7
|
+
* API Response Patterns:
|
|
8
|
+
* - Reference data (vibes, templates, interests): { success, data: T[], timestamp }
|
|
9
|
+
* - Large datasets (cities, spots, posts): { success, data: { data: T[], meta }, timestamp }
|
|
10
|
+
*/
|
|
11
|
+
import { UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
|
|
12
|
+
import type { City, Vibe, LifeSituation, Interest, Intention } from '../types';
|
|
13
|
+
export declare const miscKeys: {
|
|
14
|
+
cities: () => readonly ["cities"];
|
|
15
|
+
vibes: () => readonly ["vibes"];
|
|
16
|
+
lifeSituations: () => readonly ["life-situations"];
|
|
17
|
+
interests: () => readonly ["interests"];
|
|
18
|
+
intentions: () => readonly ["intentions"];
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Get all cities (paginated endpoint)
|
|
22
|
+
*
|
|
23
|
+
* @endpoint GET /api/v1/cities
|
|
24
|
+
* @returns PaginatedResponse with cities array
|
|
25
|
+
*/
|
|
26
|
+
export declare function useCities(options?: Omit<UseQueryOptions<City[]>, 'queryKey' | 'queryFn'>): UseQueryResult<City[]>;
|
|
27
|
+
/**
|
|
28
|
+
* Get all vibes (flat array - reference data)
|
|
29
|
+
*
|
|
30
|
+
* @endpoint GET /api/v1/vibes
|
|
31
|
+
* @returns Flat array of vibes (not paginated)
|
|
32
|
+
*/
|
|
33
|
+
export declare function useVibes(options?: Omit<UseQueryOptions<Vibe[]>, 'queryKey' | 'queryFn'>): UseQueryResult<Vibe[]>;
|
|
34
|
+
/**
|
|
35
|
+
* Get all life situations (flat array - reference data for onboarding)
|
|
36
|
+
*
|
|
37
|
+
* @endpoint GET /api/v1/life-situations
|
|
38
|
+
* @returns Flat array of life situations (not paginated)
|
|
39
|
+
*/
|
|
40
|
+
export declare function useLifeSituations(options?: Omit<UseQueryOptions<LifeSituation[]>, 'queryKey' | 'queryFn'>): UseQueryResult<LifeSituation[]>;
|
|
41
|
+
/**
|
|
42
|
+
* Get all interests (flat array - reference data)
|
|
43
|
+
*
|
|
44
|
+
* @endpoint GET /api/v1/interests
|
|
45
|
+
* @returns Flat array of interests (not paginated)
|
|
46
|
+
*/
|
|
47
|
+
export declare function useInterests(options?: Omit<UseQueryOptions<Interest[]>, 'queryKey' | 'queryFn'>): UseQueryResult<Interest[]>;
|
|
48
|
+
/**
|
|
49
|
+
* Get all intentions (flat array - reference data)
|
|
50
|
+
*
|
|
51
|
+
* @endpoint GET /api/v1/intentions
|
|
52
|
+
* @returns Flat array of intentions (not paginated)
|
|
53
|
+
*/
|
|
54
|
+
export declare function useIntentions(options?: Omit<UseQueryOptions<Intention[]>, 'queryKey' | 'queryFn'>): UseQueryResult<Intention[]>;
|