Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
jobily
Nightingale
提交
79ae96f1
N
Nightingale
项目概览
jobily
/
Nightingale
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
N
Nightingale
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
79ae96f1
编写于
11月 04, 2020
作者:
U
UlricQin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add some api
上级
ac6d269d
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
61 addition
and
0 deletion
+61
-0
src/models/role_global_user.go
src/models/role_global_user.go
+6
-0
src/models/role_operation.go
src/models/role_operation.go
+6
-0
src/modules/rdb/http/router.go
src/modules/rdb/http/router.go
+7
-0
src/modules/rdb/http/router_perm.go
src/modules/rdb/http/router_perm.go
+5
-0
src/modules/rdb/http/router_role.go
src/modules/rdb/http/router_role.go
+5
-0
src/modules/rdb/http/router_self.go
src/modules/rdb/http/router_self.go
+32
-0
未找到文件。
src/models/role_global_user.go
浏览文件 @
79ae96f1
...
...
@@ -5,6 +5,12 @@ type RoleGlobalUser struct {
UserId
int64
`json:"user_id" xorm:"'user_id'"`
}
func
RoleGlobalUserAll
()
([]
RoleGlobalUser
,
error
)
{
var
objs
[]
RoleGlobalUser
err
:=
DB
[
"rdb"
]
.
Find
(
&
objs
)
return
objs
,
err
}
// UserHasGlobalRole 查看某个用户是否有某个全局角色
func
UserHasGlobalRole
(
userId
int64
,
roleIds
[]
int64
)
(
bool
,
error
)
{
cnt
,
err
:=
DB
[
"rdb"
]
.
Where
(
"user_id=?"
,
userId
)
.
In
(
"role_id"
,
roleIds
)
.
Count
(
new
(
RoleGlobalUser
))
...
...
src/models/role_operation.go
浏览文件 @
79ae96f1
...
...
@@ -10,6 +10,12 @@ type RoleOperation struct {
Operation
string
`json:"operation"`
}
func
RoleOperationAll
()
([]
RoleOperation
,
error
)
{
var
objs
[]
RoleOperation
err
:=
DB
[
"rdb"
]
.
OrderBy
(
"id"
)
.
Find
(
&
objs
)
return
objs
,
err
}
func
OperationsOfRoles
(
rids
[]
int64
)
([]
string
,
error
)
{
if
len
(
rids
)
==
0
{
return
[]
string
{},
nil
...
...
src/modules/rdb/http/router.go
浏览文件 @
79ae96f1
...
...
@@ -177,5 +177,12 @@ func Config(r *gin.Engine) {
v1
.
POST
(
"/login"
,
v1Login
)
v1
.
POST
(
"/send-login-code-by-sms"
,
v1SendLoginCodeBySms
)
v1
.
POST
(
"/send-login-code-by-email"
,
v1SendLoginCodeByEmail
)
// 第三方系统获取某个用户的所有权限点
v1
.
GET
(
"/perms/global"
,
v1PermGlobalOps
)
// 第三方系统同步权限表的数据
v1
.
GET
(
"/table/sync/role-operation"
,
v1RoleOperationGets
)
v1
.
GET
(
"/table/sync/role-global-user"
,
v1RoleGlobalUserGets
)
}
}
src/modules/rdb/http/router_perm.go
浏览文件 @
79ae96f1
...
...
@@ -41,3 +41,8 @@ func v1CandoNodeOps(c *gin.Context) {
renderData
(
c
,
ret
,
nil
)
}
func
v1RoleGlobalUserGets
(
c
*
gin
.
Context
)
{
objs
,
err
:=
models
.
RoleGlobalUserAll
()
renderData
(
c
,
objs
,
err
)
}
src/modules/rdb/http/router_role.go
浏览文件 @
79ae96f1
...
...
@@ -142,3 +142,8 @@ func roleGlobalUsersUnbind(c *gin.Context) {
renderMessage
(
c
,
obj
.
UnbindUsers
(
f
.
Ids
))
}
func
v1RoleOperationGets
(
c
*
gin
.
Context
)
{
objs
,
err
:=
models
.
RoleOperationAll
()
renderData
(
c
,
objs
,
err
)
}
\ No newline at end of file
src/modules/rdb/http/router_self.go
浏览文件 @
79ae96f1
...
...
@@ -113,3 +113,35 @@ func permGlobalOps(c *gin.Context) {
renderData
(
c
,
operations
,
err
)
}
func
v1PermGlobalOps
(
c
*
gin
.
Context
)
{
user
,
err
:=
models
.
UserGet
(
"username=?"
,
queryStr
(
c
,
"username"
))
dangerous
(
err
)
operations
:=
make
(
map
[
string
]
struct
{})
if
user
.
IsRoot
==
1
{
for
_
,
system
:=
range
config
.
GlobalOps
{
for
_
,
group
:=
range
system
.
Groups
{
for
_
,
op
:=
range
group
.
Ops
{
operations
[
op
.
En
]
=
struct
{}{}
}
}
}
renderData
(
c
,
operations
,
nil
)
return
}
roleIds
,
err
:=
models
.
RoleIdsGetByUserId
(
user
.
Id
)
dangerous
(
err
)
ops
,
err
:=
models
.
OperationsOfRoles
(
roleIds
)
dangerous
(
err
)
for
_
,
op
:=
range
ops
{
operations
[
op
]
=
struct
{}{}
}
renderData
(
c
,
operations
,
err
)
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录