#!/bin/bash

remove_chirpstack()
{
        docker-compose -f /usr/local/chirpstack/docker-compose.yml down --rmi all 2> /dev/null
}

remove_tts()
{
#remove ttn-stack
echo "Remove TTS"
systemctl stop ttnstack 2> /dev/null
systemctl disable ttnstack 2> /dev/null
docker-compose -f /usr/lib/ttn-stack/docker-compose.yml down --rmi all 2> /dev/null
echo "Done!"
echo " "
}


build_chirpstack()
{
#build chirpstack image via docker
echo "Build Chirpstack Images"
git clone https://github.com/chirpstack/chirpstack-docker.git /usr/local/chirpstack 2> /dev/null
docker-compose -f /usr/local/chirpstack/docker-compose.yml pull 2> /tmp/migrate-chirpstack.log &

run_uid=$!
while [ $(ps -ef |grep $run_uid|grep -v grep -c) -eq 1 ]
do
sleep 10
tail -n 2 /tmp/migrate-chirpstack.log
done

tail -n 10 /tmp/migrate-chirpstack.log
echo " "
}

init_chirpstack()
{
echo "Initialize Chirpstack"
#crate the bak file
curl http://repo.dragino.com/release/tool/chirpstack/chirpstack.toml -o /usr/local/chirpstack/configuration/chirpstack/chirpstack.toml 2> /dev/null
curl http://repo.dragino.com/release/tool/chirpstack/chirpstack-gateway-bridge.toml.bak -o /usr/local/chirpstack/configuration/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml.bak 2> /dev/null
echo "Done!"
}

if [[ -n $(docker ps) ]]; then
        if [[ -n $(docker images |grep lorawan) ]]; then
                remove_tts
        elif [[ -n $(docker images |grep chirpstack) ]]; then
                remove_chirpstack
        fi
fi
build_chirpstack
init_chirpstack

#Completed
echo "Migrate execution completed successfully"
