@paraboly/pwc-permission-service
Version:
Paraboly Generic Permission Service
93 lines (63 loc) • 2.69 kB
Markdown
<img alt="Generic Permission Service" src="assets/logo.png" width="1050"/>
[](https://github.com/Paraboly/pwc-permission-service)
[](https://www.npmjs.com/package/@paraboly/pwc-permission-service)
[](https://www.npmjs.com/package/@paraboly/pwc-permission-service)

[](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.