Files
yourpart3/backend/models/taxi/taxiLevelStats.js
Torsten Schulz (local) 935928af75 Änderung: Bereinigung und Optimierung der Taxi-Map-Logik
Ä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.
2025-09-15 19:28:57 +02:00

80 lines
1.4 KiB
JavaScript

import { DataTypes } from 'sequelize';
import { sequelize } from '../../utils/sequelize.js';
const TaxiLevelStats = sequelize.define('TaxiLevelStats', {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true
},
userId: {
type: DataTypes.INTEGER,
allowNull: false
},
level: {
type: DataTypes.INTEGER,
allowNull: false
},
bestScore: {
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: 0
},
bestMoney: {
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: 0
},
bestPassengersDelivered: {
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: 0
},
timesPlayed: {
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: 0
},
completed: {
type: DataTypes.BOOLEAN,
allowNull: false,
defaultValue: false
},
playTime: {
type: DataTypes.INTEGER,
allowNull: true,
comment: 'Play time in seconds'
},
createdAt: {
type: DataTypes.DATE,
allowNull: false,
defaultValue: DataTypes.NOW
},
updatedAt: {
type: DataTypes.DATE,
allowNull: false,
defaultValue: DataTypes.NOW
}
}, {
tableName: 'taxi_level_stat',
schema: 'taxi',
timestamps: true,
indexes: [
{
unique: true,
fields: ['user_id', 'level']
},
{
fields: ['level']
},
{
fields: ['best_score']
},
{
fields: ['completed']
}
]
});
export default TaxiLevelStats;