tariffs/internal/initialize/controller.go

65 lines
1.9 KiB
Go
Raw Normal View History

package initialize
import (
2025-01-01 22:20:08 +00:00
"gitea.pena/PenaSide/tariffs/internal/controller/middleware"
"gitea.pena/PenaSide/tariffs/internal/controller/privilege_external"
"gitea.pena/PenaSide/tariffs/internal/controller/privilege_internal"
"gitea.pena/PenaSide/tariffs/internal/controller/tariff_external"
"gitea.pena/PenaSide/tariffs/internal/controller/tariff_internal"
"gitea.pena/PenaSide/tariffs/internal/controller/tariff_grpc"
"go.uber.org/zap"
)
type ControllerDeps struct {
Logger *zap.Logger
Repos *Repository
2024-07-25 11:49:50 +00:00
MW *middleware.MiddleWare
}
type Controller struct {
HttpControllers HttpControllers
GrpcControllers GrpcControllers
}
type HttpControllers struct {
PrivilegeInternal *privilege_internal.PrivilegeInternal
PrivilegeExternal *privilege_external.PrivilegeExternal
2024-07-23 11:27:56 +00:00
TariffInternal *tariff_internal.TariffInternal
TariffExternal *tariff_external.TariffExternal
}
type GrpcControllers struct {
TariffGrpc *tariff_grpc.TariffGrpc
}
func NewControllers(deps ControllerDeps) *Controller {
return &Controller{
HttpControllers: HttpControllers{
PrivilegeInternal: privilege_internal.NewPrivilegeInternal(privilege_internal.Deps{
Repo: deps.Repos.PrivilegeRepo,
Logger: deps.Logger,
}),
PrivilegeExternal: privilege_external.NewPrivilegeExternal(privilege_external.Deps{
Repo: deps.Repos.PrivilegeRepo,
Logger: deps.Logger,
}),
TariffInternal: tariff_internal.NewTariffInternal(tariff_internal.Deps{
Logger: deps.Logger,
Repo: deps.Repos.TariffRepo,
MiddleWare: deps.MW,
}),
TariffExternal: tariff_external.NewTariffExternal(tariff_external.Deps{
Logger: deps.Logger,
Repo: deps.Repos.TariffRepo,
MiddleWare: deps.MW,
}),
},
GrpcControllers: GrpcControllers{
TariffGrpc: tariff_grpc.NewTariffGrpc(tariff_grpc.Deps{
Repo: deps.Repos.TariffRepo,
Logger: deps.Logger,
}),
},
}
}