From 468690c60ee2e57ed2ccb4375e9ada5d2fed9473 Mon Sep 17 00:00:00 2001 From: Emiliano Ciavatta Date: Tue, 7 Apr 2020 20:46:36 +0200 Subject: Before storage refactor --- routes.go | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 routes.go (limited to 'routes.go') diff --git a/routes.go b/routes.go new file mode 100644 index 0000000..f44cff7 --- /dev/null +++ b/routes.go @@ -0,0 +1,33 @@ +package main + +import ( + "fmt" + "github.com/gin-gonic/gin" + "github.com/go-playground/validator/v10" + "log" + "net/http" +) + +func ApplicationRoutes(engine *gin.Engine) { + engine.Static("/", "./frontend/build") + + api := engine.Group("/api") + { + api.POST("/rules", func(c *gin.Context) { + var rule Rule + + if err := c.ShouldBindJSON(&rule); err != nil { + for _, fieldErr := range err.(validator.ValidationErrors) { + log.Println(fieldErr) + c.JSON(http.StatusBadRequest, gin.H{ + "error": fmt.Sprintf("field '%v' does not respect the %v(%v) rule", + fieldErr.Field(), fieldErr.Tag(), fieldErr.Param()), + }) + return // exit on first error + } + } + + c.JSON(200, rule) + }) + } +} -- cgit v1.2.3-70-g09d2