From 24759503be6ac1bc0a13e678ae5cc578def5da4d Mon Sep 17 00:00:00 2001 From: emeric Date: Sun, 3 Dec 2023 14:52:00 +0100 Subject: [PATCH 1/2] Added opensubsonic extension formPost support, ref opensubsonic/open-subsonic-api#74 --- src/libs/subsonic/impl/entrypoints/System.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/libs/subsonic/impl/entrypoints/System.cpp b/src/libs/subsonic/impl/entrypoints/System.cpp index e28ca592..2378034b 100644 --- a/src/libs/subsonic/impl/entrypoints/System.cpp +++ b/src/libs/subsonic/impl/entrypoints/System.cpp @@ -29,6 +29,12 @@ namespace API::Subsonic transcodeOffsetNode.addArrayValue("versions", 1); } + { + Response::Node& formPostNode{ response.createArrayNode("openSubsonicExtensions") }; + formPostNode.setAttribute("name", "formPost"); + formPostNode.addArrayValue("versions", 1); + } + return response; }; } From a2cc243a08307815c6d29858c5bb64ce3a84a677 Mon Sep 17 00:00:00 2001 From: emeric Date: Thu, 7 Dec 2023 15:24:54 +0100 Subject: [PATCH 2/2] Do not rely on current scan_settings to perform migration steps (as it may not be compatible), fixes #387 --- src/libs/database/impl/Migration.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/libs/database/impl/Migration.cpp b/src/libs/database/impl/Migration.cpp index 33fe0258..6cff6ac2 100644 --- a/src/libs/database/impl/Migration.cpp +++ b/src/libs/database/impl/Migration.cpp @@ -117,7 +117,7 @@ CREATE TABLE IF NOT EXISTS "track_artist_link_backup" ( { // Increased precision for track durations (now in milliseconds instead of secodns) // Just increment the scan version of the settings to make the next scheduled scan rescan everything - ScanSettings::get(session).modify()->incScanVersion(); + session.getDboSession().execute("UPDATE scan_settings SET scan_version = scan_version + 1"); } static void migrateFromV37(Session& session) @@ -126,7 +126,7 @@ CREATE TABLE IF NOT EXISTS "track_artist_link_backup" ( session.getDboSession().execute("ALTER TABLE track_artist_link ADD subtype TEXT"); // Just increment the scan version of the settings to make the next scheduled scan rescan everything - ScanSettings::get(session).modify()->incScanVersion(); + session.getDboSession().execute("UPDATE scan_settings SET scan_version = scan_version + 1"); } static void migrateFromV38(Session& session) @@ -166,7 +166,7 @@ CREATE TABLE IF NOT EXISTS "track_backup" ( session.getDboSession().execute("ALTER TABLE track_backup RENAME TO track"); // Just increment the scan version of the settings to make the next scheduled scan rescan everything - ScanSettings::get(session).modify()->incScanVersion(); + session.getDboSession().execute("UPDATE scan_settings SET scan_version = scan_version + 1"); } static void migrateFromV39(Session& session) @@ -176,7 +176,7 @@ CREATE TABLE IF NOT EXISTS "track_backup" ( session.getDboSession().execute("ALTER TABLE release ADD secondary_types INTEGER"); // Just increment the scan version of the settings to make the next scheduled scan rescan everything - ScanSettings::get(session).modify()->incScanVersion(); + session.getDboSession().execute("UPDATE scan_settings SET scan_version = scan_version + 1"); } static void migrateFromV40(Session& session) @@ -186,7 +186,7 @@ CREATE TABLE IF NOT EXISTS "track_backup" ( session.getDboSession().execute("ALTER TABLE track ADD artist_display_name TEXT"); // Just increment the scan version of the settings to make the next scheduled scan rescan everything - ScanSettings::get(session).modify()->incScanVersion(); + session.getDboSession().execute("UPDATE scan_settings SET scan_version = scan_version + 1"); } static void migrateFromV41(Session& session) @@ -231,7 +231,7 @@ CREATE TABLE IF NOT EXISTS "track_backup" ( session.getDboSession().execute("ALTER TABLE cluster ADD release_count INTEGER"); // Just increment the scan version of the settings to make the next scheduled scan rescan everything - ScanSettings::get(session).modify()->incScanVersion(); + session.getDboSession().execute("UPDATE scan_settings SET scan_version = scan_version + 1"); } static void migrateFromV44(Session& session) @@ -240,7 +240,7 @@ CREATE TABLE IF NOT EXISTS "track_backup" ( session.getDboSession().execute("ALTER TABLE track ADD bitrate INTEGER"); // Just increment the scan version of the settings to make the next scheduled scan rescan everything - ScanSettings::get(session).modify()->incScanVersion(); + session.getDboSession().execute("UPDATE scan_settings SET scan_version = scan_version + 1"); } void migrateFromV45(Session& session) @@ -264,7 +264,7 @@ CREATE TABLE IF NOT EXISTS "track_backup" ( session.getDboSession().execute("ALTER TABLE scan_settings ADD COLUMN extra_tags_to_scan TEXT"); // Just increment the scan version of the settings to make the next scheduled scan rescan everything - ScanSettings::get(session).modify()->incScanVersion(); + session.getDboSession().execute("UPDATE scan_settings SET scan_version = scan_version + 1"); } void doDbMigration(Session& session)