package main

import (
	"github.com/gin-gonic/gin"
	"log"
	"os"
	"stereo.cat/backend/internal/api"
	"stereo.cat/backend/internal/types"
)

func getEnv(key, fallback string) string {
	if value, ok := os.LookupEnv(key); ok {
		return value
	}
	return fallback
}

func main() {
	imagePath := getEnv("IMAGE_PATH", "/tmp")

	if _, err := os.Stat(imagePath); err != nil {
		if os.IsNotExist(err) {
			if err := os.MkdirAll(imagePath, os.ModePerm); err != nil {
				log.Fatal(err)
			}
		}
	}

	c := types.StereoConfig{
		Router:    gin.Default(),
		ImagePath: imagePath,
	}

	api.Register(&c)

	c.Router.Run()
}