From 1e4c23782bddd61e93567bf5aa20d7701c946495 Mon Sep 17 00:00:00 2001 From: songl Date: Thu, 6 Jun 2024 14:32:23 +0500 Subject: [PATCH 1/2] =?UTF-8?q?=D0=9F=D0=BE=D0=BA=D0=B0=20=D1=87=D1=82?= =?UTF-8?q?=D0=BE=20=D1=82=D0=BE=D0=BB=D1=8C=D0=BA=D0=BE=20user=20contolle?= =?UTF-8?q?r=20=D1=84=D0=B0=D0=B9=D0=BB=20=D1=81=D0=BE=D0=B7=D0=B4=D0=B0?= =?UTF-8?q?=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controllers/manufacturerController.go | 8 ++------ controllers/userController.go | 1 + database/models.go | 1 + go.mod | 2 +- main.go | 7 +++++++ 5 files changed, 12 insertions(+), 7 deletions(-) create mode 100644 controllers/userController.go diff --git a/controllers/manufacturerController.go b/controllers/manufacturerController.go index cc0662b..bab3308 100644 --- a/controllers/manufacturerController.go +++ b/controllers/manufacturerController.go @@ -16,18 +16,14 @@ func CreateManufacturer(c *gin.Context, manufacturer database.Manufacturer) { validate := validators.Validate response := message.Response{Status: 200} - err := validate.Struct(manufacturer) - - if err != nil { + if err := validate.Struct(manufacturer); err != nil { response.Error = libs.GetValidationErrors(err.(validator.ValidationErrors)) response.Status = 400 message.SendResponse(c, response) return } - err = db.Create(&manufacturer).Error - - if err != nil { + if err := db.Create(&manufacturer).Error; err != nil { log.Println(err.Error()) response.Error = gin.H{ "error": err.Error(), diff --git a/controllers/userController.go b/controllers/userController.go new file mode 100644 index 0000000..2d32936 --- /dev/null +++ b/controllers/userController.go @@ -0,0 +1 @@ +package controllers diff --git a/database/models.go b/database/models.go index 0e94c6f..0ed8120 100644 --- a/database/models.go +++ b/database/models.go @@ -21,4 +21,5 @@ type User struct { Email string Password string Products []*Product `gorm:"many2many:user_products;"` + Token string `gorm:"many2many:user_token;"` } diff --git a/go.mod b/go.mod index 9f59428..5c02a9f 100644 --- a/go.mod +++ b/go.mod @@ -4,6 +4,7 @@ go 1.22.3 require ( github.com/gin-gonic/gin v1.10.0 + github.com/go-playground/validator/v10 v10.20.0 gorm.io/driver/postgres v1.5.7 gorm.io/gorm v1.25.10 ) @@ -17,7 +18,6 @@ require ( github.com/gin-contrib/sse v0.1.0 // indirect github.com/go-playground/locales v0.14.1 // indirect github.com/go-playground/universal-translator v0.18.1 // indirect - github.com/go-playground/validator/v10 v10.20.0 // indirect github.com/goccy/go-json v0.10.2 // indirect github.com/jackc/pgpassfile v1.0.0 // indirect github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect diff --git a/main.go b/main.go index da5da86..4672360 100644 --- a/main.go +++ b/main.go @@ -55,6 +55,13 @@ func main() { controllers.EditManufacture(c, manufacturer) }) + r.POST("/registration", func(c *gin.Context) { + type registrationForm struct { + name string + email string + password string + } + }) err := r.Run() if err != nil { return From 166a0183f6cf67ec56c01e09645a114ca492d303 Mon Sep 17 00:00:00 2001 From: songl Date: Thu, 6 Jun 2024 14:35:19 +0500 Subject: [PATCH 2/2] =?UTF-8?q?=D0=9F=D0=BE=D0=BA=D0=B0=20=D1=87=D1=82?= =?UTF-8?q?=D0=BE=20=D1=82=D0=BE=D0=BB=D1=8C=D0=BA=D0=BE=20user=20contolle?= =?UTF-8?q?r=20=D1=84=D0=B0=D0=B9=D0=BB=20=D1=81=D0=BE=D0=B7=D0=B4=D0=B0?= =?UTF-8?q?=D0=BB=20=D0=B8=20=D0=BF=D1=80=D0=B8=D0=BC=D0=B5=D1=80=20=D0=B3?= =?UTF-8?q?=D0=B5=D0=BD=D0=B5=D1=80=D0=B0=D1=82=D0=BE=D1=80=D0=B0=20=D1=82?= =?UTF-8?q?=D0=BE=D0=BA=D0=B5=D0=BD=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controllers/userController.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/controllers/userController.go b/controllers/userController.go index 2d32936..9eba8e0 100644 --- a/controllers/userController.go +++ b/controllers/userController.go @@ -1 +1,19 @@ package controllers + +// Пример генератора токена + +import ( + "crypto/rand" + "fmt" +) + +func tokenGenerator() string { + b := make([]byte, 4) + rand.Read(b) + return fmt.Sprintf("%x", b) +} + +func main() { + a := tokenGenerator() + fmt.Println(a) +}