#!/bin/bash
# Farbdefinitionen zur Ausgabe #
ROT='\033[0;31m' 
HELLROT='\033[1;31m'
GRUEN='\033[0;32m'
HELLGRUEN='\033[1;32m'
GELB='\033[1;33m'
BLAU='\033[0;34m'
HELLBLAU='\033[1;34m'
LILA='\033[0;35m'
HELLLILA='\033[1;35m'
DUNKELESTUERKIS='\033[0;36m'
TUERKIS='\033[1;36m'
HELLGRAU='\033[0;37m'
WEISS='\033[1;37m'
NC='\033[0m' # No Color
#
# Pruefen on der Benutzer root oder sudo ist
if ! [ $( id -u ) = 0 ]; then
    echo -e -n "${HELLROT}Bitte fuehren Sie dieses Script als root im root-Verzeichniss aus! ${NC}" 1>&2
    echo
    exit 1
fi
#
SERVERNAME=""
SVWSPort=""
MARIADB_ROOT_PASSWORD=""
MARIADB_DATABASE=""
MARIADB_USER=""
MARIADB_PASSWORD=""
SNR=""
Pfad=""
BackupPfad=""
MariaDBPort=""
MDB_PW="kakadu"
#
  while read ZEILE; do
    SNR=$(echo $ZEILE | awk -F : '{print $1}')
    MariaDBPort=$(echo $ZEILE | awk -F : '{print $2}')
    MARIADB_ROOT_PASSWORD=$(echo $ZEILE | awk -F : '{print $3}')
    MARIADB_DATABASE=$(echo $ZEILE | awk -F : '{print $4}')
    MARIADB_USER=$(echo $ZEILE | awk -F : '{print $5}')
    MARIADB_PASSWORD=$(echo $ZEILE | awk -F : '{print $6}')
    SVWSPort=$(echo $ZEILE | awk -F : '{print $7}')
    mkdir $SNR
    cd $SNR
    wget -q --show-progress http://web.webolch.de/bauanleitung/downloads/linux/zip/externe.zip
    unzip externe.zip
    rm externe.zip 
    ####################################################################
    ### Wird benoetigt um die Ports im docker-compos.yml zu Aendern. ###
    ####################################################################
    ### MariaDBPort                                                  ###
    sed -i 's/00001/'$MariaDBPort'/g' docker-compose.yml             ###
    ### SVWSPort                                                     ###
    sed -i 's/00002/'$SVWSPort'/g' docker-compose.yml                ###
    ### MariaDB root Passwort                                        ###
    sed -i 's/leer/'$MARIADB_ROOT_PASSWORD'/g' .env                  ###
    ### MariaDB_DATABASE                                             ###
    sed -i 's/database/'$MARIADB_DATABASE'/g' .env                   ###
    ### MariaDB_USER                                                 ###
    sed -i 's/user/'$MARIADB_USER'/g' .env                           ###
    ### MariaDB_PASSWORD                                             ###
    sed -i 's/password/'$MARIADB_PASSWORD'/g' .env                   ###
    ####################################################################
    ####################################################################
    docker compose up -d
    ####################################################################
########################################################################
   cd .. ###ein Verzeichniss nach oben springen
########################################################################
  done  < config.txt
########################################################################
clear
########################################################################
  while read ZEILE; do
    SNR=$(echo $ZEILE | awk -F : '{print $1}')
    MARIADB_ROOT_PASSWORD=$(echo $ZEILE | awk -F : '{print $3}')
    MARIADB_DATABASE=$(echo $ZEILE | awk -F : '{print $4}')
    MARIADB_USER=$(echo $ZEILE | awk -F : '{print $5}')
    MARIADB_PASSWORD=$(echo $ZEILE | awk -F : '{print $6}')
    SVWSPort=$(echo $ZEILE | awk -F : '{print $7}')
    SERVERNAME=$(echo $ZEILE | awk -F : '{print $8}')
    Pfad=$(echo $ZEILE | awk -F : '{print $9}')
#
DB_PATH="$Pfad"
echo
echo -e -n "${HELLBLAU}### Einpflegen der SchulDatenbanken ### ${NC}"
echo
echo -e -n "${HELLGRAU}URL:${GELB}$SERVERNAME ${HELLGRAU}SVWSPORT:${GELB}$SVWSPort ${HELLGRAU}Root_Passwort:${GELB}$MARIADB_ROOT_PASSWORD ${HELLGRAU}Datenbankname:${GELB}$MARIADB_DATABASE ${HELLGRAU}Datenbank_User:${GELB}$MARIADB_USER ${HELLGRAU}Datenbank_User_Passwort:${GELB}$MARIADB_PASSWORD ${HELLGRAU}Pfad:${GELB}$Pfad ${NC}"
echo
echo -e -n "${HELLROT}###!?!?!ACHTUNG DAS DAUERT JETZT ETWAS!?!?!###${WEISS}###!?!?!ACHTUNG DAS DAUERT JETZT ETWAS!?!?!###${HELLROT}###!?!?!ACHTUNG DAS DAUERT JETZT ETWAS!?!?!### ${NC}"
echo
    curl --user "root:${MARIADB_ROOT_PASSWORD}" \
      -k --insecure \
      -X "POST" "https://${SERVERNAME}:${SVWSPort}/api/schema/root/migrate/mdb/${MARIADB_DATABASE}" \
      -H "accept: application/json" \
      -H "Content-Type: multipart/form-data" \
      -F "database=@${DB_PATH}" \
      -F "databasePassword=${MDB_PW}" \
      -F "schemaUsername=${MARIADB_USER}" \
      -F "schemaUserPassword=${MARIADB_PASSWORD}"
clear
echo
echo -e -n "${WEISS}### Stoppen der docker-container ${GELB}$SNR-mariadb-1 ${WEISS}und ${GELB}$SNR-svws-server-1 ${WEISS}### ${NC}" 
echo
docker stop $SNR-mariadb-1
docker stop $SNR-svws-server-1 
echo
echo -e -n "${HELLGRUEN} OK ${NC}" 
echo
DB_PATH=""
  done  < config.txt
echo
echo -e -n "${WEISS}docker-container und SchulDatenbanke einstpielen ${HELLGRUEN}OK ${NC}"
echo
wget -q --show-progress http://web.webolch.de/bauanleitung/downloads/linux/SH-Scripte/backup.sh
bash backup.sh
