getStocktakePdf method

Future<StocktakePdf> getStocktakePdf(
  1. String stocktakeId
)

Das Inventurprotokoll (PDF), erst nach dem Abschluss (stocktake_not_closed, auch fuer eine abgebrochene Inventur). Mit dem Recht costs die Fassung mit Werten, sonst die nur mit Mengen. Bis 9 MiB kommt die Datei selbst (StocktakePdfFile), darueber ein signierter Lese-Link fuer 15 Minuten (StocktakePdfLink); die geladene Datei an download.sha256 pruefen. Lesen: nach einem Zeitlimit darf der Aufruf wiederholt werden.

Implementation

Future<StocktakePdf> getStocktakePdf(String stocktakeId) async {
  const name = Aufrufe.getStocktakePdf;
  final id = kennung(name, 'stocktakeId', stocktakeId);
  switch (await _transport.callPdfOrData(name, {'stocktakeId': id})) {
    case PdfOrDataFile(:final pdf):
      return StocktakePdfFile(pdf);
    case PdfOrDataPayload(:final data):
      final link = data['download'];
      if (link == null) {
        throw antwortfehler(name, 'Antwort ist weder ein PDF noch ein Lese-Link (data.download fehlt)');
      }
      return StocktakePdfLink(protokollLink(name, link));
  }
}