import vine from '@vinejs/vine' export const createFirmwareEntryValidator = vine.compile( vine.object({ identifier: vine.string().trim().regex(/^[a-z0-9]+(-[a-z0-9]+)*$/), productClass: vine.string().trim().minLength(1), version: vine.string().trim().minLength(1), downloadUrl: vine.string().trim().url(), checksum: vine.string().trim().minLength(1), checksumType: vine.enum(['md5', 'sha256']), fileSize: vine.number().min(0), }) ) export const updateFirmwareEntryValidator = vine.compile( vine.object({ productClass: vine.string().trim().minLength(1).optional(), version: vine.string().trim().minLength(1).optional(), downloadUrl: vine.string().trim().url().optional(), checksum: vine.string().trim().minLength(1).optional(), checksumType: vine.enum(['md5', 'sha256']).optional(), fileSize: vine.number().min(0).optional(), }) ) export const createMigrationRouteValidator = vine.compile( vine.object({ identifier: vine.string().trim().regex(/^[a-z0-9]+(-[a-z0-9]+)*$/), productClass: vine.string().trim().minLength(1), sourceVersionPattern: vine.string().trim().minLength(1), targetVersion: vine.string().trim().minLength(1), downloadUrl: vine.string().trim().url(), priority: vine.number().min(0), }) ) export const updateMigrationRouteValidator = vine.compile( vine.object({ productClass: vine.string().trim().minLength(1).optional(), sourceVersionPattern: vine.string().trim().minLength(1).optional(), targetVersion: vine.string().trim().minLength(1).optional(), downloadUrl: vine.string().trim().url().optional(), priority: vine.number().min(0).optional(), }) )