aditya.siregar 8966037024 Add License
2024-07-28 13:00:01 +07:00

67 lines
2.1 KiB
Go

package routes
import (
"furtuna-be/internal/handlers/http/branch"
"furtuna-be/internal/handlers/http/license"
mdtrns "furtuna-be/internal/handlers/http/midtrans"
"furtuna-be/internal/handlers/http/order"
"furtuna-be/internal/handlers/http/oss"
"furtuna-be/internal/handlers/http/partner"
"furtuna-be/internal/handlers/http/product"
site "furtuna-be/internal/handlers/http/sites"
"furtuna-be/internal/handlers/http/studio"
"furtuna-be/internal/handlers/http/user"
swaggerFiles "github.com/swaggo/files"
ginSwagger "github.com/swaggo/gin-swagger"
"net/http"
"furtuna-be/internal/handlers/http/event"
"furtuna-be/internal/middlewares"
"github.com/gin-gonic/gin"
"furtuna-be/internal/app"
"furtuna-be/internal/handlers/http/auth"
"furtuna-be/internal/repository"
"furtuna-be/internal/services"
)
func RegisterPublicRoutes(app *app.Server, serviceManager *services.ServiceManagerImpl,
repoManager *repository.RepoManagerImpl) {
route := app.Group("/")
route.GET("/", func(c *gin.Context) {
c.JSON(http.StatusOK, "HEALTHY")
})
route.GET("/docs/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
}
type HTTPHandlerRoutes interface {
Route(group *gin.RouterGroup, jwt gin.HandlerFunc)
}
func RegisterPrivateRoutes(app *app.Server, serviceManager *services.ServiceManagerImpl,
repoManager *repository.RepoManagerImpl) {
approute := app.Group("/api/v1")
authMiddleware := middlewares.AuthorizationMiddleware(repoManager.Crypto)
serverRoutes := []HTTPHandlerRoutes{
auth.NewAuthHandler(serviceManager.AuthSvc),
event.NewHandler(serviceManager.EventSvc),
user.NewHandler(serviceManager.UserSvc),
branch.NewHandler(serviceManager.BranchSvc),
studio.NewStudioHandler(serviceManager.StudioSvc),
product.NewHandler(serviceManager.ProductSvc),
order.NewHandler(serviceManager.OrderSvc),
oss.NewOssHandler(serviceManager.OSSSvc),
partner.NewHandler(serviceManager.PartnerSvc),
site.NewHandler(serviceManager.SiteSvc),
mdtrns.NewHandler(serviceManager.OrderSvc),
license.NewHandler(serviceManager.LicenseSvc),
}
for _, handler := range serverRoutes {
handler.Route(approute, authMiddleware)
}
}