Database: PageDao/CategoryDao: Return 'Page' object, not pagename string
This commit is contained in:
@ -10,7 +10,9 @@ std::vector<HandlerFeedGenerator::EntryRevisionPair> HandlerFeedGenerator::fetch
|
||||
QueryOption option;
|
||||
option.includeInvisible = false;
|
||||
// option.limit = 20;
|
||||
std::set<std::string> members;
|
||||
|
||||
auto comppage = [](const Page &a, const Page &b) { return a.name == b.name; };
|
||||
std::set<Page, decltype(comppage)> members (comppage);
|
||||
if(categories.empty())
|
||||
{
|
||||
auto pages = pageDao->getPageList(option);
|
||||
@ -29,11 +31,10 @@ std::vector<HandlerFeedGenerator::EntryRevisionPair> HandlerFeedGenerator::fetch
|
||||
std::copy(catmembers.begin(), catmembers.end(), std::inserter(members, members.end()));
|
||||
}
|
||||
}
|
||||
for(const std::string &member : members)
|
||||
for(const Page &member : members)
|
||||
{
|
||||
auto page = pageDao->find(member).value();
|
||||
auto revision = revisionDao->getRevisionForPage(page.name, 1).value();
|
||||
result.push_back({page, revision});
|
||||
auto revision = revisionDao->getRevisionForPage(member.name, 1).value();
|
||||
result.push_back({member, revision});
|
||||
}
|
||||
std::sort(result.begin(), result.end(),
|
||||
[](EntryRevisionPair &a, EntryRevisionPair &b) { return a.second.timestamp > b.second.timestamp; });
|
||||
|
Reference in New Issue
Block a user