package main

import (
	"net/http"
	"os/exec"
	"strings"
	"syscall"
)

// CATIA V5 calisma dosyasi. Yalnizca bu surec adina bakilir; hicbir sey baslatilmaz.
const catiaSurecAdi = "CNEXT.exe"

// catiaDurumHandler: CATIA acik mi? (salt okunur, tasklist ile)
func catiaDurumHandler(w http.ResponseWriter, r *http.Request) {
	if r.Method != http.MethodGet {
		http.Error(w, "yalnizca GET", http.StatusMethodNotAllowed)
		return
	}
	komut := exec.Command("tasklist", "/FI", "IMAGENAME eq "+catiaSurecAdi, "/NH")
	komut.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}
	cikti, err := komut.Output()
	if err != nil {
		olayLog("catia durumu okunamadi: %v", err)
		http.Error(w, "durum okunamadi", http.StatusInternalServerError)
		return
	}
	calisiyor := strings.Contains(strings.ToLower(string(cikti)), strings.ToLower(catiaSurecAdi))
	yazJSON(w, http.StatusOK, map[string]any{"calisiyor": calisiyor})
}
