package main

import (
	"embed"
	"gitea.seeseepuff.be/seeseemelk/mysqlite"
	"log"
	"os"
)

//go:embed migrations/*.sql
var embeddedMigrations embed.FS

func openDatabase() *mysqlite.Db {
	// Get database file
	databaseSource := os.Getenv("VIVAPLUS_DATABASE")
	if databaseSource == "" {
		databaseSource = "videos.db3"
	}

	return openDatabaseSource(databaseSource)
}

func openDatabaseSource(databaseSource string) *mysqlite.Db {
	db, err := mysqlite.OpenDb(databaseSource)
	if err != nil {
		log.Fatalf("error opening database: %v", err)
	}

	err = db.MigrateDb(embeddedMigrations, "migrations")
	if err != nil {
		log.Fatalf("error migrating database: %v", err)
	}

	return db
}