+9
-2
apps/api/src/lovedtracks/lovedtracks.service.ts
+9
-2
apps/api/src/lovedtracks/lovedtracks.service.ts
···
13
import artists from "../schema/artists";
14
import lovedTracks from "../schema/loved-tracks";
15
import tracks from "../schema/tracks";
16
17
export async function likeTrack(
18
ctx: Context,
···
248
249
if (trackWithUri?.uri) {
250
const rkey = TID.nextStr();
251
const subjectAgent = new AtpAgent({
252
-
service: new URL("https://bsky.social"),
253
});
254
const subjectRecord = await subjectAgent.com.atproto.repo.getRecord({
255
-
repo: trackWithUri.uri.split("/").slice(0, 3).join("/").split("at://")[1],
256
collection: "app.rocksky.song",
257
rkey: trackWithUri.uri.split("/").pop(),
258
});
···
13
import artists from "../schema/artists";
14
import lovedTracks from "../schema/loved-tracks";
15
import tracks from "../schema/tracks";
16
+
import extractPdsFromDid from "lib/extractPdsFromDid";
17
18
export async function likeTrack(
19
ctx: Context,
···
249
250
if (trackWithUri?.uri) {
251
const rkey = TID.nextStr();
252
+
const repo = trackWithUri.uri
253
+
.split("/")
254
+
.slice(0, 3)
255
+
.join("/")
256
+
.split("at://")[1];
257
+
const pds = await extractPdsFromDid(repo);
258
const subjectAgent = new AtpAgent({
259
+
service: new URL(pds),
260
});
261
const subjectRecord = await subjectAgent.com.atproto.repo.getRecord({
262
+
repo,
263
collection: "app.rocksky.song",
264
rkey: trackWithUri.uri.split("/").pop(),
265
});