func (t *Tag) Query(term string, sp content.SearchProvider, paging ...int) (ua []content.UserArticle) { if t.HasErr() { return } if err := t.Validate(); err != nil { t.Err(err) return } var err error feeds := t.AllFeeds() if t.HasErr() { return } ids := make([]data.FeedId, len(feeds)) for i := range feeds { ids = append(ids, feeds[i].Data().Id) } limit, offset := pagingLimit(paging) ua, err = sp.Search(term, t.User(), ids, limit, offset) t.Err(err) return }
func (u *User) Query(term string, sp content.SearchProvider, paging ...int) (ua []content.UserArticle) { if u.HasErr() { return } if err := u.Validate(); err != nil { u.Err(err) return } var err error limit, offset := pagingLimit(paging) ua, err = sp.Search(term, u, []data.FeedId{}, limit, offset) u.Err(err) return }
func (uf *UserFeed) Query(term string, sp content.SearchProvider, paging ...int) (ua []content.UserArticle) { if uf.HasErr() { return } if err := uf.Validate(); err != nil { uf.Err(err) return } id := uf.Data().Id if id == 0 { uf.Err(content.NewValidationError(errors.New("Invalid feed id"))) return } var err error limit, offset := pagingLimit(paging) ua, err = sp.Search(term, uf.User(), []data.FeedId{id}, limit, offset) uf.Err(err) return }