diff --git a/go.mod b/go.mod index fc625e0..697fb92 100644 --- a/go.mod +++ b/go.mod @@ -37,6 +37,7 @@ require ( github.com/huandu/xstrings v1.4.0 // indirect github.com/imdario/mergo v0.3.13 // indirect github.com/jmoiron/sqlx v1.4.0 // indirect + github.com/joho/godotenv v1.5.1 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/klauspost/compress v1.17.0 // indirect github.com/klauspost/cpuid/v2 v2.2.7 // indirect diff --git a/go.sum b/go.sum index 99bd952..4e24d83 100644 --- a/go.sum +++ b/go.sum @@ -90,6 +90,8 @@ github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= github.com/jmoiron/sqlx v1.4.0 h1:1PLqN7S1UYp5t4SrVVnt4nUVNemrDAtxlulVe+Qgm3o= github.com/jmoiron/sqlx v1.4.0/go.mod h1:ZrZ7UsYB/weZdl2Bxg6jCRO9c3YHl8r3ahlKmRT4JLY= +github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= +github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/klauspost/compress v1.17.0 h1:Rnbp4K9EjcDuVuHtd0dgA4qNuv9yKDYKK1ulpJwgrqM= diff --git a/main.go b/main.go index 001f736..1103ef6 100644 --- a/main.go +++ b/main.go @@ -4,16 +4,20 @@ import ( "freed/internal/api" "freed/internal/database" "log" + "os" "github.com/gofiber/fiber/v2" "github.com/gofiber/fiber/v2/middleware/logger" -) - -var ( - dbFile = "./freed.db" + _ "github.com/joho/godotenv/autoload" ) func main() { + dbFile := os.Getenv("DB_FILE") + + if dbFile == "" { + log.Fatalf("No ENV value set for 'DB_FILE', could not initialize database. Please provide a valid path and filename") + } + err := database.Connect(dbFile) if err != nil { @@ -21,16 +25,14 @@ func main() { } app := fiber.New() - app.Use(logger.New()) - app.Get("/", func(ctx *fiber.Ctx) error { - return ctx.JSON(&fiber.Map{ - "application": "freed", - "version": "0.0.1", - "status": "running", - }) - }) - api.Setup(app) + // Global Middlewares + app.Use(logger.New()) + + // Try to set up API routes + if err := api.Setup(app); err != nil { + log.Printf("Could not setup /api routes: %s", err) + } app.Listen(":42069") }