Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- type User struct {
- gorm.Model
- Email sql.NullString `gorm:"type:varchar(100);unique_index;default: null"`
- Phone sql.NullString `gorm:"type:varchar(20);unique_index;default: null"`
- Confirmed bool
- ConfirmCode sql.NullString `gorm:"type:varchar(10)"`
- ConfirmExpire time.Time
- Idr string `gorm:"type:varchar(100)"`
- Token string `gorm:"type:varchar(255)"` //todo jwt length
- }
- type Storage struct {
- DB *gorm.DB
- }
- func New() *Storage {
- connString := fmt.Sprintf(
- "%s:%s@tcp(%s)/%s?charset=utf8&parseTime=True&loc=Local",
- //КОННЕКТ К БАЗЁНКЕ ТВОЕЙ ГРЯЗНЕНЬКОЙ
- viper.GetString("database.user"),
- viper.GetString("database.password"),
- viper.GetString("database.host"),
- viper.GetString("database.db"),
- )
- db, err := gorm.Open("mysql", connString)
- if err != nil {
- log.Fatalf("Error connecting to database : %v", err)
- }
- //АВТОСОЗДАНИЕ ТАБЛИЦ
- db.AutoMigrate(&User{})
- return &Storage{
- DB: db,
- }
- }
- user := User{
- Email: sql.NullString{request.Email, request.Email != ""},
- Phone: sql.NullString{request.Phone, request.Phone != ""},
- ConfirmCode: sql.NullString{code, true},
- ConfirmExpire: time.Now().Local().Add(time.Hour * time.Duration(2)),
- }
- if err := h.db.Create(&user).Error; err != nil {
- c.JSON(http.StatusBadRequest, gin.H{
- "error": err.Error(),
- "field": "user",
- })
- return
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement