From 1f700048a42c7c00f47e4113e009ba6bc8321427 Mon Sep 17 00:00:00 2001 From: cyrus Date: Tue, 28 May 2024 22:10:09 +0000 Subject: [PATCH] get users request --- main.go | 29 ++++++++++++++++++++++------- request_types.go | 11 +++++++++++ 2 files changed, 33 insertions(+), 7 deletions(-) create mode 100644 request_types.go diff --git a/main.go b/main.go index e9f77f2..277ff8c 100644 --- a/main.go +++ b/main.go @@ -1,25 +1,40 @@ package main import ( - "bytes" - "fmt" + "net/http" "github.com/gin-gonic/gin" ) func main() { router := gin.Default() + router.GET("/version", func(c *gin.Context) { c.JSON(200, gin.H{ "version": "0.0.1", }) }) - router.POST("/echo", func(c *gin.Context) { - buf := new(bytes.Buffer) - buf.ReadFrom(c.Request.Body) - data := buf.String() - fmt.Println(data) + router.GET("/users", func(c *gin.Context) {}) + router.POST("/users/:userid", func(c *gin.Context) { + var user User + if err := c.ShouldBind(&user); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + return + } + user.Id = c.Param("userid") + c.JSON(http.StatusOK, user) }) + router.GET("/users/:userid", func(c *gin.Context) {}) + router.DELETE("/users/:userid", func(c *gin.Context) {}) + + router.GET("/groups", func(c *gin.Context) {}) + router.POST("/groups/:groupid", func(c *gin.Context) {}) + router.GET("/groups/:groupid", func(c *gin.Context) {}) + router.DELETE("/groups/:groupid", func(c *gin.Context) {}) + + router.POST("/groups/:groupid/members/:userid", func(c *gin.Context) {}) + router.DELETE("/groups/:groupid/members/:userid", func(c *gin.Context) {}) + router.Run("0.0.0.0:80") // listen and serve on 0.0.0.0:8080 } diff --git a/request_types.go b/request_types.go new file mode 100644 index 0000000..1a198b3 --- /dev/null +++ b/request_types.go @@ -0,0 +1,11 @@ +package main + +type User struct { + Id string + Password string `form:"userpassword" binding:"required"` + CN string `form:"usercn" binding:"required"` + SN string `form:"usersn" binding:"required"` + Resources struct{} + Cluster struct{} + Templates struct{} +}