Move cross-table api counts into plugin #6038
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Another piece of refactoring work on the way to making it possible to add cross-table counts etc.
The key thing here, is that rather than having a util that is then called inside the pagination plugin and the tag.read function, and would reasonably have to be called at other points too, we now have a plugin that automatically gets called at the right times.
This makes it easier to add support for counts on other models / relationships. Although, I still need to figure out how to add the behaviour so that only the correct posts are counted (what I'm working on next...)
One thing that has occurred to me is to use this fetch/fetchAll override pattern to create a query-building hook system into fetch/fetchAll and allow for the registering of functions to be called by that hook if certain options exist.
E.g.
I think this could work to further simplify our code for building queries.
refs #6009, #5615