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

ROOT_DIR="$(cd "$(dirname "$0")/.." && pwd)"
cd "$ROOT_DIR"

LOCAL_DATABASE_URL_DEFAULT="postgresql://postgres:postgres@127.0.0.1:5432/ballbox_local?schema=public"
LOCAL_DATABASE_URL="${LOCAL_DATABASE_URL:-$LOCAL_DATABASE_URL_DEFAULT}"

echo "pre-push: pushing main, running quality checks..."
pnpm docs:check
pnpm db:local:up
DATABASE_URL="$LOCAL_DATABASE_URL" ALLOW_REMOTE_PRISMA_COMMANDS=1 pnpm db:deploy
DATABASE_URL="$LOCAL_DATABASE_URL" SHADOW_DATABASE_URL="$LOCAL_DATABASE_URL" ALLOW_REMOTE_PRISMA_COMMANDS=1 pnpm db:check-migrations
pnpm lint
pnpm typecheck
pnpm test:contracts
pnpm build

echo "pre-push: all checks passed."
