#!/usr/bin/env sh
# Lire toutes les factures payées, page par page (curseur opaque). Nécessite jq.
# Read every paid invoice, page by page (opaque cursor). Requires jq.
set -eu
: "${TAURACO_TOKEN:?jeton requis (voir obtenir_jeton.sh)}"
BASE="https://api.tauraco.io/public/v1"
CURSOR=""
while : ; do
  PAGE=$(curl -sS -G "${BASE}/invoices" \
    -H "Authorization: Bearer ${TAURACO_TOKEN}" -H "Accept: application/json" \
    --data-urlencode "status=PAID" --data-urlencode "limit=100" \
    ${CURSOR:+--data-urlencode "cursor=${CURSOR}"})
  echo "${PAGE}" | jq -r '.data[] | [.number, .customer_name, .total, .currency] | @tsv'
  [ "$(echo "${PAGE}" | jq -r '.has_more')" = "true" ] || break
  CURSOR=$(echo "${PAGE}" | jq -r '.next_cursor')
done
