Scanner Verwaltung für Geräte-Agenten ergänzen

This commit is contained in:
2026-06-02 15:25:00 +02:00
parent a26ff30cd8
commit c854b0bf30
6 changed files with 491 additions and 4 deletions

View File

@@ -13,6 +13,8 @@ const updateAgentSchema = z.object({
name: z.string().min(1).optional(),
description: z.string().optional().nullable(),
active: z.boolean().optional(),
preferredScannerName: z.string().optional().nullable(),
scanDefaults: z.record(z.string(), z.any()).optional(),
})
const createScanJobSchema = z.object({
@@ -52,6 +54,8 @@ export default async function instanceAgentRoutes(server: FastifyInstance) {
capabilities: instanceAgents.capabilities,
scannerNames: instanceAgents.scannerNames,
printerNames: instanceAgents.printerNames,
preferredScannerName: instanceAgents.preferredScannerName,
scanDefaults: instanceAgents.scanDefaults,
lastSeenAt: instanceAgents.lastSeenAt,
lastDebugInfo: instanceAgents.lastDebugInfo,
})
@@ -81,6 +85,8 @@ export default async function instanceAgentRoutes(server: FastifyInstance) {
description: instanceAgents.description,
tokenPrefix: instanceAgents.tokenPrefix,
active: instanceAgents.active,
preferredScannerName: instanceAgents.preferredScannerName,
scanDefaults: instanceAgents.scanDefaults,
createdAt: instanceAgents.createdAt,
})
@@ -106,6 +112,8 @@ export default async function instanceAgentRoutes(server: FastifyInstance) {
name: instanceAgents.name,
description: instanceAgents.description,
active: instanceAgents.active,
preferredScannerName: instanceAgents.preferredScannerName,
scanDefaults: instanceAgents.scanDefaults,
updatedAt: instanceAgents.updatedAt,
})
@@ -127,7 +135,12 @@ export default async function instanceAgentRoutes(server: FastifyInstance) {
}
const [agent] = await server.db
.select({ id: instanceAgents.id, active: instanceAgents.active })
.select({
id: instanceAgents.id,
active: instanceAgents.active,
preferredScannerName: instanceAgents.preferredScannerName,
scanDefaults: instanceAgents.scanDefaults,
})
.from(instanceAgents)
.where(eq(instanceAgents.id, body.agentId))
.limit(1)
@@ -142,9 +155,12 @@ export default async function instanceAgentRoutes(server: FastifyInstance) {
tenantId: requestedTenantId,
agentId: body.agentId,
requestedBy: req.user?.user_id,
scannerName: body.scannerName,
scannerName: body.scannerName || agent.preferredScannerName,
requestedFilename: body.requestedFilename,
settings: body.settings || {},
settings: {
...((agent.scanDefaults || {}) as Record<string, any>),
...(body.settings || {}),
},
target: body.target || {},
})
.returning()