func (u *User) AddFeed(f content.Feed) (uf content.UserFeed) { uf = u.Repo().UserFeed(u) if u.HasErr() { uf.Err(u.Err()) return } if err := u.Validate(); err != nil { u.Err(err) return } d := f.Data() if f.HasErr() { uf.Data(d) uf.Err(f.Err()) return } if err := f.Validate(); err != nil { uf.Err(err) return } login := u.Data().Login u.logger.Infof("Getting user feed for user %s and feed %d\n", login, d.Id) tx, err := u.db.Beginx() if err != nil { uf.Err(err) return } defer tx.Rollback() stmt, err := tx.Preparex(u.db.SQL().User.CreateFeed) if err != nil { uf.Err(err) return } defer stmt.Close() _, err = stmt.Exec(u.Data().Login, d.Id) if err != nil { uf.Err(err) return } if err := tx.Commit(); err != nil { uf.Err(err) } uf.Data(d) return }