import { getSession } from '@/lib/auth/session'; import { queryOptions } from '@tanstack/react-query'; import { getAllAudit } from './audit.api'; import { getAdminSettings, getCurrentUserLanguage, getUserSettings, } from './setting.api'; import { getAllUser } from './user.api'; export const sessionQueries = { all: ['auth'], user: () => queryOptions({ queryKey: [...sessionQueries.all, 'session'], queryFn: () => getSession(), staleTime: 1000 * 60 * 20, retry: false, }), }; export const settingQueries = { all: ['setting'], listAdmin: () => queryOptions({ queryKey: [...settingQueries.all, 'list'], queryFn: () => getAdminSettings(), }), listUser: () => queryOptions({ queryKey: [...settingQueries.all, 'listUser'], queryFn: () => getUserSettings(), }), getCurrentUserLanguageSetting: () => queryOptions({ queryKey: [...settingQueries.all, 'language'], queryFn: () => getCurrentUserLanguage(), }), }; export const auditQueries = { all: ['audit'], list: (params: { page: number; limit: number; keyword?: string }) => queryOptions({ queryKey: [...auditQueries.all, 'list', params], queryFn: () => getAllAudit({ data: params }), }), }; export const usersQueries = { all: ['users'], list: (params: { page: number; limit: number; keyword?: string }) => queryOptions({ queryKey: [...usersQueries.all, 'list', params], queryFn: () => getAllUser({ data: params }), }), };