|
1 | 1 | const { INTERNAL_SERVER_ERROR, SOMETHING_WENT_WRONG } = require("../constants/errorMessages");
|
2 | 2 | const { TASK_REQUEST_TYPE } = require("../constants/taskRequests");
|
| 3 | +const { addLog } = require("../models/logs"); |
3 | 4 | const taskRequestsModel = require("../models/taskRequests");
|
4 | 5 | const tasksModel = require("../models/tasks.js");
|
5 | 6 | const { updateUserStatusOnTaskUpdate } = require("../models/userStatus");
|
@@ -95,12 +96,28 @@ const addTaskRequests = async (req, res) => {
|
95 | 96 | }
|
96 | 97 | }
|
97 | 98 | const newTaskRequest = await taskRequestsModel.createRequest(taskRequestData, req.userData.username);
|
| 99 | + |
98 | 100 | if (newTaskRequest.isCreationRequestApproved) {
|
99 | 101 | return res.boom.conflict("Task exists for the given issue.");
|
100 | 102 | }
|
101 | 103 | if (newTaskRequest.alreadyRequesting) {
|
102 | 104 | return res.boom.badRequest("Task was already requested");
|
103 | 105 | }
|
| 106 | + |
| 107 | + const taskRequestLog = { |
| 108 | + type: "taskRequests", |
| 109 | + meta: { |
| 110 | + taskRequestId: newTaskRequest.id, |
| 111 | + action: "create", |
| 112 | + createdBy: req.userData.username, |
| 113 | + createdAt: Date.now(), |
| 114 | + lastModifiedBy: req.userData.username, |
| 115 | + lastModifiedAt: Date.now(), |
| 116 | + }, |
| 117 | + body: newTaskRequest.taskRequest, |
| 118 | + }; |
| 119 | + await addLog(taskRequestLog.type, taskRequestLog.meta, taskRequestLog.body); |
| 120 | + |
104 | 121 | const statusCode = newTaskRequest.isCreate ? 201 : 200;
|
105 | 122 | return res.status(statusCode).json({
|
106 | 123 | message: "Task request successful.",
|
@@ -168,8 +185,24 @@ const approveTaskRequest = async (req, res) => {
|
168 | 185 | if (response.isTaskRequestInvalid) {
|
169 | 186 | return res.boom.badRequest("Task request was previously approved or rejected.");
|
170 | 187 | }
|
| 188 | + |
171 | 189 | await updateUserStatusOnTaskUpdate(user.username);
|
172 | 190 |
|
| 191 | + const taskRequestLog = { |
| 192 | + type: "taskRequests", |
| 193 | + meta: { |
| 194 | + taskRequestId: taskRequestId, |
| 195 | + action: "update", |
| 196 | + subAction: "approve", |
| 197 | + createdBy: req.userData.username, |
| 198 | + createdAt: Date.now(), |
| 199 | + lastModifiedBy: req.userData.username, |
| 200 | + lastModifiedAt: Date.now(), |
| 201 | + }, |
| 202 | + body: response.taskRequest, |
| 203 | + }; |
| 204 | + await addLog(taskRequestLog.type, taskRequestLog.meta, taskRequestLog.body); |
| 205 | + |
173 | 206 | return res.status(200).json({
|
174 | 207 | message: `Task successfully assigned to user ${response.approvedTo}`,
|
175 | 208 | taskRequest: response.taskRequest,
|
|
0 commit comments