#!/usr/bin/env bash
# Document Note Service · Batch 11 · local/dev notes backend
# A-owned · session_a
set -euo pipefail

HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$HERE"

PORT="${DNS_PORT:-8091}"
HOST="${DNS_HOST:-127.0.0.1}"
VENV="${DNS_VENV:-.venv}"

if [ ! -d "$VENV" ]; then
  echo "[dns] creating venv at $VENV"
  python3 -m venv "$VENV"
fi
# shellcheck disable=SC1091
source "$VENV/bin/activate"
echo "[dns] installing requirements"
pip install --quiet --disable-pip-version-check -r requirements.txt

echo "[dns] starting on http://$HOST:$PORT"
echo "[dns] endpoints:"
echo "  GET    /api/notes/health"
echo "  POST   /api/notes/create"
echo "  GET    /api/notes/list[?doc_id=...]"
echo "  PATCH  /api/notes/{note_id}"
echo "  DELETE /api/notes/{note_id}"
echo "  GET    /api/notes/aggregate"
echo "  GET    /api/notes/by-doc"
echo
echo "[dns] HONEST: local/dev only · file-backed · single-writer · no auth on note endpoints"
echo

exec python3 -m uvicorn app:app --host "$HOST" --port "$PORT" --log-level info --workers 1
