rocksky/types

Public types returned by Rocksky endpoint functions.

These mirror the lexicon *ViewBasic / *ViewDetailed shapes. Optional lexicon properties (anything not marked required) are Option(t) here.

Types

pub type Album {
  Album(
    id: option.Option(String),
    uri: option.Option(String),
    title: option.Option(String),
    artist: option.Option(String),
    artist_uri: option.Option(String),
    year: option.Option(Int),
    album_art: option.Option(String),
    release_date: option.Option(String),
    sha256: option.Option(String),
    play_count: option.Option(Int),
    unique_listeners: option.Option(Int),
  )
}

Constructors

pub type ApiKey {
  ApiKey(
    id: option.Option(String),
    name: option.Option(String),
    description: option.Option(String),
    key: option.Option(String),
    created_at: option.Option(String),
  )
}

Constructors

pub type Artist {
  Artist(
    id: option.Option(String),
    uri: option.Option(String),
    name: option.Option(String),
    picture: option.Option(String),
    sha256: option.Option(String),
    play_count: option.Option(Int),
    unique_listeners: option.Option(Int),
    tags: List(String),
  )
}

Constructors

pub type Listener {
  Listener(
    id: option.Option(String),
    did: option.Option(String),
    handle: option.Option(String),
    display_name: option.Option(String),
    avatar: option.Option(String),
    timestamp: option.Option(String),
    scrobble_uri: option.Option(String),
  )
}

Constructors

pub type Profile {
  Profile(
    id: option.Option(String),
    did: option.Option(String),
    handle: option.Option(String),
    display_name: option.Option(String),
    avatar: option.Option(String),
    created_at: option.Option(String),
    updated_at: option.Option(String),
  )
}

Constructors

pub type Scrobble {
  Scrobble(
    id: option.Option(String),
    uri: option.Option(String),
    user: option.Option(String),
    user_display_name: option.Option(String),
    user_avatar: option.Option(String),
    title: option.Option(String),
    artist: option.Option(String),
    artist_uri: option.Option(String),
    album: option.Option(String),
    album_uri: option.Option(String),
    cover: option.Option(String),
    date: option.Option(String),
    sha256: option.Option(String),
    liked: option.Option(Bool),
    likes_count: option.Option(Int),
  )
}

Constructors

pub type Shout {
  Shout(
    id: option.Option(String),
    uri: option.Option(String),
    author_did: option.Option(String),
    author_handle: option.Option(String),
    author_avatar: option.Option(String),
    message: option.Option(String),
    created_at: option.Option(String),
    likes_count: option.Option(Int),
    replies_count: option.Option(Int),
    liked: option.Option(Bool),
  )
}

Constructors

pub type Song {
  Song(
    id: option.Option(String),
    uri: option.Option(String),
    title: option.Option(String),
    artist: option.Option(String),
    album_artist: option.Option(String),
    album: option.Option(String),
    album_art: option.Option(String),
    album_uri: option.Option(String),
    artist_uri: option.Option(String),
    duration: option.Option(Int),
    track_number: option.Option(Int),
    disc_number: option.Option(Int),
    play_count: option.Option(Int),
    unique_listeners: option.Option(Int),
    sha256: option.Option(String),
    mbid: option.Option(String),
    isrc: option.Option(String),
    tags: List(String),
    created_at: option.Option(String),
  )
}

Constructors

pub type Stats {
  Stats(
    scrobbles: option.Option(Int),
    artists: option.Option(Int),
    loved_tracks: option.Option(Int),
    albums: option.Option(Int),
    tracks: option.Option(Int),
  )
}

Constructors

Search Document