2025-04-23 11:59:35 +00:00

43 lines
685 B
Go

package app
import (
"fmt"
"log"
"os"
"backend/router"
"git.trcreatives.com/triegebauer/go-dart"
"github.com/joho/godotenv"
)
type App struct {
d *dart.Dart
}
func New() *App {
if err := godotenv.Load(); err != nil {
log.Fatal(err)
}
d := dart.New()
d.WithMySQLDatabase(dart.MySQLConfig{
Host: os.Getenv("DB_HOST"),
Port: os.Getenv("DB_PORT"),
Username: os.Getenv("DB_USERNAME"),
Password: os.Getenv("DB_PASSWORD"),
Database: os.Getenv("DB_DATABASE"),
})
router.SetupRoutes(d)
return &App{
d,
}
}
func (a *App) Start() {
listenAddr := fmt.Sprintf("%s:%s", os.Getenv("APP_HOST"), os.Getenv("APP_PORT"))
log.Fatal(a.d.Start(listenAddr))
}