Rocksky.Playlist (Rocksky v0.12.0)

Copy Markdown View Source

app.rocksky.playlist.* — the global, AT-Proto-backed playlists.

Distinct from Rocksky.Library, whose playlist functions drive the Subsonic/Navidrome library (app.rocksky.library.*).

Writes publish records to the caller's repo, so they take a token and only appear in reads once the AppView has ingested the commit.

Summary

Functions

Add songs by their app.rocksky.song AT-URIs. Owner only. Returns the AT-URIs of the created entry records.

Create a playlist. Returns %{"uri" => ..., "cid" => ...}. Pass "" to omit an optional field.

A single playlist with its tracks.

Escape hatch — call any app.rocksky.* procedure whose arguments ride the query string.

Delete a playlist and the caller's own entries. Owner only.

Remove a song. Only the repo that added an entry can retract it.

Rename or re-describe a playlist. Owner only; the AT-URI is unchanged.

Functions

add_songs(token, uri, songs, base \\ "")

Add songs by their app.rocksky.song AT-URIs. Owner only. Returns the AT-URIs of the created entry records.

create(token, name, description \\ "", picture_url \\ "", base \\ "")

Create a playlist. Returns %{"uri" => ..., "cid" => ...}. Pass "" to omit an optional field.

get(uri, base \\ "")

A single playlist with its tracks.

list(limit \\ 50, offset \\ 0, base \\ "")

The playlist catalog.

post(nsid, params \\ %{}, base \\ "", token \\ "")

Escape hatch — call any app.rocksky.* procedure whose arguments ride the query string.

remove(token, uri, base \\ "")

Delete a playlist and the caller's own entries. Owner only.

remove_track(token, uri, song_uri, base \\ "")

Remove a song. Only the repo that added an entry can retract it.

update(token, uri, name \\ "", description \\ "", picture_url \\ "", base \\ "")

Rename or re-describe a playlist. Owner only; the AT-URI is unchanged.