fix api
This commit is contained in:
@@ -313,3 +313,21 @@ func CheckProjectUserInRole(username, projectId string, roles []string) error {
|
|||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetProjectUserRole(username, projectId string) (string ,error) {
|
||||||
|
if username == KS_ADMIN {
|
||||||
|
return ProjectOwner,nil
|
||||||
|
}
|
||||||
|
dbconn := devops_mysql.OpenDatabase()
|
||||||
|
membership := &DevOpsProjectMembership{}
|
||||||
|
err := dbconn.Select(DevOpsProjectMembershipColumns...).
|
||||||
|
From(DevOpsProjectMembershipTableName).
|
||||||
|
Where(db.And(
|
||||||
|
db.Eq(DevOpsProjectMembershipUsernameColumn, username),
|
||||||
|
db.Eq(DevOpsProjectMembershipProjectIdColumn, projectId))).LoadOne(membership)
|
||||||
|
if err != nil {
|
||||||
|
return "",err
|
||||||
|
}
|
||||||
|
|
||||||
|
return membership.Role,nil
|
||||||
|
}
|
||||||
|
|||||||
@@ -254,26 +254,12 @@ func CreateDevopsProject(username string, workspace string, req *devops.DevOpsPr
|
|||||||
}
|
}
|
||||||
|
|
||||||
func GetUserDevopsSimpleRules(username, projectId string) ([]models.SimpleRule, error) {
|
func GetUserDevopsSimpleRules(username, projectId string) ([]models.SimpleRule, error) {
|
||||||
err := devops.CheckProjectUserInRole(username, projectId, devops.AllRoleSlice)
|
role,err := devops.GetProjectUserRole(username,projectId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
glog.Errorf("%+v", err)
|
glog.Errorf("%+v", err)
|
||||||
return nil, restful.NewError(http.StatusForbidden, err.Error())
|
return nil, restful.NewError(http.StatusForbidden, err.Error())
|
||||||
}
|
}
|
||||||
dbconn := devops_mysql.OpenDatabase()
|
return GetDevopsRoleSimpleRules(role), nil
|
||||||
memberships := &devops.DevOpsProjectMembership{}
|
|
||||||
err = dbconn.Select(devops.DevOpsProjectMembershipColumns...).
|
|
||||||
From(devops.DevOpsProjectMembershipTableName).
|
|
||||||
Where(db.And(
|
|
||||||
db.Eq(devops.DevOpsProjectMembershipProjectIdColumn, projectId),
|
|
||||||
db.Eq(devops.DevOpsProjectMembershipUsernameColumn, username))).
|
|
||||||
LoadOne(&memberships)
|
|
||||||
if err != nil {
|
|
||||||
glog.Errorf("%+v", err)
|
|
||||||
|
|
||||||
return nil, restful.NewError(http.StatusInternalServerError, err.Error())
|
|
||||||
}
|
|
||||||
|
|
||||||
return GetDevopsRoleSimpleRules(memberships.Role), nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetDevopsRoleSimpleRules(role string) []models.SimpleRule {
|
func GetDevopsRoleSimpleRules(role string) []models.SimpleRule {
|
||||||
|
|||||||
Reference in New Issue
Block a user