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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | 1x 3x 3x 1x 3x 3x 1x 2x 2x 2x 3x 2x 2x 1x 2x | import { findProgramItems } from "server/features/program-item/programItemRepository";
import { saveSignupQuestion } from "server/features/settings/settingsRepository";
import { logger } from "server/utils/logger";
import { config } from "shared/config";
import { ProgramType } from "shared/types/models/programItem";
export const addSignupQuestions = async (): Promise<void> => {
const {
signupQuestions,
tournamentSignupQuestion,
tournamentSignupQuestionExcludeIds,
} = config.event();
const questionPromises = signupQuestions.map(async (signupQuestion) => {
await saveSignupQuestion(signupQuestion);
});
await Promise.all(questionPromises);
// Most tournaments have same private signup question where attendee contact details are asked
if (!tournamentSignupQuestion) {
return;
}
const programItemsResult = await findProgramItems();
Iif (!programItemsResult.ok) {
logger.error(
new Error(`Error finding program items: ${programItemsResult.error}`),
);
return;
}
const tournaments = programItemsResult.value
.filter((programItem) => programItem.programType === ProgramType.TOURNAMENT)
.filter(
(programItem) =>
!tournamentSignupQuestionExcludeIds.includes(programItem.programItemId),
);
const tournamentPromises = tournaments.map(async (tournament) => {
await saveSignupQuestion({
...tournamentSignupQuestion,
programItemId: tournament.programItemId,
});
});
await Promise.all(tournamentPromises);
};
|