fix26.2: полная UI-полировка peer/dashboard и завершение i18n
This commit is contained in:
@@ -13,6 +13,18 @@ import (
|
||||
"hy2xs-admin/util"
|
||||
)
|
||||
|
||||
func adminClaimsFromContext(c *gin.Context) (bo.AccountBo, bool) {
|
||||
if c == nil {
|
||||
return bo.AccountBo{}, false
|
||||
}
|
||||
v, ok := c.Get("adminClaims")
|
||||
if !ok {
|
||||
return bo.AccountBo{}, false
|
||||
}
|
||||
claims, castOK := v.(bo.AccountBo)
|
||||
return claims, castOK
|
||||
}
|
||||
|
||||
func Login(username string, plainPassword string) (string, bool, error) {
|
||||
admin, err := dao.GetAdminUser("username = ? and status = 1", username)
|
||||
if err != nil {
|
||||
@@ -45,11 +57,15 @@ func Login(username string, plainPassword string) (string, bool, error) {
|
||||
}
|
||||
|
||||
func GetAdminInfo(c *gin.Context) (vo.AdminInfoVo, error) {
|
||||
myClaims, err := ParseToken(GetToken(c))
|
||||
if err != nil {
|
||||
return vo.AdminInfoVo{}, err
|
||||
claims, ok := adminClaimsFromContext(c)
|
||||
if !ok {
|
||||
myClaims, err := ParseToken(GetToken(c))
|
||||
if err != nil {
|
||||
return vo.AdminInfoVo{}, err
|
||||
}
|
||||
claims = myClaims.Admin
|
||||
}
|
||||
admin, err := dao.GetAdminUser("id = ?", myClaims.Admin.Id)
|
||||
admin, err := dao.GetAdminUser("id = ?", claims.Id)
|
||||
if err != nil {
|
||||
return vo.AdminInfoVo{}, err
|
||||
}
|
||||
@@ -57,7 +73,7 @@ func GetAdminInfo(c *gin.Context) (vo.AdminInfoVo, error) {
|
||||
return vo.AdminInfoVo{}, errors.New("this account has been disabled")
|
||||
}
|
||||
force := admin.ForcePasswordChange != nil && *admin.ForcePasswordChange != 0
|
||||
return vo.AdminInfoVo{Id: myClaims.Admin.Id, Username: myClaims.Admin.Username, Roles: myClaims.Admin.Roles, ForcePasswordChange: force}, nil
|
||||
return vo.AdminInfoVo{Id: claims.Id, Username: claims.Username, Roles: claims.Roles, ForcePasswordChange: force}, nil
|
||||
}
|
||||
|
||||
func UpdateAdminLastLoginAt(id int64, loginAt int64) error {
|
||||
@@ -100,4 +116,3 @@ func ChangeAdminPassword(c *gin.Context, oldPassword string, newPassword string)
|
||||
func GetAdminForTokenValidation(id int64) (entity.AdminUser, error) {
|
||||
return dao.GetAdminUser("id = ?", id)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user