An open API service indexing awesome lists of open source software.

https://github.com/paraboly/permissionservice

Generic Permission Service with Jest Test via Paraboly
https://github.com/paraboly/permissionservice

Last synced: about 1 year ago
JSON representation

Generic Permission Service with Jest Test via Paraboly

Awesome Lists containing this project

README

          

Generic Permission Service

[![Generic Permission Service with Jest Test via Paraboly](https://img.shields.io/badge/-Generic%20Permission%20Service%20with%20Jest%20Test%20via%20Paraboly-lightgrey?style=for-the-badge)](https://github.com/Paraboly/pwc-permission-service)

[![npm version](https://img.shields.io/npm/v/@paraboly/pwc-permission-service.svg?style=for-the-badge)](https://www.npmjs.com/package/@paraboly/pwc-permission-service)
[![npm](https://img.shields.io/npm/dt/@paraboly/pwc-permission-service.svg?style=for-the-badge)](https://www.npmjs.com/package/@paraboly/pwc-permission-service)
![Platform - Platform Free Web](https://img.shields.io/badge/-Web%20%7C%20Platform%20Free-blue?style=for-the-badge)
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg?style=for-the-badge)](https://opensource.org/licenses/MIT)

# Architecture of Using Permission Service

| Types | Values | Example | Example2 |
| ---------------- | ------ | ---------- | ------------- |
| NAMESPACE | 0 | permission | permission |
| MODULE | 1 | system | system |
| PAGE | 2 | globalMap | globalMap |
| COMPONENT | 3 | * | button |
| COMPONENT ID | 4 | * | delete_button |
| PERMISSION VALUE | 5 | 7 | 0 |

## Installation

```js
npm i @paraboly/pwc-permission-service
```

# Usage

## Import

```js
import PermissionService from "@paraboly/pwc-permission-service";
```

## Basic Usage

### Generate Permission Object from Encoded Permission String

Generate (Decode) the given encoded permission string to usable object

```js
const {
generatePermissionObj,
} = PermissionService;

const permissionObj = generatePermissionObj(permission);
console.log("Permission Object: ", permissionObj);
```

### Decode Selected Permission

Please check the permission architecture about the permission of the each type.

```js
const {
decodeSelectedPermission
} = PermissionService;

const module = decodeSelectedPermission(1, permission);
const page = decodeSelectedPermission(2, permission);
const permissionValue = decodeSelectedPermission(
5,
permission
);
```

### Generate Permission Encode

Generate the fundamental encoded permission string with given parameters

```js
PermissionService.generatePermissionEncode(
"permission",
"system",
"globalMap",
"*",
"delete_button",
7
)
```

## Authors

FreakyCoder, kuray.ogun@paraboly.com | kurayogun@gmail.com

## License

Permission Service is available under the Apache License 2.0 license. See the LICENSE file for more info.