2020-09-10 19:25:52 +02:00
|
|
|
import { gql, useQuery, QueryHookOptions } from '@apollo/client';
|
2020-09-04 11:19:24 +02:00
|
|
|
import { useGraphQLData } from './helper';
|
|
|
|
|
|
|
|
export const QUERY_IS_AUTHORIZED = gql`
|
|
|
|
query isAuthorized($action: String!, $object: AuthorizationObject!) {
|
|
|
|
isAuthorized(action: $action, object: $object)
|
|
|
|
}
|
|
|
|
`;
|
|
|
|
|
2020-09-10 19:25:52 +02:00
|
|
|
export function useIsAuthorizedQuery<A = any, R = Record<string, any>>(options: QueryHookOptions<A, R> = {}) {
|
2020-09-04 11:19:24 +02:00
|
|
|
return useQuery(QUERY_IS_AUTHORIZED, options);
|
|
|
|
}
|
|
|
|
|
2020-09-10 19:25:52 +02:00
|
|
|
export function useIsAuthorized<A = any, R = Record<string, any>>(options: QueryHookOptions<A, R> = {}, defaultValue = false) {
|
2020-09-04 11:19:24 +02:00
|
|
|
const { data, loading, error } = useGraphQLData<boolean>(
|
|
|
|
QUERY_IS_AUTHORIZED, 'isAuthorized', defaultValue, options
|
|
|
|
);
|
|
|
|
return { isAuthorized: data, loading, error };
|
|
|
|
}
|