2023-10-08 15:59:42 +07:00
|
|
|
package routes
|
|
|
|
|
|
|
|
|
|
import (
|
2025-03-08 00:35:23 +07:00
|
|
|
http2 "enaklo-pos-be/internal/handlers/http"
|
2025-03-04 20:36:17 +07:00
|
|
|
"enaklo-pos-be/internal/handlers/http/balance"
|
|
|
|
|
"enaklo-pos-be/internal/handlers/http/license"
|
|
|
|
|
linkqu "enaklo-pos-be/internal/handlers/http/linqu"
|
|
|
|
|
mdtrns "enaklo-pos-be/internal/handlers/http/midtrans"
|
|
|
|
|
"enaklo-pos-be/internal/handlers/http/order"
|
|
|
|
|
"enaklo-pos-be/internal/handlers/http/oss"
|
|
|
|
|
"enaklo-pos-be/internal/handlers/http/partner"
|
|
|
|
|
"enaklo-pos-be/internal/handlers/http/product"
|
|
|
|
|
site "enaklo-pos-be/internal/handlers/http/sites"
|
|
|
|
|
"enaklo-pos-be/internal/handlers/http/studio"
|
|
|
|
|
"enaklo-pos-be/internal/handlers/http/transaction"
|
|
|
|
|
"enaklo-pos-be/internal/handlers/http/user"
|
2023-10-08 15:59:42 +07:00
|
|
|
swaggerFiles "github.com/swaggo/files"
|
|
|
|
|
ginSwagger "github.com/swaggo/gin-swagger"
|
|
|
|
|
"net/http"
|
|
|
|
|
|
2025-03-04 20:36:17 +07:00
|
|
|
"enaklo-pos-be/internal/handlers/http/event"
|
|
|
|
|
"enaklo-pos-be/internal/middlewares"
|
2023-10-08 15:59:42 +07:00
|
|
|
|
|
|
|
|
"github.com/gin-gonic/gin"
|
|
|
|
|
|
2025-03-04 20:36:17 +07:00
|
|
|
"enaklo-pos-be/internal/app"
|
|
|
|
|
"enaklo-pos-be/internal/handlers/http/auth"
|
|
|
|
|
"enaklo-pos-be/internal/repository"
|
|
|
|
|
"enaklo-pos-be/internal/services"
|
2023-10-08 15:59:42 +07:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
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),
|
|
|
|
|
studio.NewStudioHandler(serviceManager.StudioSvc),
|
|
|
|
|
product.NewHandler(serviceManager.ProductSvc),
|
|
|
|
|
order.NewHandler(serviceManager.OrderSvc),
|
|
|
|
|
oss.NewOssHandler(serviceManager.OSSSvc),
|
|
|
|
|
partner.NewHandler(serviceManager.PartnerSvc),
|
2024-06-03 14:40:50 +07:00
|
|
|
site.NewHandler(serviceManager.SiteSvc),
|
2024-06-05 00:24:53 +07:00
|
|
|
mdtrns.NewHandler(serviceManager.OrderSvc),
|
2024-07-28 13:00:01 +07:00
|
|
|
license.NewHandler(serviceManager.LicenseSvc),
|
2024-07-30 23:39:55 +07:00
|
|
|
transaction.New(serviceManager.Transaction),
|
2024-07-30 23:51:53 +07:00
|
|
|
balance.NewHandler(serviceManager.Balance),
|
2024-10-27 19:48:10 +07:00
|
|
|
linkqu.NewHandler(serviceManager.OrderSvc),
|
2023-10-08 15:59:42 +07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for _, handler := range serverRoutes {
|
|
|
|
|
handler.Route(approute, authMiddleware)
|
|
|
|
|
}
|
|
|
|
|
}
|
2025-03-08 00:35:23 +07:00
|
|
|
|
|
|
|
|
func RegisterPrivateRoutesV2(app *app.Server, serviceManager *services.ServiceManagerImpl,
|
|
|
|
|
repoManager *repository.RepoManagerImpl) {
|
|
|
|
|
approute := app.Group("/api/v2")
|
|
|
|
|
|
|
|
|
|
authMiddleware := middlewares.AuthorizationMiddleware(repoManager.Crypto)
|
|
|
|
|
|
|
|
|
|
serverRoutes := []HTTPHandlerRoutes{
|
|
|
|
|
http2.NewOrderHandler(serviceManager.OrderV2Svc),
|
2025-03-15 15:51:18 +08:00
|
|
|
http2.NewMemberRegistrationHandler(serviceManager.MemberRegistrationSvc),
|
|
|
|
|
http2.NewCustomerHandler(serviceManager.CustomerV2Svc),
|
2025-03-08 00:35:23 +07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for _, handler := range serverRoutes {
|
|
|
|
|
handler.Route(approute, authMiddleware)
|
|
|
|
|
}
|
|
|
|
|
}
|