Add widget management functionality: Implement getAvailableWidgets method in dashboardService to retrieve widget types, and create corresponding API endpoint in dashboardRouter. Update LoggedInView to allow users to select and add widgets dynamically, enhancing dashboard customization options.
This commit is contained in:
@@ -72,6 +72,7 @@ import initializeChat from './initializeChat.js';
|
||||
import initializeMatch3Data from './initializeMatch3.js';
|
||||
import updateExistingMatch3Levels from './updateExistingMatch3Levels.js';
|
||||
import initializeTaxi from './initializeTaxi.js';
|
||||
import initializeWidgetTypes from './initializeWidgetTypes.js';
|
||||
|
||||
// Normale Synchronisation (nur bei STAGE=dev Schema-Updates)
|
||||
const syncDatabase = async () => {
|
||||
@@ -89,7 +90,23 @@ const syncDatabase = async () => {
|
||||
}
|
||||
|
||||
console.log("Initializing database schemas...");
|
||||
await initializeDatabase();
|
||||
await initializeDatabase();
|
||||
|
||||
// Dashboard: Widget-Typen-Tabelle (mögliche Widgets)
|
||||
console.log("Ensuring widget_type table exists...");
|
||||
try {
|
||||
await sequelize.query(`
|
||||
CREATE TABLE IF NOT EXISTS type.widget_type (
|
||||
id SERIAL PRIMARY KEY,
|
||||
label VARCHAR(255) NOT NULL,
|
||||
endpoint VARCHAR(255) NOT NULL,
|
||||
description VARCHAR(255),
|
||||
order_id INTEGER NOT NULL DEFAULT 0
|
||||
);
|
||||
`);
|
||||
} catch (e) {
|
||||
console.warn('⚠️ Konnte type.widget_type nicht anlegen:', e?.message || e);
|
||||
}
|
||||
|
||||
// Vokabeltrainer: Tabellen sicherstellen (auch ohne manuell ausgeführte Migrations)
|
||||
// Hintergrund: In Produktion sind Schema-Updates deaktiviert, und Migrations werden nicht automatisch ausgeführt.
|
||||
@@ -676,6 +693,9 @@ const syncDatabase = async () => {
|
||||
console.log("Initializing Taxi...");
|
||||
await initializeTaxi();
|
||||
|
||||
console.log("Initializing widget types...");
|
||||
await initializeWidgetTypes();
|
||||
|
||||
console.log('Database synchronization complete.');
|
||||
} catch (error) {
|
||||
console.error('Unable to synchronize the database:', error);
|
||||
@@ -1013,6 +1033,9 @@ const syncDatabaseForDeployment = async () => {
|
||||
console.log("Initializing Taxi...");
|
||||
await initializeTaxi();
|
||||
|
||||
console.log("Initializing widget types...");
|
||||
await initializeWidgetTypes();
|
||||
|
||||
console.log('Database synchronization for deployment complete.');
|
||||
} catch (error) {
|
||||
console.error('Unable to synchronize the database for deployment:', error);
|
||||
|
||||
Reference in New Issue
Block a user