31 lines
795 B
TypeScript
31 lines
795 B
TypeScript
|
import { gql, useQuery, QueryHookOptions } from '@apollo/client';
|
||
|
import { useGraphQLData } from './helper';
|
||
|
import { Event } from '../../types/event';
|
||
|
|
||
|
export const QUERY_EVENTS = gql`
|
||
|
query events($filter: EventFilter) {
|
||
|
events(filter: $filter) {
|
||
|
id
|
||
|
user {
|
||
|
id
|
||
|
name
|
||
|
email
|
||
|
}
|
||
|
type
|
||
|
objectType
|
||
|
objectId
|
||
|
createdAt
|
||
|
}
|
||
|
}
|
||
|
`;
|
||
|
|
||
|
export function useEventsQuery<A = any, R = Record<string, any>>(options: QueryHookOptions<A, R> = {}) {
|
||
|
return useQuery(QUERY_EVENTS, options);
|
||
|
}
|
||
|
|
||
|
export function useEvents<A = any, R = Record<string, any>>(options: QueryHookOptions<A, R> = {}) {
|
||
|
const { data, loading, error } = useGraphQLData<Event[]>(
|
||
|
QUERY_EVENTS, 'events', [], options
|
||
|
);
|
||
|
return { events: data, loading, error };
|
||
|
}
|