chore: refactor mail router

This commit is contained in:
Ephraim Atta-Duncan
2023-06-21 13:53:32 +00:00
parent 02569619f9
commit 2798cd624d
6 changed files with 26 additions and 29 deletions

View File

@ -5,7 +5,7 @@ import React from 'react';
import { trpc } from '@documenso/trpc/react'; import { trpc } from '@documenso/trpc/react';
export default function Send() { export default function Send() {
const { mutateAsync: sendMail } = trpc.document.sendEmail.useMutation(); const { mutateAsync: sendMail } = trpc.mail.send.useMutation();
return ( return (
<div className="p-20"> <div className="p-20">

View File

@ -1,26 +0,0 @@
import { TRPCError } from '@trpc/server';
import { sendMail } from '@documenso/lib/server-only/document/send-document';
import { authenticatedProcedure, router } from '../trpc';
import { ZSendMailMutationSchema } from './schema';
export const documentRouter = router({
sendEmail: authenticatedProcedure
.input(ZSendMailMutationSchema)
.mutation(async ({ input, ctx }) => {
try {
const { email } = input;
console.log('Send Mail Context', ctx);
return await sendMail({ email });
} catch (err) {
console.error(err);
throw new TRPCError({
code: 'BAD_REQUEST',
message: 'We were unable to send an email.',
});
}
}),
});

View File

@ -0,0 +1,23 @@
import { TRPCError } from '@trpc/server';
import { sendMail } from '@documenso/lib/server-only/mail/send';
import { authenticatedProcedure, router } from '../trpc';
import { ZSendMailMutationSchema } from './schema';
export const mailRouter = router({
send: authenticatedProcedure.input(ZSendMailMutationSchema).mutation(async ({ input }) => {
try {
const { email } = input;
return await sendMail({ email });
} catch (err) {
console.error(err);
throw new TRPCError({
code: 'BAD_REQUEST',
message: 'We were unable to send an email.',
});
}
}),
});

View File

@ -1,5 +1,5 @@
import { authRouter } from './auth-router/router'; import { authRouter } from './auth-router/router';
import { documentRouter } from './document-router/router'; import { mailRouter } from './mail-router/router';
import { profileRouter } from './profile-router/router'; import { profileRouter } from './profile-router/router';
import { procedure, router } from './trpc'; import { procedure, router } from './trpc';
@ -7,7 +7,7 @@ export const appRouter = router({
hello: procedure.query(() => 'Hello, world!'), hello: procedure.query(() => 'Hello, world!'),
auth: authRouter, auth: authRouter,
profile: profileRouter, profile: profileRouter,
document: documentRouter, mail: mailRouter,
}); });
export type AppRouter = typeof appRouter; export type AppRouter = typeof appRouter;