Spaces:
Running
Running
| package provider | |
| import "abdanhafidz.com/go-boilerplate/controllers" | |
| type ControllerProvider interface { | |
| ProvideAdminAcademyController() controllers.AdminAcademyController | |
| ProvideAdminEventController() controllers.AdminEventController | |
| ProvideAdminExamController() controllers.AdminExamController | |
| ProvideAdminStatisticController() controllers.AdminStatisticController | |
| ProvideAdminProblemSetController() controllers.AdminProblemSetController | |
| ProvideAcademyController() controllers.AcademyController | |
| ProvideAcademyExamController() controllers.AcademyExamController | |
| ProvideAccountDetailController() controllers.AccountDetailController | |
| ProvideAuthenticationController() controllers.AuthenticationController | |
| ProvideEmailVerificationController() controllers.EmailVerificationController | |
| ProvideEventController() controllers.EventController | |
| ProvideEventExamController() controllers.EventExamController | |
| ProvideEventExamProctoringController() controllers.EventExamProctoringController | |
| ProvideForgotPasswordController() controllers.ForgotPasswordController | |
| ProvideOptionController() controllers.OptionController | |
| ProvideRegionController() controllers.RegionController | |
| ProvideUploadController() controllers.UploadController | |
| ProvideUserController() controllers.UserController | |
| ProvideSuperAdminInjectController() controllers.SuperAdminInjectController | |
| ProvideRepairController() controllers.RepairController | |
| } | |
| type controllerProvider struct { | |
| adminAcademyController controllers.AdminAcademyController | |
| adminEventController controllers.AdminEventController | |
| adminExamController controllers.AdminExamController | |
| adminStatisticController controllers.AdminStatisticController | |
| adminProblemSetController controllers.AdminProblemSetController | |
| academyController controllers.AcademyController | |
| academyExamController controllers.AcademyExamController | |
| accountDetailController controllers.AccountDetailController | |
| authenticationController controllers.AuthenticationController | |
| emailVerificationController controllers.EmailVerificationController | |
| eventController controllers.EventController | |
| eventExamController controllers.EventExamController | |
| eventExamProctoringController controllers.EventExamProctoringController | |
| forgotPasswordController controllers.ForgotPasswordController | |
| optionController controllers.OptionController | |
| regionController controllers.RegionController | |
| uploadController controllers.UploadController | |
| userController controllers.UserController | |
| superAdminInjectController controllers.SuperAdminInjectController | |
| repairController controllers.RepairController | |
| } | |
| func NewControllerProvider(servicesProvider ServicesProvider) ControllerProvider { | |
| adminEventController := controllers.NewAdminEventController(servicesProvider.ProvideAdminEventService()) | |
| adminExamController := controllers.NewAdminExamController(servicesProvider.ProvideAdminExamService()) | |
| adminStatisticController := controllers.NewAdminStatisticController(servicesProvider.ProvideAdminStatisticService()) | |
| adminAcademyController := controllers.NewAdminAcademyController(servicesProvider.ProvideAdminAcademyService()) | |
| adminProblemSetController := controllers.NewAdminProblemSetController(servicesProvider.ProvideProblemSetService()) | |
| academyController := controllers.NewAcademyController(servicesProvider.ProvideAcademyService()) | |
| academyExamController := controllers.NewAcademyExamController(servicesProvider.ProvideAcademyExamService()) | |
| accountDetailController := controllers.NewAccountDetailController(servicesProvider.ProvideAccountService()) | |
| authenticationController := controllers.NewAuthenticationController( | |
| servicesProvider.ProvideAccountService(), | |
| servicesProvider.ProvideExternalAuthService(), | |
| servicesProvider.ProvideEmailVerificationService(), | |
| ) | |
| emailVerificationController := controllers.NewEmailVerificationController(servicesProvider.ProvideEmailVerificationService()) | |
| eventController := controllers.NewEventController(servicesProvider.ProvideEventService()) | |
| eventExamController := controllers.NewEventExamController(servicesProvider.ProvideEventExamService()) | |
| eventExamProctoringController := controllers.NewEventExamProctoringController(servicesProvider.ProvideEventExamProctoringService()) | |
| forgotPasswordController := controllers.NewForgotPasswordController(servicesProvider.ProvideForgotPasswordService()) | |
| optionController := controllers.NewOptionController(servicesProvider.ProvideOptionService()) | |
| regionController := controllers.NewRegionController(servicesProvider.ProvideRegionService()) | |
| uploadController := controllers.NewUploadController(servicesProvider.ProvideUploadService()) | |
| userController := controllers.NewUserController(servicesProvider.ProvideAccountService()) | |
| superAdminInjectController := controllers.NewSuperAdminInjectController( | |
| servicesProvider.ProvideProblemSetService(), | |
| servicesProvider.ProvideZipInjectService(), | |
| ) | |
| repairController := controllers.NewRepairController(servicesProvider.ProvideRepairService()) | |
| return &controllerProvider{ | |
| adminAcademyController: adminAcademyController, | |
| adminEventController: adminEventController, | |
| adminExamController: adminExamController, | |
| adminStatisticController: adminStatisticController, | |
| adminProblemSetController: adminProblemSetController, | |
| academyController: academyController, | |
| academyExamController: academyExamController, | |
| accountDetailController: accountDetailController, | |
| authenticationController: authenticationController, | |
| emailVerificationController: emailVerificationController, | |
| eventController: eventController, | |
| eventExamController: eventExamController, | |
| eventExamProctoringController: eventExamProctoringController, | |
| forgotPasswordController: forgotPasswordController, | |
| optionController: optionController, | |
| regionController: regionController, | |
| uploadController: uploadController, | |
| userController: userController, | |
| superAdminInjectController: superAdminInjectController, | |
| repairController: repairController, | |
| } | |
| } | |
| // --- Getter Methods --- | |
| func (c *controllerProvider) ProvideAdminAcademyController() controllers.AdminAcademyController { | |
| return c.adminAcademyController | |
| } | |
| func (c *controllerProvider) ProvideAdminEventController() controllers.AdminEventController { | |
| return c.adminEventController | |
| } | |
| func (c *controllerProvider) ProvideAdminExamController() controllers.AdminExamController { | |
| return c.adminExamController | |
| } | |
| func (c *controllerProvider) ProvideAdminStatisticController() controllers.AdminStatisticController { | |
| return c.adminStatisticController | |
| } | |
| func (c *controllerProvider) ProvideAdminProblemSetController() controllers.AdminProblemSetController { | |
| return c.adminProblemSetController | |
| } | |
| func (c *controllerProvider) ProvideAcademyController() controllers.AcademyController { | |
| return c.academyController | |
| } | |
| func (c *controllerProvider) ProvideAcademyExamController() controllers.AcademyExamController { | |
| return c.academyExamController | |
| } | |
| 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) ProvideEventExamController() controllers.EventExamController { | |
| return c.eventExamController | |
| } | |
| func (c *controllerProvider) ProvideEventExamProctoringController() controllers.EventExamProctoringController { | |
| return c.eventExamProctoringController | |
| } | |
| 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) ProvideUserController() controllers.UserController { | |
| return c.userController | |
| } | |
| func (c *controllerProvider) ProvideSuperAdminInjectController() controllers.SuperAdminInjectController { | |
| return c.superAdminInjectController | |
| } | |
| func (c *controllerProvider) ProvideRepairController() controllers.RepairController { | |
| return c.repairController | |
| } | |