#!/usr/bin/env bash
# cai_dat.sh — cài bộ app quy trình sơn / pha màu (CSDL A · B · D) trên Linux.
# Chạy:  bash cai_dat/cai_dat.sh
set -e

GOC="$(cd "$(dirname "$0")/.." && pwd)"
CFG="$GOC/cai_dat/cau_hinh.json"
ROOT="$(python3 -c "import json,sys;print(json.load(open('$CFG'))['root'].rstrip('/'))")"
PY="$(python3 -c "import json;print(json.load(open('$CFG')).get('python','python3'))")"

echo "== Bộ file: $GOC"
echo "== Thư mục cài (root): $ROOT"

if [ "$GOC" != "$ROOT" ]; then
  echo "== Copy bộ file sang $ROOT ..."
  mkdir -p "$ROOT"
  cp -a "$GOC/." "$ROOT/"
fi
cd "$ROOT"
mkdir -p data logs apps/hlqt/viec apps/calib/viec apps/lab/viec

echo "== Tạo venv ..."
"$PY" -m venv venv
./venv/bin/python -m pip install -q --upgrade pip
echo "== Cài python-docx (bắt buộc — dùng để xuất DOCX) ..."
./venv/bin/pip install -q python-docx
echo "== Cài thư viện Gmail (tuỳ chọn — chỉ cần nếu bật email) ..."
./venv/bin/pip install -q google-api-python-client google-auth-httplib2 google-auth-oauthlib \
  || echo "   (bỏ qua: thiếu thư viện Gmail ⇒ chức năng email tự tắt, app vẫn chạy tốt)"

echo "== Vá đường dẫn Windows -> Linux trong mã 3 app ..."
./venv/bin/python cai_dat/sua_duong_dan.py

chmod 600 apps/*/mat_khau.txt apps/*/bi_mat.txt apps/*/pass_*.txt apps/*/email_bao.txt 2>/dev/null || true

cat <<'XONG'

✓ CÀI XONG. Việc tiếp theo:
  1) Cài AGY:   curl -fsSL https://antigravity.google/cli/install.sh | bash
                agy --version && agy models          # nếu vị trí khác, sửa agy_bin trong cau_hinh.json rồi chạy lại sua_duong_dan.py
  2) Chạy app:  bash cai_dat/chay_tat_ca.sh            (hoặc dùng systemd/*.service)
  3) Kiểm tra:  bash cai_dat/kiem_tra.sh
  Truy cập: http://127.0.0.1:8100/ (HLQT · CSDL A) · :8099/ (CALIB · CSDL B) · :8098/ (Agent-Lab)
XONG
