- Add #domain, #protocol, #utils aliases to package.json imports map - Replace all relative imports (./, ../, ../..) in app/ and database/mongo_migrations/ with the corresponding #alias imports, eliminating relative path traversal across the codebase - Remove dead code: ConfigurationVersionModel.findByConfigurationIdentifier (unused, superseded by paginateVersions) and unused exception classes (NotFoundException, UnprocessableEntityException, DatabaseException) from app/exceptions/index.ts, keeping only BadRequestException - Fix pre-existing syntax error in configuration_version.ts (mismatched parenthesis) that broke tsc - Fix eqeqeq violation in configuration_service.ts and isNaN -> Number.isNaN in configuration_engine.ts / cwmp-1-0.ts / exchange_controller.ts - Fix no-shadow violation in cwmp-1-0.ts EventStruct constructor - Prettier formatting pass on touched files Validated: tsc --noEmit clean, eslint app/ clean, full test suite green.
52 lines
1.7 KiB
TypeScript
52 lines
1.7 KiB
TypeScript
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(),
|
|
})
|
|
)
|