tree: visible => listed

This commit is contained in:
2024-03-16 22:03:22 +01:00
parent 18f4ad9d51
commit 03c6816528
11 changed files with 73 additions and 47 deletions

View File

@@ -57,10 +57,12 @@ std::optional<Page> PageDaoSqlite::findByTitle(std::string title)
Page result;
try
{
auto ps = *db << "SELECT id, name, title, lastrevision, visible, (SELECT name FROM page WHERE id = parent) "
"FROM page WHERE title = ?";
auto ps =
*db
<< "SELECT id, name, title, lastrevision, listed, feedlisted, (SELECT name FROM page WHERE id = parent) "
"FROM page WHERE title = ?";
ps << title >> std::tie(result.pageid, result.name, result.title, result.current_revision, result.listed,
result.parentpage);
result.feedlisted, result.parentpage);
}
catch(const sqlite::errors::no_rows &e)
{
@@ -80,10 +82,13 @@ std::optional<Page> PageDaoSqlite::find(unsigned int id)
result.pageid = id;
try
{
auto ps = *db << "SELECT name, title, lastrevision, visible, (SELECT name FROM page WHERE id = parent) FROM "
"page WHERE id = ?";
auto ps =
*db
<< "SELECT name, title, lastrevision, listed, feedlisted, (SELECT name FROM page WHERE id = parent) FROM "
"page WHERE id = ?";
ps << id >> std::tie(result.name, result.title, result.current_revision, result.listed, result.parentpage);
ps << id >> std::tie(result.name, result.title, result.current_revision, result.listed, result.feedlisted,
result.parentpage);
}
catch(const sqlite::errors::no_rows &e)
{
@@ -121,12 +126,10 @@ void PageDaoSqlite::save(const Page &page)
{
try
{
*db << "INSERT OR REPLACE INTO page (id, name, title, lastrevision, visible, parent) VALUES((SELECT id FROM "
"page WHERE "
"name = "
"? OR id = ?), ?, ?, ?, ?, (SELECT id FROM page WHERE name = ?))"
*db << "INSERT OR REPLACE INTO page (id, name, title, lastrevision, listed, feedlisted, parent) VALUES((SELECT "
"id FROM page WHERE name = ? OR id = ?), ?, ?, ?, ?, ?, (SELECT id FROM page WHERE name = ?))"
<< page.name << page.pageid << page.name << page.title << page.current_revision << page.listed
<< page.parentpage;
<< page.feedlisted << page.parentpage;
}
catch(sqlite::sqlite_exception &e)
{
@@ -142,21 +145,22 @@ std::vector<Page> PageDaoSqlite::getPageList(QueryOption option)
{
std::string queryOption = SqliteQueryOption(option)
.setOrderByColumn("lower(name)")
.setVisibleColumnName("visible")
.setListedColumnName("listed")
.setPrependWhere(true)
.build();
std::string query =
"SELECT id, name, title, lastrevision, visible, (SELECT name FROM page WHERE id = parent) FROM page " +
queryOption;
std::string query = "SELECT id, name, title, lastrevision, listed, feedlisted, (SELECT name FROM page WHERE "
"id = parent) FROM page " +
queryOption;
*db << query >> [&](unsigned int pageid, std::string name, std::string title, unsigned int current_revision,
bool visible, std::string parent)
bool listed, bool feedlisted, std::string parent)
{
Page tmp;
tmp.pageid = pageid;
tmp.name = name;
tmp.title = title;
tmp.current_revision = current_revision;
tmp.listed = visible;
tmp.listed = listed;
tmp.feedlisted = feedlisted;
tmp.parentpage = parent;
result.push_back(tmp);
};