chore: encrypt and decrypt email addr

This commit is contained in:
Catalin Pit
2024-01-25 17:24:37 +02:00
parent 49ecfc1a2c
commit 311c8da8fc
3 changed files with 8 additions and 7 deletions

View File

@ -18,7 +18,7 @@ export default function UnverifiedAccount() {
const searchParams = useSearchParams(); const searchParams = useSearchParams();
const { toast } = useToast(); const { toast } = useToast();
const token = searchParams?.get('t') ?? ''; const encryptedEmail = searchParams?.get('t') ?? ''; // TODO: choose a better name instead of t
const { mutateAsync: sendConfirmationEmail } = trpc.profile.sendConfirmationEmail.useMutation(); const { mutateAsync: sendConfirmationEmail } = trpc.profile.sendConfirmationEmail.useMutation();
@ -26,9 +26,7 @@ export default function UnverifiedAccount() {
try { try {
setIsButtonDisabled(true); setIsButtonDisabled(true);
// TODO: decrypt email and send it await sendConfirmationEmail({ email: encryptedEmail });
await sendConfirmationEmail({ email: token ?? '' });
toast({ toast({
title: 'Success', title: 'Success',

View File

@ -1,5 +1,6 @@
import { TRPCError } from '@trpc/server'; import { TRPCError } from '@trpc/server';
import { decryptSecondaryData } from '@documenso/lib/server-only/crypto/decrypt';
import { forgotPassword } from '@documenso/lib/server-only/user/forgot-password'; import { forgotPassword } from '@documenso/lib/server-only/user/forgot-password';
import { getUserByEmail } from '@documenso/lib/server-only/user/get-user-by-email'; import { getUserByEmail } from '@documenso/lib/server-only/user/get-user-by-email';
import { getUserById } from '@documenso/lib/server-only/user/get-user-by-id'; import { getUserById } from '@documenso/lib/server-only/user/get-user-by-id';
@ -136,7 +137,9 @@ export const profileRouter = router({
try { try {
const { email } = input; const { email } = input;
return await sendConfirmationToken({ email }); const decryptedEmail = decryptSecondaryData(email);
return await sendConfirmationToken({ email: decryptedEmail ?? '' }); // TODO: fix this tomorrow
} catch (err) { } catch (err) {
let message = 'We were unable to send a confirmation email. Please try again.'; let message = 'We were unable to send a confirmation email. Please try again.';

View File

@ -30,9 +30,9 @@ export const ZResetPasswordFormSchema = z.object({
password: z.string().min(6), password: z.string().min(6),
token: z.string().min(1), token: z.string().min(1),
}); });
// TODO: revisit this
export const ZConfirmEmailMutationSchema = z.object({ export const ZConfirmEmailMutationSchema = z.object({
email: z.string().email().min(1), email: z.string().min(1),
}); });
export type TRetrieveUserByIdQuerySchema = z.infer<typeof ZRetrieveUserByIdQuerySchema>; export type TRetrieveUserByIdQuerySchema = z.infer<typeof ZRetrieveUserByIdQuerySchema>;