mirror of https://github.com/veypi/OneAuth.git
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.
29 lines
1.2 KiB
Go
29 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() {
|
|
Router.Get("/", "用户列表", auth.VBaseAuth.Perm("user:read"), list)
|
|
Router.Post("/", "创建用户", auth.VBaseAuth.Perm("user:admin"), create)
|
|
Router.Get("/{user_id}", "获取用户详情", auth.VBaseAuth.PermWithOwner("user:read", "user_id"), get)
|
|
Router.Patch("/{user_id}", "更新用户", auth.VBaseAuth.PermWithOwner("user:update", "user_id"), patch)
|
|
Router.Delete("/{user_id}", "删除用户", auth.VBaseAuth.Perm("user:admin"), del)
|
|
Router.Patch("/{user_id}/status", "更新用户状态", auth.VBaseAuth.Perm("user:admin"), updateStatus)
|
|
|
|
Router.Get("/{user_id}/roles", "Get User Roles", auth.VBaseAuth.PermWithOwner("user:read", "user_id"), getRoles)
|
|
Router.Put("/{user_id}/roles", "Update User Roles", auth.VBaseAuth.Perm("user:admin"), updateRoles)
|
|
Router.Get("/{user_id}/permissions", "Get User Permissions", auth.VBaseAuth.PermWithOwner("user:read", "user_id"), getPermissions)
|
|
Router.Put("/{user_id}/permissions", "Update User Permissions", auth.VBaseAuth.Perm("user:admin"), updatePermissions)
|
|
}
|