Files
fullstack-fuware/src/service/queries.ts
2026-01-23 16:49:24 +07:00

58 lines
1.5 KiB
TypeScript

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 }),
}),
};