@echo off
setlocal EnableExtensions EnableDelayedExpansion
title AtlasForgeX - datapankin nollaus
color 0F
echo.
echo  ============================================================
echo   AtlasForgeX - DATAPANKIN NOLLAUS
echo  ============================================================
echo.
echo  Tama tyokalu poistaa AtlasForgeX:n paikallisen datapankin:
echo  vanhat liidit, rikastustiedot ja valimuistit. Seuraavalla
echo  haulla Atlas aloittaa tyhjalta poydalta ja hakee kaiken
echo  uudestaan tuoreena.
echo.
echo  Mitaan ei havitetaa lopullisesti: tiedostot siirretaan
echo  varmuuskopiokansioon, jonka polku nakyy lopussa.
echo  Asetukset, lisenssi ja WhatsApp/sahkoposti-asetukset sailyvat.
echo.

set "USERDIR=%LOCALAPPDATA%\AtlasForgeX"
set "DATADIR=%USERDIR%\atlas_data"
if not exist "%USERDIR%" (
  echo  [!] Kansiota "%USERDIR%" ei loydy.
  echo      Onko AtlasForgeX asennettu talle Windows-kayttajalle?
  echo      Mitaan ei tehty.
  goto :end
)

rem ---- 1) Atlas ei saa olla kaynnissa: tietokanta on lukittu ---------
:check_running
set "RUNNING="
for %%P in (AtlasForgeX.exe AtlasLauncher.exe) do (
  tasklist /FI "IMAGENAME eq %%P" 2>nul | find /I "%%P" >nul
  if not errorlevel 1 set "RUNNING=!RUNNING! %%P"
)
if defined RUNNING (
  echo  [!] AtlasForgeX on viela kaynnissa:%RUNNING%
  echo      Sulje Atlas kokonaan - myos ilmaisinalueelta - ja paina
  echo      sitten Enter. Ctrl+C keskeyttaa - mitaan ei ole tehty.
  echo.
  pause >nul
  goto :check_running
)

rem ---- 2) Nayta mita loytyy ------------------------------------------
set "FILES=lead_state.db lead_state.db-wal lead_state.db-shm seen_domains.db seen_domains.db-wal seen_domains.db-shm deep_enrich_cache.json asiakastieto_cache.json domain_cache.json email_pattern_memory.json lead_dispositions.json lead_feedback.json"
set /a FOUND=0
for %%D in ("%USERDIR%" "%DATADIR%") do (
  for %%F in (%FILES%) do (
    if exist "%%~D\%%F" (
      set /a FOUND+=1
      echo     - %%~D\%%F
    )
  )
)
echo.
if %FOUND%==0 (
  echo  Datapankkia ei loytynyt - se on jo tyhja. Mitaan ei tehty.
  goto :end
)
echo  Loytyi %FOUND% tiedostoa - listattu ylla.
echo.
echo  Nollataanko datapankki nyt? Kirjoita KYLLA ja paina Enter.
echo  Mika tahansa muu = peruutus.
set "ANSWER="
set /p "ANSWER=  > "
if /I not "%ANSWER%"=="KYLLA" (
  echo.
  echo  Peruttu. Mitaan ei tehty.
  goto :end
)

rem ---- 3) Varmuuskopiokansio -----------------------------------------
set "STAMP="
for /f "usebackq delims=" %%i in (`powershell -NoProfile -Command "Get-Date -Format yyyyMMdd_HHmmss"`) do set "STAMP=%%i"
if not defined STAMP set "STAMP=%RANDOM%%RANDOM%"
set "BACKUP=%USERDIR%\_nollaus_varmuuskopio_%STAMP%"
mkdir "%BACKUP%" 2>nul
if not exist "%BACKUP%" (
  echo  [!] Varmuuskopiokansiota ei voitu luoda: "%BACKUP%"
  echo      Mitaan ei tehty.
  goto :end
)
mkdir "%BACKUP%\atlas_data" 2>nul

rem ---- 4) Siirra tiedostot (move = ei kopiota jaa jaljelle) ----------
set /a MOVED=0
set /a FAILED=0
for %%F in (%FILES%) do (
  if exist "%USERDIR%\%%F" (
    move /Y "%USERDIR%\%%F" "%BACKUP%\" >nul 2>&1
    if exist "%USERDIR%\%%F" (
      set /a FAILED+=1
      echo     [!] EI SIIRTYNYT: %USERDIR%\%%F
    ) else (
      set /a MOVED+=1
    )
  )
  if exist "%DATADIR%\%%F" (
    move /Y "%DATADIR%\%%F" "%BACKUP%\atlas_data\" >nul 2>&1
    if exist "%DATADIR%\%%F" (
      set /a FAILED+=1
      echo     [!] EI SIIRTYNYT: %DATADIR%\%%F
    ) else (
      set /a MOVED+=1
    )
  )
)

echo.
echo  ============================================================
if %FAILED%==0 (
  echo   VALMIS - datapankki nollattu, %MOVED% tiedostoa siirretty.
) else (
  echo   OSITTAIN VALMIS - %MOVED% siirretty, %FAILED% EI siirtynyt.
  echo   Yleisin syy: Atlas on viela auki taustalla. Sulje se ja
  echo   aja tama tyokalu uudestaan.
)
echo  ============================================================
echo.
echo  Varmuuskopio: %BACKUP%
echo  (Jos haluat vanhat liidit takaisin: sulje Atlas ja kopioi
echo   tiedostot takaisin samoihin kansioihin. Muuten kansion voi
echo   poistaa kun uusi ajo on todettu hyvaksi.)
echo.
echo  Kaynnista AtlasForgeX nyt normaalisti ja aja uusi haku.

:end
echo.
echo  Sulje ikkuna painamalla Enter.
pause >nul
endlocal
exit /b 0
