You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
OneAuth/api/user/init.go

30 lines
1.2 KiB
Go

//
// Copyright (C) 2024 veypi <i@veypi.com>
// 2025-03-04 16:08:06
// Distributed under terms of the MIT license.
//
package user
import (
"github.com/veypi/vbase/auth"
"github.com/veypi/vigo"
)
var Router = vigo.NewRouter()
func init() {
// 管理员 管理用户权限 (所有接口需要 user:admin 权限)
Router.Get("/", "用户列表", auth.VBaseAuth.PermRead("user"), list)
Router.Post("/", "创建用户", auth.VBaseAuth.PermCreate("user"), create)
Router.Get("/{user_id}", "获取用户详情", auth.VBaseAuth.PermRead("user"), get)
Router.Patch("/{user_id}", "更新用户", auth.VBaseAuth.PermWrite("user"), patch)
Router.Delete("/{user_id}", "删除用户", auth.VBaseAuth.PermWrite("user"), del)
Router.Patch("/{user_id}/status", "更新用户状态", auth.VBaseAuth.PermWrite("user"), updateStatus)
Router.Get("/{user_id}/roles", "Get User Roles", auth.VBaseAuth.PermRead("user"), getRoles)
Router.Put("/{user_id}/roles", "Update User Roles", auth.VBaseAuth.PermWrite("user"), updateRoles)
Router.Get("/{user_id}/permissions", "Get User Permissions", auth.VBaseAuth.PermRead("user"), getPermissions)
Router.Put("/{user_id}/permissions", "Update User Permissions", auth.VBaseAuth.PermWrite("user"), updatePermissions)
}