@growsober/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.
Files changed (129) hide show
  1. package/README.md +276 -0
  2. package/dist/__tests__/e2e.test.d.ts +7 -0
  3. package/dist/__tests__/e2e.test.js +472 -0
  4. package/dist/api/client.d.ts +11 -0
  5. package/dist/api/client.js +61 -0
  6. package/dist/api/mutations/admin.d.ts +167 -0
  7. package/dist/api/mutations/admin.js +326 -0
  8. package/dist/api/mutations/ambassadors.d.ts +52 -0
  9. package/dist/api/mutations/ambassadors.js +148 -0
  10. package/dist/api/mutations/auth.d.ts +267 -0
  11. package/dist/api/mutations/auth.js +332 -0
  12. package/dist/api/mutations/bookings.d.ts +59 -0
  13. package/dist/api/mutations/bookings.js +143 -0
  14. package/dist/api/mutations/event-chat.d.ts +35 -0
  15. package/dist/api/mutations/event-chat.js +147 -0
  16. package/dist/api/mutations/events.d.ts +87 -0
  17. package/dist/api/mutations/events.js +205 -0
  18. package/dist/api/mutations/grow90.d.ts +36 -0
  19. package/dist/api/mutations/grow90.js +132 -0
  20. package/dist/api/mutations/hubs.d.ts +111 -0
  21. package/dist/api/mutations/hubs.js +240 -0
  22. package/dist/api/mutations/index.d.ts +22 -0
  23. package/dist/api/mutations/index.js +39 -0
  24. package/dist/api/mutations/jack.d.ts +61 -0
  25. package/dist/api/mutations/jack.js +104 -0
  26. package/dist/api/mutations/library.d.ts +67 -0
  27. package/dist/api/mutations/library.js +168 -0
  28. package/dist/api/mutations/map.d.ts +153 -0
  29. package/dist/api/mutations/map.js +181 -0
  30. package/dist/api/mutations/matching.d.ts +130 -0
  31. package/dist/api/mutations/matching.js +204 -0
  32. package/dist/api/mutations/notifications.d.ts +63 -0
  33. package/dist/api/mutations/notifications.js +106 -0
  34. package/dist/api/mutations/offers.d.ts +26 -0
  35. package/dist/api/mutations/offers.js +47 -0
  36. package/dist/api/mutations/subscriptions.d.ts +127 -0
  37. package/dist/api/mutations/subscriptions.js +140 -0
  38. package/dist/api/mutations/support.d.ts +165 -0
  39. package/dist/api/mutations/support.js +307 -0
  40. package/dist/api/mutations/users.d.ts +211 -0
  41. package/dist/api/mutations/users.js +261 -0
  42. package/dist/api/queries/admin.d.ts +257 -0
  43. package/dist/api/queries/admin.js +320 -0
  44. package/dist/api/queries/ambassadors.d.ts +53 -0
  45. package/dist/api/queries/ambassadors.js +98 -0
  46. package/dist/api/queries/auth.d.ts +16 -0
  47. package/dist/api/queries/auth.js +25 -0
  48. package/dist/api/queries/bookings.d.ts +91 -0
  49. package/dist/api/queries/bookings.js +102 -0
  50. package/dist/api/queries/businesses.d.ts +212 -0
  51. package/dist/api/queries/businesses.js +154 -0
  52. package/dist/api/queries/event-chat.d.ts +19 -0
  53. package/dist/api/queries/event-chat.js +75 -0
  54. package/dist/api/queries/events.d.ts +322 -0
  55. package/dist/api/queries/events.js +221 -0
  56. package/dist/api/queries/grow90.d.ts +26 -0
  57. package/dist/api/queries/grow90.js +85 -0
  58. package/dist/api/queries/hubs.d.ts +165 -0
  59. package/dist/api/queries/hubs.js +143 -0
  60. package/dist/api/queries/index.d.ts +23 -0
  61. package/dist/api/queries/index.js +40 -0
  62. package/dist/api/queries/jack.d.ts +63 -0
  63. package/dist/api/queries/jack.js +92 -0
  64. package/dist/api/queries/library.d.ts +132 -0
  65. package/dist/api/queries/library.js +120 -0
  66. package/dist/api/queries/map.d.ts +216 -0
  67. package/dist/api/queries/map.js +278 -0
  68. package/dist/api/queries/matching.d.ts +136 -0
  69. package/dist/api/queries/matching.js +161 -0
  70. package/dist/api/queries/notifications.d.ts +78 -0
  71. package/dist/api/queries/notifications.js +88 -0
  72. package/dist/api/queries/offers.d.ts +91 -0
  73. package/dist/api/queries/offers.js +103 -0
  74. package/dist/api/queries/subscriptions.d.ts +56 -0
  75. package/dist/api/queries/subscriptions.js +73 -0
  76. package/dist/api/queries/support.d.ts +106 -0
  77. package/dist/api/queries/support.js +202 -0
  78. package/dist/api/queries/users.d.ts +293 -0
  79. package/dist/api/queries/users.js +370 -0
  80. package/dist/api/types.d.ts +464 -0
  81. package/dist/api/types.js +9 -0
  82. package/dist/hooks/useAuth.d.ts +5 -0
  83. package/dist/hooks/useAuth.js +39 -0
  84. package/dist/hooks/useUser.d.ts +43 -0
  85. package/dist/hooks/useUser.js +44 -0
  86. package/dist/index.d.ts +36 -0
  87. package/dist/index.js +67 -0
  88. package/package.json +62 -0
  89. package/src/__tests__/e2e.test.ts +502 -0
  90. package/src/api/client.ts +71 -0
  91. package/src/api/mutations/admin.ts +531 -0
  92. package/src/api/mutations/ambassadors.ts +185 -0
  93. package/src/api/mutations/auth.ts +350 -0
  94. package/src/api/mutations/bookings.ts +190 -0
  95. package/src/api/mutations/event-chat.ts +177 -0
  96. package/src/api/mutations/events.ts +273 -0
  97. package/src/api/mutations/grow90.ts +169 -0
  98. package/src/api/mutations/hubs.ts +385 -0
  99. package/src/api/mutations/index.ts +23 -0
  100. package/src/api/mutations/jack.ts +130 -0
  101. package/src/api/mutations/library.ts +212 -0
  102. package/src/api/mutations/map.ts +230 -0
  103. package/src/api/mutations/matching.ts +271 -0
  104. package/src/api/mutations/notifications.ts +114 -0
  105. package/src/api/mutations/offers.ts +73 -0
  106. package/src/api/mutations/subscriptions.ts +162 -0
  107. package/src/api/mutations/support.ts +390 -0
  108. package/src/api/mutations/users.ts +271 -0
  109. package/src/api/queries/admin.ts +480 -0
  110. package/src/api/queries/ambassadors.ts +139 -0
  111. package/src/api/queries/auth.ts +24 -0
  112. package/src/api/queries/bookings.ts +135 -0
  113. package/src/api/queries/businesses.ts +203 -0
  114. package/src/api/queries/event-chat.ts +78 -0
  115. package/src/api/queries/events.ts +272 -0
  116. package/src/api/queries/grow90.ts +98 -0
  117. package/src/api/queries/hubs.ts +211 -0
  118. package/src/api/queries/index.ts +24 -0
  119. package/src/api/queries/jack.ts +127 -0
  120. package/src/api/queries/library.ts +166 -0
  121. package/src/api/queries/map.ts +331 -0
  122. package/src/api/queries/matching.ts +238 -0
  123. package/src/api/queries/notifications.ts +103 -0
  124. package/src/api/queries/offers.ts +136 -0
  125. package/src/api/queries/subscriptions.ts +91 -0
  126. package/src/api/queries/support.ts +235 -0
  127. package/src/api/queries/users.ts +393 -0
  128. package/src/api/types.ts +596 -0
  129. package/src/index.ts +57 -0
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useEnrollGrow90 = useEnrollGrow90;
4
+ exports.useUpdateGrow90Progress = useUpdateGrow90Progress;
5
+ exports.useUpdateGrow90Settings = useUpdateGrow90Settings;
6
+ exports.usePauseGrow90 = usePauseGrow90;
7
+ exports.useResumeGrow90 = useResumeGrow90;
8
+ exports.useAbandonGrow90 = useAbandonGrow90;
9
+ const react_query_1 = require("@tanstack/react-query");
10
+ const client_1 = require("../client");
11
+ const grow90_1 = require("../queries/grow90");
12
+ // ============================================================================
13
+ // MUTATION HOOKS
14
+ // ============================================================================
15
+ /**
16
+ * Enroll in GROW90 program
17
+ */
18
+ function useEnrollGrow90(options) {
19
+ const queryClient = (0, react_query_1.useQueryClient)();
20
+ return (0, react_query_1.useMutation)({
21
+ mutationFn: async (data) => {
22
+ const client = (0, client_1.getApiClient)();
23
+ const response = await client.post('/api/v1/grow90/enroll', data);
24
+ // API returns { data: {...}, meta: {...} }, extract the data
25
+ const enrollment = 'data' in response.data ? response.data.data : response.data;
26
+ return enrollment;
27
+ },
28
+ onSuccess: (enrollment) => {
29
+ queryClient.setQueryData(grow90_1.grow90Keys.enrollment(), enrollment);
30
+ queryClient.invalidateQueries({ queryKey: grow90_1.grow90Keys.today() });
31
+ queryClient.invalidateQueries({ queryKey: grow90_1.grow90Keys.progress() });
32
+ queryClient.invalidateQueries({ queryKey: grow90_1.grow90Keys.stats() });
33
+ },
34
+ ...options,
35
+ });
36
+ }
37
+ /**
38
+ * Update progress for a specific day
39
+ */
40
+ function useUpdateGrow90Progress(options) {
41
+ const queryClient = (0, react_query_1.useQueryClient)();
42
+ return (0, react_query_1.useMutation)({
43
+ mutationFn: async ({ day, data }) => {
44
+ const client = (0, client_1.getApiClient)();
45
+ const response = await client.put(`/api/v1/grow90/progress/${day}`, data);
46
+ // API returns { data: {...}, meta: {...} }, extract the data
47
+ return response.data?.data || response.data;
48
+ },
49
+ onSuccess: () => {
50
+ queryClient.invalidateQueries({ queryKey: grow90_1.grow90Keys.today() });
51
+ queryClient.invalidateQueries({ queryKey: grow90_1.grow90Keys.progress() });
52
+ queryClient.invalidateQueries({ queryKey: grow90_1.grow90Keys.stats() });
53
+ queryClient.invalidateQueries({ queryKey: grow90_1.grow90Keys.enrollment() });
54
+ },
55
+ ...options,
56
+ });
57
+ }
58
+ /**
59
+ * Update GROW90 settings
60
+ */
61
+ function useUpdateGrow90Settings(options) {
62
+ const queryClient = (0, react_query_1.useQueryClient)();
63
+ return (0, react_query_1.useMutation)({
64
+ mutationFn: async (data) => {
65
+ const client = (0, client_1.getApiClient)();
66
+ const response = await client.put('/api/v1/grow90/settings', data);
67
+ // API returns { data: {...}, meta: {...} }, extract the data
68
+ return response.data?.data || response.data;
69
+ },
70
+ onSuccess: (enrollment) => {
71
+ queryClient.setQueryData(grow90_1.grow90Keys.enrollment(), enrollment);
72
+ },
73
+ ...options,
74
+ });
75
+ }
76
+ /**
77
+ * Pause GROW90 program
78
+ */
79
+ function usePauseGrow90(options) {
80
+ const queryClient = (0, react_query_1.useQueryClient)();
81
+ return (0, react_query_1.useMutation)({
82
+ mutationFn: async () => {
83
+ const client = (0, client_1.getApiClient)();
84
+ const response = await client.post('/api/v1/grow90/pause');
85
+ // API returns { data: {...}, meta: {...} }, extract the data
86
+ return response.data?.data || response.data;
87
+ },
88
+ onSuccess: (enrollment) => {
89
+ queryClient.setQueryData(grow90_1.grow90Keys.enrollment(), enrollment);
90
+ },
91
+ ...options,
92
+ });
93
+ }
94
+ /**
95
+ * Resume GROW90 program
96
+ */
97
+ function useResumeGrow90(options) {
98
+ const queryClient = (0, react_query_1.useQueryClient)();
99
+ return (0, react_query_1.useMutation)({
100
+ mutationFn: async () => {
101
+ const client = (0, client_1.getApiClient)();
102
+ const response = await client.post('/api/v1/grow90/resume');
103
+ // API returns { data: {...}, meta: {...} }, extract the data
104
+ return response.data?.data || response.data;
105
+ },
106
+ onSuccess: (enrollment) => {
107
+ queryClient.setQueryData(grow90_1.grow90Keys.enrollment(), enrollment);
108
+ queryClient.invalidateQueries({ queryKey: grow90_1.grow90Keys.today() });
109
+ },
110
+ ...options,
111
+ });
112
+ }
113
+ /**
114
+ * Abandon GROW90 program
115
+ */
116
+ function useAbandonGrow90(options) {
117
+ const queryClient = (0, react_query_1.useQueryClient)();
118
+ return (0, react_query_1.useMutation)({
119
+ mutationFn: async () => {
120
+ const client = (0, client_1.getApiClient)();
121
+ const response = await client.post('/api/v1/grow90/abandon');
122
+ // API returns { data: {...}, meta: {...} }, extract the data
123
+ return response.data?.data || response.data;
124
+ },
125
+ onSuccess: () => {
126
+ queryClient.setQueryData(grow90_1.grow90Keys.enrollment(), null);
127
+ queryClient.invalidateQueries({ queryKey: grow90_1.grow90Keys.all });
128
+ },
129
+ ...options,
130
+ });
131
+ }
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdzkwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS9tdXRhdGlvbnMvZ3JvdzkwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBdUJBLDBDQXdCQztBQUtELDBEQXVCQztBQUtELDBEQW9CQztBQUtELHdDQWlCQztBQUtELDBDQWtCQztBQUtELDRDQWtCQztBQXhLRCx1REFLK0I7QUFDL0Isc0NBQXlDO0FBUXpDLDhDQUErQztBQUUvQywrRUFBK0U7QUFDL0UsaUJBQWlCO0FBQ2pCLCtFQUErRTtBQUUvRTs7R0FFRztBQUNILFNBQWdCLGVBQWUsQ0FDN0IsT0FHQztJQUVELE1BQU0sV0FBVyxHQUFHLElBQUEsNEJBQWMsR0FBRSxDQUFDO0lBRXJDLE9BQU8sSUFBQSx5QkFBVyxFQUFDO1FBQ2pCLFVBQVUsRUFBRSxLQUFLLEVBQUUsSUFBeUIsRUFBcUMsRUFBRTtZQUNqRixNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEdBQUUsQ0FBQztZQUM5QixNQUFNLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDbEUsNkRBQTZEO1lBQzdELE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUNoRixPQUFPLFVBQVUsQ0FBQztRQUNwQixDQUFDO1FBQ0QsU0FBUyxFQUFFLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDeEIsV0FBVyxDQUFDLFlBQVksQ0FBQyxtQkFBVSxDQUFDLFVBQVUsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQzlELFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLFFBQVEsRUFBRSxtQkFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNoRSxXQUFXLENB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WUFDOUIsTUFBTSxRQUFRLEdBQUcsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUM7WUFDN0QsNkRBQTZEO1lBQzdELE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQztRQUM5QyxDQUFDO1FBQ0QsU0FBUyxFQUFFLEdBQUcsRUFBRTtZQUNkLFdBQVcsQ0FBQyxZQUFZLENBQUMsbUJBQVUsQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN4RCxXQUFXLENBQUMsaUJBQWlCLENBQUMsRUFBRSxRQUFRLEVBQUUsbUJBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzlELENBQUM7UUFDRCxHQUFHLE9BQU87S0FDWCxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlTXV0YXRpb24sXG4gIHVzZVF1ZXJ5Q2xpZW50LFxuICBVc2VNdXRhdGlvbk9wdGlvbnMsXG4gIFVzZU11dGF0aW9uUmVzdWx0LFxufSBmcm9tICdAdGFuc3RhY2svcmVhY3QtcXVlcnknO1xuaW1wb3J0IHsgZ2V0QXBpQ2xpZW50IH0gZnJvbSAnLi4vY2xpZW50JztcbmltcG9ydCB0eXBlIHtcbiAgR3JvdzkwRW5yb2xsbWVudFJlc3BvbnNlLFxuICBHcm93OTBQcm9ncmVzc1Jlc3BvbnNlLFxuICBFbnJvbGxHcm93OTBSZXF1ZXN0LFxuICBVcGRhdGVHcm93OTBQcm9ncmVzc1JlcXVlc3QsXG4gIFVwZGF0ZUdyb3c5MFNldHRpbmdzUmVxdWVzdCxcbn0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgZ3JvdzkwS2V5cyB9IGZyb20gJy4uL3F1ZXJpZXMvZ3JvdzkwJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTVVUQVRJT04gSE9PS1Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBFbnJvbGwgaW4gR1JPVzkwIHByb2dyYW1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUVucm9sbEdyb3c5MChcbiAgb3B0aW9ucz86IE9taXQ8XG4gICAgVXNlTXV0YXRpb25PcHRpb25zPEdyb3c5MEVucm9sbG1lbnRSZXNwb25zZSwgRXJyb3IsIEVucm9sbEdyb3c5MFJlcXVlc3Q+LFxuICAgICdtdXRhdGlvbkZuJ1xuICA+XG4pOiBVc2VNdXRhdGlvblJlc3VsdDxHcm93OTBFbnJvbGxtZW50UmVzcG9uc2UsIEVycm9yLCBFbnJvbGxHcm93OTBSZXF1ZXN0PiB7XG4gIGNvbnN0IHF1ZXJ5Q2xpZW50ID0gdXNlUXVlcnlDbGllbnQoKTtcblxuICByZXR1cm4gdXNlTXV0YXRpb24oe1xuICAgIG11dGF0aW9uRm46IGFzeW5jIChkYXRhOiBFbnJvbGxHcm93OTBSZXF1ZXN0KTogUHJvbWlzZTxHcm93OTBFbnJvbGxtZW50UmVzcG9uc2U+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQucG9zdCgnL2FwaS92MS9ncm93OTAvZW5yb2xsJywgZGF0YSk7XG4gICAgICAvLyBBUEkgcmV0dXJucyB7IGRhdGE6IHsuLi59LCBtZXRhOiB7Li4ufSB9LCBleHRyYWN0IHRoZSBkYXRhXG4gICAgICBjb25zdCBlbnJvbGxtZW50ID0gJ2RhdGEnIGluIHJlc3BvbnNlLmRhdGEgPyByZXNwb25zZS5kYXRhLmRhdGEgOiByZXNwb25zZS5kYXRhO1xuICAgICAgcmV0dXJuIGVucm9sbG1lbnQ7XG4gICAgfSxcbiAgICBvblN1Y2Nlc3M6IChlbnJvbGxtZW50KSA9PiB7XG4gICAgICBxdWVyeUNsaWVudC5zZXRRdWVyeURhdGEoZ3JvdzkwS2V5cy5lbnJvbGxtZW50KCksIGVucm9sbG1lbnQpO1xuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoeyBxdWVyeUtleTogZ3JvdzkwS2V5cy50b2RheSgpIH0pO1xuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoeyBxdWVyeUtleTogZ3JvdzkwS2V5cy5wcm9ncmVzcygpIH0pO1xuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoeyBxdWVyeUtleTogZ3JvdzkwS2V5cy5zdGF0cygpIH0pO1xuICAgIH0sXG4gICAgLi4ub3B0aW9ucyxcbiAgfSk7XG59XG5cbi8qKlxuICogVXBkYXRlIHByb2dyZXNzIGZvciBhIHNwZWNpZmljIGRheVxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlVXBkYXRlR3JvdzkwUHJvZ3Jlc3MoXG4gIG9wdGlvbnM/OiBPbWl0PFxuICAgIFVzZU11dGF0aW9uT3B0aW9uczxHcm93OTBQcm9ncmVzc1Jlc3BvbnNlLCBFcnJvciwgeyBkYXk6IG51bWJlcjsgZGF0YTogVXBkYXRlR3JvdzkwUHJvZ3Jlc3NSZXF1ZXN0IH0+LFxuICAgICdtdXRhdGlvbkZuJ1xuICA+XG4pOiBVc2VNdXRhdGlvblJlc3VsdDxHcm93OTBQcm9ncmVzc1Jlc3BvbnNlLCBFcnJvciwgeyBkYXk6IG51bWJlcjsgZGF0YTogVXBkYXRlR3JvdzkwUHJvZ3Jlc3NSZXF1ZXN0IH0+IHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCgpO1xuXG4gIHJldHVybiB1c2VNdXRhdGlvbih7XG4gICAgbXV0YXRpb25GbjogYXN5bmMgKHsgZGF5LCBkYXRhIH0pOiBQcm9taXNlPEdyb3c5MFByb2dyZXNzUmVzcG9uc2U+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQucHV0KGAvYXBpL3YxL2dyb3c5MC9wcm9ncmVzcy8ke2RheX1gLCBkYXRhKTtcbiAgICAgIC8vIEFQSSByZXR1cm5zIHsgZGF0YTogey4uLn0sIG1ldGE6IHsuLi59IH0sIGV4dHJhY3QgdGhlIGRhdGFcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhPy5kYXRhIHx8IHJlc3BvbnNlLmRhdGE7XG4gICAgfSxcbiAgICBvblN1Y2Nlc3M6ICgpID0+IHtcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHsgcXVlcnlLZXk6IGdyb3c5MEtleXMudG9kYXkoKSB9KTtcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHsgcXVlcnlLZXk6IGdyb3c5MEtleXMucHJvZ3Jlc3MoKSB9KTtcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHsgcXVlcnlLZXk6IGdyb3c5MEtleXMuc3RhdHMoKSB9KTtcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHsgcXVlcnlLZXk6IGdyb3c5MEtleXMuZW5yb2xsbWVudCgpIH0pO1xuICAgIH0sXG4gICAgLi4ub3B0aW9ucyxcbiAgfSk7XG59XG5cbi8qKlxuICogVXBkYXRlIEdST1c5MCBzZXR0aW5nc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlVXBkYXRlR3JvdzkwU2V0dGluZ3MoXG4gIG9wdGlvbnM/OiBPbWl0PFxuICAgIFVzZU11dGF0aW9uT3B0aW9uczxHcm93OTBFbnJvbGxtZW50UmVzcG9uc2UsIEVycm9yLCBVcGRhdGVHcm93OTBTZXR0aW5nc1JlcXVlc3Q+LFxuICAgICdtdXRhdGlvbkZuJ1xuICA+XG4pOiBVc2VNdXRhdGlvblJlc3VsdDxHcm93OTBFbnJvbGxtZW50UmVzcG9uc2UsIEVycm9yLCBVcGRhdGVHcm93OTBTZXR0aW5nc1JlcXVlc3Q+IHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCgpO1xuXG4gIHJldHVybiB1c2VNdXRhdGlvbih7XG4gICAgbXV0YXRpb25GbjogYXN5bmMgKGRhdGE6IFVwZGF0ZUdyb3c5MFNldHRpbmdzUmVxdWVzdCk6IFByb21pc2U8R3JvdzkwRW5yb2xsbWVudFJlc3BvbnNlPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LnB1dCgnL2FwaS92MS9ncm93OTAvc2V0dGluZ3MnLCBkYXRhKTtcbiAgICAgIC8vIEFQSSByZXR1cm5zIHsgZGF0YTogey4uLn0sIG1ldGE6IHsuLi59IH0sIGV4dHJhY3QgdGhlIGRhdGFcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhPy5kYXRhIHx8IHJlc3BvbnNlLmRhdGE7XG4gICAgfSxcbiAgICBvblN1Y2Nlc3M6IChlbnJvbGxtZW50KSA9PiB7XG4gICAgICBxdWVyeUNsaWVudC5zZXRRdWVyeURhdGEoZ3JvdzkwS2V5cy5lbnJvbGxtZW50KCksIGVucm9sbG1lbnQpO1xuICAgIH0sXG4gICAgLi4ub3B0aW9ucyxcbiAgfSk7XG59XG5cbi8qKlxuICogUGF1c2UgR1JPVzkwIHByb2dyYW1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVBhdXNlR3JvdzkwKFxuICBvcHRpb25zPzogT21pdDxVc2VNdXRhdGlvbk9wdGlvbnM8R3JvdzkwRW5yb2xsbWVudFJlc3BvbnNlLCBFcnJvciwgdm9pZD4sICdtdXRhdGlvbkZuJz5cbik6IFVzZU11dGF0aW9uUmVzdWx0PEdyb3c5MEVucm9sbG1lbnRSZXNwb25zZSwgRXJyb3IsIHZvaWQ+IHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCgpO1xuXG4gIHJldHVybiB1c2VNdXRhdGlvbih7XG4gICAgbXV0YXRpb25GbjogYXN5bmMgKCk6IFByb21pc2U8R3JvdzkwRW5yb2xsbWVudFJlc3BvbnNlPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LnBvc3QoJy9hcGkvdjEvZ3JvdzkwL3BhdXNlJyk7XG4gICAgICAvLyBBUEkgcmV0dXJucyB7IGRhdGE6IHsuLi59LCBtZXRhOiB7Li4ufSB9LCBleHRyYWN0IHRoZSBkYXRhXG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YT8uZGF0YSB8fCByZXNwb25zZS5kYXRhO1xuICAgIH0sXG4gICAgb25TdWNjZXNzOiAoZW5yb2xsbWVudCkgPT4ge1xuICAgICAgcXVlcnlDbGllbnQuc2V0UXVlcnlEYXRhKGdyb3c5MEtleXMuZW5yb2xsbWVudCgpLCBlbnJvbGxtZW50KTtcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuXG4vKipcbiAqIFJlc3VtZSBHUk9XOTAgcHJvZ3JhbVxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlUmVzdW1lR3JvdzkwKFxuICBvcHRpb25zPzogT21pdDxVc2VNdXRhdGlvbk9wdGlvbnM8R3JvdzkwRW5yb2xsbWVudFJlc3BvbnNlLCBFcnJvciwgdm9pZD4sICdtdXRhdGlvbkZuJz5cbik6IFVzZU11dGF0aW9uUmVzdWx0PEdyb3c5MEVucm9sbG1lbnRSZXNwb25zZSwgRXJyb3IsIHZvaWQ+IHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCgpO1xuXG4gIHJldHVybiB1c2VNdXRhdGlvbih7XG4gICAgbXV0YXRpb25GbjogYXN5bmMgKCk6IFByb21pc2U8R3JvdzkwRW5yb2xsbWVudFJlc3BvbnNlPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LnBvc3QoJy9hcGkvdjEvZ3JvdzkwL3Jlc3VtZScpO1xuICAgICAgLy8gQVBJIHJldHVybnMgeyBkYXRhOiB7Li4ufSwgbWV0YTogey4uLn0gfSwgZXh0cmFjdCB0aGUgZGF0YVxuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE/LmRhdGEgfHwgcmVzcG9uc2UuZGF0YTtcbiAgICB9LFxuICAgIG9uU3VjY2VzczogKGVucm9sbG1lbnQpID0+IHtcbiAgICAgIHF1ZXJ5Q2xpZW50LnNldFF1ZXJ5RGF0YShncm93OTBLZXlzLmVucm9sbG1lbnQoKSwgZW5yb2xsbWVudCk7XG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7IHF1ZXJ5S2V5OiBncm93OTBLZXlzLnRvZGF5KCkgfSk7XG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cblxuLyoqXG4gKiBBYmFuZG9uIEdST1c5MCBwcm9ncmFtXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VBYmFuZG9uR3JvdzkwKFxuICBvcHRpb25zPzogT21pdDxVc2VNdXRhdGlvbk9wdGlvbnM8eyBzdWNjZXNzOiBib29sZWFuIH0sIEVycm9yLCB2b2lkPiwgJ211dGF0aW9uRm4nPlxuKTogVXNlTXV0YXRpb25SZXN1bHQ8eyBzdWNjZXNzOiBib29sZWFuIH0sIEVycm9yLCB2b2lkPiB7XG4gIGNvbnN0IHF1ZXJ5Q2xpZW50ID0gdXNlUXVlcnlDbGllbnQoKTtcblxuICByZXR1cm4gdXNlTXV0YXRpb24oe1xuICAgIG11dGF0aW9uRm46IGFzeW5jICgpOiBQcm9taXNlPHsgc3VjY2VzczogYm9vbGVhbiB9PiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LnBvc3QoJy9hcGkvdjEvZ3JvdzkwL2FiYW5kb24nKTtcbiAgICAgIC8vIEFQSSByZXR1cm5zIHsgZGF0YTogey4uLn0sIG1ldGE6IHsuLi59IH0sIGV4dHJhY3QgdGhlIGRhdGFcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhPy5kYXRhIHx8IHJlc3BvbnNlLmRhdGE7XG4gICAgfSxcbiAgICBvblN1Y2Nlc3M6ICgpID0+IHtcbiAgICAgIHF1ZXJ5Q2xpZW50LnNldFF1ZXJ5RGF0YShncm93OTBLZXlzLmVucm9sbG1lbnQoKSwgbnVsbCk7XG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7IHF1ZXJ5S2V5OiBncm93OTBLZXlzLmFsbCB9KTtcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuIl19
@@ -0,0 +1,111 @@
1
+ import { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';
2
+ import type { HubResponse, CreateHubRequest, UpdateHubRequest } from '../types';
3
+ export interface UpdateMemberRoleRequest {
4
+ role: 'OWNER' | 'ADMIN' | 'MEMBER';
5
+ }
6
+ export interface JoinHubResponse {
7
+ message: string;
8
+ membership: {
9
+ id: string;
10
+ hubId: string;
11
+ userId: string;
12
+ role: 'MEMBER';
13
+ status: 'ACTIVE' | 'PENDING';
14
+ joinedAt: string;
15
+ };
16
+ }
17
+ export interface LeaveHubResponse {
18
+ message: string;
19
+ }
20
+ export interface ApproveMemberResponse {
21
+ message: string;
22
+ }
23
+ export interface UpdateMemberRoleResponse {
24
+ message: string;
25
+ role: 'OWNER' | 'ADMIN' | 'MEMBER';
26
+ }
27
+ export interface RemoveMemberResponse {
28
+ message: string;
29
+ }
30
+ /**
31
+ * Create a new hub
32
+ *
33
+ * @param options - React Query mutation options
34
+ * @returns Mutation result
35
+ */
36
+ export declare function useCreateHub(options?: Omit<UseMutationOptions<HubResponse, Error, CreateHubRequest>, 'mutationFn'>): UseMutationResult<HubResponse, Error, CreateHubRequest>;
37
+ /**
38
+ * Update an existing hub
39
+ *
40
+ * @param options - React Query mutation options
41
+ * @returns Mutation result
42
+ */
43
+ export declare function useUpdateHub(options?: Omit<UseMutationOptions<HubResponse, Error, {
44
+ id: string;
45
+ data: UpdateHubRequest;
46
+ }>, 'mutationFn'>): UseMutationResult<HubResponse, Error, {
47
+ id: string;
48
+ data: UpdateHubRequest;
49
+ }>;
50
+ /**
51
+ * Delete a hub
52
+ *
53
+ * @param options - React Query mutation options
54
+ * @returns Mutation result
55
+ */
56
+ export declare function useDeleteHub(options?: Omit<UseMutationOptions<void, Error, string>, 'mutationFn'>): UseMutationResult<void, Error, string>;
57
+ /**
58
+ * Join a hub
59
+ *
60
+ * @param options - React Query mutation options
61
+ * @returns Mutation result
62
+ */
63
+ export declare function useJoinHub(options?: Omit<UseMutationOptions<JoinHubResponse, Error, string>, 'mutationFn'>): UseMutationResult<JoinHubResponse, Error, string>;
64
+ /**
65
+ * Leave a hub
66
+ *
67
+ * @param options - React Query mutation options
68
+ * @returns Mutation result
69
+ */
70
+ export declare function useLeaveHub(options?: Omit<UseMutationOptions<LeaveHubResponse, Error, string>, 'mutationFn'>): UseMutationResult<LeaveHubResponse, Error, string>;
71
+ /**
72
+ * Approve a pending member
73
+ *
74
+ * @param options - React Query mutation options
75
+ * @returns Mutation result
76
+ */
77
+ export declare function useApproveMember(options?: Omit<UseMutationOptions<ApproveMemberResponse, Error, {
78
+ hubId: string;
79
+ memberId: string;
80
+ }>, 'mutationFn'>): UseMutationResult<ApproveMemberResponse, Error, {
81
+ hubId: string;
82
+ memberId: string;
83
+ }>;
84
+ /**
85
+ * Update a member's role
86
+ *
87
+ * @param options - React Query mutation options
88
+ * @returns Mutation result
89
+ */
90
+ export declare function useUpdateMemberRole(options?: Omit<UseMutationOptions<UpdateMemberRoleResponse, Error, {
91
+ hubId: string;
92
+ memberId: string;
93
+ data: UpdateMemberRoleRequest;
94
+ }>, 'mutationFn'>): UseMutationResult<UpdateMemberRoleResponse, Error, {
95
+ hubId: string;
96
+ memberId: string;
97
+ data: UpdateMemberRoleRequest;
98
+ }>;
99
+ /**
100
+ * Remove a member from a hub
101
+ *
102
+ * @param options - React Query mutation options
103
+ * @returns Mutation result
104
+ */
105
+ export declare function useRemoveMember(options?: Omit<UseMutationOptions<RemoveMemberResponse, Error, {
106
+ hubId: string;
107
+ memberId: string;
108
+ }>, 'mutationFn'>): UseMutationResult<RemoveMemberResponse, Error, {
109
+ hubId: string;
110
+ memberId: string;
111
+ }>;
@@ -0,0 +1,240 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useCreateHub = useCreateHub;
4
+ exports.useUpdateHub = useUpdateHub;
5
+ exports.useDeleteHub = useDeleteHub;
6
+ exports.useJoinHub = useJoinHub;
7
+ exports.useLeaveHub = useLeaveHub;
8
+ exports.useApproveMember = useApproveMember;
9
+ exports.useUpdateMemberRole = useUpdateMemberRole;
10
+ exports.useRemoveMember = useRemoveMember;
11
+ const react_query_1 = require("@tanstack/react-query");
12
+ const client_1 = require("../client");
13
+ const hubs_1 = require("../queries/hubs");
14
+ // ============================================================================
15
+ // MUTATION HOOKS
16
+ // ============================================================================
17
+ /**
18
+ * Create a new hub
19
+ *
20
+ * @param options - React Query mutation options
21
+ * @returns Mutation result
22
+ */
23
+ function useCreateHub(options) {
24
+ const queryClient = (0, react_query_1.useQueryClient)();
25
+ return (0, react_query_1.useMutation)({
26
+ mutationFn: async (data) => {
27
+ const client = (0, client_1.getApiClient)();
28
+ const response = await client.post('/api/v1/hubs', data);
29
+ return response.data;
30
+ },
31
+ onSuccess: (newHub, variables, context) => {
32
+ // Invalidate all hub lists to refetch with the new hub
33
+ queryClient.invalidateQueries({ queryKey: hubs_1.hubKeys.lists() });
34
+ // Invalidate my hubs list
35
+ queryClient.invalidateQueries({ queryKey: hubs_1.hubKeys.myHubs() });
36
+ // Set the new hub in the cache
37
+ queryClient.setQueryData(hubs_1.hubKeys.detail(newHub.id), newHub);
38
+ // Call user's onSuccess if provided
39
+ },
40
+ ...options,
41
+ });
42
+ }
43
+ /**
44
+ * Update an existing hub
45
+ *
46
+ * @param options - React Query mutation options
47
+ * @returns Mutation result
48
+ */
49
+ function useUpdateHub(options) {
50
+ const queryClient = (0, react_query_1.useQueryClient)();
51
+ return (0, react_query_1.useMutation)({
52
+ mutationFn: async ({ id, data, }) => {
53
+ const client = (0, client_1.getApiClient)();
54
+ const response = await client.put(`/api/v1/hubs/${id}`, data);
55
+ return response.data;
56
+ },
57
+ onSuccess: (updatedHub, variables, context) => {
58
+ // Update the hub in the cache
59
+ queryClient.setQueryData(hubs_1.hubKeys.detail(updatedHub.id), updatedHub);
60
+ // Invalidate hub lists to refetch with updated data
61
+ queryClient.invalidateQueries({ queryKey: hubs_1.hubKeys.lists() });
62
+ // Invalidate my hubs list
63
+ queryClient.invalidateQueries({ queryKey: hubs_1.hubKeys.myHubs() });
64
+ // Invalidate slug-based query since slug might have changed
65
+ queryClient.invalidateQueries({
66
+ queryKey: hubs_1.hubKeys.bySlug(updatedHub.slug)
67
+ });
68
+ // Call user's onSuccess if provided
69
+ },
70
+ ...options,
71
+ });
72
+ }
73
+ /**
74
+ * Delete a hub
75
+ *
76
+ * @param options - React Query mutation options
77
+ * @returns Mutation result
78
+ */
79
+ function useDeleteHub(options) {
80
+ const queryClient = (0, react_query_1.useQueryClient)();
81
+ return (0, react_query_1.useMutation)({
82
+ mutationFn: async (id) => {
83
+ const client = (0, client_1.getApiClient)();
84
+ await client.delete(`/api/v1/hubs/${id}`);
85
+ },
86
+ onSuccess: (data, id, context) => {
87
+ // Remove the hub from the cache
88
+ queryClient.removeQueries({ queryKey: hubs_1.hubKeys.detail(id) });
89
+ // Invalidate all hub lists to refetch without the deleted hub
90
+ queryClient.invalidateQueries({ queryKey: hubs_1.hubKeys.lists() });
91
+ // Invalidate my hubs list
92
+ queryClient.invalidateQueries({ queryKey: hubs_1.hubKeys.myHubs() });
93
+ // Call user's onSuccess if provided
94
+ // User's onSuccess is handled by spreading options
95
+ },
96
+ ...options,
97
+ });
98
+ }
99
+ /**
100
+ * Join a hub
101
+ *
102
+ * @param options - React Query mutation options
103
+ * @returns Mutation result
104
+ */
105
+ function useJoinHub(options) {
106
+ const queryClient = (0, react_query_1.useQueryClient)();
107
+ return (0, react_query_1.useMutation)({
108
+ mutationFn: async (id) => {
109
+ const client = (0, client_1.getApiClient)();
110
+ const response = await client.post(`/api/v1/hubs/${id}/join`);
111
+ return response.data;
112
+ },
113
+ onSuccess: (data, id, context) => {
114
+ // Invalidate membership status for this hub
115
+ queryClient.invalidateQueries({ queryKey: hubs_1.hubKeys.membership(id) });
116
+ // Invalidate my hubs list
117
+ queryClient.invalidateQueries({ queryKey: hubs_1.hubKeys.myHubs() });
118
+ // Invalidate hub members list
119
+ queryClient.invalidateQueries({ queryKey: hubs_1.hubKeys.members(id) });
120
+ // Refetch hub details to update member count
121
+ queryClient.invalidateQueries({ queryKey: hubs_1.hubKeys.detail(id) });
122
+ // Call user's onSuccess if provided
123
+ // User's onSuccess is handled by spreading options
124
+ },
125
+ ...options,
126
+ });
127
+ }
128
+ /**
129
+ * Leave a hub
130
+ *
131
+ * @param options - React Query mutation options
132
+ * @returns Mutation result
133
+ */
134
+ function useLeaveHub(options) {
135
+ const queryClient = (0, react_query_1.useQueryClient)();
136
+ return (0, react_query_1.useMutation)({
137
+ mutationFn: async (id) => {
138
+ const client = (0, client_1.getApiClient)();
139
+ const response = await client.post(`/api/v1/hubs/${id}/leave`);
140
+ return response.data;
141
+ },
142
+ onSuccess: (data, id, context) => {
143
+ // Invalidate membership status for this hub
144
+ queryClient.invalidateQueries({ queryKey: hubs_1.hubKeys.membership(id) });
145
+ // Invalidate my hubs list
146
+ queryClient.invalidateQueries({ queryKey: hubs_1.hubKeys.myHubs() });
147
+ // Invalidate hub members list
148
+ queryClient.invalidateQueries({ queryKey: hubs_1.hubKeys.members(id) });
149
+ // Refetch hub details to update member count
150
+ queryClient.invalidateQueries({ queryKey: hubs_1.hubKeys.detail(id) });
151
+ // Call user's onSuccess if provided
152
+ // User's onSuccess is handled by spreading options
153
+ },
154
+ ...options,
155
+ });
156
+ }
157
+ /**
158
+ * Approve a pending member
159
+ *
160
+ * @param options - React Query mutation options
161
+ * @returns Mutation result
162
+ */
163
+ function useApproveMember(options) {
164
+ const queryClient = (0, react_query_1.useQueryClient)();
165
+ return (0, react_query_1.useMutation)({
166
+ mutationFn: async ({ hubId, memberId, }) => {
167
+ const client = (0, client_1.getApiClient)();
168
+ const response = await client.post(`/api/v1/hubs/${hubId}/members/${memberId}/approve`);
169
+ return response.data;
170
+ },
171
+ onSuccess: (data, variables, context) => {
172
+ // Invalidate hub members list to refetch with updated status
173
+ queryClient.invalidateQueries({
174
+ queryKey: hubs_1.hubKeys.members(variables.hubId)
175
+ });
176
+ // Refetch hub details to update member count
177
+ queryClient.invalidateQueries({
178
+ queryKey: hubs_1.hubKeys.detail(variables.hubId)
179
+ });
180
+ // Call user's onSuccess if provided
181
+ // User's onSuccess is handled by spreading options
182
+ },
183
+ ...options,
184
+ });
185
+ }
186
+ /**
187
+ * Update a member's role
188
+ *
189
+ * @param options - React Query mutation options
190
+ * @returns Mutation result
191
+ */
192
+ function useUpdateMemberRole(options) {
193
+ const queryClient = (0, react_query_1.useQueryClient)();
194
+ return (0, react_query_1.useMutation)({
195
+ mutationFn: async ({ hubId, memberId, data, }) => {
196
+ const client = (0, client_1.getApiClient)();
197
+ const response = await client.put(`/api/v1/hubs/${hubId}/members/${memberId}/role`, data);
198
+ return response.data;
199
+ },
200
+ onSuccess: (data, variables, context) => {
201
+ // Invalidate hub members list to refetch with updated role
202
+ queryClient.invalidateQueries({
203
+ queryKey: hubs_1.hubKeys.members(variables.hubId)
204
+ });
205
+ // Call user's onSuccess if provided
206
+ // User's onSuccess is handled by spreading options
207
+ },
208
+ ...options,
209
+ });
210
+ }
211
+ /**
212
+ * Remove a member from a hub
213
+ *
214
+ * @param options - React Query mutation options
215
+ * @returns Mutation result
216
+ */
217
+ function useRemoveMember(options) {
218
+ const queryClient = (0, react_query_1.useQueryClient)();
219
+ return (0, react_query_1.useMutation)({
220
+ mutationFn: async ({ hubId, memberId, }) => {
221
+ const client = (0, client_1.getApiClient)();
222
+ const response = await client.delete(`/api/v1/hubs/${hubId}/members/${memberId}`);
223
+ return response.data;
224
+ },
225
+ onSuccess: (data, variables, context) => {
226
+ // Invalidate hub members list to refetch without removed member
227
+ queryClient.invalidateQueries({
228
+ queryKey: hubs_1.hubKeys.members(variables.hubId)
229
+ });
230
+ // Refetch hub details to update member count
231
+ queryClient.invalidateQueries({
232
+ queryKey: hubs_1.hubKeys.detail(variables.hubId)
233
+ });
234
+ // Call user's onSuccess if provided
235
+ // User's onSuccess is handled by spreading options
236
+ },
237
+ ...options,
238
+ });
239
+ }
240
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHVicy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvbXV0YXRpb25zL2h1YnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUF5REEsb0NBMEJDO0FBUUQsb0NBb0NDO0FBUUQsb0NBdUJDO0FBUUQsZ0NBMEJDO0FBUUQsa0NBMEJDO0FBUUQsNENBNkNDO0FBUUQsa0RBNENDO0FBUUQsMENBNkNDO0FBaFlELHVEQUsrQjtBQUMvQixzQ0FBeUM7QUFFekMsMENBQTBDO0FBdUMxQywrRUFBK0U7QUFDL0UsaUJBQWlCO0FBQ2pCLCtFQUErRTtBQUUvRTs7Ozs7R0FLRztBQUNILFNBQWdCLFlBQVksQ0FDMUIsT0FHQztJQUVELE1BQU0sV0FBVyxHQUFHLElBQUEsNEJBQWMsR0FBRSxDQUFDO0lBRXJDLE9BQU8sSUFBQSx5QkFBVyxFQUFDO1FBQ2pCLFVBQVUsRUFBRSxLQUFLLEVBQUUsSUFBc0IsRUFBd0IsRUFBRTtZQUNqRSxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEdBQUUsQ0FBQztZQUM5QixNQUFNLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3pELE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQztRQUN2QixDQUFDO1FBQ0QsU0FBUyxFQUFFLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUN4Qyx1REFBdUQ7WUFDdkQsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsUUFBUSxFQUFFLGNBQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDN0QsMEJBQTBCO1lBQzFCLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLFFBQVEsRUFBRSxjQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzlELCtCQUErQjtZQUMvQixXQUFXLENBQUMsWUFBWSxDQUFDLGNBQU8sQ0FBQyxNQUFNLENBQUMs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U0FBUyxDQUFDLEtBQUssQ0FBQzthQUMzQyxDQUFDLENBQUM7WUFFSCxvQ0FBb0M7WUFDcEMsbURBQW1EO1FBQ3JELENBQUM7UUFDRCxHQUFHLE9BQU87S0FDWCxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixlQUFlLENBQzdCLE9BT0M7SUFNRCxNQUFNLFdBQVcsR0FBRyxJQUFBLDRCQUFjLEdBQUUsQ0FBQztJQUVyQyxPQUFPLElBQUEseUJBQVcsRUFBQztRQUNqQixVQUFVLEVBQUUsS0FBSyxFQUFFLEVBQ2pCLEtBQUssRUFDTCxRQUFRLEdBSVQsRUFBaUMsRUFBRTtZQUNsQyxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEdBQUUsQ0FBQztZQUM5QixNQUFNLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxNQUFNLENBQ2xDLGdCQUFnQixLQUFLLFlBQVksUUFBUSxFQUFFLENBQzVDLENBQUM7WUFDRixPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDdkIsQ0FBQztRQUNELFNBQVMsRUFBRSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDdEMsZ0VBQWdFO1lBQ2hFLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDNUIsUUFBUSxFQUFFLGNBQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQzthQUMzQyxDQUFDLENBQUM7WUFDSCw2Q0FBNkM7WUFDN0MsV0FBVyxDQUFDLGlCQUFpQixDQUFDO2dCQUM1QixRQUFRLEVBQUUsY0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO2FBQzFDLENBQUMsQ0FBQztZQUVILG9DQUFvQztZQUNwQyxtREFBbUQ7UUFDckQsQ0FBQztRQUNELEdBQUcsT0FBTztLQUNYLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB1c2VNdXRhdGlvbixcbiAgdXNlUXVlcnlDbGllbnQsXG4gIFVzZU11dGF0aW9uT3B0aW9ucyxcbiAgVXNlTXV0YXRpb25SZXN1bHQsXG59IGZyb20gJ0B0YW5zdGFjay9yZWFjdC1xdWVyeSc7XG5pbXBvcnQgeyBnZXRBcGlDbGllbnQgfSBmcm9tICcuLi9jbGllbnQnO1xuaW1wb3J0IHR5cGUgeyBIdWJSZXNwb25zZSwgQ3JlYXRlSHViUmVxdWVzdCwgVXBkYXRlSHViUmVxdWVzdCB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGh1YktleXMgfSBmcm9tICcuLi9xdWVyaWVzL2h1YnMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUWVBFU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZU1lbWJlclJvbGVSZXF1ZXN0IHtcbiAgcm9sZTogJ09XTkVSJyB8ICdBRE1JTicgfCAnTUVNQkVSJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBKb2luSHViUmVzcG9uc2Uge1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIG1lbWJlcnNoaXA6IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGh1YklkOiBzdHJpbmc7XG4gICAgdXNlcklkOiBzdHJpbmc7XG4gICAgcm9sZTogJ01FTUJFUic7XG4gICAgc3RhdHVzOiAnQUNUSVZFJyB8ICdQRU5ESU5HJztcbiAgICBqb2luZWRBdDogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExlYXZlSHViUmVzcG9uc2Uge1xuICBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBwcm92ZU1lbWJlclJlc3BvbnNlIHtcbiAgbWVzc2FnZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZU1lbWJlclJvbGVSZXNwb25zZSB7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgcm9sZTogJ09XTkVSJyB8ICdBRE1JTicgfCAnTUVNQkVSJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW1vdmVNZW1iZXJSZXNwb25zZSB7XG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTVVUQVRJT04gSE9PS1Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBDcmVhdGUgYSBuZXcgaHViXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBSZWFjdCBRdWVyeSBtdXRhdGlvbiBvcHRpb25zXG4gKiBAcmV0dXJucyBNdXRhdGlvbiByZXN1bHRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUNyZWF0ZUh1YihcbiAgb3B0aW9ucz86IE9taXQ8XG4gICAgVXNlTXV0YXRpb25PcHRpb25zPEh1YlJlc3BvbnNlLCBFcnJvciwgQ3JlYXRlSHViUmVxdWVzdD4sXG4gICAgJ211dGF0aW9uRm4nXG4gID5cbik6IFVzZU11dGF0aW9uUmVzdWx0PEh1YlJlc3BvbnNlLCBFcnJvciwgQ3JlYXRlSHViUmVxdWVzdD4ge1xuICBjb25zdCBxdWVyeUNsaWVudCA9IHVzZVF1ZXJ5Q2xpZW50KCk7XG5cbiAgcmV0dXJuIHVzZU11dGF0aW9uKHtcbiAgICBtdXRhdGlvbkZuOiBhc3luYyAoZGF0YTogQ3JlYXRlSHViUmVxdWVzdCk6IFByb21pc2U8SHViUmVzcG9uc2U+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQucG9zdCgnL2FwaS92MS9odWJzJywgZGF0YSk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9LFxuICAgIG9uU3VjY2VzczogKG5ld0h1YiwgdmFyaWFibGVzLCBjb250ZXh0KSA9PiB7XG4gICAgICAvLyBJbnZhbGlkYXRlIGFsbCBodWIgbGlzdHMgdG8gcmVmZXRjaCB3aXRoIHRoZSBuZXcgaHViXG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7IHF1ZXJ5S2V5OiBodWJLZXlzLmxpc3RzKCkgfSk7XG4gICAgICAvLyBJbnZhbGlkYXRlIG15IGh1YnMgbGlzdFxuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoeyBxdWVyeUtleTogaHViS2V5cy5teUh1YnMoKSB9KTtcbiAgICAgIC8vIFNldCB0aGUgbmV3IGh1YiBpbiB0aGUgY2FjaGVcbiAgICAgIHF1ZXJ5Q2xpZW50LnNldFF1ZXJ5RGF0YShodWJLZXlzLmRldGFpbChuZXdIdWIuaWQpLCBuZXdIdWIpO1xuXG4gICAgICAvLyBDYWxsIHVzZXIncyBvblN1Y2Nlc3MgaWYgcHJvdmlkZWRcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuXG4vKipcbiAqIFVwZGF0ZSBhbiBleGlzdGluZyBodWJcbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFJlYWN0IFF1ZXJ5IG11dGF0aW9uIG9wdGlvbnNcbiAqIEByZXR1cm5zIE11dGF0aW9uIHJlc3VsdFxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlVXBkYXRlSHViKFxuICBvcHRpb25zPzogT21pdDxcbiAgICBVc2VNdXRhdGlvbk9wdGlvbnM8SHViUmVzcG9uc2UsIEVycm9yLCB7IGlkOiBzdHJpbmc7IGRhdGE6IFVwZGF0ZUh1YlJlcXVlc3QgfT4sXG4gICAgJ211dGF0aW9uRm4nXG4gID5cbik6IFVzZU11dGF0aW9uUmVzdWx0PEh1YlJlc3BvbnNlLCBFcnJvciwgeyBpZDogc3RyaW5nOyBkYXRhOiBVcGRhdGVIdWJSZXF1ZXN0IH0+IHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCgpO1xuXG4gIHJldHVybiB1c2VNdXRhdGlvbih7XG4gICAgbXV0YXRpb25GbjogYXN5bmMgKHtcbiAgICAgIGlkLFxuICAgICAgZGF0YSxcbiAgICB9OiB7XG4gICAgICBpZDogc3RyaW5nO1xuICAgICAgZGF0YTogVXBkYXRlSHViUmVxdWVzdDtcbiAgICB9KTogUHJvbWlzZTxIdWJSZXNwb25zZT4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5wdXQoYC9hcGkvdjEvaHVicy8ke2lkfWAsIGRhdGEpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSxcbiAgICBvblN1Y2Nlc3M6ICh1cGRhdGVkSHViLCB2YXJpYWJsZXMsIGNvbnRleHQpID0+IHtcbiAgICAgIC8vIFVwZGF0ZSB0aGUgaHViIGluIHRoZSBjYWNoZVxuICAgICAgcXVlcnlDbGllbnQuc2V0UXVlcnlEYXRhKGh1YktleXMuZGV0YWlsKHVwZGF0ZWRIdWIuaWQpLCB1cGRhdGVkSHViKTtcbiAgICAgIC8vIEludmFsaWRhdGUgaHViIGxpc3RzIHRvIHJlZmV0Y2ggd2l0aCB1cGRhdGVkIGRhdGFcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHsgcXVlcnlLZXk6IGh1YktleXMubGlzdHMoKSB9KTtcbiAgICAgIC8vIEludmFsaWRhdGUgbXkgaHVicyBsaXN0XG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7IHF1ZXJ5S2V5OiBodWJLZXlzLm15SHVicygpIH0pO1xuICAgICAgLy8gSW52YWxpZGF0ZSBzbHVnLWJhc2VkIHF1ZXJ5IHNpbmNlIHNsdWcgbWlnaHQgaGF2ZSBjaGFuZ2VkXG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7XG4gICAgICAgIHF1ZXJ5S2V5OiBodWJLZXlzLmJ5U2x1Zyh1cGRhdGVkSHViLnNsdWcpXG4gICAgICB9KTtcblxuICAgICAgLy8gQ2FsbCB1c2VyJ3Mgb25TdWNjZXNzIGlmIHByb3ZpZGVkXG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cblxuLyoqXG4gKiBEZWxldGUgYSBodWJcbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFJlYWN0IFF1ZXJ5IG11dGF0aW9uIG9wdGlvbnNcbiAqIEByZXR1cm5zIE11dGF0aW9uIHJlc3VsdFxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlRGVsZXRlSHViKFxuICBvcHRpb25zPzogT21pdDxVc2VNdXRhdGlvbk9wdGlvbnM8dm9pZCwgRXJyb3IsIHN0cmluZz4sICdtdXRhdGlvbkZuJz5cbik6IFVzZU11dGF0aW9uUmVzdWx0PHZvaWQsIEVycm9yLCBzdHJpbmc+IHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCgpO1xuXG4gIHJldHVybiB1c2VNdXRhdGlvbih7XG4gICAgbXV0YXRpb25GbjogYXN5bmMgKGlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgYXdhaXQgY2xpZW50LmRlbGV0ZShgL2FwaS92MS9odWJzLyR7aWR9YCk7XG4gICAgfSxcbiAgICBvblN1Y2Nlc3M6IChkYXRhLCBpZCwgY29udGV4dCkgPT4ge1xuICAgICAgLy8gUmVtb3ZlIHRoZSBodWIgZnJvbSB0aGUgY2FjaGVcbiAgICAgIHF1ZXJ5Q2xpZW50LnJlbW92ZVF1ZXJpZXMoeyBxdWVyeUtleTogaHViS2V5cy5kZXRhaWwoaWQpIH0pO1xuICAgICAgLy8gSW52YWxpZGF0ZSBhbGwgaHViIGxpc3RzIHRvIHJlZmV0Y2ggd2l0aG91dCB0aGUgZGVsZXRlZCBodWJcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHsgcXVlcnlLZXk6IGh1YktleXMubGlzdHMoKSB9KTtcbiAgICAgIC8vIEludmFsaWRhdGUgbXkgaHVicyBsaXN0XG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7IHF1ZXJ5S2V5OiBodWJLZXlzLm15SHVicygpIH0pO1xuXG4gICAgICAvLyBDYWxsIHVzZXIncyBvblN1Y2Nlc3MgaWYgcHJvdmlkZWRcbiAgICAgIC8vIFVzZXIncyBvblN1Y2Nlc3MgaXMgaGFuZGxlZCBieSBzcHJlYWRpbmcgb3B0aW9uc1xuICAgIH0sXG4gICAgLi4ub3B0aW9ucyxcbiAgfSk7XG59XG5cbi8qKlxuICogSm9pbiBhIGh1YlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gUmVhY3QgUXVlcnkgbXV0YXRpb24gb3B0aW9uc1xuICogQHJldHVybnMgTXV0YXRpb24gcmVzdWx0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VKb2luSHViKFxuICBvcHRpb25zPzogT21pdDxVc2VNdXRhdGlvbk9wdGlvbnM8Sm9pbkh1YlJlc3BvbnNlLCBFcnJvciwgc3RyaW5nPiwgJ211dGF0aW9uRm4nPlxuKTogVXNlTXV0YXRpb25SZXN1bHQ8Sm9pbkh1YlJlc3BvbnNlLCBFcnJvciwgc3RyaW5nPiB7XG4gIGNvbnN0IHF1ZXJ5Q2xpZW50ID0gdXNlUXVlcnlDbGllbnQoKTtcblxuICByZXR1cm4gdXNlTXV0YXRpb24oe1xuICAgIG11dGF0aW9uRm46IGFzeW5jIChpZDogc3RyaW5nKTogUHJvbWlzZTxKb2luSHViUmVzcG9uc2U+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQucG9zdChgL2FwaS92MS9odWJzLyR7aWR9L2pvaW5gKTtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH0sXG4gICAgb25TdWNjZXNzOiAoZGF0YSwgaWQsIGNvbnRleHQpID0+IHtcbiAgICAgIC8vIEludmFsaWRhdGUgbWVtYmVyc2hpcCBzdGF0dXMgZm9yIHRoaXMgaHViXG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7IHF1ZXJ5S2V5OiBodWJLZXlzLm1lbWJlcnNoaXAoaWQpIH0pO1xuICAgICAgLy8gSW52YWxpZGF0ZSBteSBodWJzIGxpc3RcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHsgcXVlcnlLZXk6IGh1YktleXMubXlIdWJzKCkgfSk7XG4gICAgICAvLyBJbnZhbGlkYXRlIGh1YiBtZW1iZXJzIGxpc3RcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHsgcXVlcnlLZXk6IGh1YktleXMubWVtYmVycyhpZCkgfSk7XG4gICAgICAvLyBSZWZldGNoIGh1YiBkZXRhaWxzIHRvIHVwZGF0ZSBtZW1iZXIgY291bnRcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHsgcXVlcnlLZXk6IGh1YktleXMuZGV0YWlsKGlkKSB9KTtcblxuICAgICAgLy8gQ2FsbCB1c2VyJ3Mgb25TdWNjZXNzIGlmIHByb3ZpZGVkXG4gICAgICAvLyBVc2VyJ3Mgb25TdWNjZXNzIGlzIGhhbmRsZWQgYnkgc3ByZWFkaW5nIG9wdGlvbnNcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuXG4vKipcbiAqIExlYXZlIGEgaHViXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBSZWFjdCBRdWVyeSBtdXRhdGlvbiBvcHRpb25zXG4gKiBAcmV0dXJucyBNdXRhdGlvbiByZXN1bHRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUxlYXZlSHViKFxuICBvcHRpb25zPzogT21pdDxVc2VNdXRhdGlvbk9wdGlvbnM8TGVhdmVIdWJSZXNwb25zZSwgRXJyb3IsIHN0cmluZz4sICdtdXRhdGlvbkZuJz5cbik6IFVzZU11dGF0aW9uUmVzdWx0PExlYXZlSHViUmVzcG9uc2UsIEVycm9yLCBzdHJpbmc+IHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCgpO1xuXG4gIHJldHVybiB1c2VNdXRhdGlvbih7XG4gICAgbXV0YXRpb25GbjogYXN5bmMgKGlkOiBzdHJpbmcpOiBQcm9taXNlPExlYXZlSHViUmVzcG9uc2U+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQucG9zdChgL2FwaS92MS9odWJzLyR7aWR9L2xlYXZlYCk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9LFxuICAgIG9uU3VjY2VzczogKGRhdGEsIGlkLCBjb250ZXh0KSA9PiB7XG4gICAgICAvLyBJbnZhbGlkYXRlIG1lbWJlcnNoaXAgc3RhdHVzIGZvciB0aGlzIGh1YlxuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoeyBxdWVyeUtleTogaHViS2V5cy5tZW1iZXJzaGlwKGlkKSB9KTtcbiAgICAgIC8vIEludmFsaWRhdGUgbXkgaHVicyBsaXN0XG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7IHF1ZXJ5S2V5OiBodWJLZXlzLm15SHVicygpIH0pO1xuICAgICAgLy8gSW52YWxpZGF0ZSBodWIgbWVtYmVycyBsaXN0XG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7IHF1ZXJ5S2V5OiBodWJLZXlzLm1lbWJlcnMoaWQpIH0pO1xuICAgICAgLy8gUmVmZXRjaCBodWIgZGV0YWlscyB0byB1cGRhdGUgbWVtYmVyIGNvdW50XG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7IHF1ZXJ5S2V5OiBodWJLZXlzLmRldGFpbChpZCkgfSk7XG5cbiAgICAgIC8vIENhbGwgdXNlcidzIG9uU3VjY2VzcyBpZiBwcm92aWRlZFxuICAgICAgLy8gVXNlcidzIG9uU3VjY2VzcyBpcyBoYW5kbGVkIGJ5IHNwcmVhZGluZyBvcHRpb25zXG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cblxuLyoqXG4gKiBBcHByb3ZlIGEgcGVuZGluZyBtZW1iZXJcbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFJlYWN0IFF1ZXJ5IG11dGF0aW9uIG9wdGlvbnNcbiAqIEByZXR1cm5zIE11dGF0aW9uIHJlc3VsdFxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlQXBwcm92ZU1lbWJlcihcbiAgb3B0aW9ucz86IE9taXQ8XG4gICAgVXNlTXV0YXRpb25PcHRpb25zPFxuICAgICAgQXBwcm92ZU1lbWJlclJlc3BvbnNlLFxuICAgICAgRXJyb3IsXG4gICAgICB7IGh1YklkOiBzdHJpbmc7IG1lbWJlcklkOiBzdHJpbmcgfVxuICAgID4sXG4gICAgJ211dGF0aW9uRm4nXG4gID5cbik6IFVzZU11dGF0aW9uUmVzdWx0PFxuICBBcHByb3ZlTWVtYmVyUmVzcG9uc2UsXG4gIEVycm9yLFxuICB7IGh1YklkOiBzdHJpbmc7IG1lbWJlcklkOiBzdHJpbmcgfVxuPiB7XG4gIGNvbnN0IHF1ZXJ5Q2xpZW50ID0gdXNlUXVlcnlDbGllbnQoKTtcblxuICByZXR1cm4gdXNlTXV0YXRpb24oe1xuICAgIG11dGF0aW9uRm46IGFzeW5jICh7XG4gICAgICBodWJJZCxcbiAgICAgIG1lbWJlcklkLFxuICAgIH06IHtcbiAgICAgIGh1YklkOiBzdHJpbmc7XG4gICAgICBtZW1iZXJJZDogc3RyaW5nO1xuICAgIH0pOiBQcm9taXNlPEFwcHJvdmVNZW1iZXJSZXNwb25zZT4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5wb3N0KFxuICAgICAgICBgL2FwaS92MS9odWJzLyR7aHViSWR9L21lbWJlcnMvJHttZW1iZXJJZH0vYXBwcm92ZWBcbiAgICAgICk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9LFxuICAgIG9uU3VjY2VzczogKGRhdGEsIHZhcmlhYmxlcywgY29udGV4dCkgPT4ge1xuICAgICAgLy8gSW52YWxpZGF0ZSBodWIgbWVtYmVycyBsaXN0IHRvIHJlZmV0Y2ggd2l0aCB1cGRhdGVkIHN0YXR1c1xuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoe1xuICAgICAgICBxdWVyeUtleTogaHViS2V5cy5tZW1iZXJzKHZhcmlhYmxlcy5odWJJZClcbiAgICAgIH0pO1xuICAgICAgLy8gUmVmZXRjaCBodWIgZGV0YWlscyB0byB1cGRhdGUgbWVtYmVyIGNvdW50XG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7XG4gICAgICAgIHF1ZXJ5S2V5OiBodWJLZXlzLmRldGFpbCh2YXJpYWJsZXMuaHViSWQpXG4gICAgICB9KTtcblxuICAgICAgLy8gQ2FsbCB1c2VyJ3Mgb25TdWNjZXNzIGlmIHByb3ZpZGVkXG4gICAgICAvLyBVc2VyJ3Mgb25TdWNjZXNzIGlzIGhhbmRsZWQgYnkgc3ByZWFkaW5nIG9wdGlvbnNcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuXG4vKipcbiAqIFVwZGF0ZSBhIG1lbWJlcidzIHJvbGVcbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFJlYWN0IFF1ZXJ5IG11dGF0aW9uIG9wdGlvbnNcbiAqIEByZXR1cm5zIE11dGF0aW9uIHJlc3VsdFxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlVXBkYXRlTWVtYmVyUm9sZShcbiAgb3B0aW9ucz86IE9taXQ8XG4gICAgVXNlTXV0YXRpb25PcHRpb25zPFxuICAgICAgVXBkYXRlTWVtYmVyUm9sZVJlc3BvbnNlLFxuICAgICAgRXJyb3IsXG4gICAgICB7IGh1YklkOiBzdHJpbmc7IG1lbWJlcklkOiBzdHJpbmc7IGRhdGE6IFVwZGF0ZU1lbWJlclJvbGVSZXF1ZXN0IH1cbiAgICA+LFxuICAgICdtdXRhdGlvbkZuJ1xuICA+XG4pOiBVc2VNdXRhdGlvblJlc3VsdDxcbiAgVXBkYXRlTWVtYmVyUm9sZVJlc3BvbnNlLFxuICBFcnJvcixcbiAgeyBodWJJZDogc3RyaW5nOyBtZW1iZXJJZDogc3RyaW5nOyBkYXRhOiBVcGRhdGVNZW1iZXJSb2xlUmVxdWVzdCB9XG4+IHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCgpO1xuXG4gIHJldHVybiB1c2VNdXRhdGlvbih7XG4gICAgbXV0YXRpb25GbjogYXN5bmMgKHtcbiAgICAgIGh1YklkLFxuICAgICAgbWVtYmVySWQsXG4gICAgICBkYXRhLFxuICAgIH06IHtcbiAgICAgIGh1YklkOiBzdHJpbmc7XG4gICAgICBtZW1iZXJJZDogc3RyaW5nO1xuICAgICAgZGF0YTogVXBkYXRlTWVtYmVyUm9sZVJlcXVlc3Q7XG4gICAgfSk6IFByb21pc2U8VXBkYXRlTWVtYmVyUm9sZVJlc3BvbnNlPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LnB1dChcbiAgICAgICAgYC9hcGkvdjEvaHVicy8ke2h1YklkfS9tZW1iZXJzLyR7bWVtYmVySWR9L3JvbGVgLFxuICAgICAgICBkYXRhXG4gICAgICApO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSxcbiAgICBvblN1Y2Nlc3M6IChkYXRhLCB2YXJpYWJsZXMsIGNvbnRleHQpID0+IHtcbiAgICAgIC8vIEludmFsaWRhdGUgaHViIG1lbWJlcnMgbGlzdCB0byByZWZldGNoIHdpdGggdXBkYXRlZCByb2xlXG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7XG4gICAgICAgIHF1ZXJ5S2V5OiBodWJLZXlzLm1lbWJlcnModmFyaWFibGVzLmh1YklkKVxuICAgICAgfSk7XG5cbiAgICAgIC8vIENhbGwgdXNlcidzIG9uU3VjY2VzcyBpZiBwcm92aWRlZFxuICAgICAgLy8gVXNlcidzIG9uU3VjY2VzcyBpcyBoYW5kbGVkIGJ5IHNwcmVhZGluZyBvcHRpb25zXG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgYSBtZW1iZXIgZnJvbSBhIGh1YlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gUmVhY3QgUXVlcnkgbXV0YXRpb24gb3B0aW9uc1xuICogQHJldHVybnMgTXV0YXRpb24gcmVzdWx0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VSZW1vdmVNZW1iZXIoXG4gIG9wdGlvbnM/OiBPbWl0PFxuICAgIFVzZU11dGF0aW9uT3B0aW9uczxcbiAgICAgIFJlbW92ZU1lbWJlclJlc3BvbnNlLFxuICAgICAgRXJyb3IsXG4gICAgICB7IGh1YklkOiBzdHJpbmc7IG1lbWJlcklkOiBzdHJpbmcgfVxuICAgID4sXG4gICAgJ211dGF0aW9uRm4nXG4gID5cbik6IFVzZU11dGF0aW9uUmVzdWx0PFxuICBSZW1vdmVNZW1iZXJSZXNwb25zZSxcbiAgRXJyb3IsXG4gIHsgaHViSWQ6IHN0cmluZzsgbWVtYmVySWQ6IHN0cmluZyB9XG4+IHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCgpO1xuXG4gIHJldHVybiB1c2VNdXRhdGlvbih7XG4gICAgbXV0YXRpb25GbjogYXN5bmMgKHtcbiAgICAgIGh1YklkLFxuICAgICAgbWVtYmVySWQsXG4gICAgfToge1xuICAgICAgaHViSWQ6IHN0cmluZztcbiAgICAgIG1lbWJlcklkOiBzdHJpbmc7XG4gICAgfSk6IFByb21pc2U8UmVtb3ZlTWVtYmVyUmVzcG9uc2U+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQuZGVsZXRlKFxuICAgICAgICBgL2FwaS92MS9odWJzLyR7aHViSWR9L21lbWJlcnMvJHttZW1iZXJJZH1gXG4gICAgICApO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSxcbiAgICBvblN1Y2Nlc3M6IChkYXRhLCB2YXJpYWJsZXMsIGNvbnRleHQpID0+IHtcbiAgICAgIC8vIEludmFsaWRhdGUgaHViIG1lbWJlcnMgbGlzdCB0byByZWZldGNoIHdpdGhvdXQgcmVtb3ZlZCBtZW1iZXJcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHtcbiAgICAgICAgcXVlcnlLZXk6IGh1YktleXMubWVtYmVycyh2YXJpYWJsZXMuaHViSWQpXG4gICAgICB9KTtcbiAgICAgIC8vIFJlZmV0Y2ggaHViIGRldGFpbHMgdG8gdXBkYXRlIG1lbWJlciBjb3VudFxuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoe1xuICAgICAgICBxdWVyeUtleTogaHViS2V5cy5kZXRhaWwodmFyaWFibGVzLmh1YklkKVxuICAgICAgfSk7XG5cbiAgICAgIC8vIENhbGwgdXNlcidzIG9uU3VjY2VzcyBpZiBwcm92aWRlZFxuICAgICAgLy8gVXNlcidzIG9uU3VjY2VzcyBpcyBoYW5kbGVkIGJ5IHNwcmVhZGluZyBvcHRpb25zXG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cbiJdfQ==
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Mutation Hooks
3
+ *
4
+ * Re-exports all mutation hooks for API endpoints.
5
+ */
6
+ export * from './admin';
7
+ export * from './auth';
8
+ export * from './bookings';
9
+ export * from './events';
10
+ export * from './hubs';
11
+ export * from './library';
12
+ export * from './map';
13
+ export * from './notifications';
14
+ export * from './offers';
15
+ export * from './subscriptions';
16
+ export * from './support';
17
+ export * from './users';
18
+ export * from './jack';
19
+ export * from './ambassadors';
20
+ export * from './grow90';
21
+ export * from './matching';
22
+ export * from './event-chat';
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ /**
3
+ * Mutation Hooks
4
+ *
5
+ * Re-exports all mutation hooks for API endpoints.
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
+ __exportStar(require("./admin"), exports);
23
+ __exportStar(require("./auth"), exports);
24
+ __exportStar(require("./bookings"), exports);
25
+ __exportStar(require("./events"), exports);
26
+ __exportStar(require("./hubs"), exports);
27
+ __exportStar(require("./library"), exports);
28
+ __exportStar(require("./map"), exports);
29
+ __exportStar(require("./notifications"), exports);
30
+ __exportStar(require("./offers"), exports);
31
+ __exportStar(require("./subscriptions"), exports);
32
+ __exportStar(require("./support"), exports);
33
+ __exportStar(require("./users"), exports);
34
+ __exportStar(require("./jack"), exports);
35
+ __exportStar(require("./ambassadors"), exports);
36
+ __exportStar(require("./grow90"), exports);
37
+ __exportStar(require("./matching"), exports);
38
+ __exportStar(require("./event-chat"), exports);
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL211dGF0aW9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7R0FJRzs7Ozs7Ozs7Ozs7Ozs7OztBQUVILDBDQUF3QjtBQUN4Qix5Q0FBdUI7QUFDdkIsNkNBQTJCO0FBQzNCLDJDQUF5QjtBQUN6Qix5Q0FBdUI7QUFDdkIsNENBQTBCO0FBQzFCLHdDQUFzQjtBQUN0QixrREFBZ0M7QUFDaEMsMkNBQXlCO0FBQ3pCLGtEQUFnQztBQUNoQyw0Q0FBMEI7QUFDMUIsMENBQXdCO0FBQ3hCLHlDQUF1QjtBQUN2QixnREFBOEI7QUFDOUIsMkNBQXlCO0FBQ3pCLDZDQUEyQjtBQUMzQiwrQ0FBNkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE11dGF0aW9uIEhvb2tzXG4gKlxuICogUmUtZXhwb3J0cyBhbGwgbXV0YXRpb24gaG9va3MgZm9yIEFQSSBlbmRwb2ludHMuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9hZG1pbic7XG5leHBvcnQgKiBmcm9tICcuL2F1dGgnO1xuZXhwb3J0ICogZnJvbSAnLi9ib29raW5ncyc7XG5leHBvcnQgKiBmcm9tICcuL2V2ZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2h1YnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWJyYXJ5JztcbmV4cG9ydCAqIGZyb20gJy4vbWFwJztcbmV4cG9ydCAqIGZyb20gJy4vbm90aWZpY2F0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL29mZmVycyc7XG5leHBvcnQgKiBmcm9tICcuL3N1YnNjcmlwdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zdXBwb3J0JztcbmV4cG9ydCAqIGZyb20gJy4vdXNlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9qYWNrJztcbmV4cG9ydCAqIGZyb20gJy4vYW1iYXNzYWRvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9ncm93OTAnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXRjaGluZyc7XG5leHBvcnQgKiBmcm9tICcuL2V2ZW50LWNoYXQnO1xuIl19