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 { server_name, server_ip, glances_url, is_active, collect_interval, physical_location } = body
  
  if (!targetId) {
    throw createError({
      statusCode: 400,
      message: 'target_id is required'
    })
  }
  
  const changes = await execute(`
    UPDATE server_targets 
    SET server_name = $1, 
        server_ip = $2, 
        glances_url = $3, 
        is_active = $4,
        collect_interval = $5,
        physical_location = $6,
        updated_at = NOW()
    WHERE target_id = $7
  `, [server_name, server_ip, glances_url, is_active ? 1 : 0, collect_interval || 60, physical_location || '운영서버실', targetId])
  
  // 스케줄러에 반영
  refreshServerTimer(Number(targetId))
  
  return {
    success: true,
    changes
  }
})
