(teamId, userId, roleName, projects, canExport)
| 133 | |
| 134 | // add a new team role |
| 135 | addTeamRole(teamId, userId, roleName, projects, canExport) { |
| 136 | const teamRoleObj = { "team_id": teamId, "user_id": userId, "role": roleName }; |
| 137 | if (projects) teamRoleObj.projects = projects; |
| 138 | if (canExport) teamRoleObj.canExport = canExport; |
| 139 | |
| 140 | let gRole; |
| 141 | return db.TeamRole.findOne({ where: { team_id: teamId, user_id: userId } }) |
| 142 | .then((teamRole) => { |
| 143 | if (teamRole) { |
| 144 | gRole = teamRole; |
| 145 | // don't update if the role is the owner or teamAdmin |
| 146 | if (teamRole.role === "teamOwner" || teamRole.role === "teamAdmin") return teamRole; |
| 147 | |
| 148 | return db.TeamRole.update(teamRoleObj, { where: { id: teamRole.id } }); |
| 149 | } |
| 150 | |
| 151 | return db.TeamRole.create(teamRoleObj); |
| 152 | }) |
| 153 | .then((role) => { |
| 154 | if (!gRole) gRole = role; |
| 155 | return db.TeamRole.findByPk(role.id); |
| 156 | }) |
| 157 | .catch((error) => { |
| 158 | return new Promise((resolve, reject) => reject(error)); |
| 159 | }); |
| 160 | } |
| 161 | |
| 162 | addProjectAccess(teamId, userId, projectId, options = {}) { |
| 163 | let gTeamRole; |
no test coverage detected