database_url := "postgres://tidyindex:tidyindex@localhost:35434/tidyindex"

default:
    @just --list

dev-setup: db-up migrate seed
    @echo "Development environment ready"

dev-teardown: db-destroy
    @echo "Development environment torn down"

db-up:
    docker compose up -d postgres
    @until docker exec tidyindex-postgres pg_isready -U tidyindex -d tidyindex > /dev/null 2>&1; do sleep 1; done

db-destroy:
    docker compose down -v --remove-orphans
    docker rm -f tidyindex-postgres 2>/dev/null || true
    docker volume rm tidyindex-pgdata 2>/dev/null || true

db-logs:
    docker compose logs -f postgres

db-reset: db-destroy db-up migrate seed
    @echo "Database reset complete"

db-shell:
    docker exec -it tidyindex-postgres psql -U tidyindex -d tidyindex

migrate:
    docker exec -i tidyindex-postgres psql -U tidyindex -d tidyindex < migrations/001_raw_schema.sql

seed:
    /home/benj/.virtualenvs/tidyindex/bin/python scripts/seed.py

# ---- web stack (pnpm workspace at web/) ----

web-install:
    cd web && pnpm install

web-dev-ui:
    cd web && pnpm dev:ui

web-dev-api:
    cd web && pnpm dev:api

web-check:
    cd web && pnpm check
