feat(router,app): pass project service to router
This commit is contained in:
@@ -151,6 +151,16 @@ func (app *app) setup() error {
|
||||
return fmt.Errorf("app: failed to start token repository: %w", err)
|
||||
}
|
||||
|
||||
projectRepository, err := repository.NewProject(app.ctx, app.db, app.logger.WithGroup("repository.project"), app.assert)
|
||||
if err != nil {
|
||||
return fmt.Errorf("app: failed to start project repository: %w", err)
|
||||
}
|
||||
|
||||
permissionRepository, err := repository.NewPermissions(app.ctx, app.db, app.logger.WithGroup("repository.permission"), app.assert)
|
||||
if err != nil {
|
||||
return fmt.Errorf("app: failed to start permission repository: %w", err)
|
||||
}
|
||||
|
||||
userService := service.NewUser(userRepository, app.logger.WithGroup("service.user"), app.assert)
|
||||
tokenService := service.NewToken(service.TokenConfig{
|
||||
PrivateKey: app.privateKey,
|
||||
@@ -159,10 +169,12 @@ func (app *app) setup() error {
|
||||
Logger: app.logger.WithGroup("service.token"),
|
||||
Assertions: app.assert,
|
||||
})
|
||||
projectService := service.NewProject(projectRepository, permissionRepository, app.logger.WithGroup("service.project"), app.assert)
|
||||
|
||||
app.handler, err = router.New(router.Config{
|
||||
UserService: userService,
|
||||
TokenService: tokenService,
|
||||
UserService: userService,
|
||||
TokenService: tokenService,
|
||||
ProjectService: projectService,
|
||||
|
||||
Templates: app.templates,
|
||||
DisableCache: app.developmentMode,
|
||||
|
||||
@@ -5,6 +5,7 @@ import (
|
||||
"io/fs"
|
||||
"log/slog"
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
"forge.capytal.company/capytalcode/project-comicverse/service"
|
||||
"forge.capytal.company/capytalcode/project-comicverse/templates"
|
||||
@@ -15,8 +16,9 @@ import (
|
||||
)
|
||||
|
||||
type router struct {
|
||||
userService *service.User
|
||||
tokenService *service.Token
|
||||
userService *service.User
|
||||
tokenService *service.Token
|
||||
projectService *service.Project
|
||||
|
||||
templates templates.ITemplate
|
||||
assets fs.FS
|
||||
@@ -33,6 +35,9 @@ func New(cfg Config) (http.Handler, error) {
|
||||
if cfg.TokenService == nil {
|
||||
return nil, errors.New("token service is nil")
|
||||
}
|
||||
if cfg.ProjectService == nil {
|
||||
return nil, errors.New("project service is nil")
|
||||
}
|
||||
if cfg.Templates == nil {
|
||||
return nil, errors.New("templates is nil")
|
||||
}
|
||||
@@ -47,8 +52,9 @@ func New(cfg Config) (http.Handler, error) {
|
||||
}
|
||||
|
||||
r := &router{
|
||||
userService: cfg.UserService,
|
||||
tokenService: cfg.TokenService,
|
||||
userService: cfg.UserService,
|
||||
tokenService: cfg.TokenService,
|
||||
projectService: cfg.ProjectService,
|
||||
|
||||
templates: cfg.Templates,
|
||||
assets: cfg.Assets,
|
||||
@@ -62,8 +68,9 @@ func New(cfg Config) (http.Handler, error) {
|
||||
}
|
||||
|
||||
type Config struct {
|
||||
UserService *service.User
|
||||
TokenService *service.Token
|
||||
UserService *service.User
|
||||
TokenService *service.Token
|
||||
ProjectService *service.Project
|
||||
|
||||
Templates templates.ITemplate
|
||||
Assets fs.FS
|
||||
|
||||
Reference in New Issue
Block a user