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.
This commit is contained in:
Torsten Schulz (local)
2025-08-23 22:27:19 +02:00
parent 66818cc728
commit 6da849ca3c
128 changed files with 1054 additions and 1611 deletions

View File

@@ -51,11 +51,11 @@ const ContactMessage = sequelize.define('contact_message', {
}
}
},
allow_data_save: {
allowDataSave: {
type: DataTypes.BOOLEAN,
allowNull: false
},
is_finished: {
isFinished: {
type: DataTypes.BOOLEAN,
allowNull: false,
defaultValue: false
@@ -77,11 +77,11 @@ const ContactMessage = sequelize.define('contact_message', {
}
}
},
answered_at: {
answeredAt: {
type: DataTypes.DATE,
allowNull: true
},
is_answered: {
isAnswered: {
type: DataTypes.BOOLEAN,
allowNull: false,
defaultValue: false
@@ -91,7 +91,6 @@ const ContactMessage = sequelize.define('contact_message', {
timestamps: true,
schema: 'service',
underscored: true
,
freezeTableName: true});
});
export default ContactMessage;

View File

@@ -1,25 +0,0 @@
import { sequelize } from '../../utils/sequelize.js';
import { DataTypes } from 'sequelize';
const MinigameCampaign = sequelize.define('minigame_campaign', {
code: {
type: DataTypes.STRING,
allowNull: false,
unique: true,
},
title: {
type: DataTypes.STRING,
allowNull: false,
},
description: {
type: DataTypes.TEXT,
allowNull: true,
},
}, {
tableName: 'minigame_campaign',
schema: 'service',
underscored: true,
,
freezeTableName: true});
export default MinigameCampaign;

View File

@@ -1,26 +0,0 @@
import { sequelize } from '../../utils/sequelize.js';
import { DataTypes } from 'sequelize';
const MinigameCampaignLevel = sequelize.define('minigame_campaign_level', {
campaign_id: {
type: DataTypes.INTEGER,
allowNull: false,
field: 'campaign_id'
},
index: { // 1-based level number
type: DataTypes.INTEGER,
allowNull: false,
},
config: {
type: DataTypes.JSONB,
allowNull: false,
defaultValue: {}
},
}, {
tableName: 'minigame_campaign_level',
schema: 'service',
underscored: true,
,
freezeTableName: true});
export default MinigameCampaignLevel;

View File

@@ -1,42 +0,0 @@
import { sequelize } from '../../utils/sequelize.js';
import { DataTypes } from 'sequelize';
const MinigameUserProgress = sequelize.define('minigame_user_progress', {
user_id: {
type: DataTypes.INTEGER,
allowNull: false,
field: 'user_id'
},
campaign_id: {
type: DataTypes.INTEGER,
allowNull: false,
field: 'campaign_id'
},
level_index: {
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: 1,
field: 'level_index'
},
stars: { // 0..3
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: 0
},
best_score: {
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: 0,
field: 'best_score'
}
}, {
tableName: 'minigame_user_progress',
schema: 'service',
underscored: true,
indexes: [
{ unique: true, fields: ['user_id', 'campaign_id'] ,
freezeTableName: true}
]
});
export default MinigameUserProgress;