#!/usr/bin/env bash
set -e
RELEASE=$(curl -s https://api.github.com/repos/photoprism/photoprism/releases/latest |
    grep "tag_name" |
    awk '{print substr($2, 2, length($2)-4) }')

YW=$(echo "\033[33m")
BL=$(echo "\033[36m")
RD=$(echo "\033[01;31m")
CM='\xE2\x9C\x94\033'
GN=$(echo "\033[1;92m")
CL=$(echo "\033[m")
PP=$(echo "\e[1;35m")

while true; do
    read -p "Update PhotoPrism LXC. Proceed(y/n)?" yn
    case $yn in
    [Yy]*) break ;;
    [Nn]*) exit ;;
    *) echo "Please answer yes or no." ;;
    esac
done
clear
function header_info {
    echo -e "${PP}
  _____  _           _        _____      _               
 |  __ \| |         | |      |  __ \    (_)              
 | |__) | |__   ___ | |_ ___ | |__) | __ _ ___ _ __ ___  
 |  ___/|  _ \ / _ \| __/ _ \|  ___/  __| / __|  _   _ \ 
 | |    | | | | (_) | || (_) | |   | |  | \__ \ | | | | |
 |_|    |_| |_|\___/ \__\___/|_|   |_|  |_|___/_| |_| |_|
             ${RD} UPDATE
${CL}"
}

header_info
show_menu() {
    printf "    ${YW} 1)${GN} Release Branch ${CL}\n"
    printf "    ${YW} 2)${YW} Develop Branch ${CL}\n"

    printf "Please choose a Install Branch and hit enter or ${RD}x${CL} to exit."
    read opt
}

option_picked() {
    message1=${@:-"${CL}Error: No message passed"}
    printf " ${YW}${message1}${CL}\n"
}
show_menu
while [ "$opt" != " " ]; do
    case $opt in
    1)
        clear
        header_info
        option_picked "Using Release Branch"
        BR="release"
        break
        ;;
    2)
        clear
        header_info
        option_picked "Using Develop Branch"
        BR="develop"
        break
        ;;

    x)
        exit
        ;;
    \n)
        exit
        ;;
    *)
        clear
        option_picked "Please choose a Install Branch from the menu"
        show_menu
        ;;
    esac
done

echo -en "${GN} Stopping PhotoPrism... "
sudo systemctl stop photoprism
echo -e "${CM}${CL} \r"

echo -en "${GN} Cloning PhotoPrism ${BR} branch... "
git clone https://github.com/photoprism/photoprism.git &>/dev/null
cd photoprism
git checkout ${BR} &>/dev/null
echo -e "${CM}${CL} \r"

echo -en "${GN} Building PhotoPrism ${BR} branch... "
sudo make all &>/dev/null
sudo ./scripts/build.sh prod /opt/photoprism/bin/photoprism &>/dev/null
sudo cp -a assets/ /opt/photoprism/assets/ &>/dev/null
echo -e "${CM}${CL} \r"

echo -en "${GN} Cleaning... "
cd ~
rm -rf photoprism
echo -e "${CM}${CL} \r"

echo -en "${GN} Starting PhotoPrism... "
sudo systemctl start photoprism
echo -e "${CM}${CL} \n"

echo -e "${GN} Finished ${CL} \n "