apskel-pos-backend/internal/routes/customer_routes.go
2025-06-14 21:17:13 +07:00

32 lines
1.1 KiB
Go

package routes
import (
"enaklo-pos-be/internal/handlers/http"
"enaklo-pos-be/internal/handlers/http/customerauth"
"enaklo-pos-be/internal/middlewares"
"enaklo-pos-be/internal/app"
"enaklo-pos-be/internal/repository"
"enaklo-pos-be/internal/services"
)
func RegisterCustomerRoutes(app *app.Server, serviceManager *services.ServiceManagerImpl,
repoManager *repository.RepoManagerImpl) {
approute := app.Group("/api/v1/customer")
authMiddleware := middlewares.CustomerAuthorizationMiddleware(repoManager.Crypto)
optionlMiddleWare := middlewares.OptionalCustomerAuthorizationMiddleware(repoManager.Crypto)
serverRoutes := []HTTPHandlerRoutes{
customerauth.NewAuthHandler(serviceManager.AuthV2Svc, serviceManager.MemberRegistrationSvc),
http.NewMenuHandler(serviceManager.ProductV2Svc, serviceManager.InProgressSvc),
http.NewCustomerOrderHandler(serviceManager.OrderV2Svc),
}
for _, handler := range serverRoutes {
handler.Route(approute, authMiddleware)
}
http.NewCustomerUndianHandler(serviceManager.UndianSvc).Route(approute, optionlMiddleWare)
}