#!/bin/bash

# Constantes
ERROR="\e[00;31mERROR:\e[00m"

# Caminho que contém os scripts sql
DIRSQL=/etc/tsi/patch-sql/patches/*.sql;

# Função que executa os comandos SQL
sqls()
{
   mysql -u root -f < "$1" > /dev/null 2>&1;
}

# Verifica se a data recebida é válida
valiDate()
{
   date -d "$1" > /dev/null;
}

# Executa a stored procedure a partir do intervalo de data
fnImportDataMamute()
{
   mysql -u root -e "CALL mamute.sp_import('$1', '$2')" mamute;
}

# Verificando se exite algum parametro passado
if [ -n "$1" ]; then
   # Verifica se é um diretório
   if [ -d "$1" ]; then
      # Executa a SQL no caminho inserido
      for i in $1/*.sql;
      do
         sqls "$i";
      done
   # Verifica se é um arquivo
   elif [ -f "$1" ]; then
      sqls "$1";
   fi

   # Verifica se existe um segundo parameto passado, no caso uma data
   if [ -n "$2" ]; then
      valiDate "$1";
      if [ "$?" = "0" ]; then
         valiDate "$2";
         if [ "$?" = "0" ]; then
            fnImportDataMamute "$1" "$2";
         else
            echo -e "$ERROR Data '$2' está incorreta e/ou mal-formatada!";
            exit 1;
         fi
      else
         echo -e "$ERROR Data '$1' está incorreta e/ou mal-formatada!";
         exit 1;
      fi
   fi
else
   # Executa as SQLs no caminho padrão
   for i in $DIRSQL;
   do
      sqls "$i";
   done
fi