26 lines
900 B
TypeScript
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,
|
|
});
|