Options
All
  • Public
  • Public/Protected
  • All
Menu

Interact with a plex server

class

Library

param

config to pass to plex-api package

Hierarchy

  • Library

Index

Constructors

constructor

Properties

api

Methods

addToPlaylist

  • addToPlaylist(playlistId: number, uri: string): Promise<any>
  • Parameters

    • playlistId: number
    • uri: string

    Returns Promise<any>

album

albumTracks

  • albumTracks(albumId: number, searchParams?: Params): Promise<TrackContainer>
  • Get the tracks related to an album

    Parameters

    • albumId: number
    • Default value searchParams: Params = {}

    Returns Promise<TrackContainer>

albums

  • albums(sectionId: number, searchParams?: Params): Promise<AlbumContainer>
  • Query all albums in the library

    Parameters

    • sectionId: number

      id of the section to fetch

    • Default value searchParams: Params = {}

    Returns Promise<AlbumContainer>

artist

  • Get information about a single artist

    Parameters

    • artistId: number
    • Default value options: object = {}
      • Optional includePopular?: boolean

    Returns Promise<ArtistContainer>

artistAlbums

  • artistAlbums(artistId: number, searchParams?: Params): Promise<AlbumContainer>
  • Get the albums related to an artist

    Parameters

    • artistId: number
    • Default value searchParams: Params = {}

    Returns Promise<AlbumContainer>

artists

  • artists(sectionId: number, searchParams?: Params): Promise<ArtistContainer>
  • Query all artists in the library

    Parameters

    • sectionId: number

      id of the library section

    • Default value searchParams: Params = {}

    Returns Promise<ArtistContainer>

buildLibraryURI

  • buildLibraryURI(uuid: string, path: string, searchParams?: Params): string
  • Build library URI for use in creating queues and playlists

    Parameters

    • uuid: string

      library UUID

    • path: string

      library path

    • Default value searchParams: Params = {}

    Returns string

countries

createQueue

  • createQueue(options?: object): Promise<object>
  • Create a play queue from a uri

    Parameters

    • Default value options: object = {}
      • Optional includeChapters?: number
      • Optional includeRelated?: number
      • Optional key?: number
      • Optional playlistId?: number
      • Optional repeat?: boolean
      • Optional shuffle?: boolean
      • Optional uri?: string

    Returns Promise<object>

createSmartPlaylist

deletePlaylist

  • deletePlaylist(playlistId: number): Promise<any>
  • Parameters

    • playlistId: number

    Returns Promise<any>

editPlaylistDetails

  • editPlaylistDetails(playlistId: number, searchParams?: Params): Promise<any>
  • Parameters

    • playlistId: number
    • Default value searchParams: Params = {}

    Returns Promise<any>

editPlaylistSummary

  • editPlaylistSummary(playlistId: number, summary: string): Promise<any>
  • Parameters

    • playlistId: number
    • summary: string

    Returns Promise<any>

editPlaylistTitle

  • editPlaylistTitle(playlistId: number, title: string): Promise<any>
  • Parameters

    • playlistId: number
    • title: string

    Returns Promise<any>

fetch

  • fetch(url: string, options?: RequestOptions): Promise<any>
  • Query the API for a limited set of results. By default Plex will return everything that matches, which in most cases can be far too much data.

    Parameters

    • url: string
    • Default value options: RequestOptions = {}

    Returns Promise<any>

genres

metadata

  • metadata<T>(id: number, type: T, searchParams?: Params): Promise<ReturnType<T>>
  • Fetch a metadata item

    Type parameters

    Parameters

    • id: number
    • type: T
    • Default value searchParams: Params = {}

    Returns Promise<ReturnType<T>>

metadataChildren

  • metadataChildren<T>(id: number, type: T, searchParams?: Params): Promise<ReturnType<T>>
  • Fetch children of a metadata item

    Type parameters

    Parameters

    • id: number
    • type: T
    • Default value searchParams: Params = {}

    Returns Promise<ReturnType<T>>

modifyAlbumCollection

  • modifyAlbumCollection(sessionId: number, albumId: number, add: string[], remove?: string[]): Promise<any>
  • Parameters

    • sessionId: number
    • albumId: number
    • add: string[]
    • Optional remove: string[]

    Returns Promise<any>

modifyAlbumGenre

  • modifyAlbumGenre(sectionId: number, albumId: number, add: string[], remove?: string[]): Promise<any>
  • Modify the genre tags for an album

    Parameters

    • sectionId: number
    • albumId: number
    • add: string[]
    • Optional remove: string[]

    Returns Promise<any>

modifyArtistGenre

  • modifyArtistGenre(sectionId: number, artistId: number, add: string[], remove?: string[]): Promise<any>
  • Modify the genre tags for an artist

    Parameters

    • sectionId: number
    • artistId: number
    • add: string[]
    • Optional remove: string[]

    Returns Promise<any>

modifyCollection

  • modifyCollection(sectionId: number, type: MediaType, id: number, add: string[], remove?: string[]): Promise<any>
  • Parameters

    • sectionId: number
    • type: MediaType
    • id: number
    • add: string[]
    • Optional remove: string[]

    Returns Promise<any>

modifyGenre

  • modifyGenre(sectionId: number, type: MediaType, id: number, add: string[], remove?: string[]): Promise<any>
  • Modify the genre tags for an item

    Parameters

    • sectionId: number

      library section id

    • type: MediaType

      type of item to modify

    • id: number

      id of the item to modify

    • add: string[]
    • Optional remove: string[]

    Returns Promise<any>

modifyListField

  • modifyListField(prop: string, sectionId: number, type: MediaType, id: number, addTags?: string[], removeTags?: string[]): Promise<any>
  • Parameters

    • prop: string
    • sectionId: number
    • type: MediaType
    • id: number
    • Default value addTags: string[] = []
    • Default value removeTags: string[] = []

    Returns Promise<any>

movePlayQueueItem

  • movePlayQueueItem(playQueueId: number, itemId: number, afterId: number): Promise<object>
  • Move an item in the play queue to a new position

    Parameters

    • playQueueId: number
    • itemId: number
    • afterId: number

    Returns Promise<object>

    Promise

movePlaylistItem

  • movePlaylistItem(playlistId: number, itemId: number, afterId: number): Promise<any>
  • Parameters

    • playlistId: number
    • itemId: number
    • afterId: number

    Returns Promise<any>

playQueue

  • playQueue(playQueueId: number): Promise<object>
  • Fetch information about an existing play queue

    Parameters

    • playQueueId: number

    Returns Promise<object>

    Promise

playlist

playlistTracks

  • playlistTracks(id: number, searchParams?: Params): Promise<Playlist>
  • Parameters

    • id: number
    • Default value searchParams: Params = {}

    Returns Promise<Playlist>

playlists

  • Fetch all playlists on the server

    params

    {Obect} params

    params

    {string} [params.playlistType] - filter playlists by the type of playlist they are

    Parameters

    • Default value searchParams: Params = {}

    Returns Promise<PlaylistContainer>

rate

  • rate(trackId: number, rating: number): Promise<any>
  • Set the user rating for a track

    params

    {number} trackId

    params

    {number} rating

    Parameters

    • trackId: number
    • rating: number

    Returns Promise<any>

removeFromPlaylist

  • removeFromPlaylist(playlistId: number, itemId: number): Promise<any>
  • Remove an item from a playlist

    params

    {number} playlistId - ID of the playlist

    params

    {number} itemId - ID of the item to remove

    Parameters

    • playlistId: number
    • itemId: number

    Returns Promise<any>

resizePhoto

  • resizePhoto(searchParams?: Params): string
  • Resize a photo to a specific size

    params

    {Object} params

    params

    {string} params.uri

    params

    {number} params.width

    params

    {number} params.height

    Parameters

    • Default value searchParams: Params = {}

    Returns string

searchAll

  • searchAll(query: string, limit?: number): Promise<object>
  • Parameters

    • query: string
    • Default value limit: number = 3

    Returns Promise<object>

searchTracks

  • searchTracks(sectionId: number, query: string): Promise<any>
  • Search the library for tracks matching a query

    Parameters

    • sectionId: number
    • query: string

    Returns Promise<any>

section

  • section(sectionId: number): Promise<any>
  • Get a specific section in the library

    Parameters

    • sectionId: number

      the id of the section to get

    Returns Promise<any>

sectionItems

  • sectionItems<T>(sectionId: number, type: T, searchParams?: Params): Promise<ReturnType<T>>
  • Get all items in a section

    Type parameters

    Parameters

    • sectionId: number
    • type: T
    • Default value searchParams: Params = {}

    Returns Promise<ReturnType<T>>

sections

  • sections(): Promise<object>
  • Get all available sections in the library

    Returns Promise<object>

sessions

  • sessions(): Promise<any>
  • Get the status of all connected clients

    Returns Promise<any>

shufflePlayQueue

  • shufflePlayQueue(playQueueId: number): Promise<object>
  • Shuffle a play queue

    Parameters

    • playQueueId: number

    Returns Promise<object>

    Promise

timeline

  • timeline(options: object): Promise<any>
  • Update plex about the current timeline status.

    Parameters

    • options: object
      • currentTime: number

        current time in ms

      • duration: number

        track duration in ms

      • key: number

        id of track

      • playerState: string

        playing, paused, stopped

      • queueItemId: number

        id of playlist queue item

      • ratingKey: string

        uri of track metadata

    Returns Promise<any>

track

trackLyrics

  • trackLyrics(track: Track): string

trackSrc

  • trackSrc(track: Track): string

tracks

  • tracks(sectionId: number, searchParams?: Params): Promise<TrackContainer>
  • Query all the tracks in the library

    Parameters

    • sectionId: number

      id of the library section

    • Default value searchParams: Params = {}

    Returns Promise<TrackContainer>

unshufflePlayQueue

  • unshufflePlayQueue(playQueueId: number): Promise<object>
  • Unshuffle a play queue

    Parameters

    • playQueueId: number

    Returns Promise<object>

    Promise

Legend

  • Module
  • Object literal
  • Variable
  • Function
  • Function with type parameter
  • Index signature
  • Type alias
  • Type alias with type parameter
  • Enumeration
  • Enumeration member
  • Property
  • Method
  • Interface
  • Interface with type parameter
  • Constructor
  • Property
  • Method
  • Index signature
  • Class
  • Class with type parameter
  • Constructor
  • Property
  • Method
  • Accessor
  • Index signature
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Inherited accessor
  • Protected property
  • Protected method
  • Protected accessor
  • Private property
  • Private method
  • Private accessor
  • Static property
  • Static method

Generated using TypeDoc