You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

31 lines
540 B

package user
import "gorm.io/gorm"
type repo struct {
db *gorm.DB
}
// NewRepository create new repository
func NewRepository(db *gorm.DB) Repository {
return &repo{
db: db,
}
}
func (r *repo) ReadByID(id uint) (*User, error) {
result := User{}
err := r.db.First(&result, id).Error
return &result, err
}
func (r *repo) ReadAll() ([]*User, error) {
var result []*User
err := r.db.Find(&result).Error
return result, err
}
func (r *repo) Create(user *User) (*User, error) {
err := r.db.Create(user).Error
return user, err
}