Skip to content

Commit

Permalink
fix: add logs for failure cases and fix check for same old and new de…
Browse files Browse the repository at this point in the history
…adline
  • Loading branch information
pankajjs committed Jan 16, 2025
1 parent c0742e5 commit bd71a2b
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 3 deletions.
7 changes: 6 additions & 1 deletion constants/logs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,12 @@ export const logType = {
EXTENSION_REQUESTS: "extensionRequests",
TASK: "task",
TASK_REQUESTS: "taskRequests",
USER_DETAILS_UPDATED: "USER_DETAILS_UPDATED",
USER_DETAILS_UPDATED: "USER_DETAILS_UPDATED",
REQUEST_DOES_NOT_EXIST:"REQUEST_DOES_NOT_EXIST",
UNAUTHORIZED_TO_UPDATE_REQUEST: "UNAUTHORIZED_TO_UPDATE_REQUEST",
INVALID_REQUEST_TYPE: "INVALID_REQUEST_TYPE",
PENDING_REQUEST_CAN_BE_UPDATED: "PENDING_REQUEST_CAN_BE_UPDATED",
INVALID_REQUEST_DEADLINE: "INVALID_REQUEST_DEADLINE",
...REQUEST_LOG_TYPE,
};

Expand Down
22 changes: 20 additions & 2 deletions controllers/onboardingExtension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ import {
import { convertDateStringToMilliseconds, getNewDeadline } from "../utils/requests";
import { convertDaysToMilliseconds } from "../utils/time";
import firestore from "../utils/firestore";
import { logType } from "../constants/logs";
const requestModel = firestore.collection("requests");

/**
Expand Down Expand Up @@ -236,24 +237,41 @@ export const updateOnboardingExtensionRequestController = async (
const extensionRequestDoc = await requestModel.doc(id).get();

if(!extensionRequestDoc.exists){
await addLog(logType.REQUEST_DOES_NOT_EXIST, { id }, { message: REQUEST_DOES_NOT_EXIST });
return res.boom.notFound(REQUEST_DOES_NOT_EXIST);
}

const extensionRequest = extensionRequestDoc.data() as OnboardingExtension;

if(!isSuperuser && lastModifiedBy !== extensionRequest.userId) {
await addLog(logType.UNAUTHORIZED_TO_UPDATE_REQUEST,
{ lastModifiedBy, userId: extensionRequest.userId },
{ message: UNAUTHORIZED_TO_UPDATE_REQUEST }
);
return res.boom.forbidden(UNAUTHORIZED_TO_UPDATE_REQUEST);
}

if(extensionRequest.type !== REQUEST_TYPE.ONBOARDING) {
return res.boom.badRequest(INVALID_REQUEST_TYPE)
await addLog(logType.INVALID_REQUEST_TYPE,
{ type: extensionRequest.type },
{ message: INVALID_REQUEST_TYPE }
);
return res.boom.badRequest(INVALID_REQUEST_TYPE);
}

if(extensionRequest.state != REQUEST_STATE.PENDING){
await addLog(logType.PENDING_REQUEST_CAN_BE_UPDATED,
{ state: extensionRequest.state },
{ message:PENDING_REQUEST_UPDATED }
);
return res.boom.badRequest(PENDING_REQUEST_UPDATED);
}

if(extensionRequest.oldEndsOn > body.newEndsOn) {
if(extensionRequest.oldEndsOn >= body.newEndsOn) {
await addLog(logType.INVALID_REQUEST_DEADLINE,
{ oldEndsOn: extensionRequest.oldEndsOn, newEndsOn: body.newEndsOn },
{ message: INVALID_REQUEST_DEADLINE }
);
return res.boom.badRequest(INVALID_REQUEST_DEADLINE);
}

Expand Down

0 comments on commit bd71a2b

Please sign in to comment.