@spotsdev/sdk 1.4.0 → 1.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/dist/index.cjs +2166 -0
  2. package/dist/index.cjs.map +1 -0
  3. package/dist/index.d.cts +1656 -0
  4. package/dist/index.d.ts +1655 -36
  5. package/dist/index.js +2021 -64
  6. package/dist/index.js.map +1 -0
  7. package/package.json +22 -6
  8. package/src/api/entities.ts +171 -170
  9. package/src/api/mutations/products.ts +18 -2
  10. package/src/api/queries/index.ts +4 -0
  11. package/src/api/queries/payments.ts +67 -0
  12. package/dist/api/client.d.ts +0 -12
  13. package/dist/api/client.js +0 -72
  14. package/dist/api/entities.d.ts +0 -305
  15. package/dist/api/entities.js +0 -13
  16. package/dist/api/mutations/clubs.d.ts +0 -47
  17. package/dist/api/mutations/clubs.js +0 -97
  18. package/dist/api/mutations/conversations.d.ts +0 -45
  19. package/dist/api/mutations/conversations.js +0 -114
  20. package/dist/api/mutations/index.d.ts +0 -14
  21. package/dist/api/mutations/index.js +0 -40
  22. package/dist/api/mutations/notifications.d.ts +0 -38
  23. package/dist/api/mutations/notifications.js +0 -64
  24. package/dist/api/mutations/orders.d.ts +0 -73
  25. package/dist/api/mutations/orders.js +0 -114
  26. package/dist/api/mutations/posts.d.ts +0 -123
  27. package/dist/api/mutations/posts.js +0 -242
  28. package/dist/api/mutations/products.d.ts +0 -81
  29. package/dist/api/mutations/products.js +0 -98
  30. package/dist/api/mutations/redemptions.d.ts +0 -33
  31. package/dist/api/mutations/redemptions.js +0 -63
  32. package/dist/api/mutations/spots.d.ts +0 -93
  33. package/dist/api/mutations/spots.js +0 -167
  34. package/dist/api/mutations/users.d.ts +0 -73
  35. package/dist/api/mutations/users.js +0 -175
  36. package/dist/api/queries/auth.d.ts +0 -37
  37. package/dist/api/queries/auth.js +0 -61
  38. package/dist/api/queries/clubs.d.ts +0 -52
  39. package/dist/api/queries/clubs.js +0 -116
  40. package/dist/api/queries/conversations.d.ts +0 -52
  41. package/dist/api/queries/conversations.js +0 -83
  42. package/dist/api/queries/index.d.ts +0 -28
  43. package/dist/api/queries/index.js +0 -69
  44. package/dist/api/queries/misc.d.ts +0 -30
  45. package/dist/api/queries/misc.js +0 -91
  46. package/dist/api/queries/notifications.d.ts +0 -34
  47. package/dist/api/queries/notifications.js +0 -62
  48. package/dist/api/queries/orders.d.ts +0 -45
  49. package/dist/api/queries/orders.js +0 -93
  50. package/dist/api/queries/posts.d.ts +0 -92
  51. package/dist/api/queries/posts.js +0 -233
  52. package/dist/api/queries/products.d.ts +0 -48
  53. package/dist/api/queries/products.js +0 -87
  54. package/dist/api/queries/spots.d.ts +0 -93
  55. package/dist/api/queries/spots.js +0 -250
  56. package/dist/api/queries/templates.d.ts +0 -39
  57. package/dist/api/queries/templates.js +0 -81
  58. package/dist/api/queries/users.d.ts +0 -104
  59. package/dist/api/queries/users.js +0 -235
  60. package/dist/api/queries/wallet.d.ts +0 -109
  61. package/dist/api/queries/wallet.js +0 -136
  62. package/dist/api/services/index.d.ts +0 -2
  63. package/dist/api/services/index.js +0 -8
  64. package/dist/api/services/marketplace.d.ts +0 -129
  65. package/dist/api/services/marketplace.js +0 -168
  66. package/dist/api/types.d.ts +0 -57
  67. package/dist/api/types.js +0 -33
@@ -1,14 +0,0 @@
1
- /**
2
- * Spots SDK Mutation Hooks Index
3
- *
4
- * Re-exports all mutation hooks.
5
- */
6
- export * from './users';
7
- export * from './posts';
8
- export * from './spots';
9
- export * from './conversations';
10
- export * from './clubs';
11
- export * from './notifications';
12
- export * from './products';
13
- export * from './orders';
14
- export * from './redemptions';
@@ -1,40 +0,0 @@
1
- "use strict";
2
- /**
3
- * Spots SDK Mutation Hooks Index
4
- *
5
- * Re-exports all mutation hooks.
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
- // Users
23
- __exportStar(require("./users"), exports);
24
- // Posts
25
- __exportStar(require("./posts"), exports);
26
- // Spots
27
- __exportStar(require("./spots"), exports);
28
- // Conversations
29
- __exportStar(require("./conversations"), exports);
30
- // Clubs
31
- __exportStar(require("./clubs"), exports);
32
- // Notifications
33
- __exportStar(require("./notifications"), exports);
34
- // Products (marketplace)
35
- __exportStar(require("./products"), exports);
36
- // Orders (marketplace)
37
- __exportStar(require("./orders"), exports);
38
- // Redemptions (wallet)
39
- __exportStar(require("./redemptions"), exports);
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL211dGF0aW9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7R0FJRzs7Ozs7Ozs7Ozs7Ozs7OztBQUVILFFBQVE7QUFDUiwwQ0FBdUI7QUFFdkIsUUFBUTtBQUNSLDBDQUF1QjtBQUV2QixRQUFRO0FBQ1IsMENBQXVCO0FBRXZCLGdCQUFnQjtBQUNoQixrREFBK0I7QUFFL0IsUUFBUTtBQUNSLDBDQUF1QjtBQUV2QixnQkFBZ0I7QUFDaEIsa0RBQStCO0FBRS9CLHlCQUF5QjtBQUN6Qiw2Q0FBMEI7QUFFMUIsdUJBQXVCO0FBQ3ZCLDJDQUF3QjtBQUV4Qix1QkFBdUI7QUFDdkIsZ0RBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTcG90cyBTREsgTXV0YXRpb24gSG9va3MgSW5kZXhcbiAqXG4gKiBSZS1leHBvcnRzIGFsbCBtdXRhdGlvbiBob29rcy5cbiAqL1xuXG4vLyBVc2Vyc1xuZXhwb3J0ICogZnJvbSAnLi91c2VycydcblxuLy8gUG9zdHNcbmV4cG9ydCAqIGZyb20gJy4vcG9zdHMnXG5cbi8vIFNwb3RzXG5leHBvcnQgKiBmcm9tICcuL3Nwb3RzJ1xuXG4vLyBDb252ZXJzYXRpb25zXG5leHBvcnQgKiBmcm9tICcuL2NvbnZlcnNhdGlvbnMnXG5cbi8vIENsdWJzXG5leHBvcnQgKiBmcm9tICcuL2NsdWJzJ1xuXG4vLyBOb3RpZmljYXRpb25zXG5leHBvcnQgKiBmcm9tICcuL25vdGlmaWNhdGlvbnMnXG5cbi8vIFByb2R1Y3RzIChtYXJrZXRwbGFjZSlcbmV4cG9ydCAqIGZyb20gJy4vcHJvZHVjdHMnXG5cbi8vIE9yZGVycyAobWFya2V0cGxhY2UpXG5leHBvcnQgKiBmcm9tICcuL29yZGVycydcblxuLy8gUmVkZW1wdGlvbnMgKHdhbGxldClcbmV4cG9ydCAqIGZyb20gJy4vcmVkZW1wdGlvbnMnXG4iXX0=
@@ -1,38 +0,0 @@
1
- /**
2
- * Notifications Mutation Hooks
3
- *
4
- * TanStack Query hooks for notification mutation operations.
5
- */
6
- import { type UseMutationOptions, type UseMutationResult } from '@tanstack/react-query';
7
- /**
8
- * Mark notifications as read
9
- *
10
- * @endpoint PUT /notifications/read
11
- */
12
- export declare function useMarkNotificationsRead(options?: Omit<UseMutationOptions<void, Error, {
13
- notificationIds?: string[];
14
- }>, 'mutationFn'>): UseMutationResult<void, Error, {
15
- notificationIds?: string[];
16
- }>;
17
- /**
18
- * Register device token for push notifications
19
- *
20
- * @endpoint POST /device-tokens
21
- */
22
- export declare function useRegisterDeviceToken(options?: Omit<UseMutationOptions<void, Error, {
23
- token: string;
24
- platform: 'ios' | 'android' | 'web';
25
- }>, 'mutationFn'>): UseMutationResult<void, Error, {
26
- token: string;
27
- platform: 'ios' | 'android' | 'web';
28
- }>;
29
- /**
30
- * Remove device token
31
- *
32
- * @endpoint DELETE /device-tokens
33
- */
34
- export declare function useRemoveDeviceToken(options?: Omit<UseMutationOptions<void, Error, {
35
- token: string;
36
- }>, 'mutationFn'>): UseMutationResult<void, Error, {
37
- token: string;
38
- }>;
@@ -1,64 +0,0 @@
1
- "use strict";
2
- /**
3
- * Notifications Mutation Hooks
4
- *
5
- * TanStack Query hooks for notification mutation operations.
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.useMarkNotificationsRead = useMarkNotificationsRead;
9
- exports.useRegisterDeviceToken = useRegisterDeviceToken;
10
- exports.useRemoveDeviceToken = useRemoveDeviceToken;
11
- const react_query_1 = require("@tanstack/react-query");
12
- const client_1 = require("../client");
13
- const notifications_1 = require("../queries/notifications");
14
- // ============================================================================
15
- // MUTATION HOOKS
16
- // ============================================================================
17
- /**
18
- * Mark notifications as read
19
- *
20
- * @endpoint PUT /notifications/read
21
- */
22
- function useMarkNotificationsRead(options) {
23
- const queryClient = (0, react_query_1.useQueryClient)();
24
- return (0, react_query_1.useMutation)({
25
- mutationFn: async (data) => {
26
- const client = (0, client_1.getApiClient)();
27
- await client.put('/notifications/read', data);
28
- },
29
- onSuccess: () => {
30
- queryClient.invalidateQueries({ queryKey: notifications_1.notificationKeys.lists() });
31
- queryClient.invalidateQueries({ queryKey: notifications_1.notificationKeys.unreadCount() });
32
- },
33
- ...options,
34
- });
35
- }
36
- /**
37
- * Register device token for push notifications
38
- *
39
- * @endpoint POST /device-tokens
40
- */
41
- function useRegisterDeviceToken(options) {
42
- return (0, react_query_1.useMutation)({
43
- mutationFn: async (data) => {
44
- const client = (0, client_1.getApiClient)();
45
- await client.post('/device-tokens', data);
46
- },
47
- ...options,
48
- });
49
- }
50
- /**
51
- * Remove device token
52
- *
53
- * @endpoint DELETE /device-tokens
54
- */
55
- function useRemoveDeviceToken(options) {
56
- return (0, react_query_1.useMutation)({
57
- mutationFn: async (data) => {
58
- const client = (0, client_1.getApiClient)();
59
- await client.delete('/device-tokens', { data });
60
- },
61
- ...options,
62
- });
63
- }
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvbXV0YXRpb25zL25vdGlmaWNhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7O0dBSUc7O0FBcUJILDREQW1CQztBQU9ELHdEQXFCQztBQU9ELG9EQWFDO0FBdEZELHVEQUs4QjtBQUU5QixzQ0FBc0M7QUFDdEMsNERBQXlEO0FBRXpELCtFQUErRTtBQUMvRSxpQkFBaUI7QUFDakIsK0VBQStFO0FBRS9FOzs7O0dBSUc7QUFDSCxTQUFnQix3QkFBd0IsQ0FDdEMsT0FHQztJQUVELE1BQU0sV0FBVyxHQUFHLElBQUEsNEJBQWMsR0FBRSxDQUFBO0lBRXBDLE9BQU8sSUFBQSx5QkFBVyxFQUFDO1FBQ2pCLFVBQVUsRUFBRSxLQUFLLEVBQUUsSUFBa0MsRUFBaUIsRUFBRTtZQUN0RSxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEdBQUUsQ0FBQTtZQUM3QixNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQUMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDL0MsQ0FBQztRQUNELFNBQVMsRUFBRSxHQUFHLEVBQUU7WUFDZCxXQUFXLENBQUMsaUJBQWlCLENBQUMsRUFBQyxRQUFRLEVBQUUsZ0NBQWdCLENBQUMsS0FBSyxFQUFFLEVBQUMsQ0FBQyxDQUFBO1lBQ25FLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFDLFFBQVEsRUFBRSxnQ0FBZ0IsQ0FBQyxXQUFXLEVBQUUsRUFBQyxDQUFDLENBQUE7UUFDM0UsQ0FBQztRQUNELEdBQUcsT0FBTztLQUNYLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0Isc0JBQXNCLENBQ3BDLE9BT0M7SUFNRCxPQUFPLElBQUEseUJBQVcsRUFBQztRQUNqQixVQUFVLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBaUIsRUFBRTtZQUN4QyxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEdBQUUsQ0FBQTtZQUM3QixNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDM0MsQ0FBQztRQUNELEdBQUcsT0FBTztLQUNYLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0Isb0JBQW9CLENBQ2xDLE9BR0M7SUFFRCxPQUFPLElBQUEseUJBQVcsRUFBQztRQUNqQixVQUFVLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBaUIsRUFBRTtZQUN4QyxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEdBQUUsQ0FBQTtZQUM3QixNQUFNLE1BQU0sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsRUFBQyxJQUFJLEVBQUMsQ0FBQyxDQUFBO1FBQy9DLENBQUM7UUFDRCxHQUFHLE9BQU87S0FDWCxDQUFDLENBQUE7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBOb3RpZmljYXRpb25zIE11dGF0aW9uIEhvb2tzXG4gKlxuICogVGFuU3RhY2sgUXVlcnkgaG9va3MgZm9yIG5vdGlmaWNhdGlvbiBtdXRhdGlvbiBvcGVyYXRpb25zLlxuICovXG5cbmltcG9ydCB7XG4gIHVzZU11dGF0aW9uLFxuICB0eXBlIFVzZU11dGF0aW9uT3B0aW9ucyxcbiAgdHlwZSBVc2VNdXRhdGlvblJlc3VsdCxcbiAgdXNlUXVlcnlDbGllbnQsXG59IGZyb20gJ0B0YW5zdGFjay9yZWFjdC1xdWVyeSdcblxuaW1wb3J0IHtnZXRBcGlDbGllbnR9IGZyb20gJy4uL2NsaWVudCdcbmltcG9ydCB7bm90aWZpY2F0aW9uS2V5c30gZnJvbSAnLi4vcXVlcmllcy9ub3RpZmljYXRpb25zJ1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNVVRBVElPTiBIT09LU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIE1hcmsgbm90aWZpY2F0aW9ucyBhcyByZWFkXG4gKlxuICogQGVuZHBvaW50IFBVVCAvbm90aWZpY2F0aW9ucy9yZWFkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VNYXJrTm90aWZpY2F0aW9uc1JlYWQoXG4gIG9wdGlvbnM/OiBPbWl0PFxuICAgIFVzZU11dGF0aW9uT3B0aW9uczx2b2lkLCBFcnJvciwge25vdGlmaWNhdGlvbklkcz86IHN0cmluZ1tdfT4sXG4gICAgJ211dGF0aW9uRm4nXG4gID4sXG4pOiBVc2VNdXRhdGlvblJlc3VsdDx2b2lkLCBFcnJvciwge25vdGlmaWNhdGlvbklkcz86IHN0cmluZ1tdfT4ge1xuICBjb25zdCBxdWVyeUNsaWVudCA9IHVzZVF1ZXJ5Q2xpZW50KClcblxuICByZXR1cm4gdXNlTXV0YXRpb24oe1xuICAgIG11dGF0aW9uRm46IGFzeW5jIChkYXRhOiB7bm90aWZpY2F0aW9uSWRzPzogc3RyaW5nW119KTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKVxuICAgICAgYXdhaXQgY2xpZW50LnB1dCgnL25vdGlmaWNhdGlvbnMvcmVhZCcsIGRhdGEpXG4gICAgfSxcbiAgICBvblN1Y2Nlc3M6ICgpID0+IHtcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHtxdWVyeUtleTogbm90aWZpY2F0aW9uS2V5cy5saXN0cygpfSlcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHtxdWVyeUtleTogbm90aWZpY2F0aW9uS2V5cy51bnJlYWRDb3VudCgpfSlcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pXG59XG5cbi8qKlxuICogUmVnaXN0ZXIgZGV2aWNlIHRva2VuIGZvciBwdXNoIG5vdGlmaWNhdGlvbnNcbiAqXG4gKiBAZW5kcG9pbnQgUE9TVCAvZGV2aWNlLXRva2Vuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlUmVnaXN0ZXJEZXZpY2VUb2tlbihcbiAgb3B0aW9ucz86IE9taXQ8XG4gICAgVXNlTXV0YXRpb25PcHRpb25zPFxuICAgICAgdm9pZCxcbiAgICAgIEVycm9yLFxuICAgICAge3Rva2VuOiBzdHJpbmc7IHBsYXRmb3JtOiAnaW9zJyB8ICdhbmRyb2lkJyB8ICd3ZWInfVxuICAgID4sXG4gICAgJ211dGF0aW9uRm4nXG4gID4sXG4pOiBVc2VNdXRhdGlvblJlc3VsdDxcbiAgdm9pZCxcbiAgRXJyb3IsXG4gIHt0b2tlbjogc3RyaW5nOyBwbGF0Zm9ybTogJ2lvcycgfCAnYW5kcm9pZCcgfCAnd2ViJ31cbj4ge1xuICByZXR1cm4gdXNlTXV0YXRpb24oe1xuICAgIG11dGF0aW9uRm46IGFzeW5jIChkYXRhKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKVxuICAgICAgYXdhaXQgY2xpZW50LnBvc3QoJy9kZXZpY2UtdG9rZW5zJywgZGF0YSlcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pXG59XG5cbi8qKlxuICogUmVtb3ZlIGRldmljZSB0b2tlblxuICpcbiAqIEBlbmRwb2ludCBERUxFVEUgL2RldmljZS10b2tlbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVJlbW92ZURldmljZVRva2VuKFxuICBvcHRpb25zPzogT21pdDxcbiAgICBVc2VNdXRhdGlvbk9wdGlvbnM8dm9pZCwgRXJyb3IsIHt0b2tlbjogc3RyaW5nfT4sXG4gICAgJ211dGF0aW9uRm4nXG4gID4sXG4pOiBVc2VNdXRhdGlvblJlc3VsdDx2b2lkLCBFcnJvciwge3Rva2VuOiBzdHJpbmd9PiB7XG4gIHJldHVybiB1c2VNdXRhdGlvbih7XG4gICAgbXV0YXRpb25GbjogYXN5bmMgKGRhdGEpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpXG4gICAgICBhd2FpdCBjbGllbnQuZGVsZXRlKCcvZGV2aWNlLXRva2VucycsIHtkYXRhfSlcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pXG59XG4iXX0=
@@ -1,73 +0,0 @@
1
- /**
2
- * Orders Mutation Hooks
3
- *
4
- * TanStack Query hooks for order mutation operations.
5
- */
6
- import { type UseMutationOptions, type UseMutationResult } from '@tanstack/react-query';
7
- import { type OrderWithDetails } from '../queries/orders';
8
- import type { Order, OrderStatus } from '../types';
9
- export interface CartItem {
10
- productId: string;
11
- quantity: number;
12
- }
13
- export interface CreateOrderRequest {
14
- spotId: string;
15
- items: CartItem[];
16
- notes?: string;
17
- deliveryAddress?: string;
18
- }
19
- export interface CreateOrderResponse extends Order {
20
- items: Array<{
21
- id: string;
22
- productId: string;
23
- productName: string;
24
- quantity: number;
25
- unitPrice: number;
26
- totalPrice: number;
27
- }>;
28
- }
29
- export interface PaymentIntentResponse {
30
- clientSecret: string;
31
- paymentIntentId: string;
32
- }
33
- export interface CoinbaseChargeResponse {
34
- chargeId: string;
35
- chargeCode: string;
36
- hostedUrl: string;
37
- }
38
- /**
39
- * Create a new order
40
- *
41
- * @endpoint POST /orders
42
- */
43
- export declare function useCreateOrder(options?: Omit<UseMutationOptions<CreateOrderResponse, Error, CreateOrderRequest>, 'mutationFn'>): UseMutationResult<CreateOrderResponse, Error, CreateOrderRequest>;
44
- /**
45
- * Create Stripe PaymentIntent for an order
46
- *
47
- * @endpoint POST /payments/stripe/intent/{orderId}
48
- */
49
- export declare function useCreateStripeIntent(options?: Omit<UseMutationOptions<PaymentIntentResponse, Error, string>, 'mutationFn'>): UseMutationResult<PaymentIntentResponse, Error, string>;
50
- /**
51
- * Create Coinbase Commerce charge for an order
52
- *
53
- * @endpoint POST /payments/coinbase/charge/{orderId}
54
- */
55
- export declare function useCreateCoinbaseCharge(options?: Omit<UseMutationOptions<CoinbaseChargeResponse, Error, string>, 'mutationFn'>): UseMutationResult<CoinbaseChargeResponse, Error, string>;
56
- /**
57
- * Update order status (seller action)
58
- *
59
- * @endpoint PUT /orders/{orderId}/status
60
- */
61
- export declare function useUpdateOrderStatus(options?: Omit<UseMutationOptions<OrderWithDetails, Error, {
62
- orderId: string;
63
- status: OrderStatus;
64
- }>, 'mutationFn'>): UseMutationResult<OrderWithDetails, Error, {
65
- orderId: string;
66
- status: OrderStatus;
67
- }>;
68
- /**
69
- * Cancel an order (buyer action, only for pending orders)
70
- *
71
- * @endpoint POST /orders/{orderId}/cancel
72
- */
73
- export declare function useCancelOrder(options?: Omit<UseMutationOptions<OrderWithDetails, Error, string>, 'mutationFn'>): UseMutationResult<OrderWithDetails, Error, string>;
@@ -1,114 +0,0 @@
1
- "use strict";
2
- /**
3
- * Orders Mutation Hooks
4
- *
5
- * TanStack Query hooks for order mutation operations.
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.useCreateOrder = useCreateOrder;
9
- exports.useCreateStripeIntent = useCreateStripeIntent;
10
- exports.useCreateCoinbaseCharge = useCreateCoinbaseCharge;
11
- exports.useUpdateOrderStatus = useUpdateOrderStatus;
12
- exports.useCancelOrder = useCancelOrder;
13
- const react_query_1 = require("@tanstack/react-query");
14
- const client_1 = require("../client");
15
- const orders_1 = require("../queries/orders");
16
- const products_1 = require("../queries/products");
17
- // ============================================================================
18
- // MUTATION HOOKS
19
- // ============================================================================
20
- /**
21
- * Create a new order
22
- *
23
- * @endpoint POST /orders
24
- */
25
- function useCreateOrder(options) {
26
- const queryClient = (0, react_query_1.useQueryClient)();
27
- return (0, react_query_1.useMutation)({
28
- mutationFn: async (data) => {
29
- const client = (0, client_1.getApiClient)();
30
- const response = await client.post('/orders', data);
31
- return response.data.data;
32
- },
33
- onSuccess: (_, variables) => {
34
- // Invalidate products to reflect updated stock
35
- queryClient.invalidateQueries({ queryKey: products_1.productKeys.bySpot(variables.spotId) });
36
- // Invalidate my orders list
37
- queryClient.invalidateQueries({ queryKey: orders_1.orderKeys.list({ my: true }) });
38
- },
39
- ...options,
40
- });
41
- }
42
- /**
43
- * Create Stripe PaymentIntent for an order
44
- *
45
- * @endpoint POST /payments/stripe/intent/{orderId}
46
- */
47
- function useCreateStripeIntent(options) {
48
- return (0, react_query_1.useMutation)({
49
- mutationFn: async (orderId) => {
50
- const client = (0, client_1.getApiClient)();
51
- const response = await client.post(`/payments/stripe/intent/${orderId}`);
52
- return response.data.data;
53
- },
54
- ...options,
55
- });
56
- }
57
- /**
58
- * Create Coinbase Commerce charge for an order
59
- *
60
- * @endpoint POST /payments/coinbase/charge/{orderId}
61
- */
62
- function useCreateCoinbaseCharge(options) {
63
- return (0, react_query_1.useMutation)({
64
- mutationFn: async (orderId) => {
65
- const client = (0, client_1.getApiClient)();
66
- const response = await client.post(`/payments/coinbase/charge/${orderId}`);
67
- return response.data.data;
68
- },
69
- ...options,
70
- });
71
- }
72
- /**
73
- * Update order status (seller action)
74
- *
75
- * @endpoint PUT /orders/{orderId}/status
76
- */
77
- function useUpdateOrderStatus(options) {
78
- const queryClient = (0, react_query_1.useQueryClient)();
79
- return (0, react_query_1.useMutation)({
80
- mutationFn: async ({ orderId, status }) => {
81
- const client = (0, client_1.getApiClient)();
82
- const response = await client.put(`/orders/${orderId}/status`, { status });
83
- return response.data.data;
84
- },
85
- onSuccess: (data) => {
86
- queryClient.setQueryData(orders_1.orderKeys.detail(data.id), data);
87
- queryClient.invalidateQueries({ queryKey: orders_1.orderKeys.spotOrders(data.spotId) });
88
- },
89
- ...options,
90
- });
91
- }
92
- /**
93
- * Cancel an order (buyer action, only for pending orders)
94
- *
95
- * @endpoint POST /orders/{orderId}/cancel
96
- */
97
- function useCancelOrder(options) {
98
- const queryClient = (0, react_query_1.useQueryClient)();
99
- return (0, react_query_1.useMutation)({
100
- mutationFn: async (orderId) => {
101
- const client = (0, client_1.getApiClient)();
102
- const response = await client.post(`/orders/${orderId}/cancel`);
103
- return response.data.data;
104
- },
105
- onSuccess: (data) => {
106
- queryClient.setQueryData(orders_1.orderKeys.detail(data.id), data);
107
- queryClient.invalidateQueries({ queryKey: orders_1.orderKeys.list({ my: true }) });
108
- // Restore stock
109
- queryClient.invalidateQueries({ queryKey: products_1.productKeys.bySpot(data.spotId) });
110
- },
111
- ...options,
112
- });
113
- }
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS9tdXRhdGlvbnMvb3JkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7OztHQUlHOztBQTRESCx3Q0F5QkM7QUFPRCxzREFnQkM7QUFPRCwwREFnQkM7QUFPRCxvREErQkM7QUFPRCx3Q0F3QkM7QUF0TUQsdURBSzhCO0FBQzlCLHNDQUFzQztBQUN0Qyw4Q0FBa0U7QUFDbEUsa0RBQStDO0FBeUMvQywrRUFBK0U7QUFDL0UsaUJBQWlCO0FBQ2pCLCtFQUErRTtBQUUvRTs7OztHQUlHO0FBQ0gsU0FBZ0IsY0FBYyxDQUM1QixPQUdDO0lBRUQsTUFBTSxXQUFXLEdBQUcsSUFBQSw0QkFBYyxHQUFFLENBQUE7SUFFcEMsT0FBTyxJQUFBLHlCQUFXLEVBQUM7UUFDakIsVUFBVSxFQUFFLEtBQUssRUFBRSxJQUF3QixFQUFnQyxFQUFFO1lBQzNFLE1BQU0sTUFBTSxHQUFHLElBQUEscUJBQVksR0FBRSxDQUFBO1lBQzdCLE1BQU0sUUFBUSxHQUFHLE1BQU0sTUFBTSxDQUFDLElBQUksQ0FDaEMsU0FBUyxFQUNULElBQUksQ0FDTCxDQUFBO1lBQ0QsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQTtRQUMzQixDQUFDO1FBQ0QsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFO1lBQzFCLCtDQUErQztZQUMvQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsRUFBQyxRQUFRLEVBQUUsc0JBQVcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFDLENBQUMsQ0FBQTtZQUMvRSw0QkFBNEI7WUFDNUIsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEVBQUMsUUFBUSxFQUFFLGtCQUFTLENBQUMsSUFBSSxDQUFDLEVBQUMsRUFBRSxFQUFFLElBQUksRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFBO1FBQ3ZFLENBQUM7UUFDRCxHQUFHLE9BQU87S0FDWCxDQUFDLENBQUE7QUFDSixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLHFCQUFxQixDQUNuQyxPQUdDO0lBRUQsT0FBTyxJQUFBLHlCQUFXLEVBQUM7UUFDakIsVUFBVSxFQUFFLEtBQUssRUFBRSxPQUFlLEVBQWtDLEVBQUU7WUFDcEUsTUFBTSxNQUFNLEdBQUcsSUFBQSxxQkFBWSxHQUFFLENBQUE7WUFDN0IsTUFBTSxRQUFRLEdBQUcsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUNoQywyQkFBMkIsT0FBTyxFQUFFLENBQ3JDLENBQUE7WUFDRCxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFBO1FBQzNCLENBQUM7UUFDRCxHQUFHLE9BQU87S0FDWCxDQUFDLENBQUE7QUFDSixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLHVCQUF1QixDQUNyQyxPQUdDO0lBRUQsT0FBTyxJQUFBLHlCQUFXLEVBQUM7UUFDakIsVUFBVSxFQUFFLEtBQUssRUFBRSxPQUFlLEVBQW1DLEVBQUU7WUFDckUsTUFBTSxNQUFNLEdBQUcsSUFBQSxxQkFBWSxHQUFFLENBQUE7WUFDN0IsTUFBTSxRQUFRLEdBQUcsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUNoQyw2QkFBNkIsT0FBTyxFQUFFLENBQ3ZDLENBQUE7WUFDRCxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFBO1FBQzNCLENBQUM7UUFDRCxHQUFHLE9BQU87S0FDWCxDQUFDLENBQUE7QUFDSixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLG9CQUFvQixDQUNsQyxPQU9DO0lBTUQsTUFBTSxXQUFXLEdBQUcsSUFBQSw0QkFBYyxHQUFFLENBQUE7SUFFcEMsT0FBTyxJQUFBLHlCQUFXLEVBQUM7UUFDakIsVUFBVSxFQUFFLEtBQUssRUFBRSxFQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUMsRUFBNkIsRUFBRTtZQUNqRSxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEdBQUUsQ0FBQTtZQUM3QixNQUFNLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQy9CLFdBQVcsT0FBTyxTQUFTLEVBQzNCLEVBQUMsTUFBTSxFQUFDLENBQ1QsQ0FBQTtZQUNELE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUE7UUFDM0IsQ0FBQztRQUNELFNBQVMsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2xCLFdBQVcsQ0FBQyxZQUFZLENBQUMsa0JBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFBO1lBQ3pELFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFDLFFBQVEsRUFBRSxrQkFBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUMsQ0FBQyxDQUFBO1FBQzlFLENBQUM7UUFDRCxHQUFHLE9BQU87S0FDWCxDQUFDLENBQUE7QUFDSixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLGNBQWMsQ0FDNUIsT0FHQztJQUVELE1BQU0sV0FBVyxHQUFHLElBQUEsNEJBQWMsR0FBRSxDQUFBO0lBRXBDLE9BQU8sSUFBQSx5QkFBVyxFQUFDO1FBQ2pCLFVBQVUsRUFBRSxLQUFLLEVBQUUsT0FBZSxFQUE2QixFQUFFO1lBQy9ELE1BQU0sTUFBTSxHQUFHLElBQUEscUJBQVksR0FBRSxDQUFBO1lBQzdCLE1BQU0sUUFBUSxHQUFHLE1BQU0sTUFBTSxDQUFDLElBQUksQ0FDaEMsV0FBVyxPQUFPLFNBQVMsQ0FDNUIsQ0FBQTtZQUNELE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUE7UUFDM0IsQ0FBQztRQUNELFNBQVMsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2xCLFdBQVcsQ0FBQyxZQUFZLENBQUMsa0JBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFBO1lBQ3pELFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFDLFFBQVEsRUFBRSxrQkFBUyxDQUFDLElBQUksQ0FBQyxFQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQTtZQUNyRSxnQkFBZ0I7WUFDaEIsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEVBQUMsUUFBUSxFQUFFLHNCQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBQyxDQUFDLENBQUE7UUFDNUUsQ0FBQztRQUNELEdBQUcsT0FBTztLQUNYLENBQUMsQ0FBQTtBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE9yZGVycyBNdXRhdGlvbiBIb29rc1xuICpcbiAqIFRhblN0YWNrIFF1ZXJ5IGhvb2tzIGZvciBvcmRlciBtdXRhdGlvbiBvcGVyYXRpb25zLlxuICovXG5cbmltcG9ydCB7XG4gIHVzZU11dGF0aW9uLFxuICB1c2VRdWVyeUNsaWVudCxcbiAgdHlwZSBVc2VNdXRhdGlvbk9wdGlvbnMsXG4gIHR5cGUgVXNlTXV0YXRpb25SZXN1bHQsXG59IGZyb20gJ0B0YW5zdGFjay9yZWFjdC1xdWVyeSdcbmltcG9ydCB7Z2V0QXBpQ2xpZW50fSBmcm9tICcuLi9jbGllbnQnXG5pbXBvcnQge29yZGVyS2V5cywgdHlwZSBPcmRlcldpdGhEZXRhaWxzfSBmcm9tICcuLi9xdWVyaWVzL29yZGVycydcbmltcG9ydCB7cHJvZHVjdEtleXN9IGZyb20gJy4uL3F1ZXJpZXMvcHJvZHVjdHMnXG5pbXBvcnQgdHlwZSB7T3JkZXIsIE9yZGVyU3RhdHVzLCBBcGlSZXNwb25zZX0gZnJvbSAnLi4vdHlwZXMnXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRZUEVTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FydEl0ZW0ge1xuICBwcm9kdWN0SWQ6IHN0cmluZ1xuICBxdWFudGl0eTogbnVtYmVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlT3JkZXJSZXF1ZXN0IHtcbiAgc3BvdElkOiBzdHJpbmdcbiAgaXRlbXM6IENhcnRJdGVtW11cbiAgbm90ZXM/OiBzdHJpbmdcbiAgZGVsaXZlcnlBZGRyZXNzPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlT3JkZXJSZXNwb25zZSBleHRlbmRzIE9yZGVyIHtcbiAgaXRlbXM6IEFycmF5PHtcbiAgICBpZDogc3RyaW5nXG4gICAgcHJvZHVjdElkOiBzdHJpbmdcbiAgICBwcm9kdWN0TmFtZTogc3RyaW5nXG4gICAgcXVhbnRpdHk6IG51bWJlclxuICAgIHVuaXRQcmljZTogbnVtYmVyXG4gICAgdG90YWxQcmljZTogbnVtYmVyXG4gIH0+XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF5bWVudEludGVudFJlc3BvbnNlIHtcbiAgY2xpZW50U2VjcmV0OiBzdHJpbmdcbiAgcGF5bWVudEludGVudElkOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luYmFzZUNoYXJnZVJlc3BvbnNlIHtcbiAgY2hhcmdlSWQ6IHN0cmluZ1xuICBjaGFyZ2VDb2RlOiBzdHJpbmdcbiAgaG9zdGVkVXJsOiBzdHJpbmdcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTVVUQVRJT04gSE9PS1Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBDcmVhdGUgYSBuZXcgb3JkZXJcbiAqXG4gKiBAZW5kcG9pbnQgUE9TVCAvb3JkZXJzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VDcmVhdGVPcmRlcihcbiAgb3B0aW9ucz86IE9taXQ8XG4gICAgVXNlTXV0YXRpb25PcHRpb25zPENyZWF0ZU9yZGVyUmVzcG9uc2UsIEVycm9yLCBDcmVhdGVPcmRlclJlcXVlc3Q+LFxuICAgICdtdXRhdGlvbkZuJ1xuICA+LFxuKTogVXNlTXV0YXRpb25SZXN1bHQ8Q3JlYXRlT3JkZXJSZXNwb25zZSwgRXJyb3IsIENyZWF0ZU9yZGVyUmVxdWVzdD4ge1xuICBjb25zdCBxdWVyeUNsaWVudCA9IHVzZVF1ZXJ5Q2xpZW50KClcblxuICByZXR1cm4gdXNlTXV0YXRpb24oe1xuICAgIG11dGF0aW9uRm46IGFzeW5jIChkYXRhOiBDcmVhdGVPcmRlclJlcXVlc3QpOiBQcm9taXNlPENyZWF0ZU9yZGVyUmVzcG9uc2U+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5wb3N0PEFwaVJlc3BvbnNlPENyZWF0ZU9yZGVyUmVzcG9uc2U+PihcbiAgICAgICAgJy9vcmRlcnMnLFxuICAgICAgICBkYXRhLFxuICAgICAgKVxuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEuZGF0YVxuICAgIH0sXG4gICAgb25TdWNjZXNzOiAoXywgdmFyaWFibGVzKSA9PiB7XG4gICAgICAvLyBJbnZhbGlkYXRlIHByb2R1Y3RzIHRvIHJlZmxlY3QgdXBkYXRlZCBzdG9ja1xuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoe3F1ZXJ5S2V5OiBwcm9kdWN0S2V5cy5ieVNwb3QodmFyaWFibGVzLnNwb3RJZCl9KVxuICAgICAgLy8gSW52YWxpZGF0ZSBteSBvcmRlcnMgbGlzdFxuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoe3F1ZXJ5S2V5OiBvcmRlcktleXMubGlzdCh7bXk6IHRydWV9KX0pXG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KVxufVxuXG4vKipcbiAqIENyZWF0ZSBTdHJpcGUgUGF5bWVudEludGVudCBmb3IgYW4gb3JkZXJcbiAqXG4gKiBAZW5kcG9pbnQgUE9TVCAvcGF5bWVudHMvc3RyaXBlL2ludGVudC97b3JkZXJJZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUNyZWF0ZVN0cmlwZUludGVudChcbiAgb3B0aW9ucz86IE9taXQ8XG4gICAgVXNlTXV0YXRpb25PcHRpb25zPFBheW1lbnRJbnRlbnRSZXNwb25zZSwgRXJyb3IsIHN0cmluZz4sXG4gICAgJ211dGF0aW9uRm4nXG4gID4sXG4pOiBVc2VNdXRhdGlvblJlc3VsdDxQYXltZW50SW50ZW50UmVzcG9uc2UsIEVycm9yLCBzdHJpbmc+IHtcbiAgcmV0dXJuIHVzZU11dGF0aW9uKHtcbiAgICBtdXRhdGlvbkZuOiBhc3luYyAob3JkZXJJZDogc3RyaW5nKTogUHJvbWlzZTxQYXltZW50SW50ZW50UmVzcG9uc2U+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5wb3N0PEFwaVJlc3BvbnNlPFBheW1lbnRJbnRlbnRSZXNwb25zZT4+KFxuICAgICAgICBgL3BheW1lbnRzL3N0cmlwZS9pbnRlbnQvJHtvcmRlcklkfWAsXG4gICAgICApXG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YS5kYXRhXG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KVxufVxuXG4vKipcbiAqIENyZWF0ZSBDb2luYmFzZSBDb21tZXJjZSBjaGFyZ2UgZm9yIGFuIG9yZGVyXG4gKlxuICogQGVuZHBvaW50IFBPU1QgL3BheW1lbnRzL2NvaW5iYXNlL2NoYXJnZS97b3JkZXJJZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUNyZWF0ZUNvaW5iYXNlQ2hhcmdlKFxuICBvcHRpb25zPzogT21pdDxcbiAgICBVc2VNdXRhdGlvbk9wdGlvbnM8Q29pbmJhc2VDaGFyZ2VSZXNwb25zZSwgRXJyb3IsIHN0cmluZz4sXG4gICAgJ211dGF0aW9uRm4nXG4gID4sXG4pOiBVc2VNdXRhdGlvblJlc3VsdDxDb2luYmFzZUNoYXJnZVJlc3BvbnNlLCBFcnJvciwgc3RyaW5nPiB7XG4gIHJldHVybiB1c2VNdXRhdGlvbih7XG4gICAgbXV0YXRpb25GbjogYXN5bmMgKG9yZGVySWQ6IHN0cmluZyk6IFByb21pc2U8Q29pbmJhc2VDaGFyZ2VSZXNwb25zZT4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KClcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LnBvc3Q8QXBpUmVzcG9uc2U8Q29pbmJhc2VDaGFyZ2VSZXNwb25zZT4+KFxuICAgICAgICBgL3BheW1lbnRzL2NvaW5iYXNlL2NoYXJnZS8ke29yZGVySWR9YCxcbiAgICAgIClcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhLmRhdGFcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pXG59XG5cbi8qKlxuICogVXBkYXRlIG9yZGVyIHN0YXR1cyAoc2VsbGVyIGFjdGlvbilcbiAqXG4gKiBAZW5kcG9pbnQgUFVUIC9vcmRlcnMve29yZGVySWR9L3N0YXR1c1xuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlVXBkYXRlT3JkZXJTdGF0dXMoXG4gIG9wdGlvbnM/OiBPbWl0PFxuICAgIFVzZU11dGF0aW9uT3B0aW9uczxcbiAgICAgIE9yZGVyV2l0aERldGFpbHMsXG4gICAgICBFcnJvcixcbiAgICAgIHtvcmRlcklkOiBzdHJpbmc7IHN0YXR1czogT3JkZXJTdGF0dXN9XG4gICAgPixcbiAgICAnbXV0YXRpb25GbidcbiAgPixcbik6IFVzZU11dGF0aW9uUmVzdWx0PFxuICBPcmRlcldpdGhEZXRhaWxzLFxuICBFcnJvcixcbiAge29yZGVySWQ6IHN0cmluZzsgc3RhdHVzOiBPcmRlclN0YXR1c31cbj4ge1xuICBjb25zdCBxdWVyeUNsaWVudCA9IHVzZVF1ZXJ5Q2xpZW50KClcblxuICByZXR1cm4gdXNlTXV0YXRpb24oe1xuICAgIG11dGF0aW9uRm46IGFzeW5jICh7b3JkZXJJZCwgc3RhdHVzfSk6IFByb21pc2U8T3JkZXJXaXRoRGV0YWlscz4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KClcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LnB1dDxBcGlSZXNwb25zZTxPcmRlcldpdGhEZXRhaWxzPj4oXG4gICAgICAgIGAvb3JkZXJzLyR7b3JkZXJJZH0vc3RhdHVzYCxcbiAgICAgICAge3N0YXR1c30sXG4gICAgICApXG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YS5kYXRhXG4gICAgfSxcbiAgICBvblN1Y2Nlc3M6IChkYXRhKSA9PiB7XG4gICAgICBxdWVyeUNsaWVudC5zZXRRdWVyeURhdGEob3JkZXJLZXlzLmRldGFpbChkYXRhLmlkKSwgZGF0YSlcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHtxdWVyeUtleTogb3JkZXJLZXlzLnNwb3RPcmRlcnMoZGF0YS5zcG90SWQpfSlcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pXG59XG5cbi8qKlxuICogQ2FuY2VsIGFuIG9yZGVyIChidXllciBhY3Rpb24sIG9ubHkgZm9yIHBlbmRpbmcgb3JkZXJzKVxuICpcbiAqIEBlbmRwb2ludCBQT1NUIC9vcmRlcnMve29yZGVySWR9L2NhbmNlbFxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlQ2FuY2VsT3JkZXIoXG4gIG9wdGlvbnM/OiBPbWl0PFxuICAgIFVzZU11dGF0aW9uT3B0aW9uczxPcmRlcldpdGhEZXRhaWxzLCBFcnJvciwgc3RyaW5nPixcbiAgICAnbXV0YXRpb25GbidcbiAgPixcbik6IFVzZU11dGF0aW9uUmVzdWx0PE9yZGVyV2l0aERldGFpbHMsIEVycm9yLCBzdHJpbmc+IHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCgpXG5cbiAgcmV0dXJuIHVzZU11dGF0aW9uKHtcbiAgICBtdXRhdGlvbkZuOiBhc3luYyAob3JkZXJJZDogc3RyaW5nKTogUHJvbWlzZTxPcmRlcldpdGhEZXRhaWxzPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKVxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQucG9zdDxBcGlSZXNwb25zZTxPcmRlcldpdGhEZXRhaWxzPj4oXG4gICAgICAgIGAvb3JkZXJzLyR7b3JkZXJJZH0vY2FuY2VsYCxcbiAgICAgIClcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhLmRhdGFcbiAgICB9LFxuICAgIG9uU3VjY2VzczogKGRhdGEpID0+IHtcbiAgICAgIHF1ZXJ5Q2xpZW50LnNldFF1ZXJ5RGF0YShvcmRlcktleXMuZGV0YWlsKGRhdGEuaWQpLCBkYXRhKVxuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoe3F1ZXJ5S2V5OiBvcmRlcktleXMubGlzdCh7bXk6IHRydWV9KX0pXG4gICAgICAvLyBSZXN0b3JlIHN0b2NrXG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7cXVlcnlLZXk6IHByb2R1Y3RLZXlzLmJ5U3BvdChkYXRhLnNwb3RJZCl9KVxuICAgIH0sXG4gICAgLi4ub3B0aW9ucyxcbiAgfSlcbn1cbiJdfQ==
@@ -1,123 +0,0 @@
1
- /**
2
- * Posts Mutation Hooks
3
- *
4
- * TanStack Query hooks for post/board mutation operations.
5
- */
6
- import { type UseMutationOptions, type UseMutationResult } from '@tanstack/react-query';
7
- import { type CreatePostRequest, type CreateReplyRequest, type Post, type PostResponse, type PostStatusDto, type RespondToPostRequest, type UpdateResponseRequest, type UpvoteResponse } from '../types';
8
- /**
9
- * Create a new post
10
- *
11
- * @endpoint POST /spots/{spotId}/posts
12
- */
13
- export declare function useCreatePost(options?: Omit<UseMutationOptions<Post, Error, {
14
- spotId: string;
15
- } & CreatePostRequest>, 'mutationFn'>): UseMutationResult<Post, Error, {
16
- spotId: string;
17
- } & CreatePostRequest>;
18
- /**
19
- * Update a post
20
- *
21
- * @endpoint PUT /posts/{postId}
22
- */
23
- export declare function useUpdatePost(options?: Omit<UseMutationOptions<Post, Error, {
24
- postId: string;
25
- title?: string;
26
- content?: string;
27
- }>, 'mutationFn'>): UseMutationResult<Post, Error, {
28
- postId: string;
29
- title?: string;
30
- content?: string;
31
- }>;
32
- /**
33
- * Delete a post
34
- *
35
- * @endpoint DELETE /posts/{postId}
36
- */
37
- export declare function useDeletePost(options?: Omit<UseMutationOptions<void, Error, string>, 'mutationFn'>): UseMutationResult<void, Error, string>;
38
- /**
39
- * Fulfill a post (mark as fulfilled)
40
- *
41
- * @endpoint PUT /posts/{postId}/fulfill
42
- */
43
- export declare function useFulfillPost(options?: Omit<UseMutationOptions<Post, Error, string>, 'mutationFn'>): UseMutationResult<Post, Error, string>;
44
- /**
45
- * Upvote/unupvote a post
46
- *
47
- * @endpoint POST /posts/{postId}/upvote
48
- */
49
- export declare function useUpvotePost(options?: Omit<UseMutationOptions<UpvoteResponse, Error, string>, 'mutationFn'>): UseMutationResult<UpvoteResponse, Error, string>;
50
- /**
51
- * Create a reply to a post
52
- *
53
- * @endpoint POST /posts/{postId}/reply
54
- */
55
- export declare function useCreateReply(options?: Omit<UseMutationOptions<unknown, Error, {
56
- postId: string;
57
- } & CreateReplyRequest>, 'mutationFn'>): UseMutationResult<unknown, Error, {
58
- postId: string;
59
- } & CreateReplyRequest>;
60
- /**
61
- * Delete a reply
62
- *
63
- * @endpoint DELETE /replies/{replyId}
64
- */
65
- export declare function useDeleteReply(options?: Omit<UseMutationOptions<void, Error, {
66
- replyId: string;
67
- postId: string;
68
- }>, 'mutationFn'>): UseMutationResult<void, Error, {
69
- replyId: string;
70
- postId: string;
71
- }>;
72
- /**
73
- * Respond to a post (express interest)
74
- *
75
- * @endpoint POST /posts/{postId}/respond
76
- */
77
- export declare function useRespondToPost(options?: Omit<UseMutationOptions<PostResponse, Error, {
78
- postId: string;
79
- } & RespondToPostRequest>, 'mutationFn'>): UseMutationResult<PostResponse, Error, {
80
- postId: string;
81
- } & RespondToPostRequest>;
82
- /**
83
- * Accept or decline a response
84
- *
85
- * @endpoint PUT /responses/{responseId}
86
- */
87
- export declare function useUpdateResponse(options?: Omit<UseMutationOptions<PostResponse, Error, {
88
- responseId: string;
89
- postId: string;
90
- } & UpdateResponseRequest>, 'mutationFn'>): UseMutationResult<PostResponse, Error, {
91
- responseId: string;
92
- postId: string;
93
- } & UpdateResponseRequest>;
94
- /**
95
- * Report a post
96
- *
97
- * @endpoint POST /posts/{postId}/report
98
- */
99
- export declare function useReportPost(options?: Omit<UseMutationOptions<void, Error, {
100
- postId: string;
101
- reason: string;
102
- details?: string;
103
- }>, 'mutationFn'>): UseMutationResult<void, Error, {
104
- postId: string;
105
- reason: string;
106
- details?: string;
107
- }>;
108
- interface PostStatusUpdate {
109
- isRead?: boolean;
110
- isHidden?: boolean;
111
- isPinned?: boolean;
112
- }
113
- /**
114
- * Update user's status for a post (read/hidden/pinned)
115
- *
116
- * @endpoint PUT /posts/{postId}/status
117
- */
118
- export declare function useUpdatePostStatus(options?: Omit<UseMutationOptions<PostStatusDto, Error, {
119
- postId: string;
120
- } & PostStatusUpdate>, 'mutationFn'>): UseMutationResult<PostStatusDto, Error, {
121
- postId: string;
122
- } & PostStatusUpdate>;
123
- export {};