package initialize import ( "gitea.pena/SQuiz/storer/internal/controllers/grpc_controllers/quiz_files_rpc" "gitea.pena/SQuiz/storer/internal/controllers/http_controllers/quiz_files" "github.com/go-redis/redis/v8" ) type ControllerDeps struct { DALs *DALs RedisClient *redis.Client } type Controller struct { HttpControllers HttpControllers GrpcControllers GrpcControllers } type HttpControllers struct { QuizFiles *quiz_files.QuizFiles } type GrpcControllers struct { S3Deleter *quiz_files_rpc.S3Deleter } func NewControllers(deps ControllerDeps) *Controller { return &Controller{ HttpControllers: HttpControllers{ QuizFiles: quiz_files.New(deps.DALs.StDal, deps.DALs.PgDAL), }, GrpcControllers: GrpcControllers{ S3Deleter: quiz_files_rpc.NewS3Deleter(deps.RedisClient), }, } }