import vine from '@vinejs/vine' export const createCategoryValidator = vine.compile( vine.object({ name: vine.string().unique(async (db, value) => { const match = await db.from('categories').select('id').where('name', value).first() return !match }), nameHu: vine.string().optional(), nameEn: vine.string().optional(), slug: vine.string().unique(async (db, value) => { const match = await db.from('categories').select('id').where('slug', value).first() return !match }), }) ) export const updateCategoryValidator = vine.compile( vine.object({ id: vine.number(), name: vine .string() .unique(async (db, value, field) => { const match = await db .from('categories') .select('id') .where('name', value) .whereNot('id', field.data.id) .first() return !match }) .optional(), nameHu: vine.string().optional(), nameEn: vine.string().optional(), slug: vine .string() .unique(async (db, value, field) => { const match = await db .from('categories') .select('id') .where('slug', value) .whereNot('id', field.data.id) .first() return !match }) .optional(), }) )