ra-core
Version:
Core components of react-admin, a frontend Framework for building admin applications on top of REST services, using ES6, React
49 lines • 1.54 kB
JavaScript
import { useCallback } from 'react';
import useAuthProvider from './useAuthProvider';
/**
* Get a callback for calling the authProvider.getPermissions() method.
*
* @see useAuthProvider
*
* @returns {Function} getPermissions callback
*
* This is a low level hook. See those more specialized hooks
* offering state handling.
*
* @see usePermissions
*
* @example
*
* import { useGetPermissions } from 'react-admin';
*
* const Roles = () => {
* const [permissions, setPermissions] = useState([]);
* const getPermissions = useGetPermissions();
* useEffect(() => {
* getPermissions().then(permissions => setPermissions(permissions))
* }, [])
* return (
* <ul>
* {permissions.map((permission, key) => (
* <li key={key}>{permission}</li>
* ))}
* </ul>
* );
* }
*/
var useGetPermissions = function () {
var authProvider = useAuthProvider();
var getPermissions = useCallback(function (params) {
if (params === void 0) { params = {}; }
// react-query requires the query to return something
if (authProvider && authProvider.getPermissions) {
return authProvider
.getPermissions(params)
.then(function (result) { return result !== null && result !== void 0 ? result : null; });
}
return Promise.resolve([]);
}, [authProvider]);
return getPermissions;
};
export default useGetPermissions;
//# sourceMappingURL=useGetPermissions.js.map