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()
|
_ = db.Close()
|
||||||
}()
|
}()
|
||||||
|
|
||||||
srv, err := newServer(serverConfig{
|
srv, err := newServer(logger, db)
|
||||||
appVersion: c.App.Version,
|
|
||||||
logger: logger,
|
|
||||||
db: db,
|
|
||||||
})
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("newServer: %w", err)
|
return fmt.Errorf("newServer: %w", err)
|
||||||
}
|
}
|
||||||
|
@ -75,22 +71,16 @@ func New() *cli.Command {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
type serverConfig struct {
|
func newServer(logger *zap.Logger, db *bun.DB) (*http.Server, error) {
|
||||||
appVersion string
|
|
||||||
logger *zap.Logger
|
|
||||||
db *bun.DB
|
|
||||||
}
|
|
||||||
|
|
||||||
func newServer(cfg serverConfig) (*http.Server, error) {
|
|
||||||
apiCfg, err := newAPIConfig()
|
apiCfg, err := newAPIConfig()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("newAPIConfig: %w", err)
|
return nil, fmt.Errorf("newAPIConfig: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// repos
|
// repos
|
||||||
userRepo := bundb.NewUser(cfg.db)
|
userRepo := bundb.NewUser(db)
|
||||||
apiKeyRepo := bundb.NewAPIKey(cfg.db)
|
apiKeyRepo := bundb.NewAPIKey(db)
|
||||||
sessionRepo := bundb.NewSession(cfg.db)
|
sessionRepo := bundb.NewSession(db)
|
||||||
|
|
||||||
// services
|
// services
|
||||||
userSvc := service.NewUser(userRepo)
|
userSvc := service.NewUser(userRepo)
|
||||||
|
@ -99,8 +89,8 @@ func newServer(cfg serverConfig) (*http.Server, error) {
|
||||||
|
|
||||||
// router
|
// router
|
||||||
r := chi.NewRouter()
|
r := chi.NewRouter()
|
||||||
r.Use(getChiMiddlewares(cfg.logger)...)
|
r.Use(getMiddlewares(logger)...)
|
||||||
r.Mount(metaEndpointsPrefix, meta.NewRouter([]meta.Checker{bundb.NewChecker(cfg.db)}))
|
r.Mount(metaEndpointsPrefix, meta.NewRouter([]meta.Checker{bundb.NewChecker(db)}))
|
||||||
r.Mount("/api", rest.NewRouter(rest.RouterConfig{
|
r.Mount("/api", rest.NewRouter(rest.RouterConfig{
|
||||||
APIKeyVerifier: apiKeySvc,
|
APIKeyVerifier: apiKeySvc,
|
||||||
SessionService: sessionSvc,
|
SessionService: sessionSvc,
|
||||||
|
@ -147,7 +137,7 @@ func newAPIConfig() (apiConfig, error) {
|
||||||
return cfg, nil
|
return cfg, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func getChiMiddlewares(logger *zap.Logger) chi.Middlewares {
|
func getMiddlewares(logger *zap.Logger) chi.Middlewares {
|
||||||
return chi.Middlewares{
|
return chi.Middlewares{
|
||||||
middleware.RealIP,
|
middleware.RealIP,
|
||||||
chizap.Logger(logger, chizap.WithFilter(omitMetaEndpoints)),
|
chizap.Logger(logger, chizap.WithFilter(omitMetaEndpoints)),
|
||||||
|
|
Loading…
Reference in New Issue