Files
yourpart3/backend/models/match3/objective.js
Torsten Schulz (local) 6da849ca3c feat: Einführung von Umgebungsvariablen und Startskripten für die Backend-Anwendung
- Hinzufügen eines zentralen Skripts zum Laden von Umgebungsvariablen aus einer .env-Datei.
- Implementierung von Start- und Entwicklungs-Skripten in der package.json für eine vereinfachte Ausführung der Anwendung.
- Bereinigung und Entfernung nicht mehr benötigter Minigame-Modelle und -Services zur Verbesserung der Codebasis.
- Anpassungen an den Datenbankmodellen zur Unterstützung von neuen Assoziationen und zur Verbesserung der Lesbarkeit.
2025-08-23 22:27:19 +02:00

54 lines
1.1 KiB
JavaScript

import { sequelize } from '../../utils/sequelize.js';
import { DataTypes } from 'sequelize';
const Objective = sequelize.define('Objective', {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true
},
levelId: {
type: DataTypes.INTEGER,
allowNull: false
},
type: {
type: DataTypes.ENUM('score', 'matches', 'moves', 'time', 'special'),
allowNull: false
},
description: {
type: DataTypes.STRING(500),
allowNull: false
},
target: {
type: DataTypes.INTEGER,
allowNull: false
},
operator: {
type: DataTypes.ENUM('>=', '<=', '=', '>', '<'),
defaultValue: '>='
},
order: {
type: DataTypes.INTEGER,
defaultValue: 1
},
isRequired: {
type: DataTypes.BOOLEAN,
defaultValue: true
},
createdAt: {
type: DataTypes.DATE,
defaultValue: DataTypes.NOW
},
updatedAt: {
type: DataTypes.DATE,
defaultValue: DataTypes.NOW
}
}, {
tableName: 'match3_objectives',
schema: 'match3',
timestamps: true,
underscored: true // WICHTIG: Alle Datenbankfelder im snake_case Format
});
export default Objective;