database functions

This commit is contained in:
2026-03-11 17:48:24 +00:00
parent fe8a46a488
commit 1333de2b37
9 changed files with 308 additions and 4 deletions

View File

@@ -1,4 +1,9 @@
#ifndef DATABASE_HPP
#define DATABASE_HPP
#include "types.hpp"
#include "timestamp.hpp"
#include <chrono>
#include <optional>
class PostgresDB {
private:
@@ -7,6 +12,26 @@ private:
public:
PostgresDB(const std::string& connection) : conn_str(connection) {}
User GetUser(const int uid);
User GetUser(int uid);
User GetUser(const std::string& username, const std::string& password);
};
void GetUser(User& user) { user = GetUser(user.uid);};
User CreateUser(const std::string& username, const std::string& password, bool is_system);
void UpdateUserPassowrd(User& user, const std::string& password);
void DeleteUser(const User& user);
void CreateMember(User& user, const std::string& name, const std::string& pronouns, const std::string& description);
void UpdateMemberDescription(Member& member, const std::string& description);
void UpdateMemberPronouns(Member& member, const std::string& pronouns);
void UpdateMemberName(Member& member, const std::string& name);
void DeleteMember(const Member& member);
void CreateAccessToken(User& user);
void DeleteAccessToken(const User& user);
void StartFront(const User& user, const Member& member, const std::string& note = "", Timestamp start_time = std::chrono::system_clock::now());
void EndFront(const User& user, const Member& member, Timestamp end_time = std::chrono::system_clock::now());
std::vector<Front> GetFronts(const User& user, Timestamp start_time, std::optional<Timestamp> end_time = std::nullopt);
};
#endif