43 lines
963 B
TypeScript
43 lines
963 B
TypeScript
import { useQuery } from '@tanstack/react-query';
|
|
import { fetchStuffList } from '@/app/actions/stuffActions';
|
|
|
|
interface StaffMember {
|
|
id: number;
|
|
full_name: string;
|
|
email: string;
|
|
is_active: boolean;
|
|
is_super_admin: boolean;
|
|
created_at: string;
|
|
active_password: boolean;
|
|
permissions: {
|
|
subscriptions: number;
|
|
mailings: number;
|
|
complaints: number;
|
|
agreements: number;
|
|
staff: number;
|
|
content_moderation: number;
|
|
users: number;
|
|
kyc: number;
|
|
money: number;
|
|
claims: number;
|
|
api: number;
|
|
dash: number;
|
|
tariffs: number;
|
|
};
|
|
}
|
|
|
|
export const useStuffList = (page?: number, size?: number, sortBy?: string, sortDirection?: 'asc' | 'desc' | string, nameQuery?: string) => {
|
|
return useQuery({
|
|
queryKey: ['stuffList'],
|
|
queryFn: () => {
|
|
return fetchStuffList(page, size, sortBy, sortDirection, nameQuery)
|
|
},
|
|
select: (data: StaffMember[] | null) => {
|
|
if (!data) {
|
|
return null
|
|
}
|
|
return data;
|
|
},
|
|
retry: false
|
|
});
|
|
}; |