func _registerRestControllers() { framework.SetFactory("controllers.UserController", func() interface{} { service := framework.GetFactory("services.UserService").(services.UserService) return rest.NewUserController(service) }) framework.SetFactory("controllers.EventController", func() interface{} { service := framework.GetFactory("services.EventService").(services.EventService) return rest.NewEventController(service) }) }
func _registerAuthControllers() { framework.SetFactory("controllers.GoogleController", func() interface{} { service := framework.GetFactory("services.UserService").(services.UserService) return auth.NewGoogleController(service) }) framework.SetFactory("controllers.FacebookController", func() interface{} { service := framework.GetFactory("services.UserService").(services.UserService) return auth.NewFacebookController(service) }) }
func _registerAuthRoutes(server framework.WebServer) { var google = framework.GetFactory("controllers.GoogleController").(*auth.GoogleController) var facebook = framework.GetFactory("controllers.FacebookController").(*auth.FacebookController) server.Get("/", google.HandleRoot) server.Get("/load", google.TestHighLoad) server.Post("/auth/facebook", facebook.Auth) server.Get("/auth/facebook/callback", facebook.AuthCallback) server.Post("/auth/google", google.Auth) server.Get("/auth/google/callback", google.AuthCallback) }
func _registerRestRoutes(server framework.WebServer) { userController := framework.GetFactory("controllers.UserController").(*rest.UserController) //user routes server.Get("/users", userController.ListUsers) server.Get("/user", userController.GetUser) server.Post("/user", userController.CreateUser) server.Get("/who", userController.Who) //event routes eventController := framework.GetFactory("controllers.EventController").(*rest.EventController) server.Get("/test", eventController.Test) }
func _registerServices() { framework.SetFactory("services.UserService", func() interface{} { repository := framework.GetFactory("repositories.UserRepository").(repositories.UserRepository) return servicesimpl.NewUserService(repository) }) framework.SetFactory("services.EventService", func() interface{} { repository := framework.GetFactory("repositories.EventRepository").(repositories.EventRepository) return servicesimpl.NewEventService(repository) }) framework.SetFactory("services.SessionService", func() interface{} { repository := framework.GetFactory("repositories.SessionRepository").(repositories.SessionRepository) return servicesimpl.NewSessionService(repository) }) }
func _createHttpServer() framework.WebServer { httpCfg := &web.HttpConfig{} framework.Config.ReadInto("http", &httpCfg) sessionCfg := &web.SessionConfig{} framework.Config.ReadInto("session", &sessionCfg) securityCfg := &web.SecurityKeys{} framework.Config.ReadInto("security", &securityCfg) //TODO: setting public properties is not cool.. should be automatically set from the config file securityCfg.RawSignKey = []byte(securityCfg.SignKey) securityCfg.RawEncryptionKey = []byte(securityCfg.EncryptionKey) webCfg := &web.WebConfig{Http: httpCfg, Session: sessionCfg, Security: securityCfg} sessionService := framework.GetFactory("services.SessionService").(services.SessionService) return web.NewWebServer(webCfg, sessionService) }