#pragma once #include "ChatEnums.hpp" #include "PersistentMessage.hpp" #include #include #include struct sqlite3; class PersistentMessageService { public: explicit PersistentMessageService(sqlite3* db); ~PersistentMessageService(); void StoreMessage(PersistentMessage& message); std::vector GetMessageHeaders(uint32_t avatarId); PersistentMessage GetPersistentMessage(uint32_t avatarId, uint32_t messageId); void UpdateMessageStatus( uint32_t avatarId, uint32_t messageId, PersistentState status); void BulkUpdateMessageStatus( uint32_t avatarId, const std::u16string& category, PersistentState newStatus); private: sqlite3* db_; };