UNPKG

ra-core

Version:

Core components of react-admin, a frontend Framework for building admin applications on top of REST services, using ES6, React

42 lines 1.85 kB
import { QueryObserverResult, UseQueryOptions } from '@tanstack/react-query'; /** * Hook for getting user permissions * * Calls the authProvider.getPermissions() method using react-query. * If the authProvider returns a rejected promise, returns empty permissions. * * The return value updates according to the request state: * * - start: { isPending: true } * - success: { permissions: [any], isPending: false } * - error: { error: [error from provider], isPending: false } * * Useful to enable features based on user permissions * * @param {Object} params Any params you want to pass to the authProvider * * @returns The current auth check state. Destructure as { permissions, error, isPending, refetch }. * * @example * import { usePermissions } from 'react-admin'; * * const PostDetail = () => { * const { isPending, permissions } = usePermissions(); * if (!isPending && permissions == 'editor') { * return <PostEdit /> * } else { * return <PostShow /> * } * }; */ declare const usePermissions: <PermissionsType = any, ErrorType = Error>(params?: {}, queryParams?: UsePermissionsOptions<PermissionsType, ErrorType>) => UsePermissionsResult<PermissionsType, ErrorType>; export default usePermissions; export interface UsePermissionsOptions<PermissionsType = any, ErrorType = Error> extends Omit<UseQueryOptions<PermissionsType, ErrorType>, 'queryKey' | 'queryFn'> { onSuccess?: (data: PermissionsType) => void; onError?: (err: ErrorType) => void; onSettled?: (data?: PermissionsType, error?: ErrorType | null) => void; } export type UsePermissionsResult<PermissionsType = any, ErrorType = Error> = QueryObserverResult<PermissionsType, ErrorType> & { permissions: PermissionsType | undefined; }; //# sourceMappingURL=usePermissions.d.ts.map