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
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
|
|
}
|