From d232aec367ad489e7a5b6828c6992466896a033b Mon Sep 17 00:00:00 2001 From: Tsiry Sandratraina Date: Mon, 5 Jan 2026 17:31:42 +0300 Subject: [PATCH] Resolve PDS URL and repo from DID Call extractPdsFromDid(repo) to obtain the PDS base URL and pass it to AtpAgent instead of using the hardcoded https://bsky.social. Compute the repo once from trackWithUri.uri and reuse it for getRecord. --- apps/api/src/lovedtracks/lovedtracks.service.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/apps/api/src/lovedtracks/lovedtracks.service.ts b/apps/api/src/lovedtracks/lovedtracks.service.ts index 394dcee8..f0fd5c97 100644 --- a/apps/api/src/lovedtracks/lovedtracks.service.ts +++ b/apps/api/src/lovedtracks/lovedtracks.service.ts @@ -13,6 +13,7 @@ import artistTracks from "../schema/artist-tracks"; import artists from "../schema/artists"; import lovedTracks from "../schema/loved-tracks"; import tracks from "../schema/tracks"; +import extractPdsFromDid from "lib/extractPdsFromDid"; export async function likeTrack( ctx: Context, @@ -248,11 +249,17 @@ export async function likeTrack( if (trackWithUri?.uri) { const rkey = TID.nextStr(); + const repo = trackWithUri.uri + .split("/") + .slice(0, 3) + .join("/") + .split("at://")[1]; + const pds = await extractPdsFromDid(repo); const subjectAgent = new AtpAgent({ - service: new URL("https://bsky.social"), + service: new URL(pds), }); const subjectRecord = await subjectAgent.com.atproto.repo.getRecord({ - repo: trackWithUri.uri.split("/").slice(0, 3).join("/").split("at://")[1], + repo, collection: "app.rocksky.song", rkey: trackWithUri.uri.split("/").pop(), }); -- 2.51.2