// ingest – importiert Markdown-Dateien und Bildbeschreibungen in Qdrant
package main

import (
	"fmt"
	"os"
	"path/filepath"
	"strings"

	"my-brain-importer/internal/brain"
	"my-brain-importer/internal/config"
)

func main() {
	config.LoadConfig()

	bin := os.Args[0]

	if len(os.Args) < 2 {
		// Standard: Markdown aus brain_root importieren
		brain.RunIngest(config.Cfg.BrainRoot)
		return
	}

	arg := os.Args[1]

	switch {
	case arg == "-h" || arg == "--help":
		printUsage(bin)
	case strings.ToLower(filepath.Ext(arg)) == ".json":
		// Argument ist eine JSON-Datei → Bildbeschreibungen importieren
		brain.RunIngestJSON(arg)
	default:
		// Argument ist ein Verzeichnis → Markdown importieren
		brain.RunIngest(arg)
	}
}

func printUsage(bin string) {
	fmt.Printf("ingest – importiert Daten in die Qdrant-Wissensdatenbank\n\n")
	fmt.Printf("Usage:\n")
	fmt.Printf("  %s                    – Markdown aus brain_root (config.yml) importieren\n", bin)
	fmt.Printf("  %s /pfad/zum/ordner   – Markdown aus benutzerdefiniertem Verzeichnis\n", bin)
	fmt.Printf("  %s datei.json         – Bildbeschreibungen aus JSON importieren\n", bin)
	os.Exit(0)
}
