package main

import (
	"os"
	"path/filepath"
)

// klasorOlustur: yeni bir klasor acar. Ust klasor var olmali (zincir olusturulmaz);
// surucu koku ve zaten var olan yol reddedilir.
func klasorOlustur(yol string) cikti {
	t, err := yolKontrol(yol)
	if err != nil {
		return cikti{Hata: err.Error()}
	}
	// Surucu koku (orn. D:\) olusturulamaz.
	if t == filepath.VolumeName(t)+string(filepath.Separator) || len(t) <= 3 {
		return cikti{Hata: "sürücü kökü oluşturulamaz"}
	}
	if _, err := os.Stat(t); err == nil {
		return cikti{Hata: "klasör zaten var"}
	}
	if st, err := os.Stat(filepath.Dir(t)); err != nil || !st.IsDir() {
		return cikti{Hata: "üst klasör bulunamadı"}
	}
	if err := os.Mkdir(t, 0o755); err != nil {
		return cikti{Hata: "klasör oluşturulamadı"}
	}
	return cikti{Tamam: true, Veri: map[string]any{"yol": t, "klasor": true}}
}
