#!/bin/bash
#################################
### SQliteDatenbankSchematas  ###
### in Maridb Schreiben       ###  
### Erstellt von Theo Richter ###
### am 15.10.2024     (c)     ###
#################################
### Farbdefinitionen ####
#   TEXT in Weiss       #
#   DATEIEN in Gelb     #
#   ORDNER in HellBlau  #
#########################
# 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
#
## [Variablen]
##
#
URL="schulungsserver.svws-nrw.de"
Pfad="root"
###URL="10.1.0.3"
###Pfad="netzlaufwerk"
##URL=""
##Pfad=""
DB_PATH=""
ANZAHL="7"
SCHULFORM=""
PORT=""
MYSQLROOTPW="root"
#
echo
echo -e -n "${TUERKIS}SVWS-Server-PORT Eingeben! ${NC}"
echo
if [ -z "${SVWSPort}" ]; then
      read -p "Hier BITTE den SVWS-Server-PORT Eingeben: " SVWSPort
fi
echo -e -n "${TUERKIS}Das MYSQL root Passwort Eingeben! ${NC}"
echo
if [ -z "${MYSQLROOTPW}" ]; then
    # Festlegen des MariaDB "Root" Passwort
    while true; do
        echo
        read -s -p "Eingabe des MariaDB root Passworts: " MYSQLROOTPW
        echo
        read -s -p "Zur Kontrolle erneute Eingabe des MariaDB root Passworts: " PROMPT2
        echo
        [ "${MYSQLROOTPW}" = "${PROMPT2}" ] && break
        echo -e "${RED}Die Eingaben waren nicht identisch. Neuer Versuch! ${NC}" 1>&2
    done
else
    echo -e "${BLUE}Das MariaDB root Passwort wurde Vorgegeben. ${NC}"
fi
echo
echo -e -n "${TUERKIS}URL oder IP  (ohne https://) Eingeben! ${NC}"
echo
if [ -z "${URL}" ]; then
      read -p "Hier BITTE URL(schulungsserver.svws-nrw.de) oder IP(10.1.0.3) ohne https:// Eingeben: " URL
fi
echo
echo -e -n "${TUERKIS}Pfad zu den TestDBS (netzlaufwerk oder root) Eingeben! ${NC}"
echo
if [ -z "${Pfad}" ]; then
      read -p "Hier BITTE den Pfad zu den TestDBS Eingeben: " Pfad
fi
#
# [Einstellungen]
##
SERVERNAME=$URL            # IP oder URL ohne http oder https
PORT=$SVWSPort             # docker SVWS-Server-PORT 
#
#
###echo
###echo -e -n "${HELLLILA}SERVERNAME=$SERVERNAME PORT=$PORT MYSQLROOTPW=$MYSQLROOTPW ${HELLLILA}DB_PATH=$DB_PATH ${NC}"
###echo
#
# [Loeschen der DBs]
#
echo
echo -e -n "${TUERKIS}svwsdb  wird geloescht! ${NC}"
echo
curl --user "root:${MYSQLROOTPW}" \
	-k -X "POST" "https://${SERVERNAME}:${PORT}/api/schema/root/destroy/svwsdb" \
	-H "accept: application/json"
#
###################################################################################################################################################################
### ANFANG der for schleife #######################################################################################################################################
###################################################################################################################################################################
  for (( i=1; i<=$ANZAHL; i++ ))
  do
  if [[ "$i" == "1" ]]; then
   SCHULFORM="Grundschule"
  fi
  if [[ "$i" == "2" ]]; then
   SCHULFORM="Hauptschule"
  fi
  if [[ "$i" == "3" ]]; then
   SCHULFORM="Gymnasium"
  fi
  if [[ "$i" == "4" ]]; then
   SCHULFORM="Berufskolleg"
  fi
  if [[ "$i" == "5" ]]; then
   SCHULFORM="Realschule"
  fi
  if [[ "$i" == "6" ]]; then
   SCHULFORM="Forderschule"
  fi
  if [[ "$i" == "7" ]]; then
   SCHULFORM="Gesamtschule"
  fi
  # SQLITE DatenbankPfad
  DB_PATH=/$Pfad/SVWS-TestDBs/$SCHULFORM/$SCHULFORM.sqlite
  #################################################################################################################################################################
  ### Angelegt der SQLITE Datenbankscehemata fuer die Schulformen: Grundschule, Hauptschule, Gymnasium, Realschule, Forderschule, Gesamtschule und Berufskolleg ###
  #################################################################################################################################################################
  DB_NAME=$SCHULFORM
  DB_USER=$SCHULFORM
  DB_MYSQL_PW=$SCHULFORM
  echo
  echo -e -n "${TUERKIS}Anlegen des Schemas mit dem Namen ${DB_NAME}:  ${NC}"
  echo
    curl --user "root:${MYSQLROOTPW}" \
     -k --insecure \
     -X "POST" "https://${SERVERNAME}:${SVWSPort}/api/schema/root/import/sqlite/${DB_NAME}" \
     -H "accept: application/json" \
     -H "Content-Type: multipart/form-data" \
     -F "database=@${DB_PATH}" \
     -F "schemaUsername=${DB_USER}" \
     -F "schemaUserPassword=${DB_MYSQL_PW}" 
   done
###################################################################################################################################################################
### ENDE der for schleife #########################################################################################################################################
###################################################################################################################################################################
echo