From 6790a0ba8185e7476b113eaad8598c85adf48e55 Mon Sep 17 00:00:00 2001 From: songl Date: Thu, 6 Jun 2024 21:50:39 +0500 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20Re?= =?UTF-8?q?gisterUser=20b=20GetUser=20=D0=B2=20=D0=BA=D0=BE=D1=82=D1=80?= =?UTF-8?q?=D0=BE=D0=BB=D0=BB=D0=B5=D1=80=D0=B5=20=D0=B8=20=D1=80=D0=BE?= =?UTF-8?q?=D1=83=D1=82=D1=8B=20=D0=B2=20=D0=B0=D0=BF=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controllers/userController.go | 28 ++++++++++++++++++++++++++++ main.go | 8 +++++++- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/controllers/userController.go b/controllers/userController.go index 125d845..dc750bc 100644 --- a/controllers/userController.go +++ b/controllers/userController.go @@ -171,6 +171,34 @@ func GetUserByToken(token string) (database.User, error) { return user, err } +func GetUser(c *gin.Context, user database.User) { + token := strings.Split(c.Request.Header["Bearer"][0], " ")[1] + validate := validators.Validate + response := message.Response{Status: 200} + u, err := GetUserByToken(token) + if err != nil { + response.Status = 401 + response.Error = gin.H{ + "error": "Token is invalid, please login", + } + message.SendResponse(c, response) + return + } + + if err := validate.Struct(user); err != nil { + response.Error = libs.GetValidationErrors(err.(validator.ValidationErrors)) + response.Status = 400 + message.SendResponse(c, response) + return + } + + response.Message = gin.H{ + "message": "User data successfully received", + "user": u, + } + message.SendResponse(c, response) +} + func EditUser(c *gin.Context, user database.User) { token := strings.Split(c.Request.Header["Bearer"][0], " ")[1] diff --git a/main.go b/main.go index 61e7313..c4a483e 100644 --- a/main.go +++ b/main.go @@ -89,7 +89,13 @@ func main() { controllers.LoginUser(c, register) }) //View для получения пользователя - r.GET("/user", func(c *gin.Context) {}) + r.GET("/user", func(c *gin.Context) { + var user database.User + if err := c.ShouldBind(&user); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + } + controllers.LoginUser(c, user) + }) //View для редактированя пользователя r.PATCH("/user/edit", func(c *gin.Context) {