#!/bin/bash

print_formatted_output() {
  local text="$1"
  local status="$2"
  RED='\033[0;31m'
  GREEN='\033[0;32m'
  NC='\033[0m' # No Color

  printf "\n"
  case "$status" in
    "")
      printf "${GREEN}-----------------------------------------------------------------------------------------------${NC}\n"
      printf "${GREEN}   %s   ${NC}\n" "$text"
      printf "${GREEN}-----------------------------------------------------------------------------------------------${NC}\n"
      ;;
    "err")
      printf "${RED}-----------------------------------------------------------------------------------------------${NC}\n"
      printf "${RED}   %s   ${NC}\n" "$text"
      printf "${RED}-----------------------------------------------------------------------------------------------${NC}\n"
      ;;
    *)
      printf "Invalid status: %s\n" "$status"
      ;;
  esac
  printf "\n"
}

SOURCE_PATH=`pwd`
BASE_PATH="/tmp/AortaVlinker"
EXPECTED_MD5="7cfda7542b3ae02802b471df852fa0b1"

mkdir $BASE_PATH
cd $BASE_PATH
print_formatted_output "AORTA VLINKER下载中..."
curl http://deb.agc.cloud/AortaVlinker/dists/bionic/main/AortaVlinker/AortaVlinker.tar.gz -o AortaVlinker.tar.gz

PKG_MD5=`md5sum AortaVlinker.tar.gz | awk '{print $1}'`
if [ "$PKG_MD5" != "$EXPECTED_MD5" ]; then
  print_formatted_output "下载不完整，请重新执行脚本" "err"
  rm -rf $BASE_PATH
  exit 1
fi

tar -zxf AortaVlinker.tar.gz
pkgTotal=`cat pkgList |wc -l`
successCount=0
print_formatted_output "AORTA VLINKER安装中..."
for pkg in `cat pkgList`; do
  dpkg -i $pkg > /dev/null 2>&1;
  if [ $? -ne 0 ]; then
    print_formatted_output "$pkg 安装失败，请联系技术人员查看" "err"
    exit 1
  else
    ((successCount++))
    printf "当前已经安装%d个包，共有%d个包需安装\n" $successCount $pkgTotal
  fi
done

cd $SOURCE_PATH
print_formatted_output "AORTA VLINKER安装成功，请联系技术人员获取token并配置"
rm -rf $BASE_PATH
