🐛 Fix schema validation for user creation

This commit is contained in:
Manuel
2023-07-31 22:36:43 +02:00
parent 061ae1ae6c
commit 961b8024ab
3 changed files with 22 additions and 23 deletions

View File

@@ -74,5 +74,5 @@ const randomString = () => {
}; };
export const createAccountSecurityStepValidationSchema = z.object({ export const createAccountSecurityStepValidationSchema = z.object({
password: z.string().min(10).max(50), password: z.string().min(8).max(100),
}); });

View File

@@ -4,6 +4,7 @@ import { z } from 'zod';
import { hashPassword } from '~/utils/security'; import { hashPassword } from '~/utils/security';
import { import {
colorSchemeParser, colorSchemeParser,
createNewUserSchema,
signUpFormSchema, signUpFormSchema,
updateSettingsValidationSchema, updateSettingsValidationSchema,
} from '~/validations/user'; } from '~/validations/user';
@@ -188,15 +189,7 @@ export const userRouter = createTRPCRouter({
nextCursor, nextCursor,
}; };
}), }),
createUser: publicProcedure createUser: publicProcedure.input(createNewUserSchema).mutation(async ({ ctx, input }) => {
.input(
z.object({
username: z.string(),
email: z.string().email().optional(),
password: z.string().min(8).max(100),
})
)
.mutation(async ({ ctx, input }) => {
const salt = bcrypt.genSaltSync(10); const salt = bcrypt.genSaltSync(10);
const hashedPassword = hashPassword(input.password, salt); const hashedPassword = hashPassword(input.password, salt);
await ctx.prisma.user.create({ await ctx.prisma.user.create({

View File

@@ -19,6 +19,12 @@ export const signUpFormSchema = z
path: ['passwordConfirmation'], path: ['passwordConfirmation'],
}); });
export const createNewUserSchema = z.object({
username: z.string(),
email: z.string().email().optional(),
password: z.string().min(8).max(100),
});
export const colorSchemeParser = z export const colorSchemeParser = z
.enum(['light', 'dark', 'environment']) .enum(['light', 'dark', 'environment'])
.default('environment') .default('environment')