feat(cloud-oauth): support selectable google oauth clients
This commit is contained in:
1 parent
385036d577
commit
bcdf2a6c24
8 files changed
+1370
-125
No files matched your search
@@ -5,11 +5,15 @@ import {
|
||||
deleteCloudAccount,
|
||||
refreshAccountQuota,
|
||||
setAccountProxy,
|
||||
listOAuthClients,
|
||||
setActiveOAuthClient,
|
||||
type OAuthClientDescriptor,
|
||||
} from '@/actions/cloud';
|
||||
import { CloudAccount } from '@/types/cloudAccount';
|
||||
|
||||
export const QUERY_KEYS = {
|
||||
cloudAccounts: ['cloudAccounts'],
|
||||
oauthClients: ['oauthClients'],
|
||||
};
|
||||
|
||||
export function useCloudAccounts() {
|
||||
@@ -31,6 +35,24 @@ export function useAddGoogleAccount() {
|
||||
});
|
||||
}
|
||||
|
||||
export function useOAuthClients() {
|
||||
return useQuery<OAuthClientDescriptor[]>({
|
||||
queryKey: QUERY_KEYS.oauthClients,
|
||||
queryFn: listOAuthClients,
|
||||
staleTime: 1000 * 60 * 5,
|
||||
});
|
||||
}
|
||||
|
||||
export function useSetActiveOAuthClient() {
|
||||
const queryClient = useQueryClient();
|
||||
return useMutation({
|
||||
mutationFn: setActiveOAuthClient,
|
||||
onSuccess: () => {
|
||||
queryClient.invalidateQueries({ queryKey: QUERY_KEYS.oauthClients });
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
export function useDeleteCloudAccount() {
|
||||
const queryClient = useQueryClient();
|
||||
|
||||
|
||||
Reference in new issue
Block a user