add server info query

This commit is contained in:
Kendall Garner 2024-02-01 08:17:31 -08:00
parent 9995b2e774
commit 9720fcc202
No known key found for this signature in database
GPG key ID: 18D2767419676C87
13 changed files with 173 additions and 10 deletions

View file

@ -0,0 +1,35 @@
import { useEffect } from 'react';
import { useAuthStoreActions, useCurrentServer } from '/@/renderer/store';
import { useQuery } from '@tanstack/react-query';
import { queryKeys } from '/@/renderer/api/query-keys';
import { controller } from '/@/renderer/api/controller';
export const useServerVersion = () => {
const { updateServer } = useAuthStoreActions();
const server = useCurrentServer();
const serverInfo = useQuery({
enabled: !!server,
queryFn: async ({ signal }) => {
return controller.getServerInfo({
apiClientProps: {
server,
signal,
},
});
},
queryKey: queryKeys.server.root(server?.id),
});
useEffect(() => {
if (server && server.id === serverInfo.data?.id) {
const { version, features } = serverInfo.data;
if (version !== server.version) {
updateServer(server.id, {
features,
version,
});
}
}
}, [server, serverInfo.data, updateServer]);
};