diff --git a/dagger/purchasing.nim b/dagger/purchasing.nim index 2ef6f29a..85c065bb 100644 --- a/dagger/purchasing.nim +++ b/dagger/purchasing.nim @@ -96,3 +96,12 @@ proc wait*(purchase: Purchase) {.async.} = func id*(purchase: Purchase): array[32, byte] = purchase.request.id + +func finished*(purchase: Purchase): bool = + purchase.future.finished + +func error*(purchase: Purchase): ?(ref CatchableError) = + if purchase.future.failed: + some purchase.future.error + else: + none (ref CatchableError) diff --git a/dagger/rest/json.nim b/dagger/rest/json.nim index 8966d870..2c1d1249 100644 --- a/dagger/rest/json.nim +++ b/dagger/rest/json.nim @@ -35,7 +35,9 @@ func `%`*(arr: openArray[byte]): JsonNode = func `%`*(purchase: Purchase): JsonNode = %*{ - "request": %purchase.request, - "offers": %purchase.offers, - "selected": %purchase.selected + "finished": purchase.finished, + "error": purchase.error.?msg, + "request": purchase.request, + "offers": purchase.offers, + "selected": purchase.selected }