/** * POST /api/instances/[id]/reset * Reset instance connection (disconnect and clear QR) */ import { query } from '../../../utils/database' import { baileysManager } from '../../../services/baileys/manager' export default defineEventHandler(async (event) => { const username = getHeader(event, 'x-authentik-username') if (!username) { throw createError({ statusCode: 401, message: 'Unauthorized' }) } const id = getRouterParam(event, 'id') if (!id) { throw createError({ statusCode: 400, message: 'Instance ID required' }) } // Disconnect if connected try { await baileysManager.disconnect(id) } catch (e) { // Ignore if not connected } // Reset in database await query( `UPDATE instances SET status = 'disconnected', qr_code = NULL, pairing_code = NULL WHERE id = $1`, [id] ) return { success: true, message: 'Instance reset successfully' } })