#!/bin/bash
# cPanel Deployment Setup Script
# Run this script via SSH after uploading files to cPanel

set -e

echo "🚀 Starting cPanel Deployment Setup..."
echo ""

# Colors for output
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m' # No Color

# Get current directory
CURRENT_DIR=$(pwd)
echo -e "${GREEN}Current directory: $CURRENT_DIR${NC}"

# Check if we're in the right directory
if [ ! -d "backend" ] || [ ! -d "frontend" ]; then
    echo -e "${RED}❌ Error: Please run this script from the project root directory${NC}"
    exit 1
fi

echo ""
echo -e "${YELLOW}📦 Step 1: Installing Backend Dependencies...${NC}"
cd backend
npm install --production
echo -e "${GREEN}✅ Backend dependencies installed${NC}"

echo ""
echo -e "${YELLOW}🗄️  Step 2: Setting up Database...${NC}"
echo "Running Prisma migrations..."
npx prisma migrate deploy
npx prisma generate
echo -e "${GREEN}✅ Database migrations completed${NC}"

echo ""
echo -e "${YELLOW}📦 Step 3: Installing Frontend Dependencies...${NC}"
cd ../frontend

echo "Installing customer-app dependencies..."
cd customer-app
npm install
echo -e "${GREEN}✅ Customer app dependencies installed${NC}"

echo "Installing pos-app dependencies..."
cd ../pos-app
npm install
echo -e "${GREEN}✅ POS app dependencies installed${NC}"

echo "Installing kds-app dependencies..."
cd ../kds-app
npm install
echo -e "${GREEN}✅ KDS app dependencies installed${NC}"

echo "Installing admin-app dependencies..."
cd ../admin-app
npm install
echo -e "${GREEN}✅ Admin app dependencies installed${NC}"

echo ""
echo -e "${YELLOW}🏗️  Step 4: Building Frontend Applications...${NC}"
cd ../customer-app
echo "Building customer-app..."
npm run build
echo -e "${GREEN}✅ Customer app built${NC}"

cd ../pos-app
echo "Building pos-app..."
npm run build
echo -e "${GREEN}✅ POS app built${NC}"

cd ../kds-app
echo "Building kds-app..."
npm run build
echo -e "${GREEN}✅ KDS app built${NC}"

cd ../admin-app
echo "Building admin-app..."
npm run build
echo -e "${GREEN}✅ Admin app built${NC}"

echo ""
echo -e "${YELLOW}📁 Step 5: Setting up directories...${NC}"
cd ../../backend
# Create uploads directory if it doesn't exist
mkdir -p uploads
chmod 777 uploads
echo -e "${GREEN}✅ Uploads directory created${NC}"

echo ""
echo -e "${GREEN}✅ Setup completed successfully!${NC}"
echo ""
echo -e "${YELLOW}📝 Next steps:${NC}"
echo "1. Configure Node.js applications in cPanel Node.js Selector"
echo "2. Set environment variables for each app"
echo "3. Create admin user: cd backend && ADMIN_EMAIL=your@email.com ADMIN_PASSWORD=password node prisma/seed-production.js"
echo "4. Start all Node.js applications in cPanel"
echo ""
echo -e "${GREEN}🎉 Deployment setup complete!${NC}"

