Add phone number field and WhatsApp/copy message buttons for participants

This commit is contained in:
2026-01-06 02:56:35 +01:00
parent 0637267ad5
commit 427da6452a
3 changed files with 105 additions and 25 deletions

View File

@@ -197,7 +197,7 @@ function generateToken(): string {
// Add participant to questionnaire
router.post('/questionnaires/:id/participants', (req: Request, res: Response) => {
const { name } = req.body;
const { name, phone } = req.body;
const questionnaire = questionnaireOps.findById(parseInt(req.params.id));
if (!questionnaire) {
@@ -210,13 +210,16 @@ router.post('/questionnaires/:id/participants', (req: Request, res: Response) =>
return;
}
// Clean phone number (remove spaces, keep + and digits)
const cleanPhone = phone?.trim() ? phone.trim().replace(/[^\d+]/g, '') : null;
// Generate unique token
let token = generateToken();
while (!participantOps.isTokenAvailable(token)) {
token = generateToken();
}
const id = participantOps.create(questionnaire.id, name.trim(), token);
const id = participantOps.create(questionnaire.id, name.trim(), cleanPhone, token);
const participant = participantOps.findById(id);
res.json({ success: true, participant });