基于vue3.0和element-plus的组件库
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

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: queryList from base
  • URL: permission
  • Parameters: example - Filter criteria (optional)

tree

export const tree = () => {
  return queryList(publik);
};
  • Uses: queryList from 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: save from base (POST)
  • Parameters: permission - Permission object to create

set

export const set = (permission) => {
  return update(root, permission);
};
  • Uses: update from base (PUT)
  • Parameters: permission - Permission object to update

del

export const del = (permission) => {
  return deleteById(root, permission.id);
};
  • Uses: deleteById from base (DELETE)
  • ID Field: permission.id (numeric ID)
  • Note: Permission identity is id numeric 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.ts with both list and tree functions
  • tree uses public endpoint, list uses authenticated endpoint