fix api
This commit is contained in:
@@ -313,3 +313,21 @@ func CheckProjectUserInRole(username, projectId string, roles []string) error {
|
||||
}
|
||||
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) {
|
||||
err := devops.CheckProjectUserInRole(username, projectId, devops.AllRoleSlice)
|
||||
role,err := devops.GetProjectUserRole(username,projectId)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
return nil, restful.NewError(http.StatusForbidden, err.Error())
|
||||
}
|
||||
dbconn := devops_mysql.OpenDatabase()
|
||||
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
|
||||
return GetDevopsRoleSimpleRules(role), nil
|
||||
}
|
||||
|
||||
func GetDevopsRoleSimpleRules(role string) []models.SimpleRule {
|
||||
|
||||
Reference in New Issue
Block a user