medol-be/app/router/api.go

124 lines
4.9 KiB
Go
Raw Normal View History

2024-03-05 19:15:53 +00:00
package router
import (
swagger "github.com/arsmn/fiber-swagger/v2"
"github.com/gofiber/fiber/v2"
"go-humas-be/app/module/article_categories"
"go-humas-be/app/module/article_category_details"
"go-humas-be/app/module/article_files"
2024-11-22 15:58:15 +00:00
"go-humas-be/app/module/article_nulis_ai"
2024-03-05 19:15:53 +00:00
"go-humas-be/app/module/articles"
"go-humas-be/app/module/cities"
2024-11-22 04:14:14 +00:00
"go-humas-be/app/module/custom_static_pages"
2024-03-05 19:15:53 +00:00
"go-humas-be/app/module/districts"
"go-humas-be/app/module/magazine_files"
"go-humas-be/app/module/magazines"
"go-humas-be/app/module/master_menus"
"go-humas-be/app/module/master_modules"
"go-humas-be/app/module/provinces"
"go-humas-be/app/module/user_levels"
"go-humas-be/app/module/user_role_accesses"
"go-humas-be/app/module/user_roles"
"go-humas-be/app/module/users"
"go-humas-be/config/config"
_ "go-humas-be/docs/swagger"
)
type Router struct {
App fiber.Router
Cfg *config.Config
2024-11-02 18:20:19 +00:00
ArticleCategoriesRouter *article_categories.ArticleCategoriesRouter
ArticleCategoryDetailsRouter *article_category_details.ArticleCategoryDetailsRouter
ArticleFilesRouter *article_files.ArticleFilesRouter
ArticlesRouter *articles.ArticlesRouter
2024-11-22 15:58:15 +00:00
ArticleNulisAIRouter *article_nulis_ai.ArticleNulisAIRouter
2024-11-02 18:20:19 +00:00
CitiesRouter *cities.CitiesRouter
2024-11-22 04:14:14 +00:00
CustomStaticPagesRouter *custom_static_pages.CustomStaticPagesRouter
2024-11-02 18:20:19 +00:00
DistrictsRouter *districts.DistrictsRouter
MagazineFilesRouter *magazine_files.MagazineFilesRouter
MagazinesRouter *magazines.MagazinesRouter
MasterMenusRouter *master_menus.MasterMenusRouter
MasterModulesRouter *master_modules.MasterModulesRouter
ProvincesRouter *provinces.ProvincesRouter
UserLevelsRouter *user_levels.UserLevelsRouter
UserRoleAccessesRouter *user_role_accesses.UserRoleAccessesRouter
UserRolesRouter *user_roles.UserRolesRouter
UsersRouter *users.UsersRouter
2024-03-05 19:15:53 +00:00
}
func NewRouter(
fiber *fiber.App,
cfg *config.Config,
articleCategoriesRouter *article_categories.ArticleCategoriesRouter,
articleCategoryDetailsRouter *article_category_details.ArticleCategoryDetailsRouter,
articleFilesRouter *article_files.ArticleFilesRouter,
articlesRouter *articles.ArticlesRouter,
2024-11-22 15:58:15 +00:00
articleNulisRouter *article_nulis_ai.ArticleNulisAIRouter,
2024-03-05 19:15:53 +00:00
citiesRouter *cities.CitiesRouter,
2024-11-22 04:14:14 +00:00
customStaticPagesRouter *custom_static_pages.CustomStaticPagesRouter,
2024-03-05 19:15:53 +00:00
districtsRouter *districts.DistrictsRouter,
magazineFilesRouter *magazine_files.MagazineFilesRouter,
magazinesRouter *magazines.MagazinesRouter,
masterMenuRouter *master_menus.MasterMenusRouter,
masterModuleRouter *master_modules.MasterModulesRouter,
provincesRouter *provinces.ProvincesRouter,
userLevelsRouter *user_levels.UserLevelsRouter,
userRoleAccessesRouter *user_role_accesses.UserRoleAccessesRouter,
userRolesRouter *user_roles.UserRolesRouter,
usersRouter *users.UsersRouter,
) *Router {
return &Router{
2024-11-02 18:20:19 +00:00
App: fiber,
Cfg: cfg,
ArticleCategoriesRouter: articleCategoriesRouter,
ArticleCategoryDetailsRouter: articleCategoryDetailsRouter,
ArticleFilesRouter: articleFilesRouter,
ArticlesRouter: articlesRouter,
2024-11-22 15:58:15 +00:00
ArticleNulisAIRouter: articleNulisRouter,
2024-11-02 18:20:19 +00:00
CitiesRouter: citiesRouter,
2024-11-22 04:14:14 +00:00
CustomStaticPagesRouter: customStaticPagesRouter,
2024-11-02 18:20:19 +00:00
DistrictsRouter: districtsRouter,
MagazineFilesRouter: magazineFilesRouter,
MagazinesRouter: magazinesRouter,
MasterMenusRouter: masterMenuRouter,
MasterModulesRouter: masterModuleRouter,
ProvincesRouter: provincesRouter,
UserLevelsRouter: userLevelsRouter,
UserRoleAccessesRouter: userRoleAccessesRouter,
UserRolesRouter: userRolesRouter,
UsersRouter: usersRouter,
2024-03-05 19:15:53 +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.ArticleCategoriesRouter.RegisterArticleCategoriesRoutes()
r.ArticleCategoryDetailsRouter.RegisterArticleCategoryDetailsRoutes()
r.ArticleFilesRouter.RegisterArticleFilesRoutes()
r.ArticlesRouter.RegisterArticlesRoutes()
2024-11-22 15:58:15 +00:00
r.ArticleNulisAIRouter.RegisterArticleNulisAIRoutes()
2024-03-05 19:15:53 +00:00
r.CitiesRouter.RegisterCitiesRoutes()
2024-11-22 04:14:14 +00:00
r.CustomStaticPagesRouter.RegisterCustomStaticPagesRoutes()
2024-03-05 19:15:53 +00:00
r.DistrictsRouter.RegisterDistrictsRoutes()
r.MagazinesRouter.RegisterMagazinesRoutes()
r.MagazineFilesRouter.RegisterMagazineFilesRoutes()
r.MasterMenusRouter.RegisterMasterMenusRoutes()
r.MasterModulesRouter.RegisterMasterModulesRoutes()
r.ProvincesRouter.RegisterProvincesRoutes()
r.UserLevelsRouter.RegisterUserLevelsRoutes()
r.UserRoleAccessesRouter.RegisterUserRoleAccessesRoutes()
r.UsersRouter.RegisterUsersRoutes()
r.UserRolesRouter.RegisterUserRolesRoutes()
2024-03-05 19:15:53 +00:00
}