SiLaju / provider /controller_provider.go
RyZ
feature: Adding Login by Google logic
3b2d340
raw
history blame contribute delete
935 Bytes
package provider
import "dinacom-11.0-backend/controllers"
type ControllerProvider interface {
ProvideAuthController() controllers.AuthController
ProvideReportController() controllers.ReportController
}
type controllerProvider struct {
authController controllers.AuthController
reportController controllers.ReportController
}
func NewControllerProvider(servicesProvider ServicesProvider) ControllerProvider {
authController := controllers.NewAuthController(servicesProvider.ProvideAuthService())
reportController := controllers.NewReportController(servicesProvider.ProvideReportService())
return &controllerProvider{
authController: authController,
reportController: reportController,
}
}
func (c *controllerProvider) ProvideAuthController() controllers.AuthController {
return c.authController
}
func (c *controllerProvider) ProvideReportController() controllers.ReportController {
return c.reportController
}