Skip to main content
Glama
platform-hooks.ts2.11 kB
import { QueryClient, useMutation, useSuspenseQuery, } from '@tanstack/react-query'; import { t } from 'i18next'; import { useNavigate } from 'react-router-dom'; import { toast } from 'sonner'; import { authenticationSession } from '@/lib/authentication-session'; import { PlatformWithoutSensitiveData } from '@activepieces/shared'; import { platformApi } from '../lib/platforms-api'; import { flagsHooks } from './flags-hooks'; export const platformHooks = { useDeleteAccount: () => { const navigate = useNavigate(); return useMutation({ mutationFn: async () => { await platformApi.deleteAccount(); }, onSuccess: () => { toast.success(t('Account deleted successfully')); navigate('/sign-in'); }, }); }, useCurrentPlatform: () => { const currentPlatformId = authenticationSession.getPlatformId(); const query = useSuspenseQuery({ queryKey: ['platform', currentPlatformId], queryFn: platformApi.getCurrentPlatform, staleTime: Infinity, }); return { platform: query.data, refetch: async () => { await query.refetch(); }, setCurrentPlatform: ( queryClient: QueryClient, platform: PlatformWithoutSensitiveData, ) => { queryClient.setQueryData(['platform', currentPlatformId], platform); }, }; }, useUpdateLisenceKey: (queryClient: QueryClient) => { const currentPlatformId = authenticationSession.getPlatformId(); return useMutation({ mutationFn: async (tempLicenseKey: string) => { if (tempLicenseKey.trim() === '') return; await platformApi.verifyLicenseKey(tempLicenseKey.trim()); }, onSuccess: () => { queryClient.invalidateQueries({ queryKey: ['platform', currentPlatformId], }); queryClient.invalidateQueries({ queryKey: flagsHooks.queryKey, }); toast.success(t('License activated successfully!')); }, onError: () => { toast.error(t('Activation failed, invalid license key')); }, }); }, };

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/activepieces/activepieces'

If you have feedback or need assistance with the MCP directory API, please join our Discord server