Skip to content
Snippets Groups Projects
Select Git revision
  • 5954b799421f92a1a5937c422d19d55b8272d0bd
  • main default protected
  • editUser
  • loadTests
  • fixTests
  • userhandling
  • updateEmbeddings
  • addRAGSources
  • testing
  • conversations
  • inputValidation
  • rag
  • chatting
  • userauth
14 results

User.js

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    User.js 1.11 KiB
    import { z } from 'zod';
    import validator from 'validator';
    
    // SIGN UP
    export const createUserSchema = z.object({
      name: z.string().min(1),
      username: z.string().min(1),
      email: z.string().email(),
      password: z.string().refine((val) => val && validator.isStrongPassword(val), {
        message: 'This value must be min 6 characters long and contain uppercase, lowercase, number, specialchar.',
      }),
      confirmPassword: z.string(),
    }).refine((data) => data.password === data.confirmPassword, {
      message: "Passwords don't match",
      path: ["confirmPassword"],
    });
    
    // UPDATE
    export const updateUserSchema = z.object({
      name: z.string().min(1),
      username: z.string().min(1),
      email: z.string().email(),
      verified: z.boolean(),
      password: z.string().refine((val) => val && isStrongPassword(val), {
        message: 'This field must be min 6 characters long and contain uppercase, lowercase, number, specialchar.',
      }).nullish().or(z.literal('')),
      confirmPassword: z.string().nullish().or(z.literal('')),
    }).refine((data) => data.password === data.confirmPassword, {
      message: "Passwords don't match",
      path: ["confirmPassword"],
    });