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())

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…