Spaces:
Runtime error
Runtime error
| package provider | |
| import "abdanhafidz.com/go-boilerplate/controllers" | |
| type ControllerProvider interface { | |
| ProvideAcademyController() controllers.AcademyController | |
| ProvideAccountDetailController() controllers.AccountDetailController | |
| ProvideAuthenticationController() controllers.AuthenticationController | |
| ProvideEmailVerificationController() controllers.EmailVerificationController | |
| ProvideEventController() controllers.EventController | |
| ProvideExamController() controllers.ExamController | |
| ProvideForgotPasswordController() controllers.ForgotPasswordController | |
| ProvideOptionController() controllers.OptionController | |
| ProvideRegionController() controllers.RegionController | |
| ProvideUploadController() controllers.UploadController | |
| ProvideAcademyExamController() controllers.AcademyExamController | |
| } | |
| type controllerProvider struct { | |
| academyController controllers.AcademyController | |
| accountDetailController controllers.AccountDetailController | |
| authenticationController controllers.AuthenticationController | |
| emailVerificationController controllers.EmailVerificationController | |
| eventController controllers.EventController | |
| examController controllers.ExamController | |
| forgotPasswordController controllers.ForgotPasswordController | |
| optionController controllers.OptionController | |
| regionController controllers.RegionController | |
| uploadController controllers.UploadController | |
| academyExamController controllers.AcademyExamController | |
| } | |
| func NewControllerProvider(servicesProvider ServicesProvider) ControllerProvider { | |
| academyController := controllers.NewAcademyController(servicesProvider.ProvideAcademyService()) | |
| accountDetailController := controllers.NewAccountDetailController(servicesProvider.ProvideAccountService()) | |
| authenticationController := controllers.NewAuthenticationController(servicesProvider.ProvideAccountService(), servicesProvider.ProvideExternalAuthService()) | |
| emailVerificationController := controllers.NewEmailVerificationController(servicesProvider.ProvideEmailVerificationService()) | |
| eventController := controllers.NewEventController(servicesProvider.ProvideEventService()) | |
| examController := controllers.NewExamController(servicesProvider.ProvideExamService()) | |
| forgotPasswordController := controllers.NewForgotPasswordController(servicesProvider.ProvideForgotPasswordService()) | |
| optionController := controllers.NewOptionController(servicesProvider.ProvideOptionService()) | |
| regionController := controllers.NewRegionController(servicesProvider.ProvideRegionService()) | |
| uploadController := controllers.NewUploadController(servicesProvider.ProvideUploadService()) | |
| academyExamController := controllers.NewAcademyExamController(servicesProvider.ProvideAcademyExamService()) | |
| return &controllerProvider{ | |
| academyController: academyController, | |
| accountDetailController: accountDetailController, | |
| authenticationController: authenticationController, | |
| emailVerificationController: emailVerificationController, | |
| eventController: eventController, | |
| examController: examController, | |
| forgotPasswordController: forgotPasswordController, | |
| optionController: optionController, | |
| regionController: regionController, | |
| uploadController: uploadController, | |
| academyExamController: academyExamController, | |
| } | |
| } | |
| func (c *controllerProvider) ProvideAcademyController() controllers.AcademyController { | |
| return c.academyController | |
| } | |
| func (c *controllerProvider) ProvideAccountDetailController() controllers.AccountDetailController { | |
| return c.accountDetailController | |
| } | |
| func (c *controllerProvider) ProvideAuthenticationController() controllers.AuthenticationController { | |
| return c.authenticationController | |
| } | |
| func (c *controllerProvider) ProvideEmailVerificationController() controllers.EmailVerificationController { | |
| return c.emailVerificationController | |
| } | |
| func (c *controllerProvider) ProvideEventController() controllers.EventController { | |
| return c.eventController | |
| } | |
| func (c *controllerProvider) ProvideExamController() controllers.ExamController { | |
| return c.examController | |
| } | |
| func (c *controllerProvider) ProvideForgotPasswordController() controllers.ForgotPasswordController { | |
| return c.forgotPasswordController | |
| } | |
| func (c *controllerProvider) ProvideOptionController() controllers.OptionController { | |
| return c.optionController | |
| } | |
| func (c *controllerProvider) ProvideRegionController() controllers.RegionController { | |
| return c.regionController | |
| } | |
| func (c *controllerProvider) ProvideUploadController() controllers.UploadController { | |
| return c.uploadController | |
| } | |
| func (c *controllerProvider) ProvideAcademyExamController() controllers.AcademyExamController { return c.academyExamController } |