pairRegisterDevice method

Future<PairedRegisterDevice> pairRegisterDevice({
  1. required String code,
  2. String? label,
  3. RegisterClientInfo? client,
  4. RegisterGeo? geo,
})

Gerät koppeln: der Code wird gegen den dauerhaften Ausweis getauscht.

Der Code wird dabei verbraucht, auch wenn der Aufrufer das Ergebnis verliert — eine unvollständige Antwort ist deshalb ein Fehler und kein halbes Gerät. Groß-/Kleinschreibung und Leerzeichen sind gleichgültig: das Backend beschneidet selbst; dieses Paket prüft das Format nicht (es kennt das Alphabet nicht und würde eine Erweiterung ausschließen).

Implementation

Future<PairedRegisterDevice> pairRegisterDevice({
  required String code,
  String? label,
  RegisterClientInfo? client,
  RegisterGeo? geo,
}) async {
  const name = 'pairRegisterDevice';
  _pflicht(name, 'code', code);
  final daten = await _rufen(name, {
    'code': code,
    if (label != null) 'label': label,
    if (client != null) 'client': client.toJson(),
    if (geo != null) 'geo': geo.toJson(),
  });
  return PairedRegisterDevice(
    deviceId: _pflichtfeld(name, daten, 'deviceId'),
    deviceSecret: _pflichtfeld(name, daten, 'deviceSecret'),
    ownerUid: _pflichtfeld(name, daten, 'ownerUid'),
    cashregisterId: _pflichtfeld(name, daten, 'cashregisterId'),
    companyName: _text(daten['betrieb']),
    cashregisterLabel: _text(daten['kasse']),
  );
}