saveBusiness method
Betriebsweite Einstellungen schreiben (Recht layout). patch mit
englischen Schlüsseln, am besten aus posSettingsChanges; vatRates
immer als ganze Karte.
Implementation
Future<PosBusinessSettings> saveBusiness(Map<String, dynamic> patch) async {
const name = Aufrufe.setMyKasseSettings;
final gesendet = _pruefeTeil(name, 'business', patch, const PosBusinessSettings().toJson(), posBusinessValues);
if (gesendet.containsKey('vatRates')) {
final karte = gesendet['vatRates'];
// Unter /v3 prüft der Server die übergebene Karte für sich: ein
// einzelner Schalter wie {20: false} wäre dort „kein Satz an".
if (karte is! Map || !karte.values.any((an) => an == true)) {
throw const KasseneckValidationError(
name, 'business.vatRates: mindestens ein Steuersatz muss an sein (immer die ganze Karte senden)', 'request');
}
}
final daten = await transport.call(name, params: {'business': gesendet});
return PosBusinessSettings.fromJson(_stand(name, daten, 'business'));
}