0.0.13 • Published 2 years ago

@synzhang/react-permission v0.0.13

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

React Permission

A Permission component for React.

Installation

npm install @synzhang/react-permission

Quick Start

export const ROLES = ["ADMIN", "USER"];
export const POLICIES = {
  "item:delete": (item, user) => {
    if (user.role === "ADMIN") {
      return true;
    }

    if (user.role === "USER" && item.userId === user.id) {
      return true;
    }

    return false;
  },
};
<PermissionProvider currentUser={currentUser} roles={ROLES} policies={POLICIES}>
  <App />
</PermissionProvider>

Role based access control

<Permission allowedRoles={["ADMIN"]}>{"Sensitive Content"}</Permission>

Permission based access control

import POLICIES from "policies";

<Permission policyCheck={POLICIES["item:delete"](item, user)}>
  {"Sensitive Operation"}
</Permission>;

API

PermissionProvider

PropertyTypeDefaultDescription
currentUserobjectnullCurrent user object
rolesarray[]Roles
policiesobject{}Policies

Permission

PropertyTypeDefaultDescription
policyCheckfunctionnullPolicy check function
allowedRolesarray[]Allowed roles
forbiddenFallbackReact.ComponentnullForbidden fallback component
childrenReact.ComponentnullChildren component

License

MIT

0.0.12

2 years ago

0.0.13

2 years ago

0.0.10

2 years ago

0.0.11

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.4

2 years ago

0.0.7

2 years ago

0.0.1

2 years ago