A decentralized music tracking and discovery platform built on AT Protocol 馃幍 rocksky.app
spotify atproto lastfm musicbrainz scrobbling listenbrainz
97
fork

Configure Feed

Select the types of activity you want to include in your feed.

at feat/pgpull 69 lines 1.4 kB view raw
1import { client } from "."; 2 3export const getPlaylists = async ( 4 did: string, 5): Promise< 6 { 7 id: string; 8 name: string; 9 picture: string; 10 description?: string; 11 uri?: string; 12 spotifyLink?: string; 13 tidalLink?: string; 14 appleMusicLink?: string; 15 trackCount: number; 16 }[] 17> => { 18 const response = await client.get( 19 "/xrpc/app.rocksky.actor.getActorPlaylists", 20 { 21 params: { did }, 22 }, 23 ); 24 return response.data.playlists; 25}; 26 27export const getPlaylist = async ( 28 did: string, 29 rkey: string, 30): Promise<{ 31 id: string; 32 name: string; 33 picture: string; 34 description?: string; 35 uri?: string; 36 spotifyLink?: string; 37 tidalLink?: string; 38 appleMusicLink?: string; 39 curatedBy: { 40 id: string; 41 displayName: string; 42 did: string; 43 avatar: string; 44 handle: string; 45 }; 46 trackCount: number; 47 tracks: { 48 id: string; 49 trackNumber: number; 50 album: string; 51 albumArt: string; 52 albumArtist: string; 53 title: string; 54 artist: string; 55 createdAt: string; 56 uri: string; 57 albumUri: string; 58 artistUri: string; 59 duration: number; 60 discNumber: number; 61 }[]; 62}> => { 63 const response = await client.get("/xrpc/app.rocksky.playlist.getPlaylist", { 64 params: { 65 uri: `at://${did}/app.rocksky.playlist/${rkey}`, 66 }, 67 }); 68 return response.data; 69};