chore: refactor sendMail to make it reusable

This commit is contained in:
Ephraim Atta-Duncan
2023-06-21 14:09:42 +00:00
parent 2798cd624d
commit 0456fe9826
5 changed files with 41 additions and 27 deletions

View File

@ -8,9 +8,13 @@ import { ZSendMailMutationSchema } from './schema';
export const mailRouter = router({
send: authenticatedProcedure.input(ZSendMailMutationSchema).mutation(async ({ input }) => {
try {
const { email } = input;
return await sendMail({ email });
return await sendMail({
template: input,
mail: {
from: '<hi@documenso>',
subject: 'Documeso Invite',
},
});
} catch (err) {
console.error(err);

View File

@ -2,6 +2,14 @@ import { z } from 'zod';
export const ZSendMailMutationSchema = z.object({
email: z.string().min(1).email(),
name: z.string().min(1).optional(),
firstName: z.string().min(1).optional(),
documentSigningLink: z.string().min(1).optional(),
documentName: z.string().min(1).optional(),
downloadLink: z.string().min(1).optional(),
reviewLink: z.string().min(1).optional(),
numberOfSigners: z.number().int().min(1).optional(),
type: z.enum(['invite', 'signed', 'completed']),
});
export type TSendMailMutationSchema = z.infer<typeof ZSendMailMutationSchema>;