mirror of
https://github.com/documenso/documenso.git
synced 2025-11-16 01:32:06 +10:00
chore: refactor mail router
This commit is contained in:
@ -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">
|
||||||
|
|||||||
@ -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.',
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
});
|
|
||||||
23
packages/trpc/server/mail-router/router.ts
Normal file
23
packages/trpc/server/mail-router/router.ts
Normal 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.',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
});
|
||||||
@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user