@echo off
setlocal

:: Verifică dacă scriptul este rulat cu drepturi de administrator
net session >nul 2>&1
if %errorlevel% neq 0 (
    echo Nu sunt privilegii de administrator. Incercati din nou...
    powershell -Command "Start-Process cmd.exe -ArgumentList '/c %~f0' -Verb runAs"
    exit /b
)

:: Setează variabilele pentru baza de date și utilizator
set DB_PATH=%~dp0
set DB_NAME=pos_system
set DB_USER=magazin
set DB_PASS=magazin@123

:: --- Verificare și creare bază de date ---
echo Verificare existenta baza de date %DB_NAME%...
mysql -u root -e "SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '%DB_NAME%';" | findstr /I /C:"%DB_NAME%" >nul
if %errorlevel%==0 (
    echo Baza de date %DB_NAME% exista. Se sterge...
    mysql -u root -e "DROP DATABASE %DB_NAME%;"
)

echo Creare baza de date %DB_NAME%...
mysql -u root -e "CREATE DATABASE %DB_NAME%;"

:: --- Verificare și creare utilizator ---
echo Verificare existenta utilizator %DB_USER%...
mysql -u root -e "SELECT User, Host FROM mysql.user WHERE User='%DB_USER%';" | findstr /C:"%DB_USER%" >nul
if %errorlevel%==0 (
    echo Utilizatorul %DB_USER% exista. Stergere utilizator...
    mysql -u root -e "DROP USER IF EXISTS '%DB_USER%'@'%';"
    mysql -u root -e "DROP USER IF EXISTS '%DB_USER%'@'localhost';"
)

:: Creare utilizator pentru orice IP
echo Creare utilizator %DB_USER% pentru orice IP...
mysql -u root -e "CREATE USER '%DB_USER%'@'%' IDENTIFIED BY 'magazin@123';"
mysql -u root -e "GRANT ALL PRIVILEGES ON %DB_NAME%.* TO '%DB_USER%'@'%';"

:: Creare utilizator pentru localhost
echo Creare utilizator %DB_USER% pentru localhost...
mysql -u root -e "CREATE USER '%DB_USER%'@'localhost' IDENTIFIED BY 'magazin@123';"
mysql -u root -e "GRANT ALL PRIVILEGES ON %DB_NAME%.* TO '%DB_USER%'@'localhost';"

:: Aplicare privilegii
echo Aplicare privilegii...
mysql -u root -e "FLUSH PRIVILEGES;"

:: --- Importul bazei de date ---
if not exist "%DB_PATH%pos_system.sql" (
    echo Fisierul pos_system.sql nu a fost gasit in %DB_PATH%.
    exit /b 1
)

echo Importare baza de date %DB_NAME%...
mysql -u root %DB_NAME% < "%DB_PATH%pos_system.sql" 2> "%DB_PATH%import_error.txt"

if errorlevel 1 (
    echo Eroare la importarea bazei de date. Verificati fisierul import_error.txt pentru detalii.
    type "%DB_PATH%import_error.txt"
    exit /b %errorlevel%
)

echo Toate operatiunile au fost finalizate cu succes.
pause
