Version: 4.xx.xx
Source CodeusePermissions
usePermissions
calls the getPermissions
method from the authProvider
under the hood.
It returns the result of react-query
's useQuery
which includes many properties, some of which being isSuccess
and isError
.
Data that is resolved from the getPermissions
will be returned as the data
in the query result.
Usage
usePermissions
can be useful when you want to get user's permission's anywhere in your code.
For example, if you want only the users with the admin role to see the create button in a list page, we have a logic in authProvider
's getPermissions
method like below:
import type { AuthProvider } from "@refinedev/core";
const authProvider: AuthProvider = {
// ...
getPermissions: async () => {
return ["admin"];
},
// ...
};
Get permissions data in the list page with usePermissions
and check if the user has "admin
" role:
pages/post/list
import { usePermissions } from "@refinedev/core";
import { List } from "@refinedev/antd";
export const PostList: React.FC = () => {
const { data: permissionsData } = usePermissions();
return <List canCreate={permissionsData?.includes("admin")}>...</List>;
};
To learn more about the List
component and CRUD views, refer to the UI Libraries guide.
Was this helpful?