forked from mengyxu/noob-components
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.3 KiB
2.3 KiB
Permission API
plugs/api/permission.ts- Permission management operations.
Overview
Permission management API with standard CRUD plus permission tree retrieval.
Endpoint
- Root:
permission - Public:
public/permission
Exports
| Function | HTTP | Description |
|---|---|---|
list |
GET | List permissions with optional filter |
add |
POST | Create new permission |
set |
PUT | Update existing permission |
del |
DELETE | Delete permission by id |
tree |
GET | Get permission tree (public) |
Functions
list
export const list = (example) => {
return queryList(root, example);
};
- Uses:
queryListfrom base - URL:
permission - Parameters:
example- Filter criteria (optional)
tree
export const tree = () => {
return queryList(publik);
};
- Uses:
queryListfrom base - URL:
public/permission(public endpoint, no auth required) - Purpose: Fetch hierarchical permission tree structure
add
export const add = (permission) => {
return save(root, permission);
};
- Uses:
savefrom base (POST) - Parameters:
permission- Permission object to create
set
export const set = (permission) => {
return update(root, permission);
};
- Uses:
updatefrom base (PUT) - Parameters:
permission- Permission object to update
del
export const del = (permission) => {
return deleteById(root, permission.id);
};
- Uses:
deleteByIdfrom base (DELETE) - ID Field:
permission.id(numeric ID) - Note: Permission identity is
idnumeric field
Usage Example
import { permission } from 'plugs/api';
// List permissions
const perms = await permission.list();
// Get permission tree (public, no auth)
const tree = await permission.tree();
// Add permission
await permission.add({ name: 'users:read', description: 'Read users' });
// Update permission
await permission.set({ id: 1, name: 'users:read', description: 'View users' });
// Delete permission
await permission.del({ id: 1 });
Pattern Notes
- Similar structure to
role.tswith bothlistandtreefunctions treeuses public endpoint,listuses authenticated endpoint