forked from VinokurovVE/tests
66 lines
1.5 KiB
TypeScript
66 lines
1.5 KiB
TypeScript
import useSWR from "swr";
|
|
import RoleService from "../services/RoleService";
|
|
import UserService from "../services/UserService";
|
|
import { fetcher } from "../http/axiosInstance";
|
|
|
|
export function useRoles() {
|
|
const { data, error, isLoading } = useSWR(`/auth/roles`, RoleService.getRoles)
|
|
|
|
return {
|
|
roles: data?.data,
|
|
isLoading,
|
|
isError: error
|
|
}
|
|
}
|
|
|
|
export function useUsers() {
|
|
const { data, error, isLoading } = useSWR(`/auth/user`, UserService.getUsers)
|
|
|
|
return {
|
|
users: data?.data,
|
|
isLoading,
|
|
isError: error
|
|
}
|
|
}
|
|
|
|
export function useCompanies(limit?: number, offset?: number) {
|
|
const { data, error, isLoading } = useSWR(`/info/companies?limit=${limit || 10}&offset=${offset || 0}`, fetcher)
|
|
|
|
return {
|
|
companies: data,
|
|
isLoading,
|
|
isError: error
|
|
}
|
|
}
|
|
|
|
export function useFolders(limit?: number, offset?: number) {
|
|
const { data, error, isLoading } = useSWR(
|
|
`/info/document_folder?limit=${limit || 10}&offset=${offset || 0}`,
|
|
fetcher,
|
|
{
|
|
revalidateOnFocus: false
|
|
}
|
|
)
|
|
|
|
return {
|
|
folders: data,
|
|
isLoading,
|
|
isError: error
|
|
}
|
|
}
|
|
|
|
export function useDocuments(folder_id?: number) {
|
|
const { data, error, isLoading } = useSWR(
|
|
folder_id ? `/info/documents/${folder_id}` : null,
|
|
fetcher,
|
|
{
|
|
revalidateOnFocus: false
|
|
}
|
|
)
|
|
|
|
return {
|
|
documents: data,
|
|
isLoading,
|
|
isError: error
|
|
}
|
|
} |