@comapeo/core-react 9.0.2 → 10.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 +1 -1
- package/dist/commonjs/contexts/ClientApi.d.ts +1 -3
- package/dist/commonjs/contexts/ClientApi.js +2 -2
- package/dist/commonjs/hooks/client.d.ts +74 -33
- package/dist/commonjs/hooks/client.js +40 -11
- package/dist/commonjs/hooks/documents.d.ts +41 -429
- package/dist/commonjs/hooks/documents.js +101 -51
- package/dist/commonjs/hooks/invites.d.ts +153 -55
- package/dist/commonjs/hooks/invites.js +69 -20
- package/dist/commonjs/hooks/maps.d.ts +96 -225
- package/dist/commonjs/hooks/maps.js +104 -37
- package/dist/commonjs/hooks/projects.d.ts +666 -223
- package/dist/commonjs/hooks/projects.js +264 -131
- package/dist/commonjs/index.d.ts +2 -2
- package/dist/commonjs/lib/map-shares-stores.d.ts +1 -1
- package/dist/commonjs/lib/map-shares-stores.js +2 -2
- package/dist/commonjs/lib/presets.d.ts +1 -3
- package/dist/commonjs/lib/react-query.d.ts +103 -0
- package/dist/commonjs/lib/react-query.js +187 -0
- package/dist/commonjs/lib/sync.d.ts +2 -5
- package/dist/commonjs/lib/sync.js +0 -1
- package/dist/commonjs/lib/types.d.ts +4 -6
- package/dist/esm/contexts/ClientApi.d.ts +1 -3
- package/dist/esm/contexts/ClientApi.js +1 -1
- package/dist/esm/hooks/client.d.ts +74 -33
- package/dist/esm/hooks/client.js +40 -11
- package/dist/esm/hooks/documents.d.ts +41 -429
- package/dist/esm/hooks/documents.js +101 -51
- package/dist/esm/hooks/invites.d.ts +153 -55
- package/dist/esm/hooks/invites.js +69 -20
- package/dist/esm/hooks/maps.d.ts +96 -225
- package/dist/esm/hooks/maps.js +105 -38
- package/dist/esm/hooks/projects.d.ts +666 -223
- package/dist/esm/hooks/projects.js +262 -129
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/lib/map-shares-stores.d.ts +1 -1
- package/dist/esm/lib/map-shares-stores.js +1 -1
- package/dist/esm/lib/presets.d.ts +1 -3
- package/dist/esm/lib/react-query.d.ts +103 -0
- package/dist/esm/lib/react-query.js +162 -0
- package/dist/esm/lib/sync.d.ts +2 -5
- package/dist/esm/lib/sync.js +1 -1
- package/dist/esm/lib/types.d.ts +4 -6
- package/docs/API.md +137 -81
- package/package.json +39 -35
- package/dist/commonjs/lib/react-query/client.d.ts +0 -65
- package/dist/commonjs/lib/react-query/client.js +0 -68
- package/dist/commonjs/lib/react-query/documents.d.ts +0 -1484
- package/dist/commonjs/lib/react-query/documents.js +0 -149
- package/dist/commonjs/lib/react-query/invites.d.ts +0 -88
- package/dist/commonjs/lib/react-query/invites.js +0 -95
- package/dist/commonjs/lib/react-query/maps.d.ts +0 -104
- package/dist/commonjs/lib/react-query/maps.js +0 -129
- package/dist/commonjs/lib/react-query/mutation-result.d.ts +0 -8
- package/dist/commonjs/lib/react-query/mutation-result.js +0 -22
- package/dist/commonjs/lib/react-query/projects.d.ts +0 -316
- package/dist/commonjs/lib/react-query/projects.js +0 -359
- package/dist/commonjs/lib/react-query/shared.d.ts +0 -9
- package/dist/commonjs/lib/react-query/shared.js +0 -23
- package/dist/esm/lib/react-query/client.d.ts +0 -65
- package/dist/esm/lib/react-query/client.js +0 -59
- package/dist/esm/lib/react-query/documents.d.ts +0 -1484
- package/dist/esm/lib/react-query/documents.js +0 -137
- package/dist/esm/lib/react-query/invites.d.ts +0 -88
- package/dist/esm/lib/react-query/invites.js +0 -85
- package/dist/esm/lib/react-query/maps.d.ts +0 -104
- package/dist/esm/lib/react-query/maps.js +0 -119
- package/dist/esm/lib/react-query/mutation-result.d.ts +0 -8
- package/dist/esm/lib/react-query/mutation-result.js +0 -19
- package/dist/esm/lib/react-query/projects.d.ts +0 -316
- package/dist/esm/lib/react-query/projects.js +0 -324
- package/dist/esm/lib/react-query/shared.d.ts +0 -9
- package/dist/esm/lib/react-query/shared.js +0 -18
|
@@ -10,7 +10,7 @@ exports.usePresetsSelection = usePresetsSelection;
|
|
|
10
10
|
const react_query_1 = require("@tanstack/react-query");
|
|
11
11
|
const react_1 = require("react");
|
|
12
12
|
const presets_js_1 = require("../lib/presets.js");
|
|
13
|
-
const
|
|
13
|
+
const react_query_js_1 = require("../lib/react-query.js");
|
|
14
14
|
const projects_js_1 = require("./projects.js");
|
|
15
15
|
/**
|
|
16
16
|
* Retrieve a single document from the database based on the document's document ID.
|
|
@@ -37,15 +37,25 @@ const projects_js_1 = require("./projects.js");
|
|
|
37
37
|
*/
|
|
38
38
|
function useSingleDocByDocId({ projectId, docType, docId, lang, }) {
|
|
39
39
|
const { data: projectApi } = (0, projects_js_1.useSingleProject)({ projectId });
|
|
40
|
-
const { data, error, isRefetching } = (0, react_query_1.useSuspenseQuery)(
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
40
|
+
const { data, error, isRefetching } = (0, react_query_1.useSuspenseQuery)({
|
|
41
|
+
...(0, react_query_js_1.baseQueryOptions)(),
|
|
42
|
+
queryKey: (0, react_query_js_1.getDocumentByDocIdQueryKey)({
|
|
43
|
+
projectId,
|
|
44
|
+
docType,
|
|
45
|
+
docId,
|
|
46
|
+
lang,
|
|
47
|
+
}),
|
|
48
|
+
queryFn: async () => {
|
|
49
|
+
return projectApi[docType].getByDocId(docId, {
|
|
50
|
+
lang,
|
|
51
|
+
// We want to make sure that this throws in the case that no match is found
|
|
52
|
+
mustBeFound: true,
|
|
53
|
+
});
|
|
54
|
+
},
|
|
55
|
+
});
|
|
47
56
|
return {
|
|
48
|
-
|
|
57
|
+
// @ts-expect-error Not smart enough
|
|
58
|
+
data,
|
|
49
59
|
error,
|
|
50
60
|
isRefetching,
|
|
51
61
|
};
|
|
@@ -75,15 +85,21 @@ function useSingleDocByDocId({ projectId, docType, docId, lang, }) {
|
|
|
75
85
|
*/
|
|
76
86
|
function useSingleDocByVersionId({ projectId, docType, versionId, lang, }) {
|
|
77
87
|
const { data: projectApi } = (0, projects_js_1.useSingleProject)({ projectId });
|
|
78
|
-
const { data, error, isRefetching } = (0, react_query_1.useSuspenseQuery)(
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
88
|
+
const { data, error, isRefetching } = (0, react_query_1.useSuspenseQuery)({
|
|
89
|
+
...(0, react_query_js_1.baseQueryOptions)(),
|
|
90
|
+
queryKey: (0, react_query_js_1.getDocumentByVersionIdQueryKey)({
|
|
91
|
+
projectId,
|
|
92
|
+
docType,
|
|
93
|
+
versionId,
|
|
94
|
+
lang,
|
|
95
|
+
}),
|
|
96
|
+
queryFn: async () => {
|
|
97
|
+
return projectApi[docType].getByVersionId(versionId, { lang });
|
|
98
|
+
},
|
|
99
|
+
});
|
|
85
100
|
return {
|
|
86
|
-
|
|
101
|
+
// @ts-expect-error Not smart enough
|
|
102
|
+
data,
|
|
87
103
|
error,
|
|
88
104
|
isRefetching,
|
|
89
105
|
};
|
|
@@ -124,15 +140,24 @@ function useSingleDocByVersionId({ projectId, docType, versionId, lang, }) {
|
|
|
124
140
|
*/
|
|
125
141
|
function useManyDocs({ projectId, docType, includeDeleted, lang, }) {
|
|
126
142
|
const { data: projectApi } = (0, projects_js_1.useSingleProject)({ projectId });
|
|
127
|
-
const { data, error, isRefetching } = (0, react_query_1.useSuspenseQuery)(
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
143
|
+
const { data, error, isRefetching } = (0, react_query_1.useSuspenseQuery)({
|
|
144
|
+
...(0, react_query_js_1.baseQueryOptions)(),
|
|
145
|
+
queryKey: (0, react_query_js_1.getManyDocumentsQueryKey)({
|
|
146
|
+
projectId,
|
|
147
|
+
docType,
|
|
148
|
+
includeDeleted,
|
|
149
|
+
lang,
|
|
150
|
+
}),
|
|
151
|
+
queryFn: async () => {
|
|
152
|
+
return projectApi[docType].getMany({
|
|
153
|
+
includeDeleted,
|
|
154
|
+
lang,
|
|
155
|
+
});
|
|
156
|
+
},
|
|
157
|
+
});
|
|
134
158
|
return {
|
|
135
|
-
|
|
159
|
+
// @ts-expect-error Not smart enough
|
|
160
|
+
data,
|
|
136
161
|
error,
|
|
137
162
|
isRefetching,
|
|
138
163
|
};
|
|
@@ -146,15 +171,22 @@ function useManyDocs({ projectId, docType, includeDeleted, lang, }) {
|
|
|
146
171
|
function useCreateDocument({ docType, projectId, }) {
|
|
147
172
|
const queryClient = (0, react_query_1.useQueryClient)();
|
|
148
173
|
const { data: projectApi } = (0, projects_js_1.useSingleProject)({ projectId });
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
174
|
+
return (0, react_query_js_1.filterMutationResult)((0, react_query_1.useMutation)({
|
|
175
|
+
...(0, react_query_js_1.baseMutationOptions)(),
|
|
176
|
+
mutationFn: async ({ value, }) => {
|
|
177
|
+
return (projectApi[docType]
|
|
178
|
+
// @ts-expect-error TS not handling this well
|
|
179
|
+
.create({ ...value, schemaName: docType }));
|
|
180
|
+
},
|
|
181
|
+
onSuccess: () => {
|
|
182
|
+
queryClient.invalidateQueries({
|
|
183
|
+
queryKey: (0, react_query_js_1.getDocumentsQueryKey)({
|
|
184
|
+
projectId,
|
|
185
|
+
docType,
|
|
186
|
+
}),
|
|
187
|
+
});
|
|
188
|
+
},
|
|
154
189
|
}));
|
|
155
|
-
return status === 'error'
|
|
156
|
-
? { error, mutate, mutateAsync, reset, status }
|
|
157
|
-
: { error: null, mutate, mutateAsync, reset, status };
|
|
158
190
|
}
|
|
159
191
|
/**
|
|
160
192
|
* Update a document within a project.
|
|
@@ -162,18 +194,28 @@ function useCreateDocument({ docType, projectId, }) {
|
|
|
162
194
|
* @param opts.docType Document type to update.
|
|
163
195
|
* @param opts.projectId Public ID of project document belongs to.
|
|
164
196
|
*/
|
|
165
|
-
function useUpdateDocument({
|
|
197
|
+
function useUpdateDocument({
|
|
198
|
+
// TODO: Make this a mutation parameter instead of a hook parameter
|
|
199
|
+
docType, projectId, }) {
|
|
166
200
|
const queryClient = (0, react_query_1.useQueryClient)();
|
|
167
201
|
const { data: projectApi } = (0, projects_js_1.useSingleProject)({ projectId });
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
202
|
+
// @ts-expect-error Not sure why TS complains here
|
|
203
|
+
return (0, react_query_js_1.filterMutationResult)((0, react_query_1.useMutation)({
|
|
204
|
+
...(0, react_query_js_1.baseMutationOptions)(),
|
|
205
|
+
mutationFn: async ({ versionId, value, }) => {
|
|
206
|
+
return (projectApi[docType]
|
|
207
|
+
// @ts-expect-error TS not handling this well
|
|
208
|
+
.update(versionId, value));
|
|
209
|
+
},
|
|
210
|
+
onSuccess: () => {
|
|
211
|
+
queryClient.invalidateQueries({
|
|
212
|
+
queryKey: (0, react_query_js_1.getDocumentsQueryKey)({
|
|
213
|
+
projectId,
|
|
214
|
+
docType,
|
|
215
|
+
}),
|
|
216
|
+
});
|
|
217
|
+
},
|
|
173
218
|
}));
|
|
174
|
-
return status === 'error'
|
|
175
|
-
? { error, mutate, mutateAsync, reset, status }
|
|
176
|
-
: { error: null, mutate, mutateAsync, reset, status };
|
|
177
219
|
}
|
|
178
220
|
/**
|
|
179
221
|
* Delete a document within a project.
|
|
@@ -181,18 +223,26 @@ function useUpdateDocument({ docType, projectId, }) {
|
|
|
181
223
|
* @param opts.docType Document type to delete.
|
|
182
224
|
* @param opts.projectId Public ID of project document belongs to.
|
|
183
225
|
*/
|
|
184
|
-
function useDeleteDocument({
|
|
226
|
+
function useDeleteDocument({
|
|
227
|
+
// TODO: Make this a mutation parameter instead of a hook parameter
|
|
228
|
+
docType, projectId, }) {
|
|
185
229
|
const queryClient = (0, react_query_1.useQueryClient)();
|
|
186
230
|
const { data: projectApi } = (0, projects_js_1.useSingleProject)({ projectId });
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
231
|
+
// @ts-expect-error Not sure why TS complains here
|
|
232
|
+
return (0, react_query_js_1.filterMutationResult)((0, react_query_1.useMutation)({
|
|
233
|
+
...(0, react_query_js_1.baseMutationOptions)(),
|
|
234
|
+
mutationFn: async ({ docId }) => {
|
|
235
|
+
return projectApi[docType].delete(docId);
|
|
236
|
+
},
|
|
237
|
+
onSuccess: () => {
|
|
238
|
+
queryClient.invalidateQueries({
|
|
239
|
+
queryKey: (0, react_query_js_1.getDocumentsQueryKey)({
|
|
240
|
+
projectId,
|
|
241
|
+
docType,
|
|
242
|
+
}),
|
|
243
|
+
});
|
|
244
|
+
},
|
|
192
245
|
}));
|
|
193
|
-
return status === 'error'
|
|
194
|
-
? { error, mutate, mutateAsync, reset, status }
|
|
195
|
-
: { error: null, mutate, mutateAsync, reset, status };
|
|
196
246
|
}
|
|
197
247
|
const dataTypeToGeometry = {
|
|
198
248
|
observation: 'point',
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { InviteApi, MemberApi } from '@comapeo/core';
|
|
2
|
+
import { type UseSuspenseQueryResult } from '@tanstack/react-query';
|
|
1
3
|
/**
|
|
2
4
|
* Get all invites that the device has received.
|
|
3
5
|
*
|
|
@@ -8,11 +10,7 @@
|
|
|
8
10
|
* }
|
|
9
11
|
* ```
|
|
10
12
|
*/
|
|
11
|
-
export declare function useManyInvites():
|
|
12
|
-
data: import("@comapeo/core/dist/invite/invite-api.js", { with: { "resolution-mode": "import" } }).Invite[];
|
|
13
|
-
error: Error | null;
|
|
14
|
-
isRefetching: boolean;
|
|
15
|
-
};
|
|
13
|
+
export declare function useManyInvites(): Pick<UseSuspenseQueryResult<Array<InviteApi.Invite>>, 'data' | 'error' | 'isRefetching'>;
|
|
16
14
|
/**
|
|
17
15
|
* Get a single invite based on its ID.
|
|
18
16
|
*
|
|
@@ -25,61 +23,97 @@ export declare function useManyInvites(): {
|
|
|
25
23
|
* }
|
|
26
24
|
* ```
|
|
27
25
|
*/
|
|
28
|
-
export declare function useSingleInvite({ inviteId }: {
|
|
26
|
+
export declare function useSingleInvite({ inviteId, }: {
|
|
29
27
|
inviteId: string;
|
|
30
|
-
}):
|
|
31
|
-
data: import("@comapeo/core/dist/invite/invite-api.js", { with: { "resolution-mode": "import" } }).Invite;
|
|
32
|
-
error: Error | null;
|
|
33
|
-
isRefetching: boolean;
|
|
34
|
-
};
|
|
28
|
+
}): Pick<UseSuspenseQueryResult<InviteApi.Invite>, 'data' | 'error' | 'isRefetching'>;
|
|
35
29
|
/**
|
|
36
30
|
* Accept an invite that has been received.
|
|
37
31
|
*/
|
|
38
|
-
export declare function useAcceptInvite(): {
|
|
39
|
-
|
|
32
|
+
export declare function useAcceptInvite(): Pick<import("@tanstack/react-query").Override<import("@tanstack/react-query").MutationObserverIdleResult<string, Error, {
|
|
33
|
+
inviteId: string;
|
|
34
|
+
}, unknown>, {
|
|
35
|
+
mutate: import("@tanstack/react-query").UseMutateFunction<string, Error, {
|
|
36
|
+
inviteId: string;
|
|
37
|
+
}, unknown>;
|
|
38
|
+
}> & {
|
|
39
|
+
mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<string, Error, {
|
|
40
|
+
inviteId: string;
|
|
41
|
+
}, unknown>;
|
|
42
|
+
}, "error" | "status" | "mutate" | "reset" | "mutateAsync"> | Pick<import("@tanstack/react-query").Override<import("@tanstack/react-query").MutationObserverLoadingResult<string, Error, {
|
|
43
|
+
inviteId: string;
|
|
44
|
+
}, unknown>, {
|
|
45
|
+
mutate: import("@tanstack/react-query").UseMutateFunction<string, Error, {
|
|
46
|
+
inviteId: string;
|
|
47
|
+
}, unknown>;
|
|
48
|
+
}> & {
|
|
49
|
+
mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<string, Error, {
|
|
50
|
+
inviteId: string;
|
|
51
|
+
}, unknown>;
|
|
52
|
+
}, "error" | "status" | "mutate" | "reset" | "mutateAsync"> | Pick<import("@tanstack/react-query").Override<import("@tanstack/react-query").MutationObserverErrorResult<string, Error, {
|
|
53
|
+
inviteId: string;
|
|
54
|
+
}, unknown>, {
|
|
40
55
|
mutate: import("@tanstack/react-query").UseMutateFunction<string, Error, {
|
|
41
56
|
inviteId: string;
|
|
42
57
|
}, unknown>;
|
|
58
|
+
}> & {
|
|
43
59
|
mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<string, Error, {
|
|
44
60
|
inviteId: string;
|
|
45
61
|
}, unknown>;
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
error: null;
|
|
62
|
+
}, "error" | "status" | "mutate" | "reset" | "mutateAsync"> | Pick<import("@tanstack/react-query").Override<import("@tanstack/react-query").MutationObserverSuccessResult<string, Error, {
|
|
63
|
+
inviteId: string;
|
|
64
|
+
}, unknown>, {
|
|
50
65
|
mutate: import("@tanstack/react-query").UseMutateFunction<string, Error, {
|
|
51
66
|
inviteId: string;
|
|
52
67
|
}, unknown>;
|
|
68
|
+
}> & {
|
|
53
69
|
mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<string, Error, {
|
|
54
70
|
inviteId: string;
|
|
55
71
|
}, unknown>;
|
|
56
|
-
|
|
57
|
-
status: "pending" | "success" | "idle";
|
|
58
|
-
};
|
|
72
|
+
}, "error" | "status" | "mutate" | "reset" | "mutateAsync">;
|
|
59
73
|
/**
|
|
60
74
|
* Reject an invite that has been received.
|
|
61
75
|
*/
|
|
62
|
-
export declare function useRejectInvite(): {
|
|
63
|
-
|
|
64
|
-
|
|
76
|
+
export declare function useRejectInvite(): Pick<import("@tanstack/react-query").Override<import("@tanstack/react-query").MutationObserverIdleResult<string, Error, {
|
|
77
|
+
inviteId: string;
|
|
78
|
+
}, unknown>, {
|
|
79
|
+
mutate: import("@tanstack/react-query").UseMutateFunction<string, Error, {
|
|
65
80
|
inviteId: string;
|
|
66
81
|
}, unknown>;
|
|
67
|
-
|
|
82
|
+
}> & {
|
|
83
|
+
mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<string, Error, {
|
|
68
84
|
inviteId: string;
|
|
69
85
|
}, unknown>;
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
mutate: import("@tanstack/react-query").UseMutateFunction<void, Error, {
|
|
86
|
+
}, "error" | "status" | "mutate" | "reset" | "mutateAsync"> | Pick<import("@tanstack/react-query").Override<import("@tanstack/react-query").MutationObserverLoadingResult<string, Error, {
|
|
87
|
+
inviteId: string;
|
|
88
|
+
}, unknown>, {
|
|
89
|
+
mutate: import("@tanstack/react-query").UseMutateFunction<string, Error, {
|
|
75
90
|
inviteId: string;
|
|
76
91
|
}, unknown>;
|
|
77
|
-
|
|
92
|
+
}> & {
|
|
93
|
+
mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<string, Error, {
|
|
94
|
+
inviteId: string;
|
|
95
|
+
}, unknown>;
|
|
96
|
+
}, "error" | "status" | "mutate" | "reset" | "mutateAsync"> | Pick<import("@tanstack/react-query").Override<import("@tanstack/react-query").MutationObserverErrorResult<string, Error, {
|
|
97
|
+
inviteId: string;
|
|
98
|
+
}, unknown>, {
|
|
99
|
+
mutate: import("@tanstack/react-query").UseMutateFunction<string, Error, {
|
|
100
|
+
inviteId: string;
|
|
101
|
+
}, unknown>;
|
|
102
|
+
}> & {
|
|
103
|
+
mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<string, Error, {
|
|
104
|
+
inviteId: string;
|
|
105
|
+
}, unknown>;
|
|
106
|
+
}, "error" | "status" | "mutate" | "reset" | "mutateAsync"> | Pick<import("@tanstack/react-query").Override<import("@tanstack/react-query").MutationObserverSuccessResult<string, Error, {
|
|
107
|
+
inviteId: string;
|
|
108
|
+
}, unknown>, {
|
|
109
|
+
mutate: import("@tanstack/react-query").UseMutateFunction<string, Error, {
|
|
78
110
|
inviteId: string;
|
|
79
111
|
}, unknown>;
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
112
|
+
}> & {
|
|
113
|
+
mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<string, Error, {
|
|
114
|
+
inviteId: string;
|
|
115
|
+
}, unknown>;
|
|
116
|
+
}, "error" | "status" | "mutate" | "reset" | "mutateAsync">;
|
|
83
117
|
/**
|
|
84
118
|
* Send an invite for a project.
|
|
85
119
|
*
|
|
@@ -87,39 +121,83 @@ export declare function useRejectInvite(): {
|
|
|
87
121
|
*/
|
|
88
122
|
export declare function useSendInvite({ projectId }: {
|
|
89
123
|
projectId: string;
|
|
90
|
-
}): {
|
|
91
|
-
|
|
124
|
+
}): Pick<import("@tanstack/react-query").Override<import("@tanstack/react-query").MutationObserverIdleResult<"ACCEPT" | "REJECT" | "ALREADY", Error, {
|
|
125
|
+
deviceId: string;
|
|
126
|
+
roleDescription?: string;
|
|
127
|
+
roleId: MemberApi.RoleIdForNewInvite;
|
|
128
|
+
roleName?: string;
|
|
129
|
+
}, unknown>, {
|
|
130
|
+
mutate: import("@tanstack/react-query").UseMutateFunction<"ACCEPT" | "REJECT" | "ALREADY", Error, {
|
|
131
|
+
deviceId: string;
|
|
132
|
+
roleDescription?: string;
|
|
133
|
+
roleId: MemberApi.RoleIdForNewInvite;
|
|
134
|
+
roleName?: string;
|
|
135
|
+
}, unknown>;
|
|
136
|
+
}> & {
|
|
137
|
+
mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<"ACCEPT" | "REJECT" | "ALREADY", Error, {
|
|
138
|
+
deviceId: string;
|
|
139
|
+
roleDescription?: string;
|
|
140
|
+
roleId: MemberApi.RoleIdForNewInvite;
|
|
141
|
+
roleName?: string;
|
|
142
|
+
}, unknown>;
|
|
143
|
+
}, "error" | "status" | "mutate" | "reset" | "mutateAsync"> | Pick<import("@tanstack/react-query").Override<import("@tanstack/react-query").MutationObserverLoadingResult<"ACCEPT" | "REJECT" | "ALREADY", Error, {
|
|
144
|
+
deviceId: string;
|
|
145
|
+
roleDescription?: string;
|
|
146
|
+
roleId: MemberApi.RoleIdForNewInvite;
|
|
147
|
+
roleName?: string;
|
|
148
|
+
}, unknown>, {
|
|
149
|
+
mutate: import("@tanstack/react-query").UseMutateFunction<"ACCEPT" | "REJECT" | "ALREADY", Error, {
|
|
150
|
+
deviceId: string;
|
|
151
|
+
roleDescription?: string;
|
|
152
|
+
roleId: MemberApi.RoleIdForNewInvite;
|
|
153
|
+
roleName?: string;
|
|
154
|
+
}, unknown>;
|
|
155
|
+
}> & {
|
|
156
|
+
mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<"ACCEPT" | "REJECT" | "ALREADY", Error, {
|
|
157
|
+
deviceId: string;
|
|
158
|
+
roleDescription?: string;
|
|
159
|
+
roleId: MemberApi.RoleIdForNewInvite;
|
|
160
|
+
roleName?: string;
|
|
161
|
+
}, unknown>;
|
|
162
|
+
}, "error" | "status" | "mutate" | "reset" | "mutateAsync"> | Pick<import("@tanstack/react-query").Override<import("@tanstack/react-query").MutationObserverErrorResult<"ACCEPT" | "REJECT" | "ALREADY", Error, {
|
|
163
|
+
deviceId: string;
|
|
164
|
+
roleDescription?: string;
|
|
165
|
+
roleId: MemberApi.RoleIdForNewInvite;
|
|
166
|
+
roleName?: string;
|
|
167
|
+
}, unknown>, {
|
|
92
168
|
mutate: import("@tanstack/react-query").UseMutateFunction<"ACCEPT" | "REJECT" | "ALREADY", Error, {
|
|
93
169
|
deviceId: string;
|
|
94
170
|
roleDescription?: string;
|
|
95
|
-
roleId:
|
|
171
|
+
roleId: MemberApi.RoleIdForNewInvite;
|
|
96
172
|
roleName?: string;
|
|
97
173
|
}, unknown>;
|
|
174
|
+
}> & {
|
|
98
175
|
mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<"ACCEPT" | "REJECT" | "ALREADY", Error, {
|
|
99
176
|
deviceId: string;
|
|
100
177
|
roleDescription?: string;
|
|
101
|
-
roleId:
|
|
178
|
+
roleId: MemberApi.RoleIdForNewInvite;
|
|
102
179
|
roleName?: string;
|
|
103
180
|
}, unknown>;
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
181
|
+
}, "error" | "status" | "mutate" | "reset" | "mutateAsync"> | Pick<import("@tanstack/react-query").Override<import("@tanstack/react-query").MutationObserverSuccessResult<"ACCEPT" | "REJECT" | "ALREADY", Error, {
|
|
182
|
+
deviceId: string;
|
|
183
|
+
roleDescription?: string;
|
|
184
|
+
roleId: MemberApi.RoleIdForNewInvite;
|
|
185
|
+
roleName?: string;
|
|
186
|
+
}, unknown>, {
|
|
108
187
|
mutate: import("@tanstack/react-query").UseMutateFunction<"ACCEPT" | "REJECT" | "ALREADY", Error, {
|
|
109
188
|
deviceId: string;
|
|
110
189
|
roleDescription?: string;
|
|
111
|
-
roleId:
|
|
190
|
+
roleId: MemberApi.RoleIdForNewInvite;
|
|
112
191
|
roleName?: string;
|
|
113
192
|
}, unknown>;
|
|
193
|
+
}> & {
|
|
114
194
|
mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<"ACCEPT" | "REJECT" | "ALREADY", Error, {
|
|
115
195
|
deviceId: string;
|
|
116
196
|
roleDescription?: string;
|
|
117
|
-
roleId:
|
|
197
|
+
roleId: MemberApi.RoleIdForNewInvite;
|
|
118
198
|
roleName?: string;
|
|
119
199
|
}, unknown>;
|
|
120
|
-
|
|
121
|
-
status: "pending" | "success" | "idle";
|
|
122
|
-
};
|
|
200
|
+
}, "error" | "status" | "mutate" | "reset" | "mutateAsync">;
|
|
123
201
|
/**
|
|
124
202
|
* Request a cancellation of an invite sent to another device.
|
|
125
203
|
*
|
|
@@ -127,24 +205,44 @@ export declare function useSendInvite({ projectId }: {
|
|
|
127
205
|
*/
|
|
128
206
|
export declare function useRequestCancelInvite({ projectId }: {
|
|
129
207
|
projectId: string;
|
|
130
|
-
}): {
|
|
131
|
-
|
|
208
|
+
}): Pick<import("@tanstack/react-query").Override<import("@tanstack/react-query").MutationObserverIdleResult<void, Error, {
|
|
209
|
+
deviceId: string;
|
|
210
|
+
}, unknown>, {
|
|
211
|
+
mutate: import("@tanstack/react-query").UseMutateFunction<void, Error, {
|
|
212
|
+
deviceId: string;
|
|
213
|
+
}, unknown>;
|
|
214
|
+
}> & {
|
|
215
|
+
mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<void, Error, {
|
|
216
|
+
deviceId: string;
|
|
217
|
+
}, unknown>;
|
|
218
|
+
}, "error" | "status" | "mutate" | "reset" | "mutateAsync"> | Pick<import("@tanstack/react-query").Override<import("@tanstack/react-query").MutationObserverLoadingResult<void, Error, {
|
|
219
|
+
deviceId: string;
|
|
220
|
+
}, unknown>, {
|
|
221
|
+
mutate: import("@tanstack/react-query").UseMutateFunction<void, Error, {
|
|
222
|
+
deviceId: string;
|
|
223
|
+
}, unknown>;
|
|
224
|
+
}> & {
|
|
225
|
+
mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<void, Error, {
|
|
226
|
+
deviceId: string;
|
|
227
|
+
}, unknown>;
|
|
228
|
+
}, "error" | "status" | "mutate" | "reset" | "mutateAsync"> | Pick<import("@tanstack/react-query").Override<import("@tanstack/react-query").MutationObserverErrorResult<void, Error, {
|
|
229
|
+
deviceId: string;
|
|
230
|
+
}, unknown>, {
|
|
132
231
|
mutate: import("@tanstack/react-query").UseMutateFunction<void, Error, {
|
|
133
232
|
deviceId: string;
|
|
134
233
|
}, unknown>;
|
|
234
|
+
}> & {
|
|
135
235
|
mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<void, Error, {
|
|
136
236
|
deviceId: string;
|
|
137
237
|
}, unknown>;
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
}
|
|
141
|
-
error: null;
|
|
238
|
+
}, "error" | "status" | "mutate" | "reset" | "mutateAsync"> | Pick<import("@tanstack/react-query").Override<import("@tanstack/react-query").MutationObserverSuccessResult<void, Error, {
|
|
239
|
+
deviceId: string;
|
|
240
|
+
}, unknown>, {
|
|
142
241
|
mutate: import("@tanstack/react-query").UseMutateFunction<void, Error, {
|
|
143
242
|
deviceId: string;
|
|
144
243
|
}, unknown>;
|
|
244
|
+
}> & {
|
|
145
245
|
mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<void, Error, {
|
|
146
246
|
deviceId: string;
|
|
147
247
|
}, unknown>;
|
|
148
|
-
|
|
149
|
-
status: "pending" | "success" | "idle";
|
|
150
|
-
};
|
|
248
|
+
}, "error" | "status" | "mutate" | "reset" | "mutateAsync">;
|
|
@@ -7,7 +7,7 @@ exports.useRejectInvite = useRejectInvite;
|
|
|
7
7
|
exports.useSendInvite = useSendInvite;
|
|
8
8
|
exports.useRequestCancelInvite = useRequestCancelInvite;
|
|
9
9
|
const react_query_1 = require("@tanstack/react-query");
|
|
10
|
-
const
|
|
10
|
+
const react_query_js_1 = require("../lib/react-query.js");
|
|
11
11
|
const client_js_1 = require("./client.js");
|
|
12
12
|
const projects_js_1 = require("./projects.js");
|
|
13
13
|
/**
|
|
@@ -22,7 +22,13 @@ const projects_js_1 = require("./projects.js");
|
|
|
22
22
|
*/
|
|
23
23
|
function useManyInvites() {
|
|
24
24
|
const clientApi = (0, client_js_1.useClientApi)();
|
|
25
|
-
const { data, error, isRefetching } = (0, react_query_1.useSuspenseQuery)(
|
|
25
|
+
const { data, error, isRefetching } = (0, react_query_1.useSuspenseQuery)({
|
|
26
|
+
...(0, react_query_js_1.baseQueryOptions)(),
|
|
27
|
+
queryKey: (0, react_query_js_1.getInvitesQueryKey)(),
|
|
28
|
+
queryFn: async () => {
|
|
29
|
+
return clientApi.invite.getMany();
|
|
30
|
+
},
|
|
31
|
+
});
|
|
26
32
|
return { data, error, isRefetching };
|
|
27
33
|
}
|
|
28
34
|
/**
|
|
@@ -37,9 +43,15 @@ function useManyInvites() {
|
|
|
37
43
|
* }
|
|
38
44
|
* ```
|
|
39
45
|
*/
|
|
40
|
-
function useSingleInvite({ inviteId }) {
|
|
46
|
+
function useSingleInvite({ inviteId, }) {
|
|
41
47
|
const clientApi = (0, client_js_1.useClientApi)();
|
|
42
|
-
const { data, error, isRefetching } = (0, react_query_1.useSuspenseQuery)(
|
|
48
|
+
const { data, error, isRefetching } = (0, react_query_1.useSuspenseQuery)({
|
|
49
|
+
...(0, react_query_js_1.baseQueryOptions)(),
|
|
50
|
+
queryKey: (0, react_query_js_1.getInvitesByIdQueryKey)({ inviteId }),
|
|
51
|
+
queryFn: async () => {
|
|
52
|
+
return clientApi.invite.getById(inviteId);
|
|
53
|
+
},
|
|
54
|
+
});
|
|
43
55
|
return { data, error, isRefetching };
|
|
44
56
|
}
|
|
45
57
|
/**
|
|
@@ -48,10 +60,20 @@ function useSingleInvite({ inviteId }) {
|
|
|
48
60
|
function useAcceptInvite() {
|
|
49
61
|
const queryClient = (0, react_query_1.useQueryClient)();
|
|
50
62
|
const clientApi = (0, client_js_1.useClientApi)();
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
63
|
+
return (0, react_query_js_1.filterMutationResult)((0, react_query_1.useMutation)({
|
|
64
|
+
...(0, react_query_js_1.baseMutationOptions)(),
|
|
65
|
+
mutationFn: async ({ inviteId }) => {
|
|
66
|
+
return clientApi.invite.accept({ inviteId });
|
|
67
|
+
},
|
|
68
|
+
onSuccess: () => {
|
|
69
|
+
queryClient.invalidateQueries({
|
|
70
|
+
queryKey: (0, react_query_js_1.getInvitesQueryKey)(),
|
|
71
|
+
});
|
|
72
|
+
queryClient.invalidateQueries({
|
|
73
|
+
queryKey: (0, react_query_js_1.getProjectsQueryKey)(),
|
|
74
|
+
});
|
|
75
|
+
},
|
|
76
|
+
}));
|
|
55
77
|
}
|
|
56
78
|
/**
|
|
57
79
|
* Reject an invite that has been received.
|
|
@@ -59,10 +81,20 @@ function useAcceptInvite() {
|
|
|
59
81
|
function useRejectInvite() {
|
|
60
82
|
const queryClient = (0, react_query_1.useQueryClient)();
|
|
61
83
|
const clientApi = (0, client_js_1.useClientApi)();
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
84
|
+
return (0, react_query_js_1.filterMutationResult)((0, react_query_1.useMutation)({
|
|
85
|
+
...(0, react_query_js_1.baseMutationOptions)(),
|
|
86
|
+
mutationFn: async ({ inviteId }) => {
|
|
87
|
+
return clientApi.invite.accept({ inviteId });
|
|
88
|
+
},
|
|
89
|
+
onSuccess: () => {
|
|
90
|
+
queryClient.invalidateQueries({
|
|
91
|
+
queryKey: (0, react_query_js_1.getInvitesQueryKey)(),
|
|
92
|
+
});
|
|
93
|
+
queryClient.invalidateQueries({
|
|
94
|
+
queryKey: (0, react_query_js_1.getProjectsQueryKey)(),
|
|
95
|
+
});
|
|
96
|
+
},
|
|
97
|
+
}));
|
|
66
98
|
}
|
|
67
99
|
/**
|
|
68
100
|
* Send an invite for a project.
|
|
@@ -72,10 +104,20 @@ function useRejectInvite() {
|
|
|
72
104
|
function useSendInvite({ projectId }) {
|
|
73
105
|
const queryClient = (0, react_query_1.useQueryClient)();
|
|
74
106
|
const { data: projectApi } = (0, projects_js_1.useSingleProject)({ projectId });
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
107
|
+
return (0, react_query_js_1.filterMutationResult)((0, react_query_1.useMutation)({
|
|
108
|
+
...(0, react_query_js_1.baseMutationOptions)(),
|
|
109
|
+
mutationFn: async ({ deviceId, ...role }) => {
|
|
110
|
+
return projectApi.$member.invite(deviceId, role);
|
|
111
|
+
},
|
|
112
|
+
onSuccess: () => {
|
|
113
|
+
queryClient.invalidateQueries({
|
|
114
|
+
queryKey: (0, react_query_js_1.getInvitesQueryKey)(),
|
|
115
|
+
});
|
|
116
|
+
queryClient.invalidateQueries({
|
|
117
|
+
queryKey: (0, react_query_js_1.getMembersQueryKey)({ projectId }),
|
|
118
|
+
});
|
|
119
|
+
},
|
|
120
|
+
}));
|
|
79
121
|
}
|
|
80
122
|
/**
|
|
81
123
|
* Request a cancellation of an invite sent to another device.
|
|
@@ -85,8 +127,15 @@ function useSendInvite({ projectId }) {
|
|
|
85
127
|
function useRequestCancelInvite({ projectId }) {
|
|
86
128
|
const queryClient = (0, react_query_1.useQueryClient)();
|
|
87
129
|
const { data: projectApi } = (0, projects_js_1.useSingleProject)({ projectId });
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
130
|
+
return (0, react_query_js_1.filterMutationResult)((0, react_query_1.useMutation)({
|
|
131
|
+
...(0, react_query_js_1.baseMutationOptions)(),
|
|
132
|
+
mutationFn: async ({ deviceId }) => {
|
|
133
|
+
return projectApi.$member.requestCancelInvite(deviceId);
|
|
134
|
+
},
|
|
135
|
+
onSuccess: () => {
|
|
136
|
+
queryClient.invalidateQueries({
|
|
137
|
+
queryKey: (0, react_query_js_1.getInvitesQueryKey)(),
|
|
138
|
+
});
|
|
139
|
+
},
|
|
140
|
+
}));
|
|
92
141
|
}
|