heruvym/internal/initialize/controllers.go

44 lines
1.0 KiB
Go

package initialize
import (
"gitea.pena/PenaSide/common/clients/alert_manager"
"gitea.pena/PenaSide/heruvym/internal/controllers/other"
"gitea.pena/PenaSide/heruvym/internal/controllers/tickets"
"gitea.pena/PenaSide/hlog"
"github.com/go-redis/redis/v8"
"go.uber.org/zap"
)
type ControllersDeps struct {
Reps *Repositories
RedisClient *redis.Client
Notifier *alert_manager.Client
TgChatID int64
HLogger hlog.Logger
ZapLogger *zap.Logger
}
type Controllers struct {
Tickets *tickets.TicketController
Other *other.OtherController
}
func NewControllers(deps ControllersDeps) *Controllers {
return &Controllers{
Tickets: tickets.NewTicketController(tickets.Deps{
Dal: deps.Reps.Mongo,
Notifier: deps.Notifier,
TgChatID: deps.TgChatID,
ZapLogger: deps.ZapLogger,
HLogger: deps.HLogger,
}),
Other: other.NewOtherController(other.Deps{
Dal: deps.Reps.Mongo,
RedisClient: deps.RedisClient,
BS: deps.Reps.Minio,
Notifier: deps.Notifier,
TgChatID: deps.TgChatID,
}),
}
}