35 lines
1.2 KiB
Go
35 lines
1.2 KiB
Go
package routes
|
|
|
|
import (
|
|
"GoMembership/internal/controllers"
|
|
"GoMembership/internal/middlewares"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
func RegisterRoutes(router *gin.Engine, userController *controllers.UserController, membershipcontroller *controllers.MembershipController, contactController *controllers.ContactController) {
|
|
router.GET("/users/verify", userController.VerifyMailHandler)
|
|
router.POST("/users/register", userController.RegisterUser)
|
|
router.POST("/users/contact", contactController.RelayContactRequest)
|
|
|
|
router.POST("/users/login", userController.LoginUser)
|
|
router.POST("/csp-report", middlewares.CSPReportHandling)
|
|
|
|
// create subrouter for teh authenticated area /account
|
|
// also pthprefix matches everything below /account
|
|
// accountRouter := router.PathPrefix("/account").Subrouter()
|
|
// accountRouter.Use(middlewares.AuthMiddleware)
|
|
//create api key required router
|
|
apiRouter := router.Group("/api")
|
|
{
|
|
router.POST("/v1/subscription", membershipcontroller.RegisterSubscription)
|
|
}
|
|
apiRouter.Use(middlewares.APIKeyMiddleware())
|
|
|
|
authRouter := router.Group("/users/backend")
|
|
authRouter.Use(middlewares.AuthMiddleware())
|
|
{
|
|
authRouter.POST("/currentUser", userController.CurrentUserHandler)
|
|
}
|
|
}
|