From f7e52091041c32b588b07e93a0f38330081f27c6 Mon Sep 17 00:00:00 2001 From: srgooglo Date: Tue, 24 Jun 2025 19:58:27 +0200 Subject: [PATCH] Add language and fetchAll query params to lyrics endpoint --- .../music/tracks/[track_id]/lyrics/get.js | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/packages/server/services/music/routes/music/tracks/[track_id]/lyrics/get.js b/packages/server/services/music/routes/music/tracks/[track_id]/lyrics/get.js index 13e1481e..3b891b73 100644 --- a/packages/server/services/music/routes/music/tracks/[track_id]/lyrics/get.js +++ b/packages/server/services/music/routes/music/tracks/[track_id]/lyrics/get.js @@ -66,7 +66,7 @@ class LRCV1 { export default async (req) => { const { track_id } = req.params - let { translate_lang = "original" } = req.query + let { language = "original", fetchAll = false } = req.query let result = await TrackLyric.findOne({ track_id, @@ -76,24 +76,24 @@ export default async (req) => { throw new OperationError(404, "Track lyric not found") } - result.translated_lang = translate_lang + result.translated_lang = language result.available_langs = [] if (typeof result.lrc === "object") { result.available_langs = Object.keys(result.lrc) - if (!result.lrc[translate_lang]) { - translate_lang = "original" + if (!result.lrc[language]) { + language = "original" } - if (result.lrc[translate_lang]) { - if (typeof result.lrc[translate_lang] === "string") { - let { data } = await axios.get(result.lrc[translate_lang]) + if (result.lrc[language]) { + if (typeof result.lrc[language] === "string") { + let { data } = await axios.get(result.lrc[language]) result.synced_lyrics = LRCV1.parseString(data) result.synced_lyrics = LRCV1.setTimmings(result.synced_lyrics) } else { - result.synced_lyrics = result.lrc[translate_lang] + result.synced_lyrics = result.lrc[language] result.synced_lyrics = LRCV1.setTimmings(result.synced_lyrics) } } @@ -105,6 +105,10 @@ export default async (req) => { ) } + if (!fetchAll) { + delete result.lrc + } + delete result.__v return result