Files
system-monitor/backend/api/server/targets/[id].put.ts
2025-12-28 14:35:41 +09:00

36 lines
902 B
TypeScript

import { execute } from '../../../utils/db'
import { refreshServerTimer } from '../../../utils/server-scheduler'
export default defineEventHandler(async (event) => {
const targetId = getRouterParam(event, 'id')
const body = await readBody(event)
const { name, host, port, username, auth_type, is_active } = body
if (!targetId) {
throw createError({
statusCode: 400,
message: 'target_id is required'
})
}
const changes = await execute(`
UPDATE server_targets
SET name = $1,
host = $2,
port = $3,
username = $4,
auth_type = $5,
is_active = $6,
updated_at = NOW()
WHERE target_id = $7
`, [name, host, port || 22, username, auth_type || 'password', is_active ? 1 : 0, targetId])
// 스케줄러에 반영
refreshServerTimer(Number(targetId))
return {
success: true,
changes
}
})