package models import ( "errors" "github.com/sujit-baniya/fiber-boilerplate/app" "gorm.io/gorm" ) type RegisterForm struct { gorm.Model DeletedAt gorm.DeletedAt `gorm:"index"` Name string `json:"name" gorm:"name"` Email string `json:"email" gorm:"email"` Password string `json:"password,omitempty" gorm:"password"` EmailVerified bool `json:"email_verified" gorm:"email_verified"` IsAdmin bool `json:"is_admin" gorm:"is_admin"` RoleID uint `json:"role_id" gorm:"role_id"` Role Roles `gorm:"foreignKey:RoleID"` // Establecer relación con Roles NombreUsuario string `json:"nombre_usuario" gorm:"nombre_usuario"` Documento string `json:"documento" gorm:"documento"` Estado *bool `json:"estado" gorm:"estado"` TipoUsuario string `json:"tipo" gorm:"tipo_usuario"` CogidoUsuarioGas string `json:"cogido_usuario_gas" gorm:"cogido_usuario_gas"` NumeroMedidor string `json:"numero_medidor" gorm:"numero_medidor"` TelefonoFijo string `json:"telefono_fijo" gorm:"telefono_fijo"` Celular string `json:"celular" gorm:"celular"` AceptoInfo bool `json:"acepto_info" gorm:"acepto_info"` } func (RegisterForm) TableName() string { return "users" } func (l *RegisterForm) Signup() (*RegisterForm, error) { user, _ := GetUserByUsuario(l.NombreUsuario) if user != nil { return nil, errors.New("User Already Exists") } l.Password, _ = app.Http.Hash.Create(l.Password) app.Http.Database.DB.Create(l) return l, nil } func (l *RegisterForm) ResetPassword() (*RegisterForm, error) { l.Password, _ = app.Http.Hash.Create(l.Password) app.Http.Database.DB.Updates(&l) return l, nil }