#!/usr/bin/env bash
set -e
echo "=== Marthoma School Kalolsavam - Ubuntu 22.04 Setup ==="

sudo apt update
sudo apt install -y python3 python3-venv python3-dev build-essential default-libmysqlclient-dev pkg-config mysql-server unzip

if [ ! -d "venv" ]; then
  python3 -m venv venv
fi

source venv/bin/activate
python -m pip install --upgrade pip
pip install -r requirements.txt

echo "Enter MySQL database name [marthoma_db]:"
read MYSQL_DATABASE
MYSQL_DATABASE=${MYSQL_DATABASE:-marthoma_db}

echo "Enter MySQL username [root]:"
read MYSQL_USER
MYSQL_USER=${MYSQL_USER:-root}

echo "Enter MySQL password:"
read -s MYSQL_PASSWORD
export MYSQL_DATABASE MYSQL_USER MYSQL_PASSWORD
export MYSQL_HOST=127.0.0.1
export MYSQL_PORT=3306

mysql -u "$MYSQL_USER" -p"$MYSQL_PASSWORD" -e "CREATE DATABASE IF NOT EXISTS $MYSQL_DATABASE CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"

python manage.py makemigrations
python manage.py migrate

mkdir -p media staticfiles

cat > run_kaotsavam.sh <<'EOF'
#!/usr/bin/env bash
set -e
cd "$(dirname "$0")"
source venv/bin/activate
export MYSQL_DATABASE="${MYSQL_DATABASE:-marthoma_db}"
export MYSQL_USER="${MYSQL_USER:-root}"
export MYSQL_PASSWORD="${MYSQL_PASSWORD:-}"
export MYSQL_HOST="${MYSQL_HOST:-127.0.0.1}"
export MYSQL_PORT="${MYSQL_PORT:-3306}"
python manage.py runserver
EOF
chmod +x run_kaotsavam.sh

mkdir -p "$HOME/.local/share/applications"
cat > "$HOME/.local/share/applications/marthoma-school-kalolsavam.desktop" <<EOF
[Desktop Entry]
Name=Marthoma School Kalolsavam
Comment=Run Marthoma School Kalolsavam
Exec=$PWD/run_kaotsavam.sh
Icon=utilities-terminal
Terminal=true
Type=Application
Categories=Education;Office;
EOF

echo "Setup completed."
echo "Create the first admin with: python manage.py createsuperuser"
echo "Then run: ./run_kaotsavam.sh"
