- Completed Action 1.1.2.1: Installed @openapitools/openapi-generator-cli - Completed Action 1.1.2.2: Created generate-types.sh script - Added swagger annotations to cmd/modern-server/main.go - Regenerated swagger.yaml with proper info section - Successfully generated TypeScript types to src/types/generated/ The script generates types from veza-backend-api/openapi.yaml using typescript-axios generator and creates barrel exports.
68 lines
2.3 KiB
Bash
68 lines
2.3 KiB
Bash
#!/bin/bash
|
|
|
|
# Script pour démarrer le backend Go Veza
|
|
# Usage: ./scripts/start-backend.sh
|
|
|
|
set -e
|
|
|
|
# Couleurs pour les messages
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
BLUE='\033[0;34m'
|
|
NC='\033[0m' # No Color
|
|
|
|
echo -e "${BLUE}🚀 Démarrage du backend Veza...${NC}"
|
|
|
|
# Vérifier que Go est installé
|
|
if ! command -v go &> /dev/null; then
|
|
echo -e "${RED}❌ Go n'est pas installé. Veuillez installer Go 1.23+${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
# Aller dans le répertoire du backend
|
|
cd "$(dirname "$0")/../veza-backend-api" || exit 1
|
|
|
|
# Vérifier que le répertoire existe
|
|
if [ ! -f "go.mod" ]; then
|
|
echo -e "${RED}❌ Répertoire backend non trouvé ou invalide${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
# Vérifier les dépendances
|
|
echo -e "${YELLOW}📦 Vérification des dépendances...${NC}"
|
|
go mod download
|
|
|
|
# Vérifier que la base de données est accessible
|
|
echo -e "${YELLOW}🔍 Vérification de la connexion à la base de données...${NC}"
|
|
if ! command -v psql &> /dev/null; then
|
|
echo -e "${YELLOW}⚠️ psql non trouvé, impossible de vérifier la DB. Continuons...${NC}"
|
|
else
|
|
# Tenter de se connecter (ne pas échouer si ça ne marche pas)
|
|
psql -h localhost -U veza -d veza -c "SELECT 1;" &> /dev/null || echo -e "${YELLOW}⚠️ Impossible de se connecter à la DB. Assurez-vous qu'elle est démarrée.${NC}"
|
|
fi
|
|
|
|
# Vérifier si air (hot reload) est disponible
|
|
if command -v air &> /dev/null; then
|
|
echo -e "${GREEN}✅ Air détecté - Démarrage avec hot reload${NC}"
|
|
echo -e "${BLUE}📍 Backend sera accessible sur http://127.0.0.1:8080${NC}"
|
|
echo -e "${BLUE}📍 API sera accessible sur http://127.0.0.1:8080/api/v1${NC}"
|
|
echo ""
|
|
exec air
|
|
else
|
|
echo -e "${YELLOW}⚠️ Air non trouvé - Démarrage sans hot reload${NC}"
|
|
echo -e "${YELLOW} Installez air avec: go install github.com/air-verse/air@latest${NC}"
|
|
echo -e "${BLUE}📍 Backend sera accessible sur http://127.0.0.1:8080${NC}"
|
|
echo -e "${BLUE}📍 API sera accessible sur http://127.0.0.1:8080/api/v1${NC}"
|
|
echo ""
|
|
|
|
# Chercher le point d'entrée
|
|
if [ -f "cmd/modern-server/main.go" ]; then
|
|
exec go run cmd/modern-server/main.go
|
|
elif [ -f "cmd/server/main.go" ]; then
|
|
exec go run cmd/server/main.go
|
|
else
|
|
echo -e "${RED}❌ Point d'entrée non trouvé (cmd/modern-server/main.go ou cmd/server/main.go)${NC}"
|
|
exit 1
|
|
fi
|
|
fi
|