app.rocksky.playlist.song

rocksky.app

Documentation

A song entry in a playlist. Holds a strong reference to the playlist it belongs to, a strong reference to the song record itself, and a denormalized copy of the song metadata so the entry can be rendered without dereferencing the song.

main record

A song entry in a playlist. Holds a strong reference to the playlist it belongs to, a strong reference to the song record itself, and a denormalized copy of the song metadata so the entry can be rendered without dereferencing the song.

Record Key tid Timestamp-based ID

Properties

addedAt string datetime Required

The date and time the song was added to the playlist.

album string Required

The album the song belongs to.

maxLength: 256 bytesminLength: 1 bytes
albumArtUrl string uri Optional

The URL of the album art of the song.

albumArtist string Required

The album artist of the song.

maxLength: 256 bytesminLength: 1 bytes
artist string Required

The artist of the song.

maxLength: 256 bytesminLength: 1 bytes
duration integer Required

The duration of the song in milliseconds.

minimum: 1
song ref com.atproto.repo.strongRef Required

Strong reference (AT-URI + CID) to the app.rocksky.song record this entry points at.

title string Required

The title of the song.

maxLength: 512 bytesminLength: 1 bytes
View raw schema
{
  "description": "A song entry in a playlist. Holds a strong reference to the playlist it belongs to, a strong reference to the song record itself, and a denormalized copy of the song metadata so the entry can be rendered without dereferencing the song.",
  "key": "tid",
  "record": {
    "properties": {
      "addedAt": {
        "description": "The date and time the song was added to the playlist.",
        "format": "datetime",
        "type": "string"
      },
      "album": {
        "description": "The album the song belongs to.",
        "maxLength": 256,
        "minLength": 1,
        "type": "string"
      },
      "albumArtUrl": {
        "description": "The URL of the album art of the song.",
        "format": "uri",
        "type": "string"
      },
      "albumArtist": {
        "description": "The album artist of the song.",
        "maxLength": 256,
        "minLength": 1,
        "type": "string"
      },
      "artist": {
        "description": "The artist of the song.",
        "maxLength": 256,
        "minLength": 1,
        "type": "string"
      },
      "duration": {
        "description": "The duration of the song in milliseconds.",
        "minimum": 1,
        "type": "integer"
      },
      "playlist": {
        "description": "Strong reference (AT-URI + CID) to the parent app.rocksky.playlist record.",
        "ref": "com.atproto.repo.strongRef",
        "type": "ref"
      },
      "song": {
        "description": "Strong reference (AT-URI + CID) to the app.rocksky.song record this entry points at.",
        "ref": "com.atproto.repo.strongRef",
        "type": "ref"
      },
      "title": {
        "description": "The title of the song.",
        "maxLength": 512,
        "minLength": 1,
        "type": "string"
      }
    },
    "required": [
      "playlist",
      "song",
      "title",
      "artist",
      "album",
      "albumArtist",
      "duration",
      "addedAt"
    ],
    "type": "object"
  },
  "type": "record"
}

Lexicon Garden

@