Ergänze Unterstützung für Datenbankintegration in ChatRoom und ChatUser

- Implementiere einen neuen Konstruktor in der Klasse `ChatUser`, der eine Datenbankverbindung akzeptiert, um Benutzerinformationen zu laden.
- Füge eine Methode `setDatabase` in der Klasse `ChatRoom` hinzu, um die Datenbankverbindung zu setzen.
- Aktualisiere die Logik in `ChatRoom`, um den neuen Konstruktor zu verwenden, wenn eine Datenbankverbindung vorhanden ist, andernfalls wird der alte Konstruktor verwendet.
- Stelle sicher, dass die Datenbankverbindung in den Server- und SSLServer-Klassen beim Erstellen neuer Räume gesetzt wird.
This commit is contained in:
Torsten Schulz (local)
2025-09-05 09:56:14 +02:00
parent e38cd6ef9d
commit dce5a56316
6 changed files with 110 additions and 2 deletions

View File

@@ -15,6 +15,7 @@
#include "lib/base.h"
#include "chat_user.h"
#include "object/room.h"
#include "lib/database.h"
namespace Yc
{
@@ -50,6 +51,7 @@ namespace Yc
void addMessage(ChatUser::MsgType type, const char *messageText, std::string userName = "", std::string color = "");
void addMessage(ChatUser::MsgType type, std::string messageText, std::string userName = "", std::string color = "");
void addMessage(ChatUser::MsgType type, Json::Value messageText, std::string userName = "", std::string color = "");
void setDatabase(std::shared_ptr<Yc::Lib::Database> database);
RoomType type();
bool isType(RoomType type);
bool canDice();
@@ -91,6 +93,7 @@ namespace Yc
};
std::shared_ptr<Server> _parent;
std::shared_ptr<Yc::Lib::Database> _database;
std::string _name;
std::string _password;
std::vector<std::string> _allowedUsers;