39 lines
1.2 KiB
Go
39 lines
1.2 KiB
Go
package service
|
|
|
|
import (
|
|
"acc-server-manager/local/repository"
|
|
"acc-server-manager/local/utl/logging"
|
|
"context"
|
|
|
|
"go.uber.org/dig"
|
|
)
|
|
|
|
// InitializeServices
|
|
// Initializes Dependency Injection modules for services
|
|
//
|
|
// Args:
|
|
// *dig.Container: Dig Container
|
|
func InitializeServices(c *dig.Container) {
|
|
repository.InitializeRepositories(c)
|
|
|
|
c.Provide(NewServerService)
|
|
c.Provide(NewStateHistoryService)
|
|
c.Provide(NewApiService)
|
|
c.Provide(NewConfigService)
|
|
c.Provide(NewLookupService)
|
|
err := c.Invoke(func(server *ServerService, api *ApiService, config *ConfigService, lookup *LookupService) {
|
|
api.SetServerService(server)
|
|
config.SetServerService(server)
|
|
|
|
// Initialize lookup data using repository directly
|
|
lookup.cache.Set("tracks", lookup.repository.GetTracks(context.Background()))
|
|
lookup.cache.Set("cars", lookup.repository.GetCarModels(context.Background()))
|
|
lookup.cache.Set("drivers", lookup.repository.GetDriverCategories(context.Background()))
|
|
lookup.cache.Set("cups", lookup.repository.GetCupCategories(context.Background()))
|
|
lookup.cache.Set("sessions", lookup.repository.GetSessionTypes(context.Background()))
|
|
})
|
|
if err != nil {
|
|
logging.Panic("unable to initialize services: " + err.Error())
|
|
}
|
|
}
|