refactor: newServer - accept logger and db as arguments
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
parent
a64aaac1d8
commit
02f5e24c6f
|
@ -51,11 +51,7 @@ func New() *cli.Command {
|
|||
_ = db.Close()
|
||||
}()
|
||||
|
||||
srv, err := newServer(serverConfig{
|
||||
appVersion: c.App.Version,
|
||||
logger: logger,
|
||||
db: db,
|
||||
})
|
||||
srv, err := newServer(logger, db)
|
||||
if err != nil {
|
||||
return fmt.Errorf("newServer: %w", err)
|
||||
}
|
||||
|
@ -75,22 +71,16 @@ func New() *cli.Command {
|
|||
}
|
||||
}
|
||||
|
||||
type serverConfig struct {
|
||||
appVersion string
|
||||
logger *zap.Logger
|
||||
db *bun.DB
|
||||
}
|
||||
|
||||
func newServer(cfg serverConfig) (*http.Server, error) {
|
||||
func newServer(logger *zap.Logger, db *bun.DB) (*http.Server, error) {
|
||||
apiCfg, err := newAPIConfig()
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("newAPIConfig: %w", err)
|
||||
}
|
||||
|
||||
// repos
|
||||
userRepo := bundb.NewUser(cfg.db)
|
||||
apiKeyRepo := bundb.NewAPIKey(cfg.db)
|
||||
sessionRepo := bundb.NewSession(cfg.db)
|
||||
userRepo := bundb.NewUser(db)
|
||||
apiKeyRepo := bundb.NewAPIKey(db)
|
||||
sessionRepo := bundb.NewSession(db)
|
||||
|
||||
// services
|
||||
userSvc := service.NewUser(userRepo)
|
||||
|
@ -99,8 +89,8 @@ func newServer(cfg serverConfig) (*http.Server, error) {
|
|||
|
||||
// router
|
||||
r := chi.NewRouter()
|
||||
r.Use(getChiMiddlewares(cfg.logger)...)
|
||||
r.Mount(metaEndpointsPrefix, meta.NewRouter([]meta.Checker{bundb.NewChecker(cfg.db)}))
|
||||
r.Use(getMiddlewares(logger)...)
|
||||
r.Mount(metaEndpointsPrefix, meta.NewRouter([]meta.Checker{bundb.NewChecker(db)}))
|
||||
r.Mount("/api", rest.NewRouter(rest.RouterConfig{
|
||||
APIKeyVerifier: apiKeySvc,
|
||||
SessionService: sessionSvc,
|
||||
|
@ -147,7 +137,7 @@ func newAPIConfig() (apiConfig, error) {
|
|||
return cfg, nil
|
||||
}
|
||||
|
||||
func getChiMiddlewares(logger *zap.Logger) chi.Middlewares {
|
||||
func getMiddlewares(logger *zap.Logger) chi.Middlewares {
|
||||
return chi.Middlewares{
|
||||
middleware.RealIP,
|
||||
chizap.Logger(logger, chizap.WithFilter(omitMetaEndpoints)),
|
||||
|
|
Loading…
Reference in New Issue