shopitems instead rooms
This commit is contained in:
55
repositories/userRepository.go
Normal file
55
repositories/userRepository.go
Normal file
@@ -0,0 +1,55 @@
|
||||
package repositories
|
||||
|
||||
import(
|
||||
"gorm.io/gorm"
|
||||
|
||||
"example.com/gin/test/models"
|
||||
)
|
||||
|
||||
type UserRepository interface {
|
||||
Create(models.User) (models.User, error)
|
||||
GetByEmail(string) (models.User, error)
|
||||
GetById(interface{}) (models.User, error)
|
||||
}
|
||||
|
||||
type GORMUserRepository struct {
|
||||
DB *gorm.DB
|
||||
}
|
||||
|
||||
func NewGORMUserRepository(db *gorm.DB) UserRepository {
|
||||
return &GORMUserRepository{
|
||||
DB: db,
|
||||
}
|
||||
}
|
||||
|
||||
func (u *GORMUserRepository) Create(user models.User) (models.User, error) {
|
||||
result := u.DB.Create(&user)
|
||||
|
||||
if result.Error != nil {
|
||||
return models.User{}, result.Error
|
||||
}
|
||||
|
||||
return user, nil
|
||||
}
|
||||
|
||||
func (u *GORMUserRepository) GetByEmail(email string) (models.User, error) {
|
||||
var user models.User
|
||||
result := u.DB.First(&user, "email = ?", email)
|
||||
|
||||
if result.Error != nil {
|
||||
return models.User{}, result.Error
|
||||
}
|
||||
|
||||
return user, nil
|
||||
}
|
||||
|
||||
func (u *GORMUserRepository) GetById(id interface{}) (models.User, error) {
|
||||
var user models.User
|
||||
result := u.DB.First(&user, id)
|
||||
|
||||
if result.Error != nil {
|
||||
return models.User{}, result.Error
|
||||
}
|
||||
|
||||
return user, nil
|
||||
}
|
||||
Reference in New Issue
Block a user