Files
printerCentral/server/api/printers/select.post.ts
josedario87 e97b2b4d8e feat: Sistema de gestión de impresoras persistente
- Crear modelo Printer con campos: id, name, host, deviceId, timeout, isDefault
- Almacenamiento persistente en data/printers.json
- APIs CRUD: GET/POST /api/printers, GET/PUT/DELETE /api/printers/:id
- API para seleccionar impresora activa: POST /api/printers/select
- Endpoint de impresión ahora usa la impresora seleccionada o la especificada por printerId
- Composable usePrinters() para el cliente
- UI: Selector de impresora en sidebar, tab Impresoras en mobile
- Componentes: PrintersList, PrintersCard, PrintersForm, PrintersSelector
2025-11-25 00:44:50 -06:00

32 lines
707 B
TypeScript

// POST /api/printers/select - Seleccionar la impresora activa
import { setSelectedPrinter, getPrinterById } from '../../utils/printers'
export default defineEventHandler(async (event) => {
try {
const body = await readBody(event)
const { printerId } = body as { printerId: string | null }
if (printerId) {
const printer = await getPrinterById(printerId)
if (!printer) {
return {
ok: false,
error: 'Impresora no encontrada'
}
}
}
await setSelectedPrinter(printerId)
return {
ok: true,
selectedPrinterId: printerId
}
} catch (err: any) {
return {
ok: false,
error: err.message
}
}
})