fix: standaryzacja i bezpieczeństwo formularzy

- Ujednolicono kontakt/actions.ts (rate limit, escapeHtml, getMailClient, usunięto bezpośrednie Resend)
- Usunięto nieużywany plik lib/recaptcha.ts
- Naprawiono brak obsługi błędów API (Resend error) w zgloszenie-awarii, zamowienie i zapytanie-multisplit
- Dodano logowanie błędów w catch dla tych formularzy
- Posprzątano stare skrypty robocze z roota
This commit is contained in:
MichalC
2026-08-02 21:10:24 +02:00
parent c9e4283789
commit d11808b471
11 changed files with 46 additions and 6650 deletions
+9 -2
View File
@@ -48,7 +48,7 @@ export async function submitAwariaForm(data: Record<string, unknown>) {
email: data.email || '[email protected]',
});
await mailClient.resend.emails.send({
const { data: emailData, error } = await mailClient.resend.emails.send({
from: mailClient.fromEmail,
to: mailClient.toEmail,
subject: `${parsedData.isUrgent ? '🚨 PILNE — ' : ''}Zgłoszenie serwisowe: ${escapeHtml(parsedData.brand)} — ${escapeHtml(parsedData.city)}`,
@@ -80,8 +80,15 @@ export async function submitAwariaForm(data: Record<string, unknown>) {
</div>
`,
});
if (error) {
console.error("Resend Error:", error);
return { success: false, message: "Nie udało się wysłać wiadomości ze względu na błąd serwera pocztowego." };
}
console.log("Wysłano e-mail (ID):", emailData?.id);
return { success: true };
} catch {
} catch (error) {
console.error("Błąd formularza:", error);
return { success: false, message: 'Wystąpił błąd podczas wysyłania.' };
}
}