Files
soft_usite/pkg/models/register.go
T
2025-02-06 14:22:29 -05:00

52 lines
1.7 KiB
Go

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
}