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

REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$REPO_ROOT"

SCHEMA_PATH="backend/docs/api-schema.yaml"

echo "Generating OpenAPI schema at ${SCHEMA_PATH}"
python backend/manage.py spectacular --file "$SCHEMA_PATH"

if ! git diff --quiet -- "$SCHEMA_PATH"; then
  echo "Schema drift detected. Please commit the updated ${SCHEMA_PATH}." >&2
  git diff -- "$SCHEMA_PATH"
  exit 1
fi

echo "Schema is up to date."
