@spotsdev/sdk 1.3.3 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/index.cjs +2139 -0
  2. package/dist/index.cjs.map +1 -0
  3. package/dist/index.d.cts +1718 -0
  4. package/dist/index.d.ts +1717 -36
  5. package/dist/index.js +1996 -64
  6. package/dist/index.js.map +1 -0
  7. package/package.json +22 -6
  8. package/src/api/entities.ts +28 -84
  9. package/dist/api/client.d.ts +0 -12
  10. package/dist/api/client.js +0 -72
  11. package/dist/api/entities.d.ts +0 -326
  12. package/dist/api/entities.js +0 -9
  13. package/dist/api/mutations/clubs.d.ts +0 -47
  14. package/dist/api/mutations/clubs.js +0 -97
  15. package/dist/api/mutations/conversations.d.ts +0 -45
  16. package/dist/api/mutations/conversations.js +0 -114
  17. package/dist/api/mutations/index.d.ts +0 -14
  18. package/dist/api/mutations/index.js +0 -40
  19. package/dist/api/mutations/notifications.d.ts +0 -38
  20. package/dist/api/mutations/notifications.js +0 -64
  21. package/dist/api/mutations/orders.d.ts +0 -73
  22. package/dist/api/mutations/orders.js +0 -114
  23. package/dist/api/mutations/posts.d.ts +0 -123
  24. package/dist/api/mutations/posts.js +0 -242
  25. package/dist/api/mutations/products.d.ts +0 -81
  26. package/dist/api/mutations/products.js +0 -98
  27. package/dist/api/mutations/redemptions.d.ts +0 -33
  28. package/dist/api/mutations/redemptions.js +0 -63
  29. package/dist/api/mutations/spots.d.ts +0 -93
  30. package/dist/api/mutations/spots.js +0 -167
  31. package/dist/api/mutations/users.d.ts +0 -73
  32. package/dist/api/mutations/users.js +0 -175
  33. package/dist/api/queries/auth.d.ts +0 -37
  34. package/dist/api/queries/auth.js +0 -61
  35. package/dist/api/queries/clubs.d.ts +0 -52
  36. package/dist/api/queries/clubs.js +0 -116
  37. package/dist/api/queries/conversations.d.ts +0 -52
  38. package/dist/api/queries/conversations.js +0 -83
  39. package/dist/api/queries/index.d.ts +0 -28
  40. package/dist/api/queries/index.js +0 -69
  41. package/dist/api/queries/misc.d.ts +0 -30
  42. package/dist/api/queries/misc.js +0 -91
  43. package/dist/api/queries/notifications.d.ts +0 -34
  44. package/dist/api/queries/notifications.js +0 -62
  45. package/dist/api/queries/orders.d.ts +0 -45
  46. package/dist/api/queries/orders.js +0 -93
  47. package/dist/api/queries/posts.d.ts +0 -92
  48. package/dist/api/queries/posts.js +0 -233
  49. package/dist/api/queries/products.d.ts +0 -48
  50. package/dist/api/queries/products.js +0 -87
  51. package/dist/api/queries/spots.d.ts +0 -93
  52. package/dist/api/queries/spots.js +0 -250
  53. package/dist/api/queries/templates.d.ts +0 -39
  54. package/dist/api/queries/templates.js +0 -81
  55. package/dist/api/queries/users.d.ts +0 -104
  56. package/dist/api/queries/users.js +0 -235
  57. package/dist/api/queries/wallet.d.ts +0 -109
  58. package/dist/api/queries/wallet.js +0 -136
  59. package/dist/api/services/index.d.ts +0 -2
  60. package/dist/api/services/index.js +0 -8
  61. package/dist/api/services/marketplace.d.ts +0 -129
  62. package/dist/api/services/marketplace.js +0 -168
  63. package/dist/api/types.d.ts +0 -57
  64. package/dist/api/types.js +0 -33
@@ -3,64 +3,37 @@
3
3
  *
4
4
  * These types mirror the Prisma schema entities but without @prisma/client dependency.
5
5
  * This allows the SDK to work in React Native where Prisma is not available.
6
+ *
7
+ * IMPORTANT: Enum types are imported from @spotsdev/types (generated from OpenAPI spec).
8
+ * types.ts handles re-exporting from spots-types - this file only defines entity interfaces
9
+ * and SDK-specific types not in the OpenAPI spec.
6
10
  */
7
11
 
8
12
  // ============================================================================
9
- // ENUMS
13
+ // IMPORTS FROM @spotsdev/types (used in interfaces below)
14
+ // These are NOT re-exported - types.ts handles the re-export from spots-types
10
15
  // ============================================================================
11
-
12
- export type SpotType =
13
- | 'CAFE'
14
- | 'RESTAURANT'
15
- | 'BAR'
16
- | 'PARK'
17
- | 'BEACH'
18
- | 'COWORKING'
19
- | 'LIBRARY'
20
- | 'GYM'
21
- | 'MUSEUM'
22
- | 'GALLERY'
23
- | 'THEATER'
24
- | 'CINEMA'
25
- | 'MALL'
26
- | 'MARKET'
27
- | 'HOTEL'
28
- | 'HOSTEL'
29
- | 'OTHER'
30
-
31
- export type SpotPostType =
32
- | 'CHECK_IN'
33
- | 'LOOKING_FOR'
34
- | 'OFFERING'
35
- | 'QUESTION'
36
- | 'EVENT'
37
- | 'RECOMMENDATION'
38
- | 'GENERAL'
39
-
40
- export type AccountStatus = 'ACTIVE' | 'SUSPENDED' | 'DELETED' | 'PENDING'
41
-
42
- export type ClaimStatus = 'PENDING' | 'APPROVED' | 'REJECTED'
43
-
44
- export type ResponseStatus = 'PENDING' | 'ACCEPTED' | 'DECLINED'
45
-
46
- export type ReportReason =
47
- | 'SPAM'
48
- | 'HARASSMENT'
49
- | 'INAPPROPRIATE'
50
- | 'SCAM'
51
- | 'OTHER'
52
-
16
+ import type {
17
+ SpotType,
18
+ AccountStatus,
19
+ PostType,
20
+ PostStatus,
21
+ ResponseStatus,
22
+ ReportReason,
23
+ ProductType,
24
+ ProductStatus,
25
+ ProductResponseDto,
26
+ ClaimStatus,
27
+ OrderStatus,
28
+ NotificationType,
29
+ } from '@spotsdev/types'
30
+
31
+ // Type alias for backwards compatibility - SDK uses SpotPostType, API uses PostType
32
+ export type SpotPostType = PostType
33
+
34
+ // Enums not yet in OpenAPI spec DTOs - these stay local until API exposes them
53
35
  export type ReportStatus = 'PENDING' | 'REVIEWED' | 'RESOLVED' | 'DISMISSED'
54
36
 
55
- export type NotificationType =
56
- | 'POST_RESPONSE'
57
- | 'POST_REPLY'
58
- | 'POST_UPVOTE'
59
- | 'RESPONSE_ACCEPTED'
60
- | 'RESPONSE_DECLINED'
61
- | 'NEW_MESSAGE'
62
- | 'SYSTEM'
63
-
64
37
  // ============================================================================
65
38
  // ENTITY INTERFACES
66
39
  // ============================================================================
@@ -108,6 +81,7 @@ export interface Spot {
108
81
  imageUrl: string | null
109
82
  ownerId: string | null
110
83
  isVerified: boolean
84
+ marketplaceEnabled: boolean
111
85
  // Dates as strings for JSON serialization compatibility
112
86
  createdAt: Date | string
113
87
  updatedAt: Date | string
@@ -374,38 +348,8 @@ export interface PaginationMeta {
374
348
  // MARKETPLACE TYPES
375
349
  // ============================================================================
376
350
 
377
- export type ProductType = 'PHYSICAL' | 'DIGITAL' | 'SERVICE' | 'BUNDLE'
378
-
379
- export type ProductStatus = 'DRAFT' | 'ACTIVE' | 'SOLD_OUT' | 'ARCHIVED'
380
-
381
- export type OrderStatus =
382
- | 'PENDING'
383
- | 'CONFIRMED'
384
- | 'PREPARING'
385
- | 'READY'
386
- | 'COMPLETED'
387
- | 'CANCELLED'
388
- | 'REFUNDED'
389
-
390
- export interface Product {
391
- id: string
392
- spotId: string
393
- name: string
394
- slug: string
395
- description: string | null
396
- type: ProductType
397
- status: ProductStatus
398
- price: number
399
- currency: string
400
- imageUrl: string | null
401
- images: string[]
402
- stock: number | null
403
- maxQuantity: number
404
- sortOrder: number
405
- metadata: Record<string, unknown> | null
406
- createdAt: Date
407
- updatedAt: Date
408
- }
351
+ // Use ProductResponseDto from spots-types directly
352
+ export type Product = ProductResponseDto
409
353
 
410
354
  export interface Order {
411
355
  id: string
@@ -1,12 +0,0 @@
1
- import { type AxiosInstance } from 'axios';
2
- export interface SDKConfig {
3
- baseURL: string;
4
- getAccessToken: () => string | null | Promise<string | null>;
5
- refreshAccessToken?: () => Promise<string>;
6
- onUnauthorized?: () => void;
7
- }
8
- declare let apiClient: AxiosInstance | null;
9
- export declare function configureSDK(sdkConfig: SDKConfig): void;
10
- export declare function getApiClient(): AxiosInstance;
11
- export declare function getConfig(): SDKConfig;
12
- export { apiClient };
@@ -1,72 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.apiClient = void 0;
7
- exports.configureSDK = configureSDK;
8
- exports.getApiClient = getApiClient;
9
- exports.getConfig = getConfig;
10
- const axios_1 = __importDefault(require("axios"));
11
- let config = null;
12
- let apiClient = null;
13
- exports.apiClient = apiClient;
14
- function configureSDK(sdkConfig) {
15
- config = sdkConfig;
16
- exports.apiClient = apiClient = createApiClient(sdkConfig);
17
- }
18
- function getApiClient() {
19
- if (!apiClient) {
20
- throw new Error('SDK not configured. Call configureSDK() first.');
21
- }
22
- return apiClient;
23
- }
24
- function getConfig() {
25
- if (!config) {
26
- throw new Error('SDK not configured. Call configureSDK() first.');
27
- }
28
- return config;
29
- }
30
- function createApiClient(sdkConfig) {
31
- const client = axios_1.default.create({
32
- baseURL: sdkConfig.baseURL,
33
- headers: {
34
- 'Content-Type': 'application/json',
35
- },
36
- });
37
- // Request interceptor - add auth token
38
- client.interceptors.request.use(async (requestConfig) => {
39
- const token = await sdkConfig.getAccessToken();
40
- if (token) {
41
- requestConfig.headers.Authorization = `Bearer ${token}`;
42
- }
43
- // Debug logging
44
- console.log(`[SDK] ${requestConfig.method?.toUpperCase()} ${sdkConfig.baseURL}${requestConfig.url}`);
45
- return requestConfig;
46
- }, error => Promise.reject(error));
47
- // Response interceptor - handle 401
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)
51
- if (error.response?.status === 401) {
52
- if (sdkConfig.refreshAccessToken) {
53
- try {
54
- const newToken = await sdkConfig.refreshAccessToken();
55
- if (newToken && error.config) {
56
- error.config.headers.Authorization = `Bearer ${newToken}`;
57
- return client.request(error.config);
58
- }
59
- }
60
- catch {
61
- sdkConfig.onUnauthorized?.();
62
- }
63
- }
64
- else {
65
- sdkConfig.onUnauthorized?.();
66
- }
67
- }
68
- return Promise.reject(error);
69
- });
70
- return client;
71
- }
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwaS9jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBZ0JBLG9DQUdDO0FBRUQsb0NBS0M7QUFFRCw4QkFLQztBQWpDRCxrREFJYztBQVNkLElBQUksTUFBTSxHQUFxQixJQUFJLENBQUE7QUFDbkMsSUFBSSxTQUFTLEdBQXlCLElBQUksQ0FBQTtBQThFbEMsOEJBQVM7QUE1RWpCLFNBQWdCLFlBQVksQ0FBQyxTQUFvQjtJQUMvQyxNQUFNLEdBQUcsU0FBUyxDQUFBO0lBQ2xCLG9CQUFBLFNBQVMsR0FBRyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUE7QUFDeEMsQ0FBQztBQUVELFNBQWdCLFlBQVk7SUFDMUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxDQUFBO0lBQ25FLENBQUM7SUFDRCxPQUFPLFNBQVMsQ0FBQTtBQUNsQixDQUFDO0FBRUQsU0FBZ0IsU0FBUztJQUN2QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWixNQUFNLElBQUksS0FBSyxDQUFDLGdEQUFnRCxDQUFDLENBQUE7SUFDbkUsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQztBQUVELFNBQVMsZUFBZSxDQUFDLFNBQW9CO0lBQzNDLE1BQU0sTUFBTSxHQUFHLGVBQUssQ0FBQyxNQUFNLENBQUM7UUFDMUIsT0FBTyxFQUFFLFNBQVMsQ0FBQyxPQUFPO1FBQzFCLE9BQU8sRUFBRTtZQUNQLGNBQWMsRUFBRSxrQkFBa0I7U0FDbkM7S0FDRixDQUFDLENBQUE7SUFFRix1Q0FBdUM7SUFDdkMsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUM3QixLQUFLLEVBQUUsYUFBeUMsRUFBRSxFQUFFO1FBQ2xELE1BQU0sS0FBSyxHQUFHLE1BQU0sU0FBUyxDQUFDLGNBQWMsRUFBRSxDQUFBO1FBQzlDLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixhQUFhLENBQUMsT0FBTyxDQUFDLGFBQWEsR0FBRyxVQUFVLEtBQUssRUFBRSxDQUFBO1FBQ3pELENBQUM7UUFFRCxnQkFBZ0I7UUFDaEIsT0FBTyxDQUFDLEdBQUcsQ0FDVCxTQUFTLGFBQWEsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLElBQUksU0FBUyxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUMsR0FBRyxFQUFFLENBQ3hGLENBQUE7UUFDRCxPQUFPLGFBQWEsQ0FBQTtJQUN0QixDQUFDLEVBQ0QsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUMvQixDQUFBO0lBRUQsb0NBQW9DO0lBQ3BDLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FDOUIsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQ3BCLEtBQUssRUFBRSxLQUFpQixFQUFFLEVBQUU7UUFDMUIsT0FBTyxDQUFDLEdBQUcsQ0FDVCxnQkFBZ0IsS0FBSyxDQUFDLFFBQVEsRUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFDN0QsS0FBSyxDQUFDLE9BQU8sQ0FDZCxDQUFBO1FBRUQscUNBQXFDO1FBQ3JDLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDbkMsSUFBSSxTQUFTLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztnQkFDakMsSUFBSSxDQUFDO29CQUNILE1BQU0sUUFBUSxHQUFHLE1BQU0sU0FBUyxDQUFDLGtCQUFrQixFQUFFLENBQUE7b0JBQ3JELElBQUksUUFBUSxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQzt3QkFDN0IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxHQUFHLFVBQVUsUUFBUSxFQUFFLENBQUE7d0JBQ3pELE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUE7b0JBQ3JDLENBQUM7Z0JBQ0gsQ0FBQztnQkFBQyxNQUFNLENBQUM7b0JBQ1AsU0FBUyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUE7Z0JBQzlCLENBQUM7WUFDSCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sU0FBUyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUE7WUFDOUIsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDOUIsQ0FBQyxDQUNGLENBQUE7SUFFRCxPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXhpb3MsIHtcbiAgdHlwZSBBeGlvc0Vycm9yLFxuICB0eXBlIEF4aW9zSW5zdGFuY2UsXG4gIHR5cGUgSW50ZXJuYWxBeGlvc1JlcXVlc3RDb25maWcsXG59IGZyb20gJ2F4aW9zJ1xuXG5leHBvcnQgaW50ZXJmYWNlIFNES0NvbmZpZyB7XG4gIGJhc2VVUkw6IHN0cmluZ1xuICBnZXRBY2Nlc3NUb2tlbjogKCkgPT4gc3RyaW5nIHwgbnVsbCB8IFByb21pc2U8c3RyaW5nIHwgbnVsbD5cbiAgcmVmcmVzaEFjY2Vzc1Rva2VuPzogKCkgPT4gUHJvbWlzZTxzdHJpbmc+XG4gIG9uVW5hdXRob3JpemVkPzogKCkgPT4gdm9pZFxufVxuXG5sZXQgY29uZmlnOiBTREtDb25maWcgfCBudWxsID0gbnVsbFxubGV0IGFwaUNsaWVudDogQXhpb3NJbnN0YW5jZSB8IG51bGwgPSBudWxsXG5cbmV4cG9ydCBmdW5jdGlvbiBjb25maWd1cmVTREsoc2RrQ29uZmlnOiBTREtDb25maWcpOiB2b2lkIHtcbiAgY29uZmlnID0gc2RrQ29uZmlnXG4gIGFwaUNsaWVudCA9IGNyZWF0ZUFwaUNsaWVudChzZGtDb25maWcpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBcGlDbGllbnQoKTogQXhpb3NJbnN0YW5jZSB7XG4gIGlmICghYXBpQ2xpZW50KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdTREsgbm90IGNvbmZpZ3VyZWQuIENhbGwgY29uZmlndXJlU0RLKCkgZmlyc3QuJylcbiAgfVxuICByZXR1cm4gYXBpQ2xpZW50XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb25maWcoKTogU0RLQ29uZmlnIHtcbiAgaWYgKCFjb25maWcpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1NESyBub3QgY29uZmlndXJlZC4gQ2FsbCBjb25maWd1cmVTREsoKSBmaXJzdC4nKVxuICB9XG4gIHJldHVybiBjb25maWdcbn1cblxuZnVuY3Rpb24gY3JlYXRlQXBpQ2xpZW50KHNka0NvbmZpZzogU0RLQ29uZmlnKTogQXhpb3NJbnN0YW5jZSB7XG4gIGNvbnN0IGNsaWVudCA9IGF4aW9zLmNyZWF0ZSh7XG4gICAgYmFzZVVSTDogc2RrQ29uZmlnLmJhc2VVUkwsXG4gICAgaGVhZGVyczoge1xuICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICB9LFxuICB9KVxuXG4gIC8vIFJlcXVlc3QgaW50ZXJjZXB0b3IgLSBhZGQgYXV0aCB0b2tlblxuICBjbGllbnQuaW50ZXJjZXB0b3JzLnJlcXVlc3QudXNlKFxuICAgIGFzeW5jIChyZXF1ZXN0Q29uZmlnOiBJbnRlcm5hbEF4aW9zUmVxdWVzdENvbmZpZykgPT4ge1xuICAgICAgY29uc3QgdG9rZW4gPSBhd2FpdCBzZGtDb25maWcuZ2V0QWNjZXNzVG9rZW4oKVxuICAgICAgaWYgKHRva2VuKSB7XG4gICAgICAgIHJlcXVlc3RDb25maWcuaGVhZGVycy5BdXRob3JpemF0aW9uID0gYEJlYXJlciAke3Rva2VufWBcbiAgICAgIH1cblxuICAgICAgLy8gRGVidWcgbG9nZ2luZ1xuICAgICAgY29uc29sZS5sb2coXG4gICAgICAgIGBbU0RLXSAke3JlcXVlc3RDb25maWcubWV0aG9kPy50b1VwcGVyQ2FzZSgpfSAke3Nka0NvbmZpZy5iYXNlVVJMfSR7cmVxdWVzdENvbmZpZy51cmx9YCxcbiAgICAgIClcbiAgICAgIHJldHVybiByZXF1ZXN0Q29uZmlnXG4gICAgfSxcbiAgICBlcnJvciA9PiBQcm9taXNlLnJlamVjdChlcnJvciksXG4gIClcblxuICAvLyBSZXNwb25zZSBpbnRlcmNlcHRvciAtIGhhbmRsZSA0MDFcbiAgY2xpZW50LmludGVyY2VwdG9ycy5yZXNwb25zZS51c2UoXG4gICAgcmVzcG9uc2UgPT4gcmVzcG9uc2UsXG4gICAgYXN5bmMgKGVycm9yOiBBeGlvc0Vycm9yKSA9PiB7XG4gICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgYFtTREtdIEVycm9yOiAke2Vycm9yLnJlc3BvbnNlPy5zdGF0dXN9ICR7ZXJyb3IuY29uZmlnPy51cmx9YCxcbiAgICAgICAgZXJyb3IubWVzc2FnZSxcbiAgICAgIClcblxuICAgICAgLy8gSGFuZGxlIGF1dGggdG9rZW4gZXhwaXJhdGlvbiAoNDAxKVxuICAgICAgaWYgKGVycm9yLnJlc3BvbnNlPy5zdGF0dXMgPT09IDQwMSkge1xuICAgICAgICBpZiAoc2RrQ29uZmlnLnJlZnJlc2hBY2Nlc3NUb2tlbikge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBuZXdUb2tlbiA9IGF3YWl0IHNka0NvbmZpZy5yZWZyZXNoQWNjZXNzVG9rZW4oKVxuICAgICAgICAgICAgaWYgKG5ld1Rva2VuICYmIGVycm9yLmNvbmZpZykge1xuICAgICAgICAgICAgICBlcnJvci5jb25maWcuaGVhZGVycy5BdXRob3JpemF0aW9uID0gYEJlYXJlciAke25ld1Rva2VufWBcbiAgICAgICAgICAgICAgcmV0dXJuIGNsaWVudC5yZXF1ZXN0KGVycm9yLmNvbmZpZylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgIHNka0NvbmZpZy5vblVuYXV0aG9yaXplZD8uKClcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc2RrQ29uZmlnLm9uVW5hdXRob3JpemVkPy4oKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZXJyb3IpXG4gICAgfSxcbiAgKVxuXG4gIHJldHVybiBjbGllbnRcbn1cblxuZXhwb3J0IHthcGlDbGllbnR9XG4iXX0=
@@ -1,326 +0,0 @@
1
- /**
2
- * Spots SDK Entity Types
3
- *
4
- * These types mirror the Prisma schema entities but without @prisma/client dependency.
5
- * This allows the SDK to work in React Native where Prisma is not available.
6
- */
7
- 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 UserVibe {
16
- id: string;
17
- name: string;
18
- emoji: string | null;
19
- slug?: string;
20
- category?: string;
21
- }
22
- export interface User {
23
- id: string;
24
- phone: string | null;
25
- email: string | null;
26
- name: string | null;
27
- bio: string | null;
28
- avatarUrl: string | null;
29
- status: AccountStatus;
30
- onboardingCompleted: boolean;
31
- vibes?: UserVibe[];
32
- lastActiveAt: Date | null;
33
- createdAt: Date;
34
- updatedAt: Date;
35
- }
36
- export interface Spot {
37
- id: string;
38
- name: string;
39
- slug: string;
40
- description: string | null;
41
- address: string | null;
42
- city: string | null;
43
- country: string | null;
44
- latitude: number | null;
45
- longitude: number | null;
46
- lat?: number | null;
47
- lng?: number | null;
48
- type: SpotType;
49
- googlePlaceId: string | null;
50
- website: string | null;
51
- phone: string | null;
52
- imageUrl: string | null;
53
- ownerId: string | null;
54
- isVerified: boolean;
55
- createdAt: Date | string;
56
- updatedAt: Date | string;
57
- }
58
- export interface SpotPost {
59
- id: string;
60
- spotId: string;
61
- userId: string;
62
- postType: SpotPostType;
63
- title: string;
64
- content: string | null;
65
- emoji: string | null;
66
- expiresAt: Date | null;
67
- status: 'ACTIVE' | 'FULFILLED' | 'EXPIRED' | 'DELETED';
68
- upvoteCount: number;
69
- responseCount: number;
70
- replyCount: number;
71
- createdAt: Date;
72
- updatedAt: Date;
73
- user?: User;
74
- spot?: Spot;
75
- }
76
- export interface PostReply {
77
- id: string;
78
- postId: string;
79
- userId: string;
80
- content: string;
81
- createdAt: Date;
82
- updatedAt: Date;
83
- user?: User;
84
- }
85
- export interface PostResponse {
86
- id: string;
87
- postId: string;
88
- userId: string;
89
- note: string | null;
90
- status: ResponseStatus;
91
- createdAt: Date;
92
- updatedAt: Date;
93
- user?: User;
94
- post?: SpotPost;
95
- }
96
- export interface PostUpvote {
97
- id: string;
98
- postId: string;
99
- userId: string;
100
- createdAt: Date;
101
- }
102
- /**
103
- * PostUpvoter - user who upvoted a post (from /posts/:id/upvotes endpoint)
104
- */
105
- export interface PostUpvoter {
106
- id: string;
107
- userId: string;
108
- name: string | null;
109
- avatarUrl: string | null;
110
- createdAt: Date;
111
- }
112
- /**
113
- * PostUpvotesResponse - response from /posts/:id/upvotes endpoint
114
- */
115
- export interface PostUpvotesResponse {
116
- data: PostUpvoter[];
117
- meta: {
118
- total: number;
119
- limit: number;
120
- offset: number;
121
- hasMore: boolean;
122
- currentUserUpvoted: boolean;
123
- isPostAuthor: boolean;
124
- };
125
- }
126
- export interface PostReport {
127
- id: string;
128
- postId: string;
129
- userId: string;
130
- reason: ReportReason;
131
- details: string | null;
132
- status: ReportStatus;
133
- createdAt: Date;
134
- updatedAt: Date;
135
- }
136
- export interface Club {
137
- id: string;
138
- name: string;
139
- slug: string;
140
- description: string | null;
141
- imageUrl: string | null;
142
- isPrivate: boolean;
143
- createdById: string;
144
- createdAt: Date;
145
- updatedAt: Date;
146
- }
147
- export interface ClubMember {
148
- id: string;
149
- clubId: string;
150
- userId: string;
151
- role: 'MEMBER' | 'ADMIN' | 'OWNER';
152
- joinedAt: Date;
153
- }
154
- export interface Conversation {
155
- id: string;
156
- createdAt: Date;
157
- updatedAt: Date;
158
- participants?: User[];
159
- messages?: Message[];
160
- }
161
- export interface Message {
162
- id: string;
163
- conversationId: string;
164
- senderId: string;
165
- content: string;
166
- createdAt: Date;
167
- sender?: User;
168
- }
169
- export interface Notification {
170
- id: string;
171
- userId: string;
172
- type: NotificationType;
173
- title: string;
174
- body: string | null;
175
- data: Record<string, unknown> | null;
176
- isRead: boolean;
177
- createdAt: Date;
178
- }
179
- export interface PostTemplate {
180
- id: string;
181
- postType: SpotPostType;
182
- emoji: string;
183
- title: string;
184
- placeholder: string | null;
185
- isActive: boolean;
186
- sortOrder: number;
187
- createdAt: Date;
188
- updatedAt: Date;
189
- }
190
- export interface Vibe {
191
- id: string;
192
- name: string;
193
- emoji: string | null;
194
- createdAt: Date;
195
- }
196
- export interface Interest {
197
- id: string;
198
- name: string;
199
- emoji: string | null;
200
- category: string | null;
201
- createdAt: Date;
202
- }
203
- export interface Intention {
204
- id: string;
205
- name: string;
206
- emoji: string | null;
207
- createdAt: Date;
208
- }
209
- export interface LifeSituation {
210
- id: string;
211
- name: string;
212
- emoji: string | null;
213
- createdAt: Date;
214
- }
215
- export interface FavoriteSpot {
216
- id: string;
217
- userId: string;
218
- spotId: string;
219
- createdAt: Date;
220
- spot?: Spot;
221
- }
222
- export interface SpotImage {
223
- id: string;
224
- spotId: string;
225
- url: string;
226
- caption: string | null;
227
- sortOrder: number;
228
- createdAt: Date;
229
- }
230
- export interface SpotVibe {
231
- id: string;
232
- spotId: string;
233
- vibeId: string;
234
- vibe?: Vibe;
235
- }
236
- export interface SpotIntention {
237
- id: string;
238
- spotId: string;
239
- intentionId: string;
240
- intention?: Intention;
241
- }
242
- export interface SpotClaim {
243
- id: string;
244
- spotId: string;
245
- userId: string;
246
- status: ClaimStatus;
247
- verificationMethod: string | null;
248
- createdAt: Date;
249
- updatedAt: Date;
250
- }
251
- export interface SpotSubscription {
252
- id: string;
253
- spotId: string;
254
- userId: string;
255
- createdAt: Date;
256
- spot?: Spot;
257
- }
258
- export interface City {
259
- id: string;
260
- name: string;
261
- country: string;
262
- latitude: number;
263
- longitude: number;
264
- timezone: string | null;
265
- createdAt: Date;
266
- }
267
- /**
268
- * Paginated response with meta information
269
- */
270
- export interface PaginatedResponse<T> {
271
- data: T[];
272
- meta: PaginationMeta;
273
- }
274
- export interface PaginationMeta {
275
- total: number;
276
- page: number;
277
- limit: number;
278
- totalPages: number;
279
- hasNextPage: boolean;
280
- hasPreviousPage: boolean;
281
- }
282
- export type ProductType = 'PHYSICAL' | 'DIGITAL' | 'SERVICE' | 'BUNDLE';
283
- export type ProductStatus = 'DRAFT' | 'ACTIVE' | 'SOLD_OUT' | 'ARCHIVED';
284
- export type OrderStatus = 'PENDING' | 'CONFIRMED' | 'PREPARING' | 'READY' | 'COMPLETED' | 'CANCELLED' | 'REFUNDED';
285
- export interface Product {
286
- id: string;
287
- spotId: string;
288
- name: string;
289
- slug: string;
290
- description: string | null;
291
- type: ProductType;
292
- status: ProductStatus;
293
- price: number;
294
- currency: string;
295
- imageUrl: string | null;
296
- images: string[];
297
- stock: number | null;
298
- maxQuantity: number;
299
- sortOrder: number;
300
- metadata: Record<string, unknown> | null;
301
- createdAt: Date;
302
- updatedAt: Date;
303
- }
304
- export interface Order {
305
- id: string;
306
- spotId: string;
307
- userId: string;
308
- status: OrderStatus;
309
- subtotal: number;
310
- tax: number;
311
- total: number;
312
- currency: string;
313
- notes: string | null;
314
- metadata: Record<string, unknown> | null;
315
- createdAt: Date;
316
- updatedAt: Date;
317
- }
318
- export interface OrderItem {
319
- id: string;
320
- orderId: string;
321
- productId: string;
322
- quantity: number;
323
- unitPrice: number;
324
- total: number;
325
- createdAt: Date;
326
- }
@@ -1,9 +0,0 @@
1
- "use strict";
2
- /**
3
- * Spots SDK Entity Types
4
- *
5
- * These types mirror the Prisma schema entities but without @prisma/client dependency.
6
- * This allows the SDK to work in React Native where Prisma is not available.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBpL2VudGl0aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7R0FLRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU3BvdHMgU0RLIEVudGl0eSBUeXBlc1xuICpcbiAqIFRoZXNlIHR5cGVzIG1pcnJvciB0aGUgUHJpc21hIHNjaGVtYSBlbnRpdGllcyBidXQgd2l0aG91dCBAcHJpc21hL2NsaWVudCBkZXBlbmRlbmN5LlxuICogVGhpcyBhbGxvd3MgdGhlIFNESyB0byB3b3JrIGluIFJlYWN0IE5hdGl2ZSB3aGVyZSBQcmlzbWEgaXMgbm90IGF2YWlsYWJsZS5cbiAqL1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBFTlVNU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgdHlwZSBTcG90VHlwZSA9XG4gIHwgJ0NBRkUnXG4gIHwgJ1JFU1RBVVJBTlQnXG4gIHwgJ0JBUidcbiAgfCAnUEFSSydcbiAgfCAnQkVBQ0gnXG4gIHwgJ0NPV09SS0lORydcbiAgfCAnTElCUkFSWSdcbiAgfCAnR1lNJ1xuICB8ICdNVVNFVU0nXG4gIHwgJ0dBTExFUlknXG4gIHwgJ1RIRUFURVInXG4gIHwgJ0NJTkVNQSdcbiAgfCAnTUFMTCdcbiAgfCAnTUFSS0VUJ1xuICB8ICdIT1RFTCdcbiAgfCAnSE9TVEVMJ1xuICB8ICdPVEhFUidcblxuZXhwb3J0IHR5cGUgU3BvdFBvc3RUeXBlID1cbiAgfCAnQ0hFQ0tfSU4nXG4gIHwgJ0xPT0tJTkdfRk9SJ1xuICB8ICdPRkZFUklORydcbiAgfCAnUVVFU1RJT04nXG4gIHwgJ0VWRU5UJ1xuICB8ICdSRUNPTU1FTkRBVElPTidcbiAgfCAnR0VORVJBTCdcblxuZXhwb3J0IHR5cGUgQWNjb3VudFN0YXR1cyA9ICdBQ1RJVkUnIHwgJ1NVU1BFTkRFRCcgfCAnREVMRVRFRCcgfCAnUEVORElORydcblxuZXhwb3J0IHR5cGUgQ2xhaW1TdGF0dXMgPSAnUEVORElORycgfCAnQVBQUk9WRUQnIHwgJ1JFSkVDVEVEJ1xuXG5leHBvcnQgdHlwZSBSZXNwb25zZVN0YXR1cyA9ICdQRU5ESU5HJyB8ICdBQ0NFUFRFRCcgfCAnREVDTElORUQnXG5cbmV4cG9ydCB0eXBlIFJlcG9ydFJlYXNvbiA9XG4gIHwgJ1NQQU0nXG4gIHwgJ0hBUkFTU01FTlQnXG4gIHwgJ0lOQVBQUk9QUklBVEUnXG4gIHwgJ1NDQU0nXG4gIHwgJ09USEVSJ1xuXG5leHBvcnQgdHlwZSBSZXBvcnRTdGF0dXMgPSAnUEVORElORycgfCAnUkVWSUVXRUQnIHwgJ1JFU09MVkVEJyB8ICdESVNNSVNTRUQnXG5cbmV4cG9ydCB0eXBlIE5vdGlmaWNhdGlvblR5cGUgPVxuICB8ICdQT1NUX1JFU1BPTlNFJ1xuICB8ICdQT1NUX1JFUExZJ1xuICB8ICdQT1NUX1VQVk9URSdcbiAgfCAnUkVTUE9OU0VfQUNDRVBURUQnXG4gIHwgJ1JFU1BPTlNFX0RFQ0xJTkVEJ1xuICB8ICdORVdfTUVTU0FHRSdcbiAgfCAnU1lTVEVNJ1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBFTlRJVFkgSU5URVJGQUNFU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJWaWJlIHtcbiAgaWQ6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgZW1vamk6IHN0cmluZyB8IG51bGxcbiAgc2x1Zz86IHN0cmluZ1xuICBjYXRlZ29yeT86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXIge1xuICBpZDogc3RyaW5nXG4gIHBob25lOiBzdHJpbmcgfCBudWxsXG4gIGVtYWlsOiBzdHJpbmcgfCBudWxsXG4gIG5hbWU6IHN0cmluZyB8IG51bGxcbiAgYmlvOiBzdHJpbmcgfCBudWxsXG4gIGF2YXRhclVybDogc3RyaW5nIHwgbnVsbFxuICBzdGF0dXM6IEFjY291bnRTdGF0dXNcbiAgb25ib2FyZGluZ0NvbXBsZXRlZDogYm9vbGVhblxuICB2aWJlcz86IFVzZXJWaWJlW11cbiAgbGFzdEFjdGl2ZUF0OiBEYXRlIHwgbnVsbFxuICBjcmVhdGVkQXQ6IERhdGVcbiAgdXBkYXRlZEF0OiBEYXRlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3BvdCB7XG4gIGlkOiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIHNsdWc6IHN0cmluZ1xuICBkZXNjcmlwdGlvbjogc3RyaW5nIHwgbnVsbFxuICBhZGRyZXNzOiBzdHJpbmcgfCBudWxsXG4gIGNpdHk6IHN0cmluZyB8IG51bGxcbiAgY291bnRyeTogc3RyaW5nIHwgbnVsbFxuICBsYXRpdHVkZTogbnVtYmVyIHwgbnVsbFxuICBsb25naXR1ZGU6IG51bWJlciB8IG51bGxcbiAgLy8gQWxpYXNlcyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgbGF0PzogbnVtYmVyIHwgbnVsbFxuICBsbmc/OiBudW1iZXIgfCBudWxsXG4gIHR5cGU6IFNwb3RUeXBlXG4gIGdvb2dsZVBsYWNlSWQ6IHN0cmluZyB8IG51bGxcbiAgd2Vic2l0ZTogc3RyaW5nIHwgbnVsbFxuICBwaG9uZTogc3RyaW5nIHwgbnVsbFxuICBpbWFnZVVybDogc3RyaW5nIHwgbnVsbFxuICBvd25lcklkOiBzdHJpbmcgfCBudWxsXG4gIGlzVmVyaWZpZWQ6IGJvb2xlYW5cbiAgLy8gRGF0ZXMgYXMgc3RyaW5ncyBmb3IgSlNPTiBzZXJpYWxpemF0aW9uIGNvbXBhdGliaWxpdHlcbiAgY3JlYXRlZEF0OiBEYXRlIHwgc3RyaW5nXG4gIHVwZGF0ZWRBdDogRGF0ZSB8IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNwb3RQb3N0IHtcbiAgaWQ6IHN0cmluZ1xuICBzcG90SWQ6IHN0cmluZ1xuICB1c2VySWQ6IHN0cmluZ1xuICBwb3N0VHlwZTogU3BvdFBvc3RUeXBlXG4gIHRpdGxlOiBzdHJpbmdcbiAgY29udGVudDogc3RyaW5nIHwgbnVsbFxuICBlbW9qaTogc3RyaW5nIHwgbnVsbFxuICBleHBpcmVzQXQ6IERhdGUgfCBudWxsXG4gIHN0YXR1czogJ0FDVElWRScgfCAnRlVMRklMTEVEJyB8ICdFWFBJUkVEJyB8ICdERUxFVEVEJ1xuICB1cHZvdGVDb3VudDogbnVtYmVyXG4gIHJlc3BvbnNlQ291bnQ6IG51bWJlclxuICByZXBseUNvdW50OiBudW1iZXJcbiAgY3JlYXRlZEF0OiBEYXRlXG4gIHVwZGF0ZWRBdDogRGF0ZVxuICAvLyBSZWxhdGlvbnMgKG9wdGlvbmFsLCBwb3B1bGF0ZWQgYnkgQVBJKVxuICB1c2VyPzogVXNlclxuICBzcG90PzogU3BvdFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvc3RSZXBseSB7XG4gIGlkOiBzdHJpbmdcbiAgcG9zdElkOiBzdHJpbmdcbiAgdXNlcklkOiBzdHJpbmdcbiAgY29udGVudDogc3RyaW5nXG4gIGNyZWF0ZWRBdDogRGF0ZVxuICB1cGRhdGVkQXQ6IERhdGVcbiAgdXNlcj86IFVzZXJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQb3N0UmVzcG9uc2Uge1xuICBpZDogc3RyaW5nXG4gIHBvc3RJZDogc3RyaW5nXG4gIHVzZXJJZDogc3RyaW5nXG4gIG5vdGU6IHN0cmluZyB8IG51bGxcbiAgc3RhdHVzOiBSZXNwb25zZVN0YXR1c1xuICBjcmVhdGVkQXQ6IERhdGVcbiAgdXBkYXRlZEF0OiBEYXRlXG4gIHVzZXI/OiBVc2VyXG4gIHBvc3Q/OiBTcG90UG9zdFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvc3RVcHZvdGUge1xuICBpZDogc3RyaW5nXG4gIHBvc3RJZDogc3RyaW5nXG4gIHVzZXJJZDogc3RyaW5nXG4gIGNyZWF0ZWRBdDogRGF0ZVxufVxuXG4vKipcbiAqIFBvc3RVcHZvdGVyIC0gdXNlciB3aG8gdXB2b3RlZCBhIHBvc3QgKGZyb20gL3Bvc3RzLzppZC91cHZvdGVzIGVuZHBvaW50KVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBvc3RVcHZvdGVyIHtcbiAgaWQ6IHN0cmluZ1xuICB1c2VySWQ6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmcgfCBudWxsXG4gIGF2YXRhclVybDogc3RyaW5nIHwgbnVsbFxuICBjcmVhdGVkQXQ6IERhdGVcbn1cblxuLyoqXG4gKiBQb3N0VXB2b3Rlc1Jlc3BvbnNlIC0gcmVzcG9uc2UgZnJvbSAvcG9zdHMvOmlkL3Vwdm90ZXMgZW5kcG9pbnRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQb3N0VXB2b3Rlc1Jlc3BvbnNlIHtcbiAgZGF0YTogUG9zdFVwdm90ZXJbXVxuICBtZXRhOiB7XG4gICAgdG90YWw6IG51bWJlclxuICAgIGxpbWl0OiBudW1iZXJcbiAgICBvZmZzZXQ6IG51bWJlclxuICAgIGhhc01vcmU6IGJvb2xlYW5cbiAgICBjdXJyZW50VXNlclVwdm90ZWQ6IGJvb2xlYW5cbiAgICBpc1Bvc3RBdXRob3I6IGJvb2xlYW5cbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvc3RSZXBvcnQge1xuICBpZDogc3RyaW5nXG4gIHBvc3RJZDogc3RyaW5nXG4gIHVzZXJJZDogc3RyaW5nXG4gIHJlYXNvbjogUmVwb3J0UmVhc29uXG4gIGRldGFpbHM6IHN0cmluZyB8IG51bGxcbiAgc3RhdHVzOiBSZXBvcnRTdGF0dXNcbiAgY3JlYXRlZEF0OiBEYXRlXG4gIHVwZGF0ZWRBdDogRGF0ZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsdWIge1xuICBpZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBzbHVnOiBzdHJpbmdcbiAgZGVzY3JpcHRpb246IHN0cmluZyB8IG51bGxcbiAgaW1hZ2VVcmw6IHN0cmluZyB8IG51bGxcbiAgaXNQcml2YXRlOiBib29sZWFuXG4gIGNyZWF0ZWRCeUlkOiBzdHJpbmdcbiAgY3JlYXRlZEF0OiBEYXRlXG4gIHVwZGF0ZWRBdDogRGF0ZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsdWJNZW1iZXIge1xuICBpZDogc3RyaW5nXG4gIGNsdWJJZDogc3RyaW5nXG4gIHVzZXJJZDogc3RyaW5nXG4gIHJvbGU6ICdNRU1CRVInIHwgJ0FETUlOJyB8ICdPV05FUidcbiAgam9pbmVkQXQ6IERhdGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb252ZXJzYXRpb24ge1xuICBpZDogc3RyaW5nXG4gIGNyZWF0ZWRBdDogRGF0ZVxuICB1cGRhdGVkQXQ6IERhdGVcbiAgcGFydGljaXBhbnRzPzogVXNlcltdXG4gIG1lc3NhZ2VzPzogTWVzc2FnZVtdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZSB7XG4gIGlkOiBzdHJpbmdcbiAgY29udmVyc2F0aW9uSWQ6IHN0cmluZ1xuICBzZW5kZXJJZDogc3RyaW5nXG4gIGNvbnRlbnQ6IHN0cmluZ1xuICBjcmVhdGVkQXQ6IERhdGVcbiAgc2VuZGVyPzogVXNlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5vdGlmaWNhdGlvbiB7XG4gIGlkOiBzdHJpbmdcbiAgdXNlcklkOiBzdHJpbmdcbiAgdHlwZTogTm90aWZpY2F0aW9uVHlwZVxuICB0aXRsZTogc3RyaW5nXG4gIGJvZHk6IHN0cmluZyB8IG51bGxcbiAgZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBudWxsXG4gIGlzUmVhZDogYm9vbGVhblxuICBjcmVhdGVkQXQ6IERhdGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQb3N0VGVtcGxhdGUge1xuICBpZDogc3RyaW5nXG4gIHBvc3RUeXBlOiBTcG90UG9zdFR5cGVcbiAgZW1vamk6IHN0cmluZ1xuICB0aXRsZTogc3RyaW5nXG4gIHBsYWNlaG9sZGVyOiBzdHJpbmcgfCBudWxsXG4gIGlzQWN0aXZlOiBib29sZWFuXG4gIHNvcnRPcmRlcjogbnVtYmVyXG4gIGNyZWF0ZWRBdDogRGF0ZVxuICB1cGRhdGVkQXQ6IERhdGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWaWJlIHtcbiAgaWQ6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgZW1vamk6IHN0cmluZyB8IG51bGxcbiAgY3JlYXRlZEF0OiBEYXRlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJlc3Qge1xuICBpZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBlbW9qaTogc3RyaW5nIHwgbnVsbFxuICBjYXRlZ29yeTogc3RyaW5nIHwgbnVsbFxuICBjcmVhdGVkQXQ6IERhdGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnRlbnRpb24ge1xuICBpZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBlbW9qaTogc3RyaW5nIHwgbnVsbFxuICBjcmVhdGVkQXQ6IERhdGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaWZlU2l0dWF0aW9uIHtcbiAgaWQ6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgZW1vamk6IHN0cmluZyB8IG51bGxcbiAgY3JlYXRlZEF0OiBEYXRlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmF2b3JpdGVTcG90IHtcbiAgaWQ6IHN0cmluZ1xuICB1c2VySWQ6IHN0cmluZ1xuICBzcG90SWQ6IHN0cmluZ1xuICBjcmVhdGVkQXQ6IERhdGVcbiAgc3BvdD86IFNwb3Rcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTcG90SW1hZ2Uge1xuICBpZDogc3RyaW5nXG4gIHNwb3RJZDogc3RyaW5nXG4gIHVybDogc3RyaW5nXG4gIGNhcHRpb246IHN0cmluZyB8IG51bGxcbiAgc29ydE9yZGVyOiBudW1iZXJcbiAgY3JlYXRlZEF0OiBEYXRlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3BvdFZpYmUge1xuICBpZDogc3RyaW5nXG4gIHNwb3RJZDogc3RyaW5nXG4gIHZpYmVJZDogc3RyaW5nXG4gIHZpYmU/OiBWaWJlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3BvdEludGVudGlvbiB7XG4gIGlkOiBzdHJpbmdcbiAgc3BvdElkOiBzdHJpbmdcbiAgaW50ZW50aW9uSWQ6IHN0cmluZ1xuICBpbnRlbnRpb24/OiBJbnRlbnRpb25cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTcG90Q2xhaW0ge1xuICBpZDogc3RyaW5nXG4gIHNwb3RJZDogc3RyaW5nXG4gIHVzZXJJZDogc3RyaW5nXG4gIHN0YXR1czogQ2xhaW1TdGF0dXNcbiAgdmVyaWZpY2F0aW9uTWV0aG9kOiBzdHJpbmcgfCBudWxsXG4gIGNyZWF0ZWRBdDogRGF0ZVxuICB1cGRhdGVkQXQ6IERhdGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTcG90U3Vic2NyaXB0aW9uIHtcbiAgaWQ6IHN0cmluZ1xuICBzcG90SWQ6IHN0cmluZ1xuICB1c2VySWQ6IHN0cmluZ1xuICBjcmVhdGVkQXQ6IERhdGVcbiAgc3BvdD86IFNwb3Rcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaXR5IHtcbiAgaWQ6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgY291bnRyeTogc3RyaW5nXG4gIGxhdGl0dWRlOiBudW1iZXJcbiAgbG9uZ2l0dWRlOiBudW1iZXJcbiAgdGltZXpvbmU6IHN0cmluZyB8IG51bGxcbiAgY3JlYXRlZEF0OiBEYXRlXG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFQSSBSRVNQT05TRSBUWVBFU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBOT1RFOiBBcGlSZXNwb25zZSBpcyByZS1leHBvcnRlZCBmcm9tIEBzcG90cy90eXBlcyBpbiB0eXBlcy50c1xuXG4vKipcbiAqIFBhZ2luYXRlZCByZXNwb25zZSB3aXRoIG1ldGEgaW5mb3JtYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYWdpbmF0ZWRSZXNwb25zZTxUPiB7XG4gIGRhdGE6IFRbXVxuICBtZXRhOiBQYWdpbmF0aW9uTWV0YVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luYXRpb25NZXRhIHtcbiAgdG90YWw6IG51bWJlclxuICBwYWdlOiBudW1iZXJcbiAgbGltaXQ6IG51bWJlclxuICB0b3RhbFBhZ2VzOiBudW1iZXJcbiAgaGFzTmV4dFBhZ2U6IGJvb2xlYW5cbiAgaGFzUHJldmlvdXNQYWdlOiBib29sZWFuXG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1BUktFVFBMQUNFIFRZUEVTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCB0eXBlIFByb2R1Y3RUeXBlID0gJ1BIWVNJQ0FMJyB8ICdESUdJVEFMJyB8ICdTRVJWSUNFJyB8ICdCVU5ETEUnXG5cbmV4cG9ydCB0eXBlIFByb2R1Y3RTdGF0dXMgPSAnRFJBRlQnIHwgJ0FDVElWRScgfCAnU09MRF9PVVQnIHwgJ0FSQ0hJVkVEJ1xuXG5leHBvcnQgdHlwZSBPcmRlclN0YXR1cyA9XG4gIHwgJ1BFTkRJTkcnXG4gIHwgJ0NPTkZJUk1FRCdcbiAgfCAnUFJFUEFSSU5HJ1xuICB8ICdSRUFEWSdcbiAgfCAnQ09NUExFVEVEJ1xuICB8ICdDQU5DRUxMRUQnXG4gIHwgJ1JFRlVOREVEJ1xuXG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3Qge1xuICBpZDogc3RyaW5nXG4gIHNwb3RJZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBzbHVnOiBzdHJpbmdcbiAgZGVzY3JpcHRpb246IHN0cmluZyB8IG51bGxcbiAgdHlwZTogUHJvZHVjdFR5cGVcbiAgc3RhdHVzOiBQcm9kdWN0U3RhdHVzXG4gIHByaWNlOiBudW1iZXJcbiAgY3VycmVuY3k6IHN0cmluZ1xuICBpbWFnZVVybDogc3RyaW5nIHwgbnVsbFxuICBpbWFnZXM6IHN0cmluZ1tdXG4gIHN0b2NrOiBudW1iZXIgfCBudWxsXG4gIG1heFF1YW50aXR5OiBudW1iZXJcbiAgc29ydE9yZGVyOiBudW1iZXJcbiAgbWV0YWRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbFxuICBjcmVhdGVkQXQ6IERhdGVcbiAgdXBkYXRlZEF0OiBEYXRlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3JkZXIge1xuICBpZDogc3RyaW5nXG4gIHNwb3RJZDogc3RyaW5nXG4gIHVzZXJJZDogc3RyaW5nXG4gIHN0YXR1czogT3JkZXJTdGF0dXNcbiAgc3VidG90YWw6IG51bWJlclxuICB0YXg6IG51bWJlclxuICB0b3RhbDogbnVtYmVyXG4gIGN1cnJlbmN5OiBzdHJpbmdcbiAgbm90ZXM6IHN0cmluZyB8IG51bGxcbiAgbWV0YWRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbFxuICBjcmVhdGVkQXQ6IERhdGVcbiAgdXBkYXRlZEF0OiBEYXRlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3JkZXJJdGVtIHtcbiAgaWQ6IHN0cmluZ1xuICBvcmRlcklkOiBzdHJpbmdcbiAgcHJvZHVjdElkOiBzdHJpbmdcbiAgcXVhbnRpdHk6IG51bWJlclxuICB1bml0UHJpY2U6IG51bWJlclxuICB0b3RhbDogbnVtYmVyXG4gIGNyZWF0ZWRBdDogRGF0ZVxufVxuIl19
@@ -1,47 +0,0 @@
1
- /**
2
- * Clubs Mutation Hooks
3
- *
4
- * TanStack Query hooks for club mutation operations.
5
- */
6
- import { type UseMutationOptions, type UseMutationResult } from '@tanstack/react-query';
7
- import { type Club } from '../types';
8
- /**
9
- * Create a new club
10
- *
11
- * @endpoint POST /clubs
12
- */
13
- export declare function useCreateClub(options?: Omit<UseMutationOptions<Club, Error, {
14
- spotId: string;
15
- name: string;
16
- description?: string;
17
- }>, 'mutationFn'>): UseMutationResult<Club, Error, {
18
- spotId: string;
19
- name: string;
20
- description?: string;
21
- }>;
22
- /**
23
- * Update a club
24
- *
25
- * @endpoint PUT /clubs/{id}
26
- */
27
- export declare function useUpdateClub(options?: Omit<UseMutationOptions<Club, Error, {
28
- clubId: string;
29
- name?: string;
30
- description?: string;
31
- }>, 'mutationFn'>): UseMutationResult<Club, Error, {
32
- clubId: string;
33
- name?: string;
34
- description?: string;
35
- }>;
36
- /**
37
- * Join a club
38
- *
39
- * @endpoint POST /clubs/{id}/join
40
- */
41
- export declare function useJoinClub(options?: Omit<UseMutationOptions<void, Error, string>, 'mutationFn'>): UseMutationResult<void, Error, string>;
42
- /**
43
- * Leave a club
44
- *
45
- * @endpoint POST /clubs/{id}/leave
46
- */
47
- export declare function useLeaveClub(options?: Omit<UseMutationOptions<void, Error, string>, 'mutationFn'>): UseMutationResult<void, Error, string>;