// Copyright (C) 2024 veypi // 2025-03-04 16:08:06 // Distributed under terms of the MIT license. package role import ( "github.com/veypi/vbase/api/middleware" "github.com/veypi/vigo" ) var Router = vigo.NewRouter() func init() { // 列表和详情 - 需要读取权限 Router.Get("/", middleware.Permission("role", "list"), "角色列表", list) Router.Get("/{role_id}", middleware.Permission("role", "read"), "获取角色详情", get) // 创建、更新、删除 - 需要管理权限 Router.Post("/", middleware.Permission("role", "create"), "创建角色", create) Router.Patch("/{role_id}", middleware.Permission("role", "update"), "更新角色", patch) Router.Delete("/{role_id}", middleware.Permission("role", "delete"), "删除角色", del) // 角色策略管理 - 需要角色管理权限 Router.Get("/{role_id}/policies", middleware.Permission("role", "read"), "获取角色策略", listPolicies) Router.Post("/{role_id}/policies", middleware.Permission("role", "update"), "为角色添加策略", addPolicy) Router.Delete("/{role_id}/policies/{policy_id}", middleware.Permission("role", "update"), "从角色移除策略", removePolicy) }