- Bei Fehler im menu() Endpunkt wird jetzt ein minimales Menü zurückgegeben
- Verhindert 500 Internal Server Error wenn Falukant-Tabelle nicht verfügbar
- Ermöglicht Benutzern weiterhin Zugriff auf Basis-Funktionen
- Füge try-catch zu hasFalukantAccount() hinzu um DB-Fehler abzufangen
- Füge try-catch zu filterMenu() hinzu für zusätzliche Sicherheit
- Verhindert Crash wenn Falukant-User-Tabelle nicht verfügbar ist
- Fallback: return false wenn Fehler auftritt
Änderungen:
- Umbenennung des API-Endpunkts für Highscores von `/api/taxi/highscore` zu `/api/taxi/highscores`.
- Anpassung der Highscore-Datenstruktur zur Verwendung von `hashedUserId` anstelle von `userId`.
- Erweiterung der Router-Logik zur besseren Organisation der Highscore-Abfragen.
- Implementierung einer neuen Highscore-Anzeige im Spiel, die die Top 20 Spieler und den aktuellen Spieler anzeigt.
Diese Anpassungen verbessern die API-Konsistenz und erweitern die Benutzeroberfläche für die Highscore-Anzeige im Spiel.
Änderungen:
- Implementierung des neuen Routers für TaxiHighscore zur Verwaltung von Highscore-Daten.
- Anpassung der Datenbankmodelle zur Unterstützung von TaxiHighscore-Associations.
- Erweiterung der Vue-Komponenten zur Anzeige und Speicherung von Highscores im Taxi-Spiel.
- Verbesserung der Statusanzeige im AppHeader zur besseren Benutzerinteraktion.
Diese Anpassungen erweitern die Spielmechanik und Benutzererfahrung, indem sie die Verwaltung von Highscores integrieren und die Benutzeroberfläche optimieren.
Änderungen:
- Erweiterung des TaxiMapTile-Modells um die Spalte trafficLight zur Verwaltung von Ampelzuständen.
- Anpassung der TaxiMapService-Logik zur Unterstützung der Ampel-Updates und -Zustände.
- Implementierung von Methoden zur Steuerung und Anzeige von Ampeln in der Benutzeroberfläche, einschließlich der neuen Funktionen in TaxiToolsView.vue und TaxiGame.vue.
- Verbesserung der Darstellung und Logik zur Ampelsteuerung im Spiel, einschließlich der visuellen Darstellung und der Interaktion mit Ampeln.
Diese Anpassungen verbessern die Funktionalität und Benutzererfahrung im Taxi-Minispiel erheblich, indem sie eine realistischere Verkehrssteuerung ermöglichen.
Änderungen:
- Integration des neuen Modells TaxiMapTileHouse zur Verwaltung von Häusern auf der Karte.
- Anpassung der TaxiMap- und TaxiMapService-Logik zur Unterstützung der Hausplatzierung und -verwaltung.
- Erweiterung der Benutzeroberfläche in TaxiToolsView.vue zur Erfassung und Anzeige von Hausinformationen.
- Implementierung von Methoden zur Speicherung und Aktualisierung von Hausdaten in der Datenbank.
Diese Anpassungen verbessern die Funktionalität und Benutzererfahrung im Taxi-Minispiel, indem sie eine detaillierte Verwaltung von Häusern auf der Karte ermöglichen.
Änderungen:
- Hinzufügung neuer Modelle für TaxiMapTile, TaxiStreetName und TaxiMapTileStreet zur Unterstützung der Tile- und Straßennamen-Logik.
- Anpassung der TaxiMap- und TaxiMapService-Logik zur Verwaltung von Tiles und Straßennamen.
- Implementierung von Methoden zur Upsert-Logik für Tiles und Straßennamen in der TaxiMapService.
- Verbesserung der Benutzeroberfläche in TaxiToolsView.vue zur Anzeige und Bearbeitung von Straßennamen und zusätzlichen Elementen.
Diese Anpassungen verbessern die Funktionalität und Benutzererfahrung im Taxi-Minispiel erheblich, indem sie eine detailliertere Verwaltung von Karten und Straßennamen ermöglichen.
Änderungen:
- Entfernen der Methode `getMapByPosition` aus dem `TaxiMapController` und der zugehörigen Logik im `TaxiMapService`, um die Komplexität zu reduzieren.
- Anpassung der Datenbankmodelle für `TaxiMap`, `TaxiLevelStats` und `TaxiMapType`, um die Tabellennamen zu vereinheitlichen.
- Aktualisierung der Routen im `taxiMapRouter`, um die entfernte Funktionalität zu reflektieren.
- Hinzufügung von neuen Importen in `index.js`, um die neuen Modelle zu integrieren.
- Verbesserung der Benutzeroberfläche durch neue Erfolgsmeldungen in den Übersetzungsdateien für die Admin-Oberfläche.
Diese Anpassungen tragen zur Vereinfachung der Codebasis und zur Verbesserung der Benutzererfahrung im Taxi-Minispiel bei.
Änderungen:
- Integration des Taxi-Minispiels mit neuen Routen und Komponenten im Backend und Frontend.
- Erstellung von Modellen und Datenbank-Schemas für das Taxi-Spiel, einschließlich TaxiGameState, TaxiLevelStats und TaxiMap.
- Erweiterung der Navigationsstruktur und der Benutzeroberfläche, um das Taxi-Spiel und die zugehörigen Tools zu unterstützen.
- Aktualisierung der Übersetzungen für das Taxi-Minispiel in Deutsch und Englisch.
Diese Anpassungen erweitern die Funktionalität der Anwendung um ein neues Minispiel und verbessern die Benutzererfahrung durch neue Features und Inhalte.
Änderungen:
- Hinzufügung von neuen Skripten (.depall.sh, .depfe.sh, .depbe.sh) zur .gitignore, um unerwünschte Dateien vom Tracking auszuschließen.
- Anpassung der Berechnung des `changeValue` im FalukantService, um den höchsten Charakterwert anstelle des Durchschnitts zu verwenden, was die Konsistenz mit der Frontend-Logik verbessert.
Diese Anpassungen optimieren die Dateiverwaltung und verbessern die Logik zur Berechnung von Werten im Backend.
Änderungen:
- Einführung von Validierungslogik für die erforderlichen Umgebungsvariablen DB_NAME, DB_USER und DB_HOST.
- Hinzufügung von Protokollausgaben zur Anzeige der Datenbankkonfiguration, einschließlich der Sichtbarkeit von DB_PASS.
- Implementierung eines Fallbacks für DB_PASS auf einen leeren String.
Diese Anpassungen verbessern die Fehlerbehandlung und Transparenz bei der Datenbankkonfiguration.
Änderungen:
- Implementierung von neuen Methoden `getAccountSettings` und `setAccountSettings` im `SettingsService`, um Benutzerkontoeinstellungen zu verwalten.
- Anpassung der E-Mail-Verschlüsselung im `User`-Modell zur Verwendung von Buffer für die Speicherung und zur Verbesserung der Fehlerbehandlung bei der Entschlüsselung.
- Hinzufügung eines neuen `immutable`-Feldes im `UserParamType`-Modell, um unveränderliche Einstellungen zu kennzeichnen.
- Anpassungen in den Frontend-Komponenten zur Berücksichtigung von unveränderlichen Feldern und zur Verbesserung der Benutzeroberfläche.
Diese Anpassungen verbessern die Sicherheit der Benutzerdaten und erweitern die Funktionalität der Kontoeinstellungen.
Änderungen:
- Hinzufügung von Debug-Protokollausgaben zur Anzeige aller relevanten Umgebungsvariablen für die Redis-Konfiguration.
- Detaillierte Protokollierung der finalen Redis-Konfiguration, einschließlich Host, Port, Passwort und URL.
Diese Anpassungen verbessern die Transparenz und erleichtern die Fehlersuche bei der Redis-Konfiguration.
Änderungen:
- Hinzufügung von Protokollausgaben zur Anzeige des Ladeprozesses der .env-Datei, einschließlich Existenz- und Lesbarkeitsprüfungen.
- Detaillierte Fehlermeldungen bei Problemen mit dem Laden der .env-Datei.
Diese Anpassungen verbessern die Transparenz und erleichtern die Fehlersuche beim Laden von Umgebungsvariablen.
Änderungen:
- Hinzufügung von Protokollausgaben zur Bestätigung des erfolgreichen Ladens der .env-Datei.
- Erweiterte Debug-Ausgaben zur Anzeige der Redis-Konfiguration, einschließlich Host, Port, Passwort und URL.
Diese Anpassungen verbessern die Transparenz beim Laden von Umgebungsvariablen und erleichtern die Fehlersuche bei der Redis-Konfiguration.
Änderungen:
- Einführung einer Logik zur Priorisierung des Ladens der Produktions-.env-Datei, falls vorhanden, andernfalls wird die lokale .env-Datei verwendet.
- Hinzufügung von Protokollausgaben, um anzuzeigen, welche .env-Datei geladen wird.
Diese Anpassungen verbessern die Flexibilität beim Laden von Umgebungsvariablen und erleichtern die Konfiguration in verschiedenen Umgebungen.
Änderungen:
- Im ForumService wurde die Berechtigungsabfrage aktualisiert, um direkt den Wert der Berechtigung zu verwenden.
- In ForumAdminView wurde die Verarbeitung der Berechtigungen beim Erstellen eines neuen Forums angepasst, um die Werte der Berechtigungen korrekt zu übermitteln.
Diese Anpassungen verbessern die Konsistenz und Funktionalität der Berechtigungsverwaltung im Forum.
Änderungen:
- Neue Methode `getUserStatistics` im `AdminController` hinzugefügt, um Benutzerstatistiken abzurufen.
- Implementierung der Logik zur Berechnung der Gesamtanzahl aktiver Benutzer, Geschlechterverteilung und Altersverteilung im `AdminService`.
- Neue Route `/users/statistics` im `adminRouter` definiert, um auf die Benutzerstatistiken zuzugreifen.
- Anpassungen der Navigationsstruktur und Übersetzungen für Benutzerstatistiken in den Sprachdateien aktualisiert.
Diese Anpassungen verbessern die Analyse der Benutzerbasis und erweitern die Funktionalität des Admin-Bereichs.
Änderungen:
- Neue Funktionen zur Benutzerverwaltung hinzugefügt: Benutzer suchen, Benutzer abrufen und Benutzer aktualisieren.
- Implementierung von Funktionen zur Verwaltung von Benutzerrechten: Rechtearten auflisten, Benutzerrechte auflisten, Recht hinzufügen und Recht entfernen.
- Routen für die neuen Funktionen im Admin-Router definiert.
- Übersetzungen für Benutzer- und Rechteverwaltung in den Sprachdateien aktualisiert.
Diese Anpassungen verbessern die Verwaltung von Benutzern und deren Rechten im Admin-Bereich und erweitern die Funktionalität der Anwendung.
Änderungen:
- Die Redis-Client-Konfiguration wurde aktualisiert, um die Verwendung von Umgebungsvariablen für Passwort und URL zu unterstützen.
- Warnungen wurden hinzugefügt, um auf fehlende Authentifizierungsinformationen hinzuweisen.
- Die HTML-Dateien wurden um wichtige Metadaten wie Beschreibung, Open Graph- und Twitter-Tags erweitert, um die Sichtbarkeit und SEO zu verbessern.
- Eine Beta-Hinweis-Nachricht wurde in die NoLoginView.vue eingefügt, um Benutzer über den Entwicklungsstatus der Plattform zu informieren.
Diese Anpassungen erhöhen die Sicherheit der Redis-Verbindung und verbessern die Benutzererfahrung sowie die Auffindbarkeit der Anwendung.
Änderungen:
- Eine neue Umgebungsvariable `DEBUG_SOCKETS` wurde eingeführt, um die Protokollierung von Socket-Interaktionen zu steuern.
- Protokollausgaben für Verbindungsherstellung, Benutzer-ID-Setzung, Trennung und Benachrichtigungen wurden aktualisiert, um nur bei aktivem Debugging angezeigt zu werden.
Diese Anpassungen erhöhen die Flexibilität der Protokollierung und verbessern die Fehlerdiagnose in der Socket.io-Integration.
Änderungen:
- Protokollausgaben wurden hinzugefügt, um die Ereignisse beim Verkauf von Produkten und beim Verkauf aller Produkte zu dokumentieren.
- Diese Anpassungen erhöhen die Nachvollziehbarkeit der Benutzerinteraktionen und verbessern die Fehlerdiagnose im Service.
Änderungen:
- Protokollausgaben wurden hinzugefügt, um Verbindungsherstellung, Benutzer-ID-Setzung und Trennung von Sockets zu dokumentieren.
- Zusätzliche Warnungen wurden implementiert, um fehlende Sockets für Benutzer zu kennzeichnen.
Diese Anpassungen erhöhen die Nachvollziehbarkeit und Robustheit der Socket.io-Integration in der Anwendung.
Änderungen:
- Der Daemon WebSocket wurde aus der Anwendung entfernt, um die Komplexität zu reduzieren und die Stabilität zu erhöhen.
- Die Event-Verarbeitung in StatusBar.vue und BranchView.vue wurde aktualisiert, um Socket.io für die Registrierung und Verarbeitung von Live-Events zu verwenden.
- Protokollausgaben wurden hinzugefügt, um den Empfang und die Verarbeitung von Events zu dokumentieren.
Diese Anpassungen verbessern die Nachvollziehbarkeit der Event-Verarbeitung und vereinfachen die Codebasis.
Änderungen:
- Hinzufügen von detaillierten Protokollausgaben beim Verbindungsaufbau und beim Empfang von Nachrichten, um den Status und die empfangenen Daten besser nachzuvollziehen.
- Implementierung von Protokollausgaben zur Unterscheidung zwischen verschiedenen Nachrichtenformaten und zur Dokumentation der Weiterleitung von Events an Socket.io.
- Verbesserung der Fehlerbehandlung beim Parsen von JSON-Nachrichten mit zusätzlichen Protokollausgaben zur Diagnose.
Diese Anpassungen erhöhen die Nachvollziehbarkeit der WebSocket-Interaktionen und erleichtern die Fehlersuche im Backend.
Änderung:
- Alle Views wurden aktualisiert, um den Daemon WebSocket zu deaktivieren und stattdessen Socket.io für die Event-Registrierung zu verwenden.
- Eine neue Methode `setupSocketEvents` wurde hinzugefügt, um die Socket.io-Events zu registrieren und Protokollausgaben für den Status der Registrierung bereitzustellen.
- Die Logik zur Handhabung von WebSocket-Events wurde vereinfacht und verbessert, um die Stabilität und Nachvollziehbarkeit zu erhöhen.
Diese Anpassung sorgt für eine konsistentere Handhabung von WebSocket-Events und verbessert die Benutzererfahrung durch zuverlässigere Datenaktualisierungen.
Änderung:
- Aktualisierung der Versionen mehrerer Pakete in der Datei package-lock.json, einschließlich @types/node (24.3.1), @types/validator (13.15.3), dotenv (17.2.2), mysql2 (3.14.4) und iconv-lite (0.7.0).
- Diese Anpassungen verbessern die Sicherheit und Stabilität der Anwendung durch die Verwendung der neuesten Versionen der Abhängigkeiten.
Änderung:
- Der Daemon WebSocket wurde aufgrund von CORS- und Protokollproblemen deaktiviert.
- Alle WebSocket-Interaktionen wurden auf Socket.io umgestellt, um die Funktionalität weiterhin zu gewährleisten.
- Entsprechende Protokollausgaben wurden hinzugefügt, um den Status der Deaktivierung zu dokumentieren.
Diese Anpassung verbessert die Stabilität der Anwendung und sorgt für eine konsistente Handhabung von WebSocket-Events.
Änderung:
- In der Klasse FalukantController wurden Protokollausgaben hinzugefügt, um die Aufrufe der Methoden getDirectorProposals und getGifts zu verfolgen.
- In der Klasse FalukantService wurde eine Protokollausgabe hinzugefügt, um die Aufrufe der Methode getFalukantUserByHashedId zu dokumentieren und das Ergebnis zu protokollieren.
Diese Anpassung verbessert die Nachvollziehbarkeit der Methodenaufrufe und erleichtert die Fehlersuche im Backend.
Änderung:
- Die Methode createRoom im AdminService wird nun mit userId und value aufgerufen, anstatt nur mit value. Dies verbessert die Zuordnung des Raums zum entsprechenden Benutzer.
Diese Anpassung sorgt dafür, dass die Raumerstellung korrekt mit dem zugehörigen Benutzer verknüpft ist.
Änderung:
- SQL-Abfragen in der Datei sequelize.js wurden aktualisiert, um die Verwendung von `bind` anstelle von `replacements` zu implementieren. Dies verbessert die Lesbarkeit und Konsistenz der Abfragen.
Diese Anpassung sorgt dafür, dass die SQL-Abfragen effizienter und sicherer ausgeführt werden.
Änderung:
- Die Beziehung zu UserParamValue für genderRestriction wurde aktualisiert, um `required: false` zu setzen. Dadurch können auch Räume ohne genderRestriction geladen werden.
Diese Anpassung verbessert die Flexibilität beim Laden von Rauminformationen und stellt sicher, dass Räume ohne Geschlechtsbeschränkungen korrekt angezeigt werden.
Änderung:
- Der ownerId wird nun aus dem userId extrahiert und als Ganzzahl gesetzt, bevor ein Raum erstellt wird. Dies verbessert die Zuordnung des Raums zum entsprechenden Benutzer.
Diese Anpassung sorgt dafür, dass die Raumerstellung korrekt mit dem zugehörigen Benutzer verknüpft ist.
- .env.local: Verwendet localhost:3001 für lokale Entwicklung
- .env.server: Verwendet wss:// für Produktionsumgebung
- Entferne backend/dist/ aus Git-Tracking
- Erweitere .gitignore um backend/dist/
- Entfernen des Inhaltsverzeichnisses vor dem Kopieren des Backends, um sicherzustellen, dass nur die neuesten Dateien übertragen werden.
- Änderung der Berechtigungen für das Backend und die .env-Datei, um den aktuellen Benutzer zu verwenden.
- Aktualisierung der Abhängigkeiten in package.json und package-lock.json, einschließlich der neuesten Versionen von dotenv, jsdom, sharp und uuid.
- Implementierung von Methoden zur Hinzufügung und Abfrage von Lagerbeständen im AdminController und AdminService.
- Erweiterung der Routen im AdminRouter zur Unterstützung der neuen Lagerverwaltungsfunktionen.
- Anpassung der Benutzeroberfläche zur Integration eines Dialogs für die Lagerhinzufügung und zur Anzeige von Lagertypen.
- Aktualisierung der Übersetzungen in den Sprachdateien für die neuen Funktionen und Fehlermeldungen.
- Hinzufügen von Routen und Methoden zur Verwaltung von Niederlassungen und Lagerbeständen im AdminController und AdminService.
- Implementierung der Logik zum Abrufen von Niederlassungen und Aktualisieren von Lagerbeständen.
- Anpassung der Benutzeroberfläche zur Unterstützung der neuen Funktionen, einschließlich eines Tab-Systems zur Anzeige von Benutzerdaten und Niederlassungen.
- Aktualisierung der Übersetzungen für die neuen Funktionen in den Sprachdateien.
- Die Erstellung von Branches und Lagerbeständen wurde umstrukturiert, um die Abhängigkeiten zwischen den Objekten klarer zu gestalten.
- Der Lagerbestand wird nun mit einer Menge von 20 erstellt und ist mit dem entsprechenden Branch verknüpft, um die Datenintegrität zu verbessern.
- Hinzufügen von Kommentaren zur Unterscheidung zwischen öffentlichen und geschützten Routen im Authentifizierungsrouter.
- Temporäre Deaktivierung des E-Mail-Versands für Aktivierungs-E-Mails im E-Mail-Dienst zur Unterstützung des Deployments.
- Anpassung der Datenbankinitialisierung zur Vermeidung von Duplikaten bei Adelstiteln.
- Anpassung des SQL-Statements zur Verwendung des korrekten Tabellennamens 'type.user_param_visibility_type' anstelle von 'type.user_param_visibility' für die Sichtbarkeitseinstellungen.
- Verbesserung der Datenintegrität bei der Erstellung von Benutzerparametern.
- Import der neuen Modelle für das Match3-Minispiel, einschließlich Kampagnen, Levels, Tile-Typen und Benutzerfortschritt.
- Aktualisierung der Exportstruktur, um die neuen Modelle zu integrieren und die Übersichtlichkeit zu verbessern.
- Die Erstellung der Kampagne erfolgt nun vor dem Löschen und der Neuanlage der Levels, um die Logik der Initialisierung zu verbessern.
- Konsolenausgaben wurden aktualisiert, um den Fortschritt der Kampagnenerstellung und das Löschen der existierenden Levels klarer darzustellen.
- Hinzufügen einer Fehlerbehandlung für den Fall, dass die Match3-Tabellen nicht existieren, um die Robustheit der Initialisierung zu erhöhen.
- Anpassung der Konsolenausgaben zur besseren Nachverfolgbarkeit des Initialisierungsprozesses.
- Aktualisierung des Kommentars zur Klarstellung der Reihenfolge der Initialisierung nach der Erstellung aller Tabellen.
- Die Funktion zur Aktualisierung der bestehenden Match3-Levels wurde nach der Initialisierung von Match3-Daten verschoben, um sicherzustellen, dass die Levels korrekt aktualisiert werden.
- Konsolenausgaben wurden angepasst, um die Änderungen klarer zu dokumentieren.
- Die Funktion zur Initialisierung der Adelstitel wurde von initializeFalukantPredefines.js nach initializeFalukantTypes.js verschoben, um die Struktur und Lesbarkeit des Codes zu verbessern.
- Konsolenausgaben zur Bestätigung der erfolgreichen Initialisierung wurden hinzugefügt.
- Hinzufügen einer Fehlerbehandlung für fehlende minimale Adelstitel während der Erstellung von Haustypen.
- Verbesserung der Konsolenausgaben zur besseren Nachverfolgbarkeit von Warnungen und Fehlern.
- Sicherstellung, dass nur gültige Haustypen erstellt werden, um Dateninkonsistenzen zu vermeiden.
- Sicherstellung, dass die Sprachwerte für Deutsch und Englisch existieren, und Erstellung fehlender Werte.
- Aktualisierung der Logik zur Ermittlung der Sprach-ID, um die neuen Sprachwerte zu berücksichtigen.
- Verbesserung der Konsolenausgaben zur besseren Nachverfolgbarkeit bei der Erstellung von Interessen und Fehlern.
- Umbenennung der Indexfelder von camelCase auf snake_case in verschiedenen Modelldateien zur Verbesserung der Konsistenz mit den Datenbankkonventionen.
- Verbesserung der Regex-Logik zur Erkennung und Ersetzung von Index-Definitionen und Feld-Arrays im Skript zur automatischen Korrektur.