stuff
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
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(),
|
||||
})
|
||||
)
|
||||
Reference in New Issue
Block a user