updateArticle method
Aendert nur die genannten Felder eines Artikels; UpdateArticleRequest.clear leert Felder.
Implementation
Future<Article> updateArticle(UpdateArticleRequest request) async {
const name = Aufrufe.updateArticle;
final p = request.toJson();
_schreiben(name, p);
kennung(name, 'articleId', p['articleId']);
final fremd = request.clear.difference(leerbareArtikelfelder);
if (fremd.isNotEmpty) throw anfragefehler(name, 'clear nennt Felder, die sich nicht leeren lassen: ${fremd.join(', ')}');
final doppelt = request.clear.where((f) => p[f] != null).toList();
if (doppelt.isNotEmpty) throw anfragefehler(name, 'zugleich gesetzt und geleert: ${doppelt.join(', ')}');
if (p.keys.every((k) => k == 'idempotencyKey' || k == 'articleId')) {
throw anfragefehler(name, 'die Aenderung nennt kein Feld');
}
return _artikel(name, await _transport.call(name, p));
}