set -euo pipefail

FAILURE=1
SUCCESS=0
EXIT_STATUS=$1

DATE=$(date +'%m/%d/%Y %H:%M')

SLACK_WEBHOOK="https://hooks.slack.com/services/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"

function content_remove_deploy() {

    local slack_msg_header
    local slack_msg_body
    local slack_channel

    color="#ff0000" # Default Red

    # Populate header and define slack channels
    slack_msg_header="Problem removing *${CI_PROJECT_NAME}* in *${CI_ENVIRONMENT_NAME}* maybe didn't exist"
    if [[ "${EXIT_STATUS}" == "${SUCCESS}" ]]; then
        slack_msg_header="Removed *${CI_PROJECT_NAME}* in *${CI_ENVIRONMENT_NAME}*"
        color="#ffff00" # Yellow
    fi

    if [[ "${CI_ENVIRONMENT_NAME}" == "production" ]]; then
        slack_channel="env_prod"
    else
        slack_channel="env_stage"
    fi

    cat <<-SLACK
            {
                "channel": "${slack_channel}",
                "attachments": [
                    {
                        "color": "${color}",
                        "text": "${slack_msg_header}",
                        "footer": "User: ${GITLAB_USER_NAME} \n Branch: ${CI_COMMIT_REF_NAME} \n Job_URL: ${CI_JOB_URL} \n Date: ${DATE}",
                    }
                ]
}
SLACK
}

function send_slack_remove_deploy() {
    
    curl -sX POST                                           \
        --data-urlencode "payload=$(content_remove_deploy)"  \
        "${SLACK_WEBHOOK}"

}

send_slack_remove_deploy