34 lines
576 B
Go
34 lines
576 B
Go
package app
|
|
|
|
import (
|
|
"basic-sensor-receiver/config"
|
|
"basic-sensor-receiver/database"
|
|
"basic-sensor-receiver/services"
|
|
"database/sql"
|
|
)
|
|
|
|
type Server struct {
|
|
DB *sql.DB
|
|
Config *config.Config
|
|
Services *services.Services
|
|
}
|
|
|
|
func InitializeServer() *Server {
|
|
server := Server{}
|
|
server.Config = config.LoadConfig()
|
|
|
|
db, err := database.Initialize(server.Config.DatabaseUrl)
|
|
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
server.DB = db
|
|
|
|
ctx := services.Context{DB: server.DB, Config: server.Config}
|
|
|
|
server.Services = services.InitializeServices(&ctx)
|
|
|
|
return &server
|
|
}
|