/** DELETE /api/settings/carrier-rates/destroy — body: { ids: number[] } */
import { withIdempiere } from '../../../utils/shipping/withIdempiere'
import fetchHelper from '../../../utils/fetchHelper'
import { CARRIER_RATE_MODEL } from '../../../utils/shipping/carrierRates'

export default defineEventHandler(withIdempiere(async (event, token) => {
  const body: any = await readBody(event)
  const ids: number[] = Array.isArray(body?.ids) ? body.ids.map(Number).filter(Boolean) : []
  const failed: { id: number; message: string }[] = []
  for (const id of ids) {
    try { await fetchHelper(event, `${CARRIER_RATE_MODEL}/${id}`, 'DELETE', token, null) }
    catch (e: any) { failed.push({ id, message: e?.data?.detail || e?.message || String(e) }) }
  }
  return { status: failed.length ? 207 : 200, deleted: ids.length - failed.length, failed }
}))
