mirror of
https://github.com/documenso/documenso.git
synced 2025-11-10 20:42:34 +10:00
80 lines
2.1 KiB
TypeScript
80 lines
2.1 KiB
TypeScript
import { TRPCError } from '@trpc/server';
|
|
|
|
import { forgotPassword } from '@documenso/lib/server-only/user/forgot-password';
|
|
import { updatePassword } from '@documenso/lib/server-only/user/update-password';
|
|
import { updateProfile } from '@documenso/lib/server-only/user/update-profile';
|
|
|
|
import { authenticatedProcedure, procedure, router } from '../trpc';
|
|
import {
|
|
ZForgotPasswordFormSchema,
|
|
ZUpdatePasswordMutationSchema,
|
|
ZUpdateProfileMutationSchema,
|
|
} from './schema';
|
|
|
|
export const profileRouter = router({
|
|
updateProfile: authenticatedProcedure
|
|
.input(ZUpdateProfileMutationSchema)
|
|
.mutation(async ({ input, ctx }) => {
|
|
try {
|
|
const { name, signature } = input;
|
|
|
|
return await updateProfile({
|
|
userId: ctx.user.id,
|
|
name,
|
|
signature,
|
|
});
|
|
} catch (err) {
|
|
console.error(err);
|
|
|
|
throw new TRPCError({
|
|
code: 'BAD_REQUEST',
|
|
message:
|
|
'We were unable to update your profile. Please review the information you provided and try again.',
|
|
});
|
|
}
|
|
}),
|
|
|
|
updatePassword: authenticatedProcedure
|
|
.input(ZUpdatePasswordMutationSchema)
|
|
.mutation(async ({ input, ctx }) => {
|
|
try {
|
|
const { password } = input;
|
|
|
|
return await updatePassword({
|
|
userId: ctx.user.id,
|
|
password,
|
|
});
|
|
} catch (err) {
|
|
let message =
|
|
'We were unable to update your profile. Please review the information you provided and try again.';
|
|
|
|
if (err instanceof Error) {
|
|
message = err.message;
|
|
}
|
|
|
|
throw new TRPCError({
|
|
code: 'BAD_REQUEST',
|
|
message,
|
|
});
|
|
}
|
|
}),
|
|
|
|
forgotPassword: procedure.input(ZForgotPasswordFormSchema).mutation(async ({ input }) => {
|
|
try {
|
|
const { email } = input;
|
|
|
|
return await forgotPassword({
|
|
email,
|
|
});
|
|
} catch (err) {
|
|
console.error(err);
|
|
|
|
throw new TRPCError({
|
|
code: 'BAD_REQUEST',
|
|
message:
|
|
'We were unable to update your profile. Please review the information you provided and try again.',
|
|
});
|
|
}
|
|
}),
|
|
});
|