Files
DurpAPI/controller/controller.go
2024-03-20 21:23:30 -05:00

48 lines
875 B
Go

package controller
import (
"fmt"
"log"
"github.com/caarlos0/env/v6"
"github.com/joho/godotenv"
"gitlab.com/DeveloperDurp/DurpAPI/model"
"gitlab.com/DeveloperDurp/DurpAPI/storage"
)
type Controller struct {
Cfg model.Config
Dbcfg model.DBConfig
Db model.Repository
}
func NewController() *Controller {
err := godotenv.Load(".env")
if err != nil {
fmt.Println("no env file found")
}
controller := &Controller{
Cfg: model.Config{},
Dbcfg: model.DBConfig{},
}
err = env.Parse(&controller.Cfg)
if err != nil {
log.Fatalf("unable to parse environment variables: %e", err)
}
err = env.Parse(&controller.Dbcfg)
if err != nil {
log.Fatalf("unable to parse database variables: %e", err)
}
Db, err := storage.Connect(controller.Dbcfg)
if err != nil {
panic("Failed to connect to database")
}
controller.Db = *Db
return controller
}