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

repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
models_dir="${repo_root}/internal/generatedmodels"
projects_model="${models_dir}/sql_public_projects.go"

if [[ ! -f "${projects_model}" ]]; then
  echo "generated projects model not found: ${projects_model}" >&2
  exit 1
fi

# Ensure ModelPublicProjects can scan ResolveSpec computed column "thought_count".
if ! grep -q "ThoughtCount" "${projects_model}"; then
  tmp_file="$(mktemp)"
  awk '
    /Name[[:space:]]+resolvespec_common\.SqlString[[:space:]]+`bun:"name,type:text,notnull," json:"name"`/ {
      print
      print "\tThoughtCount                        resolvespec_common.SqlInt64     `bun:\"thought_count,scanonly\" json:\"thought_count\"`"
      next
    }
    { print }
  ' "${projects_model}" > "${tmp_file}"
  mv "${tmp_file}" "${projects_model}"
fi

