@zeroin.earth/appwrite-graphql 0.14.1 → 0.14.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +79 -35
- package/dist/index.d.ts +79 -35
- package/dist/index.js +99 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +99 -3
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -320,6 +320,15 @@ function useCreateEmailToken() {
|
|
|
320
320
|
return { ...queryResult };
|
|
321
321
|
}
|
|
322
322
|
|
|
323
|
+
// src/useSuspenseQuery.ts
|
|
324
|
+
import {
|
|
325
|
+
useSuspenseQuery as useSuspenseReactQuery
|
|
326
|
+
} from "@tanstack/react-query";
|
|
327
|
+
function useSuspenseQuery(options) {
|
|
328
|
+
const queryClient2 = useQueryClient();
|
|
329
|
+
return useSuspenseReactQuery(options, queryClient2);
|
|
330
|
+
}
|
|
331
|
+
|
|
323
332
|
// src/account/useCreateJWT.ts
|
|
324
333
|
var accountCreateJWT = gql(
|
|
325
334
|
/* GraphQL */
|
|
@@ -331,9 +340,12 @@ var accountCreateJWT = gql(
|
|
|
331
340
|
}
|
|
332
341
|
`
|
|
333
342
|
);
|
|
334
|
-
function useCreateJWT() {
|
|
343
|
+
function useCreateJWT({ gcTime = 6e5 } = {}) {
|
|
335
344
|
const { graphql: graphql2 } = useAppwrite();
|
|
345
|
+
const queryClient2 = useQueryClient();
|
|
336
346
|
const queryResult = useMutation({
|
|
347
|
+
gcTime,
|
|
348
|
+
mutationKey: ["appwrite", "jwt"],
|
|
337
349
|
mutationFn: async () => {
|
|
338
350
|
const { data, errors } = await graphql2.mutation({
|
|
339
351
|
query: accountCreateJWT
|
|
@@ -342,6 +354,26 @@ function useCreateJWT() {
|
|
|
342
354
|
throw errors;
|
|
343
355
|
}
|
|
344
356
|
return data.accountCreateJWT;
|
|
357
|
+
},
|
|
358
|
+
onSuccess: (data) => {
|
|
359
|
+
queryClient2.setQueryData(["appwrite", "jwt"], data.jwt, { updatedAt: Date.now() });
|
|
360
|
+
}
|
|
361
|
+
});
|
|
362
|
+
return { ...queryResult };
|
|
363
|
+
}
|
|
364
|
+
function useSuspenseCreateJWT({ gcTime = 6e5 } = {}) {
|
|
365
|
+
const { graphql: graphql2 } = useAppwrite();
|
|
366
|
+
const queryResult = useSuspenseQuery({
|
|
367
|
+
gcTime,
|
|
368
|
+
queryKey: ["appwrite", "jwt"],
|
|
369
|
+
queryFn: async () => {
|
|
370
|
+
const { data, errors } = await graphql2.mutation({
|
|
371
|
+
query: accountCreateJWT
|
|
372
|
+
});
|
|
373
|
+
if (errors) {
|
|
374
|
+
throw errors;
|
|
375
|
+
}
|
|
376
|
+
return data.accountCreateJWT;
|
|
345
377
|
}
|
|
346
378
|
});
|
|
347
379
|
return { ...queryResult };
|
|
@@ -934,8 +966,9 @@ function useLogout() {
|
|
|
934
966
|
return data?.accountDeleteSession;
|
|
935
967
|
},
|
|
936
968
|
onSuccess: async () => {
|
|
937
|
-
queryClient2.setQueryData(["appwrite"
|
|
938
|
-
queryClient2.removeQueries({ queryKey: ["appwrite"
|
|
969
|
+
queryClient2.setQueryData(["appwrite"], null);
|
|
970
|
+
queryClient2.removeQueries({ queryKey: ["appwrite"] });
|
|
971
|
+
queryClient2.clear();
|
|
939
972
|
}
|
|
940
973
|
});
|
|
941
974
|
return { ...queryResult, mutate: queryResult.mutate };
|
|
@@ -1654,6 +1687,67 @@ function useCollection({
|
|
|
1654
1687
|
total: collection.data?.total
|
|
1655
1688
|
};
|
|
1656
1689
|
}
|
|
1690
|
+
function useSuspenseCollection({
|
|
1691
|
+
databaseId,
|
|
1692
|
+
collectionId,
|
|
1693
|
+
queries
|
|
1694
|
+
}) {
|
|
1695
|
+
const { graphql: graphql2 } = useAppwrite();
|
|
1696
|
+
const queryClient2 = useQueryClient();
|
|
1697
|
+
const collection = useSuspenseQuery({
|
|
1698
|
+
queryKey: ["appwrite", "databases", databaseId, collectionId, { queries }],
|
|
1699
|
+
queryFn: async () => {
|
|
1700
|
+
const { data, errors } = await graphql2.query({
|
|
1701
|
+
query: listDocuments,
|
|
1702
|
+
variables: {
|
|
1703
|
+
databaseId,
|
|
1704
|
+
collectionId,
|
|
1705
|
+
queries
|
|
1706
|
+
}
|
|
1707
|
+
});
|
|
1708
|
+
if (errors) {
|
|
1709
|
+
throw errors;
|
|
1710
|
+
}
|
|
1711
|
+
const documents2 = data.databasesListDocuments?.documents?.map((document) => ({
|
|
1712
|
+
...document,
|
|
1713
|
+
...document ? JSON.parse(document.data) : {}
|
|
1714
|
+
})) ?? [];
|
|
1715
|
+
return {
|
|
1716
|
+
total: data.databasesListDocuments?.total ?? 0,
|
|
1717
|
+
documents: documents2
|
|
1718
|
+
};
|
|
1719
|
+
}
|
|
1720
|
+
});
|
|
1721
|
+
useEffect2(() => {
|
|
1722
|
+
const unsubscribe = graphql2.client.subscribe(
|
|
1723
|
+
`databases.${databaseId}.collections.${collectionId}.documents`,
|
|
1724
|
+
(response) => {
|
|
1725
|
+
const [, operation] = response.events[0].match(/\.(\w+)$/);
|
|
1726
|
+
const document = response.payload;
|
|
1727
|
+
switch (operation) {
|
|
1728
|
+
case "create":
|
|
1729
|
+
case "update":
|
|
1730
|
+
case "delete":
|
|
1731
|
+
queryClient2.setQueryData(
|
|
1732
|
+
["appwrite", "databases", databaseId, collectionId, "documents", document.$id],
|
|
1733
|
+
document
|
|
1734
|
+
);
|
|
1735
|
+
queryClient2.invalidateQueries({
|
|
1736
|
+
queryKey: ["appwrite", "databases", databaseId, collectionId, { queries }],
|
|
1737
|
+
exact: true
|
|
1738
|
+
});
|
|
1739
|
+
break;
|
|
1740
|
+
}
|
|
1741
|
+
}
|
|
1742
|
+
);
|
|
1743
|
+
return unsubscribe;
|
|
1744
|
+
}, [databaseId, collectionId, graphql2.client, queryClient2, queries]);
|
|
1745
|
+
return {
|
|
1746
|
+
...collection,
|
|
1747
|
+
documents: collection.data?.documents,
|
|
1748
|
+
total: collection.data?.total
|
|
1749
|
+
};
|
|
1750
|
+
}
|
|
1657
1751
|
|
|
1658
1752
|
// src/databases/useCreateDocument.ts
|
|
1659
1753
|
var createDocument = gql(
|
|
@@ -2055,6 +2149,8 @@ export {
|
|
|
2055
2149
|
useQueryClient,
|
|
2056
2150
|
useResetPassword,
|
|
2057
2151
|
useSignUp,
|
|
2152
|
+
useSuspenseCollection,
|
|
2153
|
+
useSuspenseCreateJWT,
|
|
2058
2154
|
useUpdateDocument,
|
|
2059
2155
|
useUpdateEmail,
|
|
2060
2156
|
useUpdateMagicURLSession,
|