/**
 * Printer → Print-Agent binding (per CUST_Printer row, stored instance-locally — no iDempiere column).
 * Used by the printer create/edit/duplicate pages right after a successful iDempiere save.
 */
export const usePrinterBinding = () => {
  const save = async (printerId: number | string, record: any) => {
    const id = Number(printerId)
    if (!Number.isFinite(id) || id <= 0) return null
    if (record?.agentId === undefined) return null
    try {
      return await $fetch(`/api/settings/print-agents/bindings/${id}`, {
        method: 'PUT',
        headers: useRequestHeaders(['cookie']),
        body: {
          agentId: Number(record.agentId) || null,
          cupsName: record.cupsName,
          orgId: Number(record.organizationId) || 0
        }
      })
    } catch (e: any) {
      console.warn('[printer-binding] save failed:', e?.data?.statusMessage || e?.message || e)
      return null
    }
  }
  return { save }
}
