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

40 lines
961 B
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 { GetEmails, StoreEmail } from "~/server/services/email.service";
2025-08-28 18:27:07 +02:00
import { genMail, type MailsTemplates } from "~/server/services/mailer";
import { zUserId } from "~/server/utils/zod_types";
2025-08-04 17:45:44 +02:00
export const comunicazioniRouter = createTRPCRouter({
2025-08-28 18:27:07 +02:00
storeEmail: publicProcedure
.input(
z.object({
userId: zUserId,
data: z.custom<MailsTemplates>(),
}),
)
.mutation(async ({ input }) => {
return await StoreEmail({
userId: input.userId,
data: input.data,
});
}),
getEmails: publicProcedure
.input(z.object({ userId: zUserId }))
.query(async ({ input }) => {
return await GetEmails({
userId: input.userId,
});
}),
genEmail: publicProcedure
.input(
z.object({
mail: z.custom<MailsTemplates>(),
}),
)
.query(async ({ input }) => {
return await genMail({
...input.mail,
});
}),
2025-08-04 17:45:44 +02:00
});