#ifndef PAGEDAOSQLITE_H #define PAGEDAOSQLITE_H #include #include #include #include "../page.h" #include "pagedao.h" #include "sqlitedao.h" class PageDaoSqlite : public PageDao, protected SqliteDao { private: std::string ftsEscape(std::string input); public: PageDaoSqlite() { } void deletePage(std::string page) override; bool exists(unsigned int id) const override; bool exists(std::string name) const override; void save(const Page &page) override; std::optional find(std::string name) override; std::optional findByTitle(std::string title) override; std::optional find(unsigned int id) override; std::vector getPageList(QueryOption option) override; std::vector fetchCategories(std::string pagename, QueryOption option) override; using SqliteDao::SqliteDao; int fetchPageId(std::string pagename); std::vector search(std::string query, QueryOption option) override; void setCategories(std::string pagename, const std::vector &catnames) override; std::vector getChildren(std::string pagename) override; }; #endif // PAGEDAOSQLITE_H