Skip to content

Latest commit

 

History

History
98 lines (55 loc) · 1.41 KB

react.useisallowed.md

File metadata and controls

98 lines (55 loc) · 1.41 KB

Home > @cerbos/react > useIsAllowed

useIsAllowed() function

Check if the principal is allowed to perform an action on a resource.

Signature:

export declare function useIsAllowed(request: Omit<IsAllowedRequest, "principal">, options?: Omit<RequestOptions, "signal">): AsyncResult<boolean>;

Parameters

Parameter

Type

Description

request

Omit<IsAllowedRequest, "principal">

options

Omit<RequestOptions, "signal">

(Optional)

Returns:

AsyncResult<boolean>

Example

import { useIsAllowed } from "@cerbos/react";

function SomeComponent() {
  const check = useIsAllowed({
    resource: {
      kind: "document",
      id: "1",
      attr: { owner: "user@example.com" },
    },
    action: "view",
  });

  if (check.isLoading) {
    // show spinner
    return "Loading...";
  }

  if (check.error) {
    // handle error
    return "Error...";
  }

  return <div>{check.data && <button>a button document 1</button>}</div>;
}