Files
parking_solution/packages/devices/src/index.ts
T
julian fcea992e1e refactor(devices): rename driver "cashino" → "escpos" (generic ESC/POS)
The reachability-only clone driver carried its first unit's vendor name,
which read as misleading in the setup UI once other clones (ICS/Xprinter
XP-K200L, verified 2026-07-06: no /prn_stat.htm) used it. It was always
the generic ESC/POS driver — now named so:

- printer-cashino.ts → printer-generic.ts; GenericEscposPrinter;
  id "escpos", label "Generic ESC/POS 80mm printer (Cashino,
  ICS/Xprinter…)".
- Migration 0023 rewrites stored devices.driver_id rows.
- The registry keeps a PERMANENT cashino→escpos alias so restored
  pre-rename backups still resolve instead of "unknown driver".

Prose mentions of the Cashino as physical hardware stay — it's a real,
verified-fit printer; only the driver identity stopped being vendor-named.

Claude-Session: https://claude.ai/code/session_01Xcm6ikLgGoCxxHrxtjkk5V
2026-07-06 12:36:14 +02:00

33 lines
1.1 KiB
TypeScript

// @parking/devices — device-agnostic adapters + the driver registry that lets
// an admin select between supported devices at first-run setup.
//
// See wiki/concepts/device-adapter-pattern.md and device-registry.md.
export * from "./interfaces.js";
export * from "./registry.js";
export { setDeviceLogSink, type DeviceLogSink } from "./drivers/common.js";
// Built-in drivers: the registrar plus the individual driver objects (used by
// hardware test scripts and any direct/programmatic device access).
export {
registerBuiltinDrivers,
dingtianDriver,
stubAccessDriver,
wiegandReaderDriver,
tcpipReaderDriver,
dingtianQrReaderDriver,
hikvisionDriver,
dahuaDriver,
rongtaDriver,
escposDriver,
} from "./drivers/index.js";
export { isPrinter, type PrinterRole } from "./drivers/printer-rongta.js";
// Albanian human date/time for printed slips (receipts, tickets, shift Z-report),
// kept in one place so all printed output formats dates identically.
export { stamp as formatStampSq } from "./drivers/printer-escpos.js";
export {
orderForRole,
printWithFailover,
NoPrinterAvailableError,
type PrinterInstance,
} from "./printer-routing.js";