Manual match tool also stores file_path (same scan-survival as Find & Add)
The mlm_save endpoint already fetches+validates the library track, so capture its file_path and persist it on the manual match. This makes matches created via the Manual Library Match tool re-resolvable after a rescan re-keys the track (#787), matching the durability the Find & Add path now has.
This commit is contained in:
parent
3b155411c2
commit
ceb9ee15fc
1 changed files with 6 additions and 1 deletions
|
|
@ -18574,8 +18574,12 @@ def mlm_save():
|
||||||
db = get_database()
|
db = get_database()
|
||||||
profile_id = get_current_profile_id()
|
profile_id = get_current_profile_id()
|
||||||
# Validate library track exists before saving
|
# Validate library track exists before saving
|
||||||
if not db.api_get_tracks_by_ids([library_track_id]):
|
_lib_rows = db.api_get_tracks_by_ids([library_track_id])
|
||||||
|
if not _lib_rows:
|
||||||
return jsonify({"success": False, "error": "Library track not found — it may have been removed"}), 400
|
return jsonify({"success": False, "error": "Library track not found — it may have been removed"}), 400
|
||||||
|
# Store the file path so this match re-resolves after a rescan re-keys
|
||||||
|
# the track (#787) — same durability the Find & Add path gets.
|
||||||
|
_lib_file_path = (_lib_rows[0].get('file_path') or '') if _lib_rows else ''
|
||||||
ok = mlm.save_match(
|
ok = mlm.save_match(
|
||||||
db, profile_id, source, source_track_id, library_track_id,
|
db, profile_id, source, source_track_id, library_track_id,
|
||||||
source_title=data.get('source_title', ''),
|
source_title=data.get('source_title', ''),
|
||||||
|
|
@ -18583,6 +18587,7 @@ def mlm_save():
|
||||||
source_album=data.get('source_album', ''),
|
source_album=data.get('source_album', ''),
|
||||||
source_context_json=data.get('source_context_json', ''),
|
source_context_json=data.get('source_context_json', ''),
|
||||||
server_source=data.get('server_source', ''),
|
server_source=data.get('server_source', ''),
|
||||||
|
library_file_path=_lib_file_path,
|
||||||
)
|
)
|
||||||
if not ok:
|
if not ok:
|
||||||
return jsonify({"success": False, "error": "Failed to save match"}), 500
|
return jsonify({"success": False, "error": "Failed to save match"}), 500
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue