#!/bin/bash

REPO_TYPE=cashserver4_testing # Тип репозитория, необходимо заменить на stable, prerelease или testing, заменяется в job-е Jenkins-а
HOST=downloads.artix.su # downloads.artix.su или udpate.artix.su
UPDATE=${1:-false} # true - обновление, false - установка (отличаются тем, что при обновлении не добавляются репозитории)

RED='\033[0;31m'
NC='\033[0m' # No Color

URL_LM="http://${HOST}/static/downloads/install_scripts/${REPO_TYPE}/loyalty_env"
URL_CS="http://${HOST}/static/downloads/install_scripts/${REPO_TYPE}/cs_env"
URL_MAIN="http://${HOST}/static/downloads/install_scripts/${REPO_TYPE}/main"

curl ${URL_CS}/add_rep.sh -o /tmp/add_rep.sh
curl ${URL}/setup.sh -o /tmp/setup.sh
curl ${URL_LM}/check_licence.sh -o /tmp/check_licence.sh

if [[ ${UPDATE} == false ]]; then
  . /tmp/add_rep.sh ${REPO_TYPE}

	# Если ЛМ устанавливается на отдельную машину (отдельно от КС), то mongo может и не быть
	mongo --eval "db.stats()" >> /dev/null 2>&1
	RESULT=$?
	if [[ ${RESULT} == 127 ]]; then
		repo_codename=$(lsb_release -sc)
		apt-get update
		if  grep -qs 'avx\b' /proc/cpuinfo; then
			apt-get install mongodb-org mongodb-org-database
		else
			apt-get install mongodb-org=4.4.30 mongodb-org-database-tools-extra=4.4.30 mongodb-org-tools=4.4.30 mongodb-org-mongos=4.4.30 mongodb-org-server=4.4.30 mongodb-org-shell=4.4.30
		fi

	fi
else
	# если запустили обновление ЛМ, то выполним скрипт удаления mongo репозитория, т.к. до него больше нет доступа
	curl ${URL_MAIN}/del_mongo_rep.sh -o /tmp/del_mongo_rep.sh
	chmod +x /tmp/del_mongo_rep.sh
	/tmp/del_mongo_rep.sh
fi

sudo apt-get update

# проверка даты сборки пакета по файлу лицензии
chmod +x /tmp/check_licence.sh
/tmp/check_licence.sh

sudo apt-get -y install artixcs-loyalty-rest artixcs-lm-web

# для ubuntu 18 необходимо добавление mongod в автозапуск
if [[ ${RESULT} == 127 ]] && type systemctl > /dev/null 2>&1; then
    systemctl enable mongod
    systemctl restart mongod
fi
