🐛 Fix schema validation for user creation
This commit is contained in:
@@ -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),
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -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({
|
||||||
|
|||||||
@@ -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')
|
||||||
|
|||||||
Reference in New Issue
Block a user