INNER CODE UNIT · Go
SetupRoutes
viettranx/micro-clean-architecture-service-demo · cmd/root.go:71
func SetupRoutes(router *gin.RouterGroup, serviceCtx sctx.ServiceContext) {
userAPIService := composer.ComposeUserAPIService(serviceCtx)
taskAPIService := composer.ComposeTaskAPIService(serviceCtx)
authAPIService := composer.ComposeAuthAPIService(serviceCtx)
requireAuthMdw := middleware.RequireAuth(composer.ComposeAuthRPCClient(serviceCtx))
router.POST("/authenticate", authAPIService.LoginHdl())
router.POST("/register", authAPIService.RegisterHdl())
router.GET("/profile", requireAuthMdw, userAPIService.GetUserProfileHdl())
tasks := router.Group("/tasks", requireAuthMdw)
{
tasks.GET("", taskAPIService.ListTaskHdl())
tasks.POST("", taskAPIService.CreateTaskHdl())
tasks.GET("/:task-id", taskAPIService.GetTaskHdl())
tasks.PATCH("/:task-id", taskAPIService.UpdateTaskHdl())