refactor: wire validators into controllers

- configurations_v1_controller: use createConfigurationValidator/updateConfigurationValidator
- firmware_catalog_controller: use createFirmwareEntryValidator/updateFirmwareEntryValidator/createMigrationRouteValidator
- Remove dead isModeType/parseMode from mode.ts
- Remove dead NAMESPACES from soap.ts
This commit is contained in:
Kevin L'Hereec committed 2026-06-02 17:09:15 +02:00
1 parent 823427cdbe
commit 0cb8e12466
2 files changed
+12 -49

No files matched your search

@@ -10,7 +10,7 @@ import logger from '@adonisjs/core/services/logger'
/**
* Configurations API Controller
*
*
* Handles REST endpoints for Configuration management:
* - GET /api/v1/configurations (list with pagination and filters)
* - GET /api/v1/configurations/:id (get single with compliance stats)
@@ -92,20 +92,8 @@ export default class ConfigurationsController {
*/
async store({ request, response }: HttpContext) {
try {
const data = request.only([
'identifier',
'name',
'version',
'priority',
'policy',
'enabled',
'tags',
'criteria',
'inventory',
'desiredParameters',
'firmwareTarget',
'schedule',
]) as CreateConfigurationDto
const { createConfigurationValidator } = await import('#validators/configuration')
const data = await request.validateUsing(createConfigurationValidator) as CreateConfigurationDto
// Check for overlaps
const overlapResult = await this.configService.detectOverlap(data.criteria || {}, data.priority)
@@ -134,19 +122,8 @@ export default class ConfigurationsController {
*/
async update({ params, request, response }: HttpContext) {
try {
const data = request.only([
'name',
'priority',
'policy',
'enabled',
'tags',
'criteria',
'inventory',
'desiredParameters',
'firmwareTarget',
'schedule',
'bumpType',
]) as UpdateConfigurationDto
const { updateConfigurationValidator } = await import('#validators/configuration')
const data = await request.validateUsing(updateConfigurationValidator) as UpdateConfigurationDto
// Check for overlaps if priority changed
if (data.priority) {
+7 -21
View File
@@ -7,7 +7,7 @@ import logger from '@adonisjs/core/services/logger'
/**
* Firmware Catalog API Controller
*
*
* Handles REST endpoints for Firmware Catalog management:
* - GET /api/v1/firmware-catalog (list entries grouped by productClass)
* - POST /api/v1/firmware-catalog/entries (create firmware entry)
@@ -74,9 +74,8 @@ export default class FirmwareCatalogController {
*/
async updateEntry({ params, request, response }: HttpContext) {
try {
const data = request.only([
'productClass', 'version', 'downloadUrl', 'checksum', 'checksumType', 'fileSize',
])
const { updateFirmwareEntryValidator } = await import('#validators/firmware_catalog')
const data = await request.validateUsing(updateFirmwareEntryValidator)
const entry = await this.catalogService.updateEntry(params.id, data)
return response.ok(entry)
} catch (error: any) {
@@ -106,15 +105,8 @@ export default class FirmwareCatalogController {
*/
async createEntry({ request, response }: HttpContext) {
try {
const data = request.only([
'identifier',
'productClass',
'version',
'downloadUrl',
'checksum',
'checksumType',
'fileSize',
]) as CreateFirmwareEntryDto
const { createFirmwareEntryValidator } = await import('#validators/firmware_catalog')
const data = await request.validateUsing(createFirmwareEntryValidator) as CreateFirmwareEntryDto
const entry = await this.catalogService.createEntry(data)
return response.status(201).json(entry)
@@ -144,14 +136,8 @@ export default class FirmwareCatalogController {
*/
async createRoute({ request, response }: HttpContext) {
try {
const data = request.only([
'identifier',
'productClass',
'sourceVersionPattern',
'targetVersion',
'downloadUrl',
'priority',
]) as CreateMigrationRouteDto
const { createMigrationRouteValidator } = await import('#validators/firmware_catalog')
const data = await request.validateUsing(createMigrationRouteValidator) as CreateMigrationRouteDto
const route = await this.catalogService.createMigrationRoute(data)
return response.status(201).json(route)