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

@@ -359,6 +359,7 @@ namespace Yc {
room["allowed"] = Json::arrayValue; // ggf. später befüllen
room["roundlength"] = 60; // Default-Wert
auto newRoom = std::make_shared<ChatRoom>(self, room);
newRoom->setDatabase(_database);
_rooms.push_back(newRoom);
created = true;
#ifdef YC_DEBUG
@@ -389,6 +390,7 @@ namespace Yc {
std::cout << "[Debug] Creating fallback room: " << room["name"].asString() << std::endl;
#endif
auto newRoom = std::make_shared<ChatRoom>(self, room);
newRoom->setDatabase(_database);
_rooms.push_back(newRoom);
created = true;
}
@@ -404,6 +406,7 @@ namespace Yc {
room["type"] = 0;
room["roundlength"] = 0;
auto newRoom = std::make_shared<ChatRoom>(self, room);
newRoom->setDatabase(_database);
_rooms.push_back(newRoom);
created = true;
}