/** * POST /api/instances * Create a new instance */ import { query } from '../../utils/database' interface CreateInstanceBody { name: string } interface InstanceRow { id: string name: string phone_number: string | null status: string created_at: Date } export default defineEventHandler(async (event) => { // Check auth const username = getHeader(event, 'x-authentik-username') if (!username) { throw createError({ statusCode: 401, message: 'Unauthorized' }) } const body = await readBody(event) if (!body.name?.trim()) { throw createError({ statusCode: 400, message: 'Name is required' }) } const result = await query( `INSERT INTO instances (name, created_by) VALUES ($1, $2) RETURNING id, name, phone_number, status, created_at`, [body.name.trim(), username] ) const instance = result.rows[0] return { id: instance.id, name: instance.name, phoneNumber: instance.phone_number, status: instance.status, createdAt: instance.created_at } })