#!/bin/bash

# variables section
REPO_TYPE=${1:-stable}
SCRIPTS_URL=https://update.artix.su/static/cs/install_scripts/${REPO_TYPE}
SERVICE_NAME=web_card_info
DOCKER_FILES_DIRECTORY=/opt/artix/docker/${SERVICE_NAME}

# prepare environment
curl ${SCRIPTS_URL}/main/import_docker_cert.sh -o /tmp/install_docker_cert.sh
bash /tmp/install_docker_cert.sh
if [ -x "$(command -v docker)" ]; then
    echo "Docker already installed"
else
    echo "Install docker"
    curl -O ${SCRIPTS_URL}/main/install_docker.sh -o /tmp/install_docker.sh
    bash /tmp/install_docker.sh
fi

# install
mkdir -p $DOCKER_FILES_DIRECTORY
curl ${SCRIPTS_URL}/${SERVICE_NAME}/docker-compose.yaml -o $DOCKER_FILES_DIRECTORY/docker-compose.yaml
cd $DOCKER_FILES_DIRECTORY
if [[ ! -f './config.json' ]]; then
    cat << EOF > ./config.json
{
    "CASH_SERVER_BASE_URL": "http://127.0.0.1:8080/CSrest/rest/",
    "CASH_SERVER_PASSWORD": "admin",
    "CASH_SERVER_USERNAME": "admin",
    "ACCOUNTING_SERVER_BASE_URL": "http://127.0.0.1:8080/ACC/rest/",
    "ACCOUNTING_SERVER_PASSWORD": "",
    "ACCOUNTING_SERVER_USERNAME": "LM_DEFAULT_TERMINAL",
    "COUNTERS_SERVER_BASE_URL": "http://127.0.0.1:39021/",
    "COUNTERS_SERVER_PASSWORD": "admin",
    "COUNTERS_SERVER_USERNAME": "admin",
    "STATUS_COUNTER_ID": "",
    "CLIENT_STATUSES": [
        {
            "to": 10,
            "label": "Бронзовый",
            "accrualRate": 5,
            "writeOffRate": 10
        },
        {
            "from": 10,
            "to": 100,
            "label": "Серебряный",
            "accrualRate": 7,
            "writeOffRate": 200
        },
        {
            "from": 100,
            "label": "Золотой",
            "accrualRate": 10,
            "writeOffRate": 30
        }
    ],
    "PURCHASE_COUNTER_ID": "",
    "AVAILABLE_PURCHASES_EXPRESSION": "{{counter}} - 10",
    "SERVER_PORT": 3000
}
EOF
fi

docker pull ${DOCKER_REGISTRY:-dockerregistry.artix.su:2443}/web-card-info:${TAG:-latest}
docker compose down || true
docker compose up -d
