mirror of
https://github.com/goharbor/harbor
synced 2025-04-22 19:10:40 +00:00
change code as the review reqired
This commit is contained in:
parent
d66a8f913e
commit
389a6037d5
@ -199,7 +199,7 @@ func (p *ProjectAPI) List() {
|
|||||||
p.ServeJSON()
|
p.ServeJSON()
|
||||||
}
|
}
|
||||||
|
|
||||||
// ToggleProjectPublic handles request POST /api/projects/:id/toggle_project_public
|
// ToggleProjectPulic handles request PUT /api/projects/:id/publicity
|
||||||
func (p *ProjectAPI) ToggleProjectPublic() {
|
func (p *ProjectAPI) ToggleProjectPublic() {
|
||||||
p.userID = p.ValidateUser()
|
p.userID = p.ValidateUser()
|
||||||
var req projectReq
|
var req projectReq
|
||||||
|
@ -280,7 +280,7 @@ func (ua *UserAPI) ChangePassword() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ToggleUserAdminRole handles Post api/users/{}/toggleadmin
|
// ToggleUserAdminRole handles PUT api/users/{}/toggleadmin
|
||||||
func (ua *UserAPI) ToggleUserAdminRole() {
|
func (ua *UserAPI) ToggleUserAdminRole() {
|
||||||
if !ua.IsAdmin {
|
if !ua.IsAdmin {
|
||||||
log.Warningf("current user, id: %d does not have admin role, can not update other user's role", ua.currentUserID)
|
log.Warningf("current user, id: %d does not have admin role, can not update other user's role", ua.currentUserID)
|
||||||
@ -288,12 +288,13 @@ func (ua *UserAPI) ToggleUserAdminRole() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
userQuery := models.User{UserID: ua.userID}
|
userQuery := models.User{UserID: ua.userID}
|
||||||
if err := dao.ToggleUserAdminRole(userQuery); err != nil {
|
ua.DecodeJSONReq(&userQuery)
|
||||||
|
if err := dao.ToggleUserAdminRole(userQuery.UserID,userQuery.HasAdminRole); err != nil {
|
||||||
log.Errorf("Error occurred in ToggleUserAdminRole: %v", err)
|
log.Errorf("Error occurred in ToggleUserAdminRole: %v", err)
|
||||||
ua.CustomAbort(http.StatusInternalServerError, "Internal error.")
|
ua.CustomAbort(http.StatusInternalServerError, "Internal error.")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// validate only validate when user register
|
||||||
func validate(user models.User) error {
|
func validate(user models.User) error {
|
||||||
|
|
||||||
if isIllegalLength(user.Username, 0, 20) {
|
if isIllegalLength(user.Username, 0, 20) {
|
||||||
@ -311,7 +312,7 @@ func validate(user models.User) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
//commonValidate validates information when user register or change their profile
|
//commonValidate validates email, realname, comment information when user register or change their profile
|
||||||
func commonValidate(user models.User) error {
|
func commonValidate(user models.User) error {
|
||||||
|
|
||||||
if len(user.Email) > 0 {
|
if len(user.Email) > 0 {
|
||||||
|
@ -112,7 +112,7 @@ func (l *Auth) Authenticate(m models.AuthModel) (*models.User, error) {
|
|||||||
u.Password = "12345678AbC"
|
u.Password = "12345678AbC"
|
||||||
u.Comment = "registered from LDAP."
|
u.Comment = "registered from LDAP."
|
||||||
if u.Email == "" {
|
if u.Email == "" {
|
||||||
u.Email = u.Username + "@vmware.com"
|
u.Email = u.Username + "@placeholder.com"
|
||||||
}
|
}
|
||||||
userID, err := dao.Register(u)
|
userID, err := dao.Register(u)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -17,7 +17,7 @@ package dao
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"strings"
|
"strings"
|
||||||
|
"github.com/astaxie/beego/orm"
|
||||||
"github.com/vmware/harbor/models"
|
"github.com/vmware/harbor/models"
|
||||||
"github.com/vmware/harbor/utils/log"
|
"github.com/vmware/harbor/utils/log"
|
||||||
)
|
)
|
||||||
|
11
dao/user.go
11
dao/user.go
@ -109,12 +109,13 @@ func ListUsers(query models.User) ([]models.User, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ToggleUserAdminRole gives a user admin role.
|
// ToggleUserAdminRole gives a user admin role.
|
||||||
func ToggleUserAdminRole(u models.User) error {
|
func ToggleUserAdminRole(userID, hasAdmin int) error {
|
||||||
o := GetOrmer()
|
o := GetOrmer()
|
||||||
|
queryParams := make([]interface{}, 1)
|
||||||
sql := `update user set sysadmin_flag = not sysadmin_flag where user_id = ?`
|
sql := `update user set sysadmin_flag = ? where user_id = ?`
|
||||||
|
queryParams = append(queryParams, hasAdmin)
|
||||||
r, err := o.Raw(sql, u.UserID).Exec()
|
queryParams = append(queryParams, userID)
|
||||||
|
r, err := o.Raw(sql, queryParams).Exec()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -55,12 +55,12 @@ func initRouters() {
|
|||||||
beego.Router("/api/projects/:pid/members/?:mid", &api.ProjectMemberAPI{})
|
beego.Router("/api/projects/:pid/members/?:mid", &api.ProjectMemberAPI{})
|
||||||
beego.Router("/api/projects/", &api.ProjectAPI{}, "get:List")
|
beego.Router("/api/projects/", &api.ProjectAPI{}, "get:List")
|
||||||
beego.Router("/api/projects/?:id", &api.ProjectAPI{})
|
beego.Router("/api/projects/?:id", &api.ProjectAPI{})
|
||||||
beego.Router("/api/projects/:id/publicity", &api.ProjectAPI{}, "post:ToggleProjectPublic")
|
beego.Router("/api/projects/:id/publicity", &api.ProjectAPI{}, "put:ToggleProjectPublic")
|
||||||
beego.Router("/api/statistics", &api.StatisticAPI{})
|
beego.Router("/api/statistics", &api.StatisticAPI{})
|
||||||
beego.Router("/api/projects/:id/logs/filter", &api.ProjectAPI{}, "post:FilterAccessLog")
|
beego.Router("/api/projects/:id/logs/filter", &api.ProjectAPI{}, "post:FilterAccessLog")
|
||||||
beego.Router("/api/users/?:id", &api.UserAPI{})
|
beego.Router("/api/users/?:id", &api.UserAPI{})
|
||||||
beego.Router("/api/users/:id/password", &api.UserAPI{}, "put:ChangePassword")
|
beego.Router("/api/users/:id/password", &api.UserAPI{}, "put:ChangePassword")
|
||||||
beego.Router("/api/users/:id/sysadmin", &api.UserAPI{}, "post:ToggleUserAdminRole")
|
beego.Router("/api/users/:id/sysadmin", &api.UserAPI{}, "put:ToggleUserAdminRole")
|
||||||
beego.Router("/api/repositories", &api.RepositoryAPI{})
|
beego.Router("/api/repositories", &api.RepositoryAPI{})
|
||||||
beego.Router("/api/repositories/tags", &api.RepositoryAPI{}, "get:GetTags")
|
beego.Router("/api/repositories/tags", &api.RepositoryAPI{}, "get:GetTags")
|
||||||
beego.Router("/api/repositories/manifests", &api.RepositoryAPI{}, "get:GetManifests")
|
beego.Router("/api/repositories/manifests", &api.RepositoryAPI{}, "get:GetManifests")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user