RegisterClient class

Die anmeldungsfreien Aufrufe rund um Kopplung und Anmeldung.

Constructors

RegisterClient({String? baseUrl, Client? httpClient, Duration? timeout, String? clientHeader, bool omitKasseneckHeaders = false})
baseUrl muss auf /v3 enden (die Web-Kasse: /api/v3), sonst wirft schon das Anlegen. clientHeader und omitKasseneckHeaders wie bei RegisterTransport; beide gelten auch fuer session.

Properties

hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

listRegisterSessionsForDevice({required String ownerUid, required String deviceId, required String deviceSecret}) → Future<RegisterSessionOverview>
Welche Sitzungen hält diese Kasse gerade? Für den Anmeldebildschirm, wenn alle Lizenzplätze belegt sind: statt dass das Backend still die älteste verdrängt, sieht der Kassier, welche — und gibt ihre Kennung als takeoverSessionId bei registerUserLogin mit. Ausgewiesen wird sich über das Gerätegeheimnis wie bei listRegisterUsersForDevice; die Kasse bestimmt das Backend aus dem Gerät.
listRegisterUsersForDevice({required String ownerUid, required String deviceId, required String deviceSecret}) → Future<RegisterDeviceUsers>
Kassen-Benutzer dieses Betriebs auflisten — die Auswahl des Anmeldebildschirms. Die Antwort trägt nur Kennung, Name und Art: keine Rechte, keine Hashes; gesperrte Benutzer fehlen bereits.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
pairRegisterDevice({required String code, String? label, RegisterClientInfo? client, RegisterGeo? geo, bool takeover = false}) → Future<PairedRegisterDevice>
Gerät koppeln: der Code wird gegen den dauerhaften Ausweis getauscht.
registerPinLogin({required String ownerUid, required String deviceId, required String deviceSecret, required String pin, required String cashregisterId, bool takeover = false, RegisterClientInfo? client, RegisterGeo? geo}) → Future<RegisterUserSession>
Anmeldung allein mit der PIN (Geräte-Modus pin): das Backend ermittelt den Benutzer über die betriebsweit eindeutige PIN. Fehlversuche sperren dort am Gerät, nicht an einem Benutzer.
registerUserLogin({required String ownerUid, required String deviceId, required String deviceSecret, required String userId, required String pin, required String cashregisterId, bool takeover = false, String? takeoverSessionId, RegisterClientInfo? client, RegisterGeo? geo}) → Future<RegisterUserSession>
Kassen-Benutzer per PIN anmelden.
session({required Future<String?> idToken(), required Future<String?> sessionId(), required String cashregisterId}) → RegisterSessionClient
Der Client für die laufende Sitzung — mit derselben Adresse, demselben HTTP-Client und demselben Zeitlimit wie dieser. So hängt die Kasse an einer Verbindung statt an zweien, und wer für Tests einen anderen HTTP-Client einsetzt, erwischt beide Wege.
toString() → String
A string representation of this object.
inherited
unpairRegisterDevice({required String ownerUid, required String deviceId, required String deviceSecret}) → Future<void>
„Gerät entkoppeln" an der Kasse selbst: das Gerät sperrt sich im Backend, damit das Panel den Widerruf sieht und keine Sitzung nachläuft. Idempotent — danach das Gerät lokal vergessen.

Operators

operator ==(Object other) → bool
The equality operator.
inherited