@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.
- package/README.md +276 -0
- package/dist/__tests__/e2e.test.d.ts +7 -0
- package/dist/__tests__/e2e.test.js +472 -0
- package/dist/api/client.d.ts +11 -0
- package/dist/api/client.js +61 -0
- package/dist/api/mutations/admin.d.ts +167 -0
- package/dist/api/mutations/admin.js +326 -0
- package/dist/api/mutations/ambassadors.d.ts +52 -0
- package/dist/api/mutations/ambassadors.js +148 -0
- package/dist/api/mutations/auth.d.ts +267 -0
- package/dist/api/mutations/auth.js +332 -0
- package/dist/api/mutations/bookings.d.ts +59 -0
- package/dist/api/mutations/bookings.js +143 -0
- package/dist/api/mutations/event-chat.d.ts +35 -0
- package/dist/api/mutations/event-chat.js +147 -0
- package/dist/api/mutations/events.d.ts +87 -0
- package/dist/api/mutations/events.js +205 -0
- package/dist/api/mutations/grow90.d.ts +36 -0
- package/dist/api/mutations/grow90.js +132 -0
- package/dist/api/mutations/hubs.d.ts +111 -0
- package/dist/api/mutations/hubs.js +240 -0
- package/dist/api/mutations/index.d.ts +22 -0
- package/dist/api/mutations/index.js +39 -0
- package/dist/api/mutations/jack.d.ts +61 -0
- package/dist/api/mutations/jack.js +104 -0
- package/dist/api/mutations/library.d.ts +67 -0
- package/dist/api/mutations/library.js +168 -0
- package/dist/api/mutations/map.d.ts +153 -0
- package/dist/api/mutations/map.js +181 -0
- package/dist/api/mutations/matching.d.ts +130 -0
- package/dist/api/mutations/matching.js +204 -0
- package/dist/api/mutations/notifications.d.ts +63 -0
- package/dist/api/mutations/notifications.js +106 -0
- package/dist/api/mutations/offers.d.ts +26 -0
- package/dist/api/mutations/offers.js +47 -0
- package/dist/api/mutations/subscriptions.d.ts +127 -0
- package/dist/api/mutations/subscriptions.js +140 -0
- package/dist/api/mutations/support.d.ts +165 -0
- package/dist/api/mutations/support.js +307 -0
- package/dist/api/mutations/users.d.ts +211 -0
- package/dist/api/mutations/users.js +261 -0
- package/dist/api/queries/admin.d.ts +257 -0
- package/dist/api/queries/admin.js +320 -0
- package/dist/api/queries/ambassadors.d.ts +53 -0
- package/dist/api/queries/ambassadors.js +98 -0
- package/dist/api/queries/auth.d.ts +16 -0
- package/dist/api/queries/auth.js +25 -0
- package/dist/api/queries/bookings.d.ts +91 -0
- package/dist/api/queries/bookings.js +102 -0
- package/dist/api/queries/businesses.d.ts +212 -0
- package/dist/api/queries/businesses.js +154 -0
- package/dist/api/queries/event-chat.d.ts +19 -0
- package/dist/api/queries/event-chat.js +75 -0
- package/dist/api/queries/events.d.ts +322 -0
- package/dist/api/queries/events.js +221 -0
- package/dist/api/queries/grow90.d.ts +26 -0
- package/dist/api/queries/grow90.js +85 -0
- package/dist/api/queries/hubs.d.ts +165 -0
- package/dist/api/queries/hubs.js +143 -0
- package/dist/api/queries/index.d.ts +23 -0
- package/dist/api/queries/index.js +40 -0
- package/dist/api/queries/jack.d.ts +63 -0
- package/dist/api/queries/jack.js +92 -0
- package/dist/api/queries/library.d.ts +132 -0
- package/dist/api/queries/library.js +120 -0
- package/dist/api/queries/map.d.ts +216 -0
- package/dist/api/queries/map.js +278 -0
- package/dist/api/queries/matching.d.ts +136 -0
- package/dist/api/queries/matching.js +161 -0
- package/dist/api/queries/notifications.d.ts +78 -0
- package/dist/api/queries/notifications.js +88 -0
- package/dist/api/queries/offers.d.ts +91 -0
- package/dist/api/queries/offers.js +103 -0
- package/dist/api/queries/subscriptions.d.ts +56 -0
- package/dist/api/queries/subscriptions.js +73 -0
- package/dist/api/queries/support.d.ts +106 -0
- package/dist/api/queries/support.js +202 -0
- package/dist/api/queries/users.d.ts +293 -0
- package/dist/api/queries/users.js +370 -0
- package/dist/api/types.d.ts +464 -0
- package/dist/api/types.js +9 -0
- package/dist/hooks/useAuth.d.ts +5 -0
- package/dist/hooks/useAuth.js +39 -0
- package/dist/hooks/useUser.d.ts +43 -0
- package/dist/hooks/useUser.js +44 -0
- package/dist/index.d.ts +36 -0
- package/dist/index.js +67 -0
- package/package.json +62 -0
- package/src/__tests__/e2e.test.ts +502 -0
- package/src/api/client.ts +71 -0
- package/src/api/mutations/admin.ts +531 -0
- package/src/api/mutations/ambassadors.ts +185 -0
- package/src/api/mutations/auth.ts +350 -0
- package/src/api/mutations/bookings.ts +190 -0
- package/src/api/mutations/event-chat.ts +177 -0
- package/src/api/mutations/events.ts +273 -0
- package/src/api/mutations/grow90.ts +169 -0
- package/src/api/mutations/hubs.ts +385 -0
- package/src/api/mutations/index.ts +23 -0
- package/src/api/mutations/jack.ts +130 -0
- package/src/api/mutations/library.ts +212 -0
- package/src/api/mutations/map.ts +230 -0
- package/src/api/mutations/matching.ts +271 -0
- package/src/api/mutations/notifications.ts +114 -0
- package/src/api/mutations/offers.ts +73 -0
- package/src/api/mutations/subscriptions.ts +162 -0
- package/src/api/mutations/support.ts +390 -0
- package/src/api/mutations/users.ts +271 -0
- package/src/api/queries/admin.ts +480 -0
- package/src/api/queries/ambassadors.ts +139 -0
- package/src/api/queries/auth.ts +24 -0
- package/src/api/queries/bookings.ts +135 -0
- package/src/api/queries/businesses.ts +203 -0
- package/src/api/queries/event-chat.ts +78 -0
- package/src/api/queries/events.ts +272 -0
- package/src/api/queries/grow90.ts +98 -0
- package/src/api/queries/hubs.ts +211 -0
- package/src/api/queries/index.ts +24 -0
- package/src/api/queries/jack.ts +127 -0
- package/src/api/queries/library.ts +166 -0
- package/src/api/queries/map.ts +331 -0
- package/src/api/queries/matching.ts +238 -0
- package/src/api/queries/notifications.ts +103 -0
- package/src/api/queries/offers.ts +136 -0
- package/src/api/queries/subscriptions.ts +91 -0
- package/src/api/queries/support.ts +235 -0
- package/src/api/queries/users.ts +393 -0
- package/src/api/types.ts +596 -0
- 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdzkwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS9tdXRhdGlvbnMvZ3JvdzkwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBdUJBLDBDQXdCQztBQUtELDBEQXVCQztBQUtELDBEQW9CQztBQUtELHdDQWlCQztBQUtELDBDQWtCQztBQUtELDRDQWtCQztBQXhLRCx1REFLK0I7QUFDL0Isc0NBQXlDO0FBUXpDLDhDQUErQztBQUUvQywrRUFBK0U7QUFDL0UsaUJBQWlCO0FBQ2pCLCtFQUErRTtBQUUvRTs7R0FFRztBQUNILFNBQWdCLGVBQWUsQ0FDN0IsT0FHQztJQUVELE1BQU0sV0FBVyxHQUFHLElBQUEsNEJBQWMsR0FBRSxDQUFDO0lBRXJDLE9BQU8sSUFBQSx5QkFBVyxFQUFDO1FBQ2pCLFVBQVUsRUFBRSxLQUFLLEVBQUUsSUFBeUIsRUFBcUMsRUFBRTtZQUNqRixNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEdBQUUsQ0FBQztZQUM5QixNQUFNLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDbEUsNkRBQTZEO1lBQzdELE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUNoRixPQUFPLFVBQVUsQ0FBQztRQUNwQixDQUFDO1FBQ0QsU0FBUyxFQUFFLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDeEIsV0FBVyxDQUFDLFlBQVksQ0FBQyxtQkFBVSxDQUFDLFVBQVUsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQzlELFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLFFBQVEsRUFBRSxtQkFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNoRSxXQUFXLENBQUMsaUJBQWlCLENBQUMsRUFBRSxRQUFRLEVBQUUsbUJBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDbkUsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsUUFBUSxFQUFFLG1CQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFDRCxHQUFHLE9BQU87S0FDWCxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQix1QkFBdUIsQ0FDckMsT0FHQztJQUVELE1BQU0sV0FBVyxHQUFHLElBQUEsNEJBQWMsR0FBRSxDQUFDO0lBRXJDLE9BQU8sSUFBQSx5QkFBVyxFQUFDO1FBQ2pCLFVBQVUsRUFBRSxLQUFLLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQW1DLEVBQUU7WUFDbkUsTUFBTSxNQUFNLEdBQUcsSUFBQSxxQkFBWSxHQUFFLENBQUM7WUFDOUIsTUFBTSxRQUFRLEdBQUcsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUFDLDJCQUEyQixHQUFHLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUMxRSw2REFBNkQ7WUFDN0QsT0FBTyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQzlDLENBQUM7UUFDRCxTQUFTLEVBQUUsR0FBRyxFQUFFO1lBQ2QsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsUUFBUSxFQUFFLG1CQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2hFLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLFFBQVEsRUFBRSxtQkFBVSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNuRSxXQUFXLENBQUMsaUJBQWlCLENBQUMsRUFBRSxRQUFRLEVBQUUsbUJBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDaEUsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsUUFBUSxFQUFFLG1CQUFVLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7UUFDRCxHQUFHLE9BQU87S0FDWCxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQix1QkFBdUIsQ0FDckMsT0FHQztJQUVELE1BQU0sV0FBVyxHQUFHLElBQUEsNEJBQWMsR0FBRSxDQUFDO0lBRXJDLE9BQU8sSUFBQSx5QkFBVyxFQUFDO1FBQ2pCLFVBQVUsRUFBRSxLQUFLLEVBQUUsSUFBaUMsRUFBcUMsRUFBRTtZQUN6RixNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEdBQUUsQ0FBQztZQUM5QixNQUFNLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQUMseUJBQXlCLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDbkUsNkRBQTZEO1lBQzdELE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQztRQUM5QyxDQUFDO1FBQ0QsU0FBUyxFQUFFLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDeEIsV0FBVyxDQUFDLFlBQVksQ0FBQyxtQkFBVSxDQUFDLFVBQVUsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFDRCxHQUFHLE9BQU87S0FDWCxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixjQUFjLENBQzVCLE9BQXVGO0lBRXZGLE1BQU0sV0FBVyxHQUFHLElBQUEsNEJBQWMsR0FBRSxDQUFDO0lBRXJDLE9BQU8sSUFBQSx5QkFBVyxFQUFDO1FBQ2pCLFVBQVUsRUFBRSxLQUFLLElBQXVDLEVBQUU7WUFDeEQsTUFBTSxNQUFNLEdBQUcsSUFBQSxxQkFBWSxHQUFFLENBQUM7WUFDOUIsTUFBTSxRQUFRLEdBQUcsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7WUFDM0QsNkRBQTZEO1lBQzdELE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQztRQUM5QyxDQUFDO1FBQ0QsU0FBUyxFQUFFLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDeEIsV0FBVyxDQUFDLFlBQVksQ0FBQyxtQkFBVSxDQUFDLFVBQVUsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFDRCxHQUFHLE9BQU87S0FDWCxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixlQUFlLENBQzdCLE9BQXVGO0lBRXZGLE1BQU0sV0FBVyxHQUFHLElBQUEsNEJBQWMsR0FBRSxDQUFDO0lBRXJDLE9BQU8sSUFBQSx5QkFBVyxFQUFDO1FBQ2pCLFVBQVUsRUFBRSxLQUFLLElBQXVDLEVBQUU7WUFDeEQsTUFBTSxNQUFNLEdBQUcsSUFBQSxxQkFBWSxHQUFFLENBQUM7WUFDOUIsTUFBTSxRQUFRLEdBQUcsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7WUFDNUQsNkRBQTZEO1lBQzdELE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQztRQUM5QyxDQUFDO1FBQ0QsU0FBUyxFQUFFLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDeEIsV0FBVyxDQUFDLFlBQVksQ0FBQyxtQkFBVSxDQUFDLFVBQVUsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQzlELFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLFFBQVEsRUFBRSxtQkFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNsRSxDQUFDO1FBQ0QsR0FBRyxPQUFPO0tBQ1gsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsZ0JBQWdCLENBQzlCLE9BQW1GO0lBRW5GLE1BQU0sV0FBVyxHQUFHLElBQUEsNEJBQWMsR0FBRSxDQUFDO0lBRXJDLE9BQU8sSUFBQSx5QkFBVyxFQUFDO1FBQ2pCLFVBQVUsRUFBRSxLQUFLLElBQW1DLEVBQUU7WUFDcEQsTUFBTSxNQUFNLEdBQUcsSUFBQSxxQkFBWSxHQUFFLENBQUM7WUFDOUIsTUFBTSxRQUFRLEdBQUcsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUM7WUFDN0QsNkRBQTZEO1lBQzdELE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQztRQUM5QyxDQUFDO1FBQ0QsU0FBUyxFQUFFLEdBQUcsRUFBRTtZQUNkLFdBQVcsQ0FBQyxZQUFZLENBQUMsbUJBQVUsQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN4RCxXQUFXLENBQUMsaUJBQWlCLENBQUMsRUFBRSxRQUFRLEVBQUUsbUJBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzlELENBQUM7UUFDRCxHQUFHLE9BQU87S0FDWCxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlTXV0YXRpb24sXG4gIHVzZVF1ZXJ5Q2xpZW50LFxuICBVc2VNdXRhdGlvbk9wdGlvbnMsXG4gIFVzZU11dGF0aW9uUmVzdWx0LFxufSBmcm9tICdAdGFuc3RhY2svcmVhY3QtcXVlcnknO1xuaW1wb3J0IHsgZ2V0QXBpQ2xpZW50IH0gZnJvbSAnLi4vY2xpZW50JztcbmltcG9ydCB0eXBlIHtcbiAgR3JvdzkwRW5yb2xsbWVudFJlc3BvbnNlLFxuICBHcm93OTBQcm9ncmVzc1Jlc3BvbnNlLFxuICBFbnJvbGxHcm93OTBSZXF1ZXN0LFxuICBVcGRhdGVHcm93OTBQcm9ncmVzc1JlcXVlc3QsXG4gIFVwZGF0ZUdyb3c5MFNldHRpbmdzUmVxdWVzdCxcbn0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgZ3JvdzkwS2V5cyB9IGZyb20gJy4uL3F1ZXJpZXMvZ3JvdzkwJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTVVUQVRJT04gSE9PS1Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBFbnJvbGwgaW4gR1JPVzkwIHByb2dyYW1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUVucm9sbEdyb3c5MChcbiAgb3B0aW9ucz86IE9taXQ8XG4gICAgVXNlTXV0YXRpb25PcHRpb25zPEdyb3c5MEVucm9sbG1lbnRSZXNwb25zZSwgRXJyb3IsIEVucm9sbEdyb3c5MFJlcXVlc3Q+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
|