This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
2021-03-09 18:44:13 +00:00
|
|
|
import { useQuery } from '@apollo/client';
|
|
|
|
import { QUERY_USERS } from './queries';
|
2021-03-09 19:10:34 +00:00
|
|
|
import { Query, QueryUsersArgs } from 'libs/graphql/types';
|
2021-03-09 18:44:13 +00:00
|
|
|
|
2021-03-12 07:26:40 +00:00
|
|
|
const useUsers = (
|
|
|
|
page: number,
|
|
|
|
limit: number,
|
|
|
|
sort: string,
|
|
|
|
search: string
|
|
|
|
) => {
|
2021-03-09 19:10:34 +00:00
|
|
|
const { data, loading } = useQuery<Pick<Query, 'users'>, QueryUsersArgs>(
|
|
|
|
QUERY_USERS,
|
|
|
|
{
|
|
|
|
fetchPolicy: 'cache-and-network',
|
|
|
|
variables: {
|
|
|
|
offset: page * limit,
|
|
|
|
sort: [sort],
|
|
|
|
limit,
|
2021-03-12 07:26:40 +00:00
|
|
|
filter: {
|
|
|
|
or: {
|
|
|
|
displayNameIEQ: '%' + search + '%',
|
|
|
|
emailIEQ: '%' + search + '%',
|
|
|
|
},
|
|
|
|
},
|
2021-03-09 19:10:34 +00:00
|
|
|
},
|
|
|
|
}
|
|
|
|
);
|
|
|
|
|
|
|
|
return {
|
|
|
|
users: data?.users.items ?? [],
|
|
|
|
get loading() {
|
2021-03-11 19:29:56 +00:00
|
|
|
return this.users.length === 0 && loading;
|
2021-03-09 19:10:34 +00:00
|
|
|
},
|
|
|
|
total: data?.users.total ?? 0,
|
|
|
|
};
|
2021-03-09 18:44:13 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
export default useUsers;
|