Files
paprika-api/app/validators/user.ts
T
2026-03-29 11:18:31 +02:00

33 lines
814 B
TypeScript

import vine from '@vinejs/vine'
export const createUserValidator = vine.compile(
vine.object({
email: vine.string().email().normalizeEmail(),
password: vine.string().minLength(8),
fullName: vine.string(),
role: vine.string(),
})
)
export const updateUserValidator = vine.compile(
vine.object({
id: vine.number(),
email: vine
.string()
.email()
.normalizeEmail()
.unique(async (db, value, field) => {
const match = await db
.from('users')
.select('id')
.where('email', value)
.whereNot('id', field.data.id)
.first()
return !match
})
.optional(),
password: vine.string().minLength(8).optional(),
fullName: vine.string().optional(),
role: vine.string().optional(),
})
)