pipeline {
    agent any
    environment {
        //fd_secret_ignore
        GOOGLE_CHAT_LINK = 'https://chat.googleapis.com/v1/spaces/AAAAdtA0kaI/messages?key=AIzaSyDdI0hCZtE6vySjMm-WEfRq3CPzqKqqsHI&token=UH4Advudj0TXbQhfbLQP60Bmz2d2hXRqqtIR6raO4LQ'
        APP_URL = 'api.enterprisebraindev.divami.com'
        DEPLOYMENT_PATH = '/var/www/html/ai-enterprise-brain/backend'
        DEPLOYMENT_USER = 'aidemo'
        ENV = 'Dev'
    }
    stages {
        stage('get_commit_msg') {
            steps {
                script {
                    env.GIT_COMMIT_MSG = sh(script: 'git log -1 --pretty=%B ${GIT_COMMIT}', returnStdout: true).trim()
                    GIT_COMMIT_EMAIL = sh(
                        script: "git --no-pager show -s --format='%ae'",
                        returnStdout: true
                    ).trim()
                    echo "Git committer email: ${GIT_COMMIT_EMAIL}"
                    echo "${GIT_COMMIT_MSG}"
                }
            }
        }

        stage('Deployment') {
            steps {
                script {
                    echo "Deploying ${ENV}"
                    sh 'tar -cvzf backend.tar.gz backend/'
                    sh "scp backend.tar.gz ${DEPLOYMENT_USER}@aidemo.divami.com:/var/www/html/ai-enterprise-brain/"
                    sh "ssh ${DEPLOYMENT_USER}@aidemo.divami.com \"cd /var/www/html/ai-enterprise-brain && sudo tar -xvzf backend.tar.gz\""
                    sh "ssh ${DEPLOYMENT_USER}@aidemo.divami.com \"cd ${DEPLOYMENT_PATH} && sudo chown -R ${DEPLOYMENT_USER}:${DEPLOYMENT_USER} *\""
                    sh "ssh ${DEPLOYMENT_USER}@aidemo.divami.com \"cd ${DEPLOYMENT_PATH} && source .venv/bin/activate && /home/aidemo/.local/bin/uv sync\""
                    sh "ssh ${DEPLOYMENT_USER}@aidemo.divami.com \"cd ${DEPLOYMENT_PATH} && sudo systemctl restart ai-enterprisebrain-dev.service\""
                }
            }
        }
    }
    post {
        always {
            script {
                cleanWs()
            }
        }
    }
}