answerer/internal/initialize/controllers.go

44 lines
1.1 KiB
Go

package initialize
import (
"gitea.pena/PenaSide/common/encrypt"
"gitea.pena/SQuiz/answerer/internal/clients"
"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
AiClient *clients.AIClient
}
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,
AiClient: deps.AiClient,
}),
},
}
}