5705098054
A live QR scan reached the app but rejected: 'reader not on an access-equipped lane' — the dispatcher requires an access device on the reader's lane. Add a no-op stub-access driver (access category, no config) whose pulseOpen only logs and does no device I/O, so the QR->permit->accept flow (incl. the beep) can be tested without the Dingtian relay connected. Not for production; registered in the catalog.
37 lines
1.1 KiB
TypeScript
37 lines
1.1 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 { rongtaDriver } from "./printer-rongta.js";
|
|
import { geeQrReaderDriver, 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(geeQrReaderDriver);
|
|
registry.register(hikvisionDriver);
|
|
registry.register(dahuaDriver);
|
|
registry.register(rongtaDriver);
|
|
}
|
|
|
|
export {
|
|
dingtianDriver,
|
|
stubAccessDriver,
|
|
wiegandReaderDriver,
|
|
tcpipReaderDriver,
|
|
geeQrReaderDriver,
|
|
hikvisionDriver,
|
|
dahuaDriver,
|
|
rongtaDriver,
|
|
};
|