2021-04-23 10:59:11 +02:00
|
|
|
import useSWR, { mutate } from 'swr';
|
|
|
|
import { useState, useEffect } from 'react';
|
2021-07-07 11:04:36 +02:00
|
|
|
import { formatApiPath } from '../../../../utils/format-path';
|
2021-04-23 10:59:11 +02:00
|
|
|
|
|
|
|
const useUsers = () => {
|
2021-05-04 09:59:42 +02:00
|
|
|
const fetcher = () => {
|
|
|
|
const path = formatApiPath(`api/admin/user-admin`);
|
|
|
|
return fetch(path, {
|
2021-04-23 10:59:11 +02:00
|
|
|
method: 'GET',
|
|
|
|
}).then(res => res.json());
|
2021-05-04 09:59:42 +02:00
|
|
|
};
|
2021-04-23 10:59:11 +02:00
|
|
|
|
|
|
|
const { data, error } = useSWR(`api/admin/user-admin`, fetcher);
|
|
|
|
const [loading, setLoading] = useState(!error && !data);
|
|
|
|
|
|
|
|
const refetch = () => {
|
|
|
|
mutate(`api/admin/user-admin`);
|
|
|
|
};
|
|
|
|
|
|
|
|
useEffect(() => {
|
|
|
|
setLoading(!error && !data);
|
|
|
|
}, [data, error]);
|
|
|
|
|
|
|
|
return {
|
|
|
|
users: data?.users || [],
|
|
|
|
roles: data?.rootRoles || [],
|
|
|
|
error,
|
|
|
|
loading,
|
|
|
|
refetch,
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
export default useUsers;
|