This repository has been archived on 2025-05-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
shop/app/models/user.go
Damian Wessels 7c3d3e03bc controller added
Registrierung hinzugefügt
2023-11-12 20:28:09 +01:00

57 lines
1.1 KiB
Go

package models
import (
"gorm.io/gorm"
"strings"
"time"
)
type User struct {
ID string `gorm:"size:36;not null; uniqueIndex; primary_key"`
Addresses string
FirstName string
LastName string
Email string
Password string
RememberToken string
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt gorm.DeletedAt
}
func (u *User) FindByID(db *gorm.DB, userID string) (*User, error) {
var user User
err := db.Debug().Model(User{}).Where("id = ?", userID).
First(&user).Error
if err != nil {
return nil, err
}
return &user, nil
}
func (u *User) FindByEmail(db *gorm.DB, email string) (*User, error) {
var user User
err := db.Debug().Model(User{}).Where("LOWER(email) = ?", strings.ToLower(email)).
First(&user).Error
if err != nil {
return nil, err
}
return &user, nil
}
func (u *User) CreateUser(db *gorm.DB, param *User) (*User, error) {
user := &User{
ID: param.ID,
FirstName: param.FirstName,
LastName: param.LastName,
Email: param.Email,
Password: param.Password,
}
err := db.Debug().Create(&user).Error
if err != nil {
return nil, err
}
return user, nil
}