MCPcopy Create free account
hub / github.com/RealDevSquad/website-backend / updateTaskRequests

Function updateTaskRequests

controllers/tasksRequests.js:165–226  ·  view source on GitHub ↗
(req, res)

Source from the content-addressed store, hash-verified

163};
164
165const 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) {

Callers

nothing calls this directly

Calls 2

addLogFunction · 0.50

Tested by

no test coverage detected