infoalloggi-monorepo/apps/infoalloggi/src/server/api/routers/contact.ts

39 lines
1 KiB
TypeScript
Raw Normal View History

import { z } from "zod/v4";
2025-08-04 17:45:44 +02:00
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(),
2025-08-04 17:45:44 +02:00
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 };
}),
});