34 lines
631 B
Go
34 lines
631 B
Go
package config
|
|
|
|
import (
|
|
"gelvin/app/application"
|
|
"gelvin/app/controllers"
|
|
"gelvin/app/models"
|
|
)
|
|
|
|
type Config struct {
|
|
app *application.Application
|
|
controller *controllers.Controller
|
|
model *models.Model
|
|
}
|
|
|
|
func (c Config) App() *application.Application {
|
|
return c.app
|
|
}
|
|
|
|
func (c Config) Controller() *controllers.Controller {
|
|
return c.controller
|
|
}
|
|
|
|
func (c Config) Model() *models.Model {
|
|
return c.model
|
|
}
|
|
|
|
func Configure() *Config {
|
|
app := configureApp()
|
|
controller := controllers.NewController(app)
|
|
configureDb(app)
|
|
configureRoutes(app, controller)
|
|
return &Config{app, controller, controller.Model()}
|
|
}
|