(req, res)
| 163 | }; |
| 164 | |
| 165 | const updateTaskRequests = async (req, res) => { |
| 166 | try { |
| 167 | const { taskRequestId, user } = req.body; |
| 168 | if (!taskRequestId) { |
| 169 | return res.boom.badRequest("taskRequestId not provided"); |
| 170 | } |
| 171 | |
| 172 | const { action = TASK_REQUEST_ACTIONS.APPROVE } = req.query; |
| 173 | |
| 174 | let updateTaskRequestResponse = {}; |
| 175 | switch (action) { |
| 176 | case TASK_REQUEST_ACTIONS.APPROVE: { |
| 177 | updateTaskRequestResponse = await taskRequestsModel.approveTaskRequest(taskRequestId, user, req.userData.id); |
| 178 | break; |
| 179 | } |
| 180 | case TASK_REQUEST_ACTIONS.REJECT: { |
| 181 | updateTaskRequestResponse = await taskRequestsModel.rejectTaskRequest(taskRequestId, req.userData.id); |
| 182 | break; |
| 183 | } |
| 184 | default: { |
| 185 | return res.boom.badRequest("Unknown action"); |
| 186 | } |
| 187 | } |
| 188 | |
| 189 | if (updateTaskRequestResponse.taskRequestNotFound) { |
| 190 | return res.boom.badRequest("Task request not found."); |
| 191 | } |
| 192 | if (updateTaskRequestResponse.isUserInvalid) { |
| 193 | return res.boom.badRequest("User request not available."); |
| 194 | } |
| 195 | if (updateTaskRequestResponse.isTaskRequestInvalid) { |
| 196 | return res.boom.badRequest("Task request was previously approved or rejected."); |
| 197 | } |
| 198 | |
| 199 | if (action && action === TASK_REQUEST_ACTIONS.APPROVE) { |
| 200 | await updateUserStatusOnTaskUpdate(user.username); |
| 201 | } |
| 202 | |
| 203 | const taskRequestLog = { |
| 204 | type: "taskRequests", |
| 205 | meta: { |
| 206 | taskRequestId: taskRequestId, |
| 207 | action: "update", |
| 208 | subAction: action, |
| 209 | userId: req.userData.id, |
| 210 | createdAt: Date.now(), |
| 211 | lastModifiedBy: req.userData.id, |
| 212 | lastModifiedAt: Date.now(), |
| 213 | }, |
| 214 | body: updateTaskRequestResponse.taskRequest, |
| 215 | }; |
| 216 | await addLog(taskRequestLog.type, taskRequestLog.meta, taskRequestLog.body); |
| 217 | |
| 218 | return res.status(200).json({ |
| 219 | message: `Task updated successfully.`, |
| 220 | taskRequest: updateTaskRequestResponse?.taskRequest, |
| 221 | }); |
| 222 | } catch (err) { |
nothing calls this directly
no test coverage detected