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

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

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' \
  "DELETE FROM \"Application\" WHERE \"publicId\" = '${public_id}';" \
  "DELETE FROM \"Application\" WHERE \"userId\" IN (SELECT id FROM \"TelegramUser\" WHERE \"telegramUserId\" LIKE '-%');" \
  "DELETE FROM \"TelegramUser\" WHERE \"telegramUserId\" LIKE '-%';" \
  | docker compose --env-file "${app_dir}/.env.production" \
      -f "${app_dir}/docker-compose.production.yml" \
      exec -T postgres \
      psql -v ON_ERROR_STOP=1 -U "${POSTGRES_USER}" -d "${POSTGRES_DB}"

unset TELEGRAM_BOT_TOKEN TELEGRAM_WEBHOOK_SECRET DATABASE_URL POSTGRES_PASSWORD
