feat(router): provide UserService to router
This commit is contained in:
@@ -10,8 +10,8 @@ import (
|
||||
"net/http"
|
||||
|
||||
"forge.capytal.company/capytalcode/project-comicverse/assets"
|
||||
"forge.capytal.company/capytalcode/project-comicverse/database"
|
||||
"forge.capytal.company/capytalcode/project-comicverse/internals/joinedfs"
|
||||
"forge.capytal.company/capytalcode/project-comicverse/repository"
|
||||
"forge.capytal.company/capytalcode/project-comicverse/router"
|
||||
"forge.capytal.company/capytalcode/project-comicverse/service"
|
||||
"forge.capytal.company/capytalcode/project-comicverse/templates"
|
||||
@@ -127,34 +127,18 @@ func (app *app) setup() error {
|
||||
app.assert.NotNil(app.assets)
|
||||
app.assert.NotNil(app.logger)
|
||||
|
||||
var err error
|
||||
|
||||
database, err := database.New(database.Config{
|
||||
SQL: app.db,
|
||||
Context: app.ctx,
|
||||
Assertions: app.assert,
|
||||
Logger: app.logger.WithGroup("database"),
|
||||
})
|
||||
userRepo, err := repository.NewUserRepository(app.db, app.ctx, app.logger, app.assert)
|
||||
if err != nil {
|
||||
return errors.Join(errors.New("unable to create database struct"), err)
|
||||
return err
|
||||
}
|
||||
|
||||
service, err := service.New(service.Config{
|
||||
DB: database,
|
||||
S3: app.s3,
|
||||
Bucket: app.bucket,
|
||||
|
||||
Context: app.ctx,
|
||||
|
||||
Assertions: app.assert,
|
||||
Logger: app.logger.WithGroup("service"),
|
||||
})
|
||||
userService, err := service.NewUserService(userRepo, app.assert)
|
||||
if err != nil {
|
||||
return errors.Join(errors.New("unable to initiate service"), err)
|
||||
return err
|
||||
}
|
||||
|
||||
app.handler, err = router.New(router.Config{
|
||||
Service: service,
|
||||
UserService: userService,
|
||||
|
||||
Templates: app.templates,
|
||||
DisableCache: app.developmentMode,
|
||||
|
||||
@@ -15,7 +15,7 @@ import (
|
||||
)
|
||||
|
||||
type router struct {
|
||||
service *service.Service
|
||||
userService *service.UserService
|
||||
|
||||
templates templates.ITemplate
|
||||
assets fs.FS
|
||||
@@ -26,8 +26,8 @@ type router struct {
|
||||
}
|
||||
|
||||
func New(cfg Config) (http.Handler, error) {
|
||||
if cfg.Service == nil {
|
||||
return nil, errors.New("service is nil")
|
||||
if cfg.UserService == nil {
|
||||
return nil, errors.New("user service is nil")
|
||||
}
|
||||
if cfg.Templates == nil {
|
||||
return nil, errors.New("templates is nil")
|
||||
@@ -43,7 +43,7 @@ func New(cfg Config) (http.Handler, error) {
|
||||
}
|
||||
|
||||
r := &router{
|
||||
service: cfg.Service,
|
||||
userService: cfg.UserService,
|
||||
|
||||
templates: cfg.Templates,
|
||||
assets: cfg.Assets,
|
||||
@@ -57,7 +57,7 @@ func New(cfg Config) (http.Handler, error) {
|
||||
}
|
||||
|
||||
type Config struct {
|
||||
Service *service.Service
|
||||
UserService *service.UserService
|
||||
|
||||
Templates templates.ITemplate
|
||||
Assets fs.FS
|
||||
|
||||
Reference in New Issue
Block a user