A decentralized music tracking and discovery platform built on AT Protocol 🎵

[api] fix wrong loved song date

+11 -6
+11 -6
apps/api/src/xrpc/app/rocksky/actor/getActorLovedSongs.ts
··· 18 18 Effect.catchAll((err) => { 19 19 console.error(err); 20 20 return Effect.succeed({ tracks: [] }); 21 - }) 21 + }), 22 22 ); 23 23 server.app.rocksky.actor.getActorLovedSongs({ 24 24 handler: async ({ params }) => { ··· 45 45 .from(tables.lovedTracks) 46 46 .leftJoin( 47 47 tables.tracks, 48 - eq(tables.lovedTracks.trackId, tables.tracks.id) 48 + eq(tables.lovedTracks.trackId, tables.tracks.id), 49 49 ) 50 50 .leftJoin(tables.users, eq(tables.lovedTracks.userId, tables.users.id)) 51 51 .where( 52 52 or( 53 53 eq(tables.users.did, params.did), 54 - eq(tables.users.handle, params.did) 55 - ) 54 + eq(tables.users.handle, params.did), 55 + ), 56 56 ) 57 57 .limit(params.limit ?? 10) 58 58 .offset(params.offset ?? 0) 59 59 .orderBy(desc(tables.lovedTracks.createdAt)) 60 60 .execute() 61 - .then((rows) => rows.map((row) => row.tracks)), 61 + .then((rows) => 62 + rows.map((row) => ({ 63 + ...row.tracks, 64 + createdAt: row.lovedTracks.createdAt, 65 + })) 66 + ), 62 67 catch: (error) => new Error(`Failed to retrieve loved songs: ${error}`), 63 68 }); 64 69 }; 65 70 66 71 const presentation = ( 67 - data: SelectTrack[] 72 + data: SelectTrack[], 68 73 ): Effect.Effect<{ tracks: SongViewBasic[] }, never> => { 69 74 return Effect.sync(() => ({ 70 75 tracks: data.map((track) => ({