import { getQueueMediaMm } from '../../utils/cupsMedia' import { hasAnyBindings, findAgentMediaForQueue } from '../../utils/printSpoolDb' // GET /api/printers/cups-media?queue=labelprinter-2 // Returns the queue's configured default media size in mm — from the tenant's Print Agent // inventory when the queue is bound to one (PPD default on the device), otherwise from the // local CUPS PPD. Used by the printer settings form to prefill the label size. // `media` is null when the queue is unknown or CUPS is unavailable. export default defineEventHandler(async (event) => { const queue = String(getQuery(event)?.queue ?? '').trim() if (!queue) return { status: 400, message: 'queue is required', media: null } if (hasAnyBindings()) { const orgId = Number(getCookie(event, 'logship_organization_id') || 0) || 0 const agentMedia = findAgentMediaForQueue(queue, orgId) if (agentMedia) return { status: 200, queue, media: agentMedia, source: 'agent' } } const media = await getQueueMediaMm(queue) return { status: 200, queue, media, source: media ? 'cups' : null } })