Skip to content

Commit

Permalink
consolidate OServiceService
Browse files Browse the repository at this point in the history
  • Loading branch information
mk6i committed Jun 7, 2024
1 parent 331b64f commit 27c8761
Show file tree
Hide file tree
Showing 15 changed files with 378 additions and 2,145 deletions.
12 changes: 0 additions & 12 deletions .mockery.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,18 +48,6 @@ packages:
OServiceService:
config:
filename: "mock_oservice_test.go"
OServiceBOSService:
config:
filename: "mock_oservice_bos_test.go"
OServiceChatService:
config:
filename: "mock_oservice_chat_test.go"
OServiceChatNavService:
config:
filename: "mock_oservice_chat_nav_test.go"
OServiceAlertService:
config:
filename: "mock_oservice_alert_service_test.go"
LocateService:
config:
filename: "mock_locate_test.go"
Expand Down
50 changes: 23 additions & 27 deletions cmd/server/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,7 @@ func main() {
buddyService := foodgroup.NewBuddyService(sessionManager, feedbagStore, adjListBuddyListStore)
authService := foodgroup.NewAuthService(cfg, sessionManager, feedbagStore, chatRegistry, adjListBuddyListStore, cookieBaker, buddyService)
bartService := foodgroup.NewBARTService(logger, feedbagStore, buddyService)
oServiceService := foodgroup.NewOServiceService(cfg, sessionManager, adjListBuddyListStore, logger, cookieBaker, buddyService)
oServiceServiceForBOS := foodgroup.NewOServiceServiceForBOS(*oServiceService, chatRegistry)
oServiceService := foodgroup.NewOServiceServiceForBOS(cfg, sessionManager, adjListBuddyListStore, logger, cookieBaker, buddyService, chatRegistry)
locateService := foodgroup.NewLocateService(sessionManager, feedbagStore, feedbagStore, buddyService)
newChatSessMgr := func() foodgroup.SessionManager { return state.NewInMemorySessionManager(logger) }
chatNavService := foodgroup.NewChatNavService(logger, chatRegistry, state.NewChatRoom, newChatSessMgr)
Expand All @@ -68,19 +67,19 @@ func main() {
AuthService: authService,
Config: cfg,
Handler: handler.NewBOSRouter(handler.Handlers{
AlertHandler: handler.NewAlertHandler(logger),
BARTHandler: handler.NewBARTHandler(logger, bartService),
BuddyHandler: handler.NewBuddyHandler(logger, buddyService),
ChatNavHandler: handler.NewChatNavHandler(chatNavService, logger),
FeedbagHandler: handler.NewFeedbagHandler(logger, feedbagService),
ICBMHandler: handler.NewICBMHandler(logger, icbmService),
LocateHandler: handler.NewLocateHandler(locateService, logger),
OServiceBOSHandler: handler.NewOServiceHandlerForBOS(logger, oServiceService, oServiceServiceForBOS),
PermitDenyHandler: handler.NewPermitDenyHandler(logger, foodgroupService),
AlertHandler: handler.NewAlertHandler(logger),
BARTHandler: handler.NewBARTHandler(logger, bartService),
BuddyHandler: handler.NewBuddyHandler(logger, buddyService),
ChatNavHandler: handler.NewChatNavHandler(chatNavService, logger),
FeedbagHandler: handler.NewFeedbagHandler(logger, feedbagService),
ICBMHandler: handler.NewICBMHandler(logger, icbmService),
LocateHandler: handler.NewLocateHandler(locateService, logger),
OServiceHandler: handler.NewOServiceHandler(logger, oServiceService),
PermitDenyHandler: handler.NewPermitDenyHandler(logger, foodgroupService),
}),
CookieCracker: cookieBaker,
Logger: logger,
OnlineNotifier: oServiceServiceForBOS,
OnlineNotifier: oServiceService,
ListenAddr: net.JoinHostPort("", cfg.BOSPort),
}.Start()
wg.Done()
Expand All @@ -89,19 +88,18 @@ func main() {
logger = logger.With("svc", "CHAT")
buddyService := foodgroup.NewBuddyService(nil, feedbagStore, adjListBuddyListStore)
authService := foodgroup.NewAuthService(cfg, sessionManager, feedbagStore, chatRegistry, adjListBuddyListStore, cookieBaker, buddyService)
oServiceService := foodgroup.NewOServiceService(cfg, sessionManager, adjListBuddyListStore, logger, cookieBaker, buddyService)
chatService := foodgroup.NewChatService(chatRegistry)
oServiceServiceForChat := foodgroup.NewOServiceServiceForChat(*oServiceService, chatRegistry)
oServiceService := foodgroup.NewOServiceServiceForChat(cfg, logger, buddyService, chatRegistry)

oscar.ChatServer{
AuthService: authService,
Config: cfg,
Handler: handler.NewChatRouter(handler.Handlers{
ChatHandler: handler.NewChatHandler(logger, chatService),
OServiceChatHandler: handler.NewOServiceHandlerForChat(logger, oServiceService, oServiceServiceForChat),
ChatHandler: handler.NewChatHandler(logger, chatService),
OServiceHandler: handler.NewOServiceHandler(logger, oServiceService),
}),
Logger: logger,
OnlineNotifier: oServiceServiceForChat,
OnlineNotifier: oServiceService,
CookieCracker: cookieBaker,
}.Start()
wg.Done()
Expand All @@ -111,20 +109,19 @@ func main() {
sessionManager := state.NewInMemorySessionManager(logger)
buddyService := foodgroup.NewBuddyService(sessionManager, feedbagStore, adjListBuddyListStore)
authService := foodgroup.NewAuthService(cfg, sessionManager, feedbagStore, chatRegistry, adjListBuddyListStore, cookieBaker, buddyService)
oServiceService := foodgroup.NewOServiceService(cfg, sessionManager, adjListBuddyListStore, logger, cookieBaker, buddyService)
oServiceServiceForChatNav := foodgroup.NewOServiceServiceForChatNav(*oServiceService, chatRegistry)
oServiceService := foodgroup.NewOServiceServiceForChatNav(cfg, logger, buddyService)
newChatSessMgr := func() foodgroup.SessionManager { return state.NewInMemorySessionManager(logger) }
chatNavService := foodgroup.NewChatNavService(logger, chatRegistry, state.NewChatRoom, newChatSessMgr)

oscar.BOSServer{
AuthService: authService,
Config: cfg,
Handler: handler.NewChatNavRouter(handler.Handlers{
ChatNavHandler: handler.NewChatNavHandler(chatNavService, logger),
OServiceChatNavHandler: handler.NewOServiceHandlerForChatNav(logger, oServiceService, oServiceServiceForChatNav),
ChatNavHandler: handler.NewChatNavHandler(chatNavService, logger),
OServiceHandler: handler.NewOServiceHandler(logger, oServiceService),
}),
Logger: logger,
OnlineNotifier: oServiceServiceForChatNav,
OnlineNotifier: oServiceService,
ListenAddr: net.JoinHostPort("", cfg.ChatNavPort),
CookieCracker: cookieBaker,
}.Start()
Expand All @@ -135,19 +132,18 @@ func main() {
sessionManager := state.NewInMemorySessionManager(logger)
buddyService := foodgroup.NewBuddyService(sessionManager, feedbagStore, adjListBuddyListStore)
authService := foodgroup.NewAuthService(cfg, sessionManager, feedbagStore, chatRegistry, adjListBuddyListStore, cookieBaker, buddyService)
oServiceService := foodgroup.NewOServiceService(cfg, sessionManager, adjListBuddyListStore, logger, cookieBaker, buddyService)
oServiceServiceForAlert := foodgroup.NewOServiceServiceForAlert(*oServiceService)
oServiceService := foodgroup.NewOServiceServiceForAlert(cfg, logger, buddyService)

oscar.BOSServer{
AuthService: authService,
Config: cfg,
Handler: handler.NewAlertRouter(handler.Handlers{
AlertHandler: handler.NewAlertHandler(logger),
OServiceAlertHandler: handler.NewOServiceHandlerForAlert(logger, oServiceService, oServiceServiceForAlert),
AlertHandler: handler.NewAlertHandler(logger),
OServiceHandler: handler.NewOServiceHandler(logger, oServiceService),
}),
CookieCracker: cookieBaker,
Logger: logger,
OnlineNotifier: oServiceServiceForAlert,
OnlineNotifier: oServiceService,
ListenAddr: net.JoinHostPort("", cfg.AlertPort),
}.Start()
wg.Done()
Expand Down
2 changes: 1 addition & 1 deletion config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package config
//go:generate go run github.com/mk6i/retro-aim-server/cmd/config_generator windows settings.bat
//go:generate go run github.com/mk6i/retro-aim-server/cmd/config_generator unix settings.env
type Config struct {
ApiHost string `envconfig:"API_HOST" require:"true" val:"127.0.0.1" description:"The hostname or address at which the management API listens."`
ApiHost string `envconfig:"API_HOST" require:"true" val:"127.0.0.1" description:"The hostname or address at which the management API listens."`
ApiPort string `envconfig:"API_PORT" required:"true" val:"8080" description:"The port that the management API service binds to."`
AlertPort string `envconfig:"ALERT_PORT" required:"true" val:"5194" description:"The port that the Alert service binds to."`
AuthPort string `envconfig:"AUTH_PORT" required:"true" val:"5190" description:"The port that the auth service binds to."`
Expand Down
Loading

0 comments on commit 27c8761

Please sign in to comment.