Files
Older/Base/Database.h
luocai f5c76b931f
Some checks failed
Deploy / Build (push) Failing after 1m55s
add tool。
2025-06-28 15:09:13 +08:00

37 lines
979 B
C++

#ifndef __DATABASE_H__
#define __DATABASE_H__
#include "DataStructure.h"
#include <list>
#include <string>
typedef struct sqlite3 sqlite3;
namespace Older {
class Database {
public:
bool open(const std::string &path);
void upsertVisitRecord(const std::string &url, const std::string &visitorUuid, const std::string &userAgent,
int64_t viewTime);
VisitorStats visitorStats(const std::string &url);
std::list<VisitorStats> mostViewedUrls(int n);
std::list<VisitorStats> latestViewedUrls(int n);
SiteStats siteStats();
std::list<VisitRecord> visitRecords();
bool removeVisitRecord(int id);
void createUser(const Account &account);
Account user(const std::string &identifier) const;
Account user(int64_t id) const;
protected:
void createVisitAnalysisTable();
void createUsersTable();
void initialize();
private:
sqlite3 *m_sqlite = nullptr;
};
} // namespace Older
#endif // __DATABASE_H__