campaignpool-be/app/router/api.go

90 lines
3.3 KiB
Go
Raw Permalink Normal View History

2025-11-11 03:36:59 +00:00
package router
import (
"campaign-pool-be/app/module/activity_logs"
"campaign-pool-be/app/module/campaign_destinations"
"campaign-pool-be/app/module/campaign_types"
"campaign-pool-be/app/module/campaigns"
"campaign-pool-be/app/module/campaign_files"
"campaign-pool-be/app/module/custom_static_pages"
"campaign-pool-be/app/module/user_levels"
"campaign-pool-be/app/module/user_role_accesses"
"campaign-pool-be/app/module/user_roles"
"campaign-pool-be/app/module/users"
"campaign-pool-be/config/config"
_ "campaign-pool-be/docs/swagger"
swagger "github.com/arsmn/fiber-swagger/v2"
"github.com/gofiber/fiber/v2"
)
type Router struct {
App fiber.Router
Cfg *config.Config
ActivityLogsRouter *activity_logs.ActivityLogsRouter
CustomStaticPagesRouter *custom_static_pages.CustomStaticPagesRouter
UserLevelsRouter *user_levels.UserLevelsRouter
UserRoleAccessesRouter *user_role_accesses.UserRoleAccessesRouter
UserRolesRouter *user_roles.UserRolesRouter
UsersRouter *users.UsersRouter
CampaignTypesRouter *campaign_types.CampaignTypesRouter
CampaignDestinationsRouter *campaign_destinations.CampaignDestinationsRouter
CampaignsRouter *campaigns.CampaignsRouter
CampaignFilesRouter *campaign_files.CampaignFilesRouter
}
func NewRouter(
fiber *fiber.App,
cfg *config.Config,
activityLogsRouter *activity_logs.ActivityLogsRouter,
customStaticPagesRouter *custom_static_pages.CustomStaticPagesRouter,
userLevelsRouter *user_levels.UserLevelsRouter,
userRoleAccessesRouter *user_role_accesses.UserRoleAccessesRouter,
userRolesRouter *user_roles.UserRolesRouter,
usersRouter *users.UsersRouter,
campaignTypesRouter *campaign_types.CampaignTypesRouter,
campaignDestinationsRouter *campaign_destinations.CampaignDestinationsRouter,
campaignsRouter *campaigns.CampaignsRouter,
campaignFilesRouter *campaign_files.CampaignFilesRouter,
) *Router {
return &Router{
2025-11-15 12:09:48 +00:00
App: fiber,
Cfg: cfg,
ActivityLogsRouter: activityLogsRouter,
CustomStaticPagesRouter: customStaticPagesRouter,
UserLevelsRouter: userLevelsRouter,
UserRoleAccessesRouter: userRoleAccessesRouter,
UserRolesRouter: userRolesRouter,
UsersRouter: usersRouter,
CampaignTypesRouter: campaignTypesRouter,
CampaignDestinationsRouter: campaignDestinationsRouter,
CampaignsRouter: campaignsRouter,
CampaignFilesRouter: campaignFilesRouter,
2025-11-11 03:36:59 +00:00
}
}
// Register routes
func (r *Router) Register() {
// Test Routes
r.App.Get("/ping", func(c *fiber.Ctx) error {
return c.SendString("Pong! 👋")
})
//Swagger Documentation
r.App.Get("/swagger/*", swagger.HandlerDefault)
// Register routes of modules
r.ActivityLogsRouter.RegisterActivityLogsRoutes()
r.CustomStaticPagesRouter.RegisterCustomStaticPagesRoutes()
r.UserLevelsRouter.RegisterUserLevelsRoutes()
r.UserRoleAccessesRouter.RegisterUserRoleAccessesRoutes()
r.UsersRouter.RegisterUsersRoutes()
r.UserRolesRouter.RegisterUserRolesRoutes()
r.CampaignTypesRouter.RegisterCampaignTypesRoutes()
r.CampaignDestinationsRouter.RegisterCampaignDestinationsRoutes()
r.CampaignsRouter.RegisterCampaignsRoutes()
r.CampaignFilesRouter.RegisterCampaignFilesRoutes()
}