Skip to content

Commit 800bf3a

Browse files
authored
quick fixes to assignReviewers (#961)
* quick fixes to assignreviewers * fixed non existant fields conditional statements for assignReviewers * need to fix: reviewer1 & 2 have same name * fixed duplicate names
1 parent 08b75db commit 800bf3a

File tree

1 file changed

+38
-9
lines changed

1 file changed

+38
-9
lines changed

middlewares/hacker.middleware.js

Lines changed: 38 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -758,15 +758,21 @@ async function assignReviewers(req, res, next) {
758758
const REVIEWER_NAMES = req.body.names;
759759
console.log('Reviewer names:', REVIEWER_NAMES);
760760

761-
const cutoff = new Date('2025-11-27T17:23:59.000Z'); // EDIT: set your desired cutoff date here
761+
const cutoff = new Date('2025-11-17T23:59:59.000Z'); // EDIT: set your desired cutoff date here
762762
const cutoffObjectId = new ObjectId(Math.floor(cutoff.getTime() / 1000).toString(16) + "0000000000000000");
763763

764764
const hackerModel = require('../models/hacker.model');
765765

766766
// find all hackers created before the cutoff date
767767
const hackers = await hackerModel.find({
768+
$or: [
769+
{ reviewerStatus: 'None' },
770+
{ reviewerStatus2: 'None' },
771+
{ reviewerStatus: { $exists: false } },
772+
{ reviewerStatus2: { $exists: false } }
773+
],
768774
_id: { $lte: cutoffObjectId }
769-
}).select('_id');
775+
}).select('_id reviewerStatus reviewerStatus2 accountId reviewerName reviewerName2');
770776

771777
console.log('Found hackers:', hackers.length);
772778

@@ -795,14 +801,37 @@ async function assignReviewers(req, res, next) {
795801

796802
// assign reviewers to hackers
797803
for (const hacker of hackers) {
798-
const assignedReviewer1 = REVIEWER_NAMES[hackerIndex % revwiewerCount];
799-
const assignedReviewer2 = REVIEWER_NAMES[(hackerIndex + 1) % revwiewerCount];
800-
801-
assignments.push({ hackerId: hacker._id, reviewer: assignedReviewer1, reviewer2: assignedReviewer2 });
804+
let assignedReviewer1 = REVIEWER_NAMES[hackerIndex % revwiewerCount];
805+
let assignedReviewer2 = REVIEWER_NAMES[(hackerIndex + 1) % revwiewerCount];
802806

803-
updatePromises.push(
804-
Services.Hacker.updateOne(hacker._id, { reviewerName: assignedReviewer1, reviewerName2: assignedReviewer2 })
805-
);
807+
if (hacker.reviewerStatus !== HACKER_REVIEWER_STATUS_NONE && ("reviewerStatus" in hacker)) {
808+
if (hacker.reviewerName === assignedReviewer2) {
809+
assignedReviewer2 = assignedReviewer1;
810+
}
811+
812+
assignments.push({ hackerId: hacker._id, reviewer2: assignedReviewer2 });
813+
814+
updatePromises.push(
815+
Services.Hacker.updateOne(hacker._id, { reviewerName2: assignedReviewer2 })
816+
);
817+
} else if (hacker.reviewerStatus2 !== HACKER_REVIEWER_STATUS_NONE && ("reviewerStatus2" in hacker)) {
818+
819+
if (hacker.reviewerName2 === assignedReviewer1) {
820+
assignedReviewer1 = assignedReviewer2;
821+
}
822+
823+
assignments.push({ hackerId: hacker._id, reviewer: assignedReviewer1 });
824+
825+
updatePromises.push(
826+
Services.Hacker.updateOne(hacker._id, { reviewerName: assignedReviewer1 })
827+
);
828+
} else {
829+
assignments.push({ hackerId: hacker._id, reviewer: assignedReviewer1, reviewer2: assignedReviewer2 });
830+
831+
updatePromises.push(
832+
Services.Hacker.updateOne(hacker._id, { reviewerName: assignedReviewer1, reviewerName2: assignedReviewer2 })
833+
);
834+
}
806835

807836
hackerIndex++;
808837
}

0 commit comments

Comments
 (0)