feat: Integrate maintenance group module with logging setup and dependency registration

This commit is contained in:
Habib Fatkhul Rohman 2025-10-25 01:37:21 +07:00
parent 3881009eb6
commit 467431ca92
3 changed files with 27 additions and 0 deletions

View File

@ -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))

View File

@ -12,4 +12,5 @@ const (
DB = "db"
JWTService = "JWTService"
LOGGER = "logger"
)

View File

@ -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
},
)
}