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 }