Files
yourpart3/backend/models/taxi/taxiLevelStats.js
Torsten Schulz (local) 1ab9407e79
All checks were successful
Deploy to production / deploy (push) Successful in 2m56s
Refactor code structure for improved readability and maintainability; optimize performance across multiple modules.
2026-07-21 09:08:15 +02:00

72 lines
1.3 KiB
JavaScript
Executable File

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/updatedAt via timestamps
}, {
tableName: 'taxi_level_stat',
schema: 'taxi',
timestamps: true,
underscored: true,
indexes: [
{
unique: true,
fields: ['user_id', 'level']
},
{
fields: ['level']
},
{
fields: ['best_score']
},
{
fields: ['completed']
}
]
});
export default TaxiLevelStats;