mirror of
https://github.com/yangjian102621/geekai.git
synced 2025-09-18 01:06:39 +08:00
feat(ui): 登录接口返回权限
This commit is contained in:
parent
5d4dd1e66f
commit
6d5579a8d6
@ -95,7 +95,31 @@ func (h *ManagerHandler) Login(c *gin.Context) {
|
|||||||
manager.LastLoginAt = time.Now().Unix()
|
manager.LastLoginAt = time.Now().Unix()
|
||||||
h.db.Model(&manager).Updates(manager)
|
h.db.Model(&manager).Updates(manager)
|
||||||
|
|
||||||
resp.SUCCESS(c, tokenString)
|
permissions := h.GetAdminSlugs(manager.Id)
|
||||||
|
var result = struct {
|
||||||
|
IsSuperAdmin bool `json:"is_super_admin"`
|
||||||
|
Token string `json:"token"`
|
||||||
|
Permissions []string `json:"permissions"`
|
||||||
|
}{
|
||||||
|
IsSuperAdmin: manager.Id == 1,
|
||||||
|
Token: tokenString,
|
||||||
|
Permissions: permissions,
|
||||||
|
}
|
||||||
|
|
||||||
|
resp.SUCCESS(c, result)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (h *ManagerHandler) GetAdminSlugs(userId uint) []string {
|
||||||
|
var permissions []string
|
||||||
|
err := h.db.Raw("SELECT distinct p.slug "+
|
||||||
|
"FROM chatgpt_admin_user_roles as ur "+
|
||||||
|
"LEFT JOIN chatgpt_admin_role_permissions as rp ON ur.role_id = rp.role_id "+
|
||||||
|
"LEFT JOIN chatgpt_admin_permissions as p ON rp.permission_id = p.id "+
|
||||||
|
"WHERE ur.admin_id = ?", userId).Scan(&permissions)
|
||||||
|
if err.Error == nil {
|
||||||
|
return []string{}
|
||||||
|
}
|
||||||
|
return permissions
|
||||||
}
|
}
|
||||||
|
|
||||||
// Logout 注销
|
// Logout 注销
|
||||||
|
Loading…
Reference in New Issue
Block a user