getPrintJob method

Future<PrintJob> getPrintJob({
  1. required String printerId,
  2. required String jobId,
})

Stand eines Druckjobs. Der Aufrufer fragt, bis isPrintJobFinished wahr ist, und begrenzt die Abfrage trotzdem selbst: ein Drucker, der nie abholt, bleibt pending.

Implementation

Future<PrintJob> getPrintJob({required String printerId, required String jobId}) async {
  const name = Aufrufe.getPrintJob;
  if (printerId.trim().isEmpty || jobId.trim().isEmpty) {
    throw const KasseneckValidationError(name, 'printerId und jobId sind Pflicht', 'request');
  }
  final d = await transport.call(name, params: {'printerId': printerId, 'jobId': jobId});
  final e = d['result'];
  return PrintJob(
    jobId: _jobId(name, d),
    status: _status(d['status']),
    createdAt: _zahl(d['createdAt']),
    sentAt: _zahl(d['sentAt']),
    result: e is Map ? PrintResult._aus(e) : null,
  );
}