Files
parking_solution/packages/devices/src/drivers/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

40 lines
1.3 KiB
TypeScript

// Register all bundled drivers into the singleton registry. Importing this
// module wires the catalog. Add a new device by registering it here.
import { registry } from "../registry.js";
import { dingtianDriver } from "./access-dingtian.js";
import { stubAccessDriver } from "./access-stub.js";
import { dahuaDriver, hikvisionDriver } from "./camera.js";
import { escposDriver } from "./printer-generic.js";
import { rongtaDriver } from "./printer-rongta.js";
import { dingtianQrReaderDriver, tcpipReaderDriver, wiegandReaderDriver } from "./reader.js";
let registered = false;
/** Idempotently register the built-in drivers. Called once at server startup. */
export function registerBuiltinDrivers(): void {
if (registered) return;
registered = true;
registry.register(dingtianDriver);
registry.register(stubAccessDriver);
registry.register(wiegandReaderDriver);
registry.register(tcpipReaderDriver);
registry.register(dingtianQrReaderDriver);
registry.register(hikvisionDriver);
registry.register(dahuaDriver);
registry.register(rongtaDriver);
registry.register(escposDriver);
}
export {
dingtianDriver,
stubAccessDriver,
wiegandReaderDriver,
tcpipReaderDriver,
dingtianQrReaderDriver,
hikvisionDriver,
dahuaDriver,
rongtaDriver,
escposDriver,
};