This commit is contained in:
Wenkai Yin 2016-09-19 17:58:29 +08:00
parent 511b9aec5b
commit 2a2a9feee2
2 changed files with 17 additions and 8 deletions

View File

@ -142,14 +142,23 @@ func (pma *ProjectMemberAPI) Post() {
return return
} }
for _, rid := range req.Roles { if len(req.Roles) <= 0 || len(req.Roles) > 1 {
err = dao.AddProjectMember(projectID, userID, int(rid)) pma.CustomAbort(http.StatusBadRequest, "only one role is supported")
}
rid := req.Roles[0]
if !(rid == models.PROJECTADMIN ||
rid == models.DEVELOPER ||
rid == models.GUEST) {
pma.CustomAbort(http.StatusBadRequest, "invalid role")
}
err = dao.AddProjectMember(projectID, userID, rid)
if err != nil { if err != nil {
log.Errorf("Failed to update DB to add project user role, project id: %d, user id: %d, role id: %d", projectID, userID, rid) log.Errorf("Failed to update DB to add project user role, project id: %d, user id: %d, role id: %d", projectID, userID, rid)
pma.RenderError(http.StatusInternalServerError, "Failed to update data in database") pma.RenderError(http.StatusInternalServerError, "Failed to update data in database")
return return
} }
}
} }
// Put ... // Put ...

View File

@ -314,7 +314,7 @@ paths:
description: Relevant project ID. description: Relevant project ID.
- name: roles - name: roles
in: body in: body
description: Role members for adding to relevant project. description: Role members for adding to relevant project. Only one role is supported in the role list.
schema: schema:
$ref: '#/definitions/RoleParam' $ref: '#/definitions/RoleParam'
tags: tags: