Advertisement
Guest User

Untitled

a guest
Feb 19th, 2018
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.45 KB | None | 0 0
  1. type User struct {
  2. gorm.Model
  3. Email sql.NullString `gorm:"type:varchar(100);unique_index;default: null"`
  4. Phone sql.NullString `gorm:"type:varchar(20);unique_index;default: null"`
  5. Confirmed bool
  6. ConfirmCode sql.NullString `gorm:"type:varchar(10)"`
  7. ConfirmExpire time.Time
  8. Idr string `gorm:"type:varchar(100)"`
  9. Token string `gorm:"type:varchar(255)"` //todo jwt length
  10. }
  11.  
  12. type Storage struct {
  13. DB *gorm.DB
  14. }
  15.  
  16. func New() *Storage {
  17. connString := fmt.Sprintf(
  18. "%s:%s@tcp(%s)/%s?charset=utf8&parseTime=True&loc=Local",
  19. //КОННЕКТ К БАЗЁНКЕ ТВОЕЙ ГРЯЗНЕНЬКОЙ
  20. viper.GetString("database.user"),
  21. viper.GetString("database.password"),
  22. viper.GetString("database.host"),
  23. viper.GetString("database.db"),
  24. )
  25.  
  26. db, err := gorm.Open("mysql", connString)
  27. if err != nil {
  28. log.Fatalf("Error connecting to database : %v", err)
  29. }
  30.  
  31. //АВТОСОЗДАНИЕ ТАБЛИЦ
  32. db.AutoMigrate(&User{})
  33.  
  34. return &Storage{
  35. DB: db,
  36. }
  37. }
  38.  
  39. user := User{
  40. Email: sql.NullString{request.Email, request.Email != ""},
  41. Phone: sql.NullString{request.Phone, request.Phone != ""},
  42. ConfirmCode: sql.NullString{code, true},
  43. ConfirmExpire: time.Now().Local().Add(time.Hour * time.Duration(2)),
  44. }
  45.  
  46.  
  47. if err := h.db.Create(&user).Error; err != nil {
  48. c.JSON(http.StatusBadRequest, gin.H{
  49. "error": err.Error(),
  50. "field": "user",
  51. })
  52. return
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement