Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | 45x 69x 69x 69x 69x 69x 269x 19362x 238x 238x 238x 238x 69x 69x | import { logger } from "server/utils/logger";
import { ProgramItem } from "shared/types/models/programItem";
import { AssignmentLotterySignup } from "server/types/userTypes";
export const getLotterySignupProgramItems = (
startingProgramItems: readonly ProgramItem[],
lotterySignups: readonly AssignmentLotterySignup[],
): ProgramItem[] => {
logger.debug("Get selected program items");
const lotterySignupProgramItems: ProgramItem[] = [];
let minAttendance = 0;
let maxAttendance = 0;
// Get valid program items from program items that are starting and program items that have lottery signups
for (const startingProgramItem of startingProgramItems) {
for (const lotterySignup of lotterySignups) {
if (startingProgramItem.programItemId === lotterySignup.programItemId) {
lotterySignupProgramItems.push(startingProgramItem);
minAttendance += startingProgramItem.minAttendance;
maxAttendance += startingProgramItem.maxAttendance;
break;
}
}
}
logger.debug(
`Found ${lotterySignupProgramItems.length} program items that have lottery signups and ${minAttendance}-${maxAttendance} available seats`,
);
return lotterySignupProgramItems;
};
|