109 lines
3.1 KiB
Bash
Executable File
109 lines
3.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Smart Packages System Build og Test Script
|
|
# Dette script bygger og tester Smart Packages funktionaliteten
|
|
|
|
# Farver til output
|
|
GREEN='\033[0;32m'
|
|
RED='\033[0;31m'
|
|
YELLOW='\033[1;33m'
|
|
BLUE='\033[0;34m'
|
|
NC='\033[0m' # No Color
|
|
|
|
echo -e "${BLUE}=========================================${NC}"
|
|
echo -e "${BLUE} Smart Packages System - Build & Test ${NC}"
|
|
echo -e "${BLUE}=========================================${NC}"
|
|
|
|
# Kontroller at vi er i projektets rod
|
|
if [ ! -f "./unified-server.js" ]; then
|
|
echo -e "${RED}Error: Scriptet skal køres fra projektets rodmappe${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
# Funktion til at vise progress
|
|
show_progress() {
|
|
local pid=$1
|
|
local delay=0.1
|
|
local spinstr='|/-\'
|
|
while [ "$(ps a | awk '{print $1}' | grep -w $pid)" ]; do
|
|
local temp=${spinstr#?}
|
|
printf " [%c] " "$spinstr"
|
|
local spinstr=$temp${spinstr%"$temp"}
|
|
sleep $delay
|
|
printf "\b\b\b\b\b\b"
|
|
done
|
|
printf " \b\b\b\b"
|
|
}
|
|
|
|
echo -e "\n${YELLOW}Trin 1: Opretter database tabeller${NC}"
|
|
|
|
# Kører SQL script
|
|
echo -e "Kører setup_smart_packages.sql..."
|
|
mysql -u tilbudgivern_service -p"${DB_PASSWORD}" tilbudgivern < setup_smart_packages.sql
|
|
if [ $? -eq 0 ]; then
|
|
echo -e "${GREEN}✓ Database tabeller oprettet succesfuldt${NC}"
|
|
else
|
|
echo -e "${RED}✗ Fejl ved oprettelse af database tabeller${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
echo -e "\n${YELLOW}Trin 2: Bygger frontend${NC}"
|
|
echo -e "Navigerer til frontend mappen..."
|
|
cd frontend
|
|
|
|
echo -e "Installerer eventuelle nye afhængigheder..."
|
|
npm install &
|
|
show_progress $!
|
|
|
|
echo -e "Bygger frontend pakken..."
|
|
npm run build &
|
|
show_progress $!
|
|
|
|
if [ -d "build" ]; then
|
|
echo -e "${GREEN}✓ Frontend bygget succesfuldt${NC}"
|
|
else
|
|
echo -e "${RED}✗ Fejl ved bygning af frontend${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
# Tilbage til projektets rod
|
|
cd ..
|
|
|
|
echo -e "\n${YELLOW}Trin 3: Genstarter serveren${NC}"
|
|
echo -e "Stopper nuværende server proces..."
|
|
|
|
# Find og stop server proces - tilpas efter behov
|
|
pkill -f "node unified-server.js" || true
|
|
|
|
echo -e "Starter serveren igen..."
|
|
nohup node unified-server.js > server.log 2>&1 &
|
|
SERVER_PID=$!
|
|
|
|
# Vent lidt på at serveren starter op
|
|
echo -e "Venter på at serveren starter op..."
|
|
sleep 5
|
|
|
|
if ps -p $SERVER_PID > /dev/null; then
|
|
echo -e "${GREEN}✓ Server genstartet succesfuldt med PID $SERVER_PID${NC}"
|
|
else
|
|
echo -e "${RED}✗ Fejl ved genstart af server${NC}"
|
|
cat server.log
|
|
exit 1
|
|
fi
|
|
|
|
echo -e "\n${YELLOW}Trin 4: Tester API endpoints${NC}"
|
|
echo -e "Tester GET /api/smart-packages endpoint..."
|
|
RESPONSE=$(curl -s http://localhost:4031/api/smart-packages)
|
|
|
|
if [[ $RESPONSE == *"\"success\""* ]]; then
|
|
echo -e "${GREEN}✓ GET /api/smart-packages fungerer korrekt${NC}"
|
|
else
|
|
echo -e "${RED}✗ Fejl ved test af GET /api/smart-packages${NC}"
|
|
echo -e "Response: $RESPONSE"
|
|
fi
|
|
|
|
echo -e "\n${GREEN}================================${NC}"
|
|
echo -e "${GREEN} Smart Packages System er klar! ${NC}"
|
|
echo -e "${GREEN}================================${NC}"
|
|
echo -e "\nDu kan nu tilgå Smart Packages via menuen i applikationen."
|
|
echo -e "Server kører med PID $SERVER_PID" |