35 lines
746 B
Go
35 lines
746 B
Go
package repository
|
|
|
|
import (
|
|
"github.com/zs/InsightReply/internal/model"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
type UserRepository struct {
|
|
db *gorm.DB
|
|
}
|
|
|
|
func NewUserRepository(db *gorm.DB) *UserRepository {
|
|
return &UserRepository{db: db}
|
|
}
|
|
|
|
func (r *UserRepository) Create(user *model.User) error {
|
|
return r.db.Create(user).Error
|
|
}
|
|
|
|
func (r *UserRepository) GetByEmail(email string) (*model.User, error) {
|
|
var user model.User
|
|
err := r.db.Where("email = ?", email).First(&user).Error
|
|
return &user, err
|
|
}
|
|
|
|
func (r *UserRepository) GetByID(id string) (*model.User, error) {
|
|
var user model.User
|
|
err := r.db.Where("id = ?", id).First(&user).Error
|
|
return &user, err
|
|
}
|
|
|
|
func (r *UserRepository) Update(user *model.User) error {
|
|
return r.db.Save(user).Error
|
|
}
|