0.12.0 Begin neu Architecture

This commit is contained in:
2026-03-18 15:35:10 +00:00
parent d00191324b
commit 0a9cf6969f
30 changed files with 4570 additions and 183 deletions
+47
View File
@@ -974,6 +974,53 @@ async function migrateSettingsSchemaMetadata(db) {
);
await db.run(`INSERT OR IGNORE INTO settings_values (key, value) VALUES ('auto_eject_after_rip', 'false')`);
// Plugin-Architektur Toggle (Phase 2)
const pluginArchitectureSettings = [
{
key: 'use_plugin_architecture',
label: 'Neue Plugin-Architektur (Beta)',
description: 'Aktiviert die neue modulare Plugin-Architektur (Phase 2). Legacy-Code bleibt aktiv solange dieser Toggle deaktiviert ist. Nur für Testzwecke aktivieren.',
defaultValue: 'false',
orderIndex: 9999
},
{
key: 'use_plugin_architecture_bluray',
label: 'Beta: Blu-ray Plugin aktiv',
description: 'Aktiviert das Blu-ray Plugin der neuen Architektur. Wirksam nur wenn der globale Beta-Schalter aktiviert ist. Deaktiviert = Legacy-Pfad.',
defaultValue: 'true',
orderIndex: 10000
},
{
key: 'use_plugin_architecture_dvd',
label: 'Beta: DVD Plugin aktiv',
description: 'Aktiviert das DVD Plugin der neuen Architektur. Wirksam nur wenn der globale Beta-Schalter aktiviert ist. Deaktiviert = Legacy-Pfad.',
defaultValue: 'true',
orderIndex: 10001
},
{
key: 'use_plugin_architecture_cd',
label: 'Beta: Audio-CD Plugin aktiv',
description: 'Aktiviert das Audio-CD Plugin der neuen Architektur. Wirksam nur wenn der globale Beta-Schalter aktiviert ist. Deaktiviert = Legacy-Pfad.',
defaultValue: 'true',
orderIndex: 10002
},
{
key: 'use_plugin_architecture_audiobook',
label: 'Beta: Audiobook Plugin aktiv',
description: 'Aktiviert das Audiobook Plugin der neuen Architektur. Wirksam nur wenn der globale Beta-Schalter aktiviert ist. Deaktiviert = Legacy-Pfad.',
defaultValue: 'true',
orderIndex: 10003
}
];
for (const setting of pluginArchitectureSettings) {
await db.run(
`INSERT OR IGNORE INTO settings_schema (key, category, label, type, required, description, default_value, options_json, validation_json, order_index)
VALUES (?, 'Erweitert', ?, 'boolean', 1, ?, ?, '[]', '{}', ?)`,
[setting.key, setting.label, setting.description, setting.defaultValue, setting.orderIndex]
);
await db.run(`INSERT OR IGNORE INTO settings_values (key, value) VALUES (?, ?)`, [setting.key, setting.defaultValue]);
}
await db.run(`
CREATE TABLE IF NOT EXISTS user_prefs (
key TEXT PRIMARY KEY,