Files
soft_usite/pkg/models/login.go
T
2025-04-24 02:07:47 +00:00

48 lines
1.1 KiB
Go
Executable File

package models
import (
"errors"
"github.com/gookit/validate"
"github.com/sujit-baniya/fiber-boilerplate/app"
)
type Login struct {
NombreUsuario string `json:"nombre_usuario" gorm:"nombre_usuario" form:"nombre_usuario" validate:"required"`
Password string `json:"password" gorm:"password" form:"password" validate:"required"`
}
// Messages you can custom validator error messages.
func (l Login) Messages() map[string]string {
return validate.MS{
"required": "oh! the {field} is required",
"nombre_usuario": "Is required",
}
}
func (Login) TableName() string {
return "users"
}
func (l *Login) CheckLogin() (*Users, error) {
user, err := GetUserByUsuario(l.NombreUsuario)
if err != nil {
return nil, errors.New("Usuario inactivo o correo no verificado, Contacte con soporte")
}
if user.Password == "" {
return nil, errors.New("no_password")
}
match, err := app.Http.Hash.Match(l.Password, user.Password)
if err != nil {
return nil, errors.New("Contraseña incorrecta")
}
if !match {
return nil, errors.New("Usuario o contraseña incorrectos")
}
return user, nil
}