aspans_patrol/apps/web/src/lib/queries.ts
2026-10-22 10:53:02 +05:00

26 lines
900 B
TypeScript

import { useQuery } from '@tanstack/react-query';
import { api } from '../api/client';
import type { Employee, Route, Schedule, Site } from '../api/types';
export const useSites = () => useQuery({ queryKey: ['sites'], queryFn: () => api<Site[]>('/sites') });
export const useRoutes = (siteId?: string) =>
useQuery({
queryKey: ['routes', siteId ?? 'all'],
queryFn: () => api<Route[]>(`/routes${siteId ? `?siteId=${siteId}` : ''}`),
});
export const useSchedules = (siteId?: string) =>
useQuery({
queryKey: ['schedules', siteId ?? 'all'],
queryFn: () => api<Schedule[]>(`/schedules${siteId ? `?siteId=${siteId}` : ''}`),
enabled: siteId !== '',
});
export const useEmployees = (siteId?: string, enabled = true) =>
useQuery({
queryKey: ['users', siteId ?? 'all'],
queryFn: () => api<Employee[]>(`/users${siteId ? `?siteId=${siteId}` : ''}`),
enabled,
});