answerer/internal/initialize/controllers.go

41 lines
1015 B
Go

package initialize
import (
"gitea.pena/PenaSide/common/encrypt"
"gitea.pena/SQuiz/answerer/internal/controllers/http_controllers/common"
"gitea.pena/SQuiz/common/model"
"github.com/go-redis/redis/v8"
)
type ControllerDeps struct {
DALs *DALs
Config Config
RedisClient *redis.Client
WorkerRespondentCh chan<- []model.Answer
WorkerSendClientCh chan<- model.Answer
Encrypt *encrypt.Encrypt
}
type Controller struct {
HttpControllers HttpControllers
}
type HttpControllers struct {
Common *common.Common
}
func NewControllers(deps ControllerDeps) *Controller {
return &Controller{
HttpControllers: HttpControllers{
Common: common.NewCommonController(common.Deps{
Store: deps.DALs.BlobStore,
Dal: deps.DALs.PgDAL,
WorkerRespondentCh: deps.WorkerRespondentCh,
WorkerSendClientCh: deps.WorkerSendClientCh,
Encrypt: deps.Encrypt,
RedirectURl: deps.Config.RedirectURL,
}),
},
}
}