diff --git a/cmd/main.go b/cmd/main.go index eb0cc30..31f6962 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -8,6 +8,7 @@ import ( "github.com/Caknoooo/go-gin-clean-starter/docs" "github.com/Caknoooo/go-gin-clean-starter/middlewares" "github.com/Caknoooo/go-gin-clean-starter/modules/auth" + maintenancegroup "github.com/Caknoooo/go-gin-clean-starter/modules/maintenance_group" "github.com/Caknoooo/go-gin-clean-starter/modules/menu" "github.com/Caknoooo/go-gin-clean-starter/modules/role" swaggerFiles "github.com/swaggo/files" @@ -99,6 +100,7 @@ func main() { // Logging to a file. f, _ := os.Create("gin.log") gin.DefaultWriter = io.MultiWriter(f) + gin.SetMode(gin.DebugMode) server := gin.Default() //db := do.MustInvokeNamed[*gorm.DB](injector, constants.DB) @@ -121,6 +123,7 @@ func main() { role.RegisterRoutes(server, injector) logs.RegisterRoutes(server, injector) menu.RegisterRoutes(server, injector) + maintenancegroup.RegisterRoutes(server, injector) // register swagger route server.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) diff --git a/pkg/constants/common.go b/pkg/constants/common.go index c26276c..440865c 100644 --- a/pkg/constants/common.go +++ b/pkg/constants/common.go @@ -12,4 +12,5 @@ const ( DB = "db" JWTService = "JWTService" + LOGGER = "logger" ) diff --git a/providers/core.go b/providers/core.go index 38b31c8..bb12778 100644 --- a/providers/core.go +++ b/providers/core.go @@ -4,6 +4,7 @@ import ( "github.com/Caknoooo/go-gin-clean-starter/config" authRepo "github.com/Caknoooo/go-gin-clean-starter/modules/auth/repository" "github.com/Caknoooo/go-gin-clean-starter/modules/auth/service" + "github.com/sirupsen/logrus" // productController "github.com/Caknoooo/go-gin-clean-starter/modules/product/controller" // productRepo "github.com/Caknoooo/go-gin-clean-starter/modules/product/repository" @@ -15,6 +16,12 @@ import ( roleController "github.com/Caknoooo/go-gin-clean-starter/modules/role/controller" roleRepo "github.com/Caknoooo/go-gin-clean-starter/modules/role/repository" roleService "github.com/Caknoooo/go-gin-clean-starter/modules/role/service" + + maintGroupController "github.com/Caknoooo/go-gin-clean-starter/modules/maintenance_group/controller" + maintGroupRepo "github.com/Caknoooo/go-gin-clean-starter/modules/maintenance_group/repository" + maintGroupRepoRole "github.com/Caknoooo/go-gin-clean-starter/modules/maintenance_group/repository" + maintGroupRepoRoleUser "github.com/Caknoooo/go-gin-clean-starter/modules/maintenance_group/repository" + maintGroupService "github.com/Caknoooo/go-gin-clean-starter/modules/maintenance_group/service" "github.com/Caknoooo/go-gin-clean-starter/modules/user/controller" "github.com/Caknoooo/go-gin-clean-starter/modules/user/repository" userService "github.com/Caknoooo/go-gin-clean-starter/modules/user/service" @@ -29,8 +36,15 @@ func InitDatabase(injector *do.Injector) { }) } +func initLogger(injector *do.Injector) { + do.ProvideNamed(injector, constants.LOGGER, func(i *do.Injector) (*logrus.Logger, error) { + return config.SetupLoggerLogrus(), nil + }) +} + func RegisterDependencies(injector *do.Injector) { InitDatabase(injector) + initLogger(injector) // <-- tambahkan ini agar logger ter-register do.ProvideNamed(injector, constants.JWTService, func(i *do.Injector) (service.JWTService, error) { return service.NewJWTService(), nil @@ -46,12 +60,16 @@ func RegisterDependencies(injector *do.Injector) { // productRepository := productRepo.NewProductRepository(db) roleRepository := roleRepo.NewRoleRepository(db) menuRepository := menuRepo.NewMenuRepository(db) + maintenanceGroupRepository := maintGroupRepo.NewMaintGroupRepository(db) + maintenanceGroupRoleRepository := maintGroupRepoRole.NewMaintGroupRoleRepository(db) + maintenanceGroupRoleUserRepository := maintGroupRepoRoleUser.NewMaintGroupRoleUserRepository(db) // Service userServ := userService.NewUserService(userRepository, refreshTokenRepository, jwtService, db) // productService := productService.NewProductService(productRepository, db) roleService := roleService.NewRoleService(roleRepository, refreshTokenRepository, jwtService, userServ, db) menuSvc := menuService.NewMenuService(menuRepository, jwtService, db) + maintenanceGroupServ := maintGroupService.NewMaintenanceGroupService(maintenanceGroupRepository, maintenanceGroupRoleRepository, maintenanceGroupRoleUserRepository, db) // Controller do.Provide( @@ -84,4 +102,9 @@ func RegisterDependencies(injector *do.Injector) { return logsController.NewLogsController(i), nil }, ) + do.Provide( + injector, func(i *do.Injector) (maintGroupController.MaintenanceGroupController, error) { + return maintGroupController.NewMaintenanceGroupController(i, maintenanceGroupServ), nil + }, + ) }