import laravelHelper from "../../../utils/laravelHelper";
import errorHandlingHelper from "../../../utils/errorHandlingHelper";

// DELETE /api/settings/bank-connections (body: { ids: [uid, ...] }) -> Laravel DELETE per uid
export default defineEventHandler(async (event) => {
  try {
    const body = await readBody(event)
    const ids: string[] = body?.ids || []
    const results: any[] = []
    for (const uid of ids) {
      try {
        const res: any = await laravelHelper(event, 'banking/connections/' + uid, 'DELETE')
        results.push({ uid, success: res?.success !== false, message: res?.message || null })
      } catch (err: any) {
        results.push({ uid, success: false, message: err?.data?.message || err?.message || 'Delete failed' })
      }
    }
    const failed = results.filter(r => !r.success)
    return {
      status: failed.length === 0 ? 200 : 422,
      message: failed.length === 0 ? 'Deleted' : failed.map(f => f.message).join('; '),
      results
    }
  } catch (err: any) {
    const data = errorHandlingHelper(err?.data ?? err, err?.data ?? err)
    return { status: Number(data?.status || err?.status || 500), message: data?.message || err?.message || 'Failed to delete bank connections', error: err?.data ?? null }
  }
})
