async function getIdentityIdForReminderCode()

in src/cancel-reminders/lib/db.ts [4:38]


async function getIdentityIdForReminderCode(
	reminderCode: string,
	pool: Pool,
): Promise<string | null> {
	const recurringQuery: QueryConfig = {
		text: `
			SELECT identity_id::text FROM recurring_reminder_signups
			WHERE reminder_code = $1
		`,
		values: [reminderCode],
	};

	const recurringResult = await runWithLogging(recurringQuery, pool);

	if (recurringResult.rows.length > 0) {
		return recurringResult.rows[0].identity_id as string;
	} else {
		const oneOffQuery: QueryConfig = {
			text: `
			SELECT identity_id::text FROM one_off_reminder_signups
			WHERE reminder_code = $1
		`,
			values: [reminderCode],
		};

		const oneOffResult = await runWithLogging(oneOffQuery, pool);

		if (oneOffResult.rows.length > 0) {
			return oneOffResult.rows[0].identity_id as string;
		}
	}

	console.warn(`No row found for reminder_code ${reminderCode}`);
	return null;
}