#!/bin/bash

# ─────────────────────────────────────────────────────────────────
#  Role & Permission Setup Script — School Management System
#  Reads every command from run_role_permission.txt and runs it.
# ─────────────────────────────────────────────────────────────────

PROJECT_DIR="$(cd "$(dirname "$0")" && pwd)"
cd "$PROJECT_DIR"

PERMISSION_FILE="$PROJECT_DIR/run_role_permission.txt"

GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
CYAN='\033[0;36m'
NC='\033[0m'

echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "  Role & Permission Setup — School Management"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""

if [ ! -f "$PERMISSION_FILE" ]; then
  echo -e "${RED}✗ File not found: $PERMISSION_FILE${NC}"
  exit 1
fi

TOTAL=0
SUCCESS=0
FAILED=0

while IFS= read -r line || [ -n "$line" ]; do
  # skip blank lines and comment lines
  [[ -z "$line" || "$line" =~ ^# ]] && continue

  TOTAL=$((TOTAL + 1))
  echo -e "${CYAN}→${NC} $line"

  if eval "$line" > /dev/null 2>&1; then
    echo -e "  ${GREEN}✓ done${NC}"
    SUCCESS=$((SUCCESS + 1))
  else
    echo -e "  ${RED}✗ failed${NC}"
    FAILED=$((FAILED + 1))
  fi

done < "$PERMISSION_FILE"

echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo -e "  Total : $TOTAL"
echo -e "  ${GREEN}Done  : $SUCCESS${NC}"
if [ "$FAILED" -gt 0 ]; then
  echo -e "  ${RED}Failed: $FAILED${NC}"
fi
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
