infoalloggi-monorepo/apps/infoalloggi/src/server/api/routers/contact.ts
Marco Pedone 9314026817 refactor: update zod imports to version 4 and adjust error handling
- Changed all zod imports from "zod" to "zod/v4" across multiple files.
- Updated error handling in forms to use new zod error configuration.
- Refactored custom error mapping to align with zod v4 changes.
- Adjusted password validation logic to utilize new zod features.
- Cleaned up unused locale error mapping code.
- Enhanced type definitions for async iterables in zod utility functions.
2025-08-07 14:50:40 +02:00

38 lines
1 KiB
TypeScript

import { z } from "zod/v4";
import { createTRPCRouter, publicProcedure } from "~/server/api/trpc";
import { NewMail } from "~/server/services/mailer";
// Create a new ratelimiter, that allows 10 requests per 10 seconds
/*
const ratelimit = new RateLimiterHandler({
windowSize: 10,
maxRequests: 10,
analytics: true,
});
*/
export const contactRouter = createTRPCRouter({
postContact: publicProcedure
.input(
z.object({
nome: z.string(),
cognome: z.string(),
email: z.email(),
telefono: z.string(),
messaggio: z.string(),
}),
)
.mutation(async ({ input }) => {
await NewMail({
to: "web@infoalloggi.it",
subject: `Richiesta di contatto da ${input.nome}`,
mailType: "contattoAdminEmail",
props: {
nome: input.nome,
cognome: input.cognome,
email: input.email,
telefono: input.telefono,
messaggio: input.messaggio,
},
});
return { success: true };
}),
});