pipeline {
    agent any

    stages {
        stage('Configurar Entorno') {
            steps {
                script {
                    if (env.BRANCH_NAME == 'master') {
                        env.PROJECT_NAME = "django_master"
                        env.CONTAINER_NAME = "django_app_master"
                        env.PORT = "8001"
                        env.DEBUG_MODE = "0"
                    } else {
                        env.PROJECT_NAME = "django_dev"
                        env.CONTAINER_NAME = "django_app_dev"
                        env.PORT = "8000"
                        env.DEBUG_MODE = "1"
                    }
                }
            }
        }

        stage('Despliegue') {
            when { anyOf { branch 'dev'; branch 'master' } }
            steps {
                echo "DESPLEGANDO: ${env.CONTAINER_NAME} en el puerto ${env.PORT}"
                
                // CAMBIAMOS docker-compose (guion) por docker compose (espacio)
                sh """
                CONTAINER_NAME=${env.CONTAINER_NAME} \
                PORT=${env.PORT} \
                DEBUG_MODE=${env.DEBUG_MODE} \
                docker compose -p ${env.PROJECT_NAME} -f deployments/docker-compose.yml up -d --build web
                """

                echo "Ejecutando migraciones en ${env.CONTAINER_NAME}..."
                sh "docker exec ${env.CONTAINER_NAME} python manage.py migrate --noinput"
            }
        }
    }
}