#!/usr/bin/env bash
set -euo pipefail

app_dir="/opt/thaifortravel-miniapp"
public_id="${1:-}"

if ! [[ "${public_id}" =~ ^[a-z0-9]+$ ]]; then
  printf '%s\n' "A valid application public id is required" >&2
  exit 2
fi

set -a
# shellcheck disable=SC1091
. "${app_dir}/.env.production"
set +a

printf '%s\n' \
  "SELECT o.kind, o.status, COALESCE(o.payload->>'telegramUserId', '') AS recipient, o.\"sentAt\" IS NOT NULL AS sent, COALESCE(o.\"lastError\", '') AS error FROM \"OutboxMessage\" o JOIN \"Application\" a ON a.id = o.\"applicationId\" WHERE a.\"publicId\" = '${public_id}' ORDER BY o.\"createdAt\";" \
  | docker compose --env-file "${app_dir}/.env.production" \
      -f "${app_dir}/docker-compose.production.yml" \
      exec -T postgres \
      psql -v ON_ERROR_STOP=1 -P pager=off -U "${POSTGRES_USER}" -d "${POSTGRES_DB}"

unset TELEGRAM_BOT_TOKEN TELEGRAM_WEBHOOK_SECRET DATABASE_URL POSTGRES_PASSWORD
