Class: playlistHandler

playlistHandler(server, channel)

Class containing playlist management logic for a single channel

Constructor

new playlistHandler(server, channel)

Instantiates a new object to handle playlist management for a single channel
Parameters:
Name Type Description
server channelManager Parent server object
channel activeChannel Parent Channel object for desired channel queue
Source:

Methods

(async) addToChannelPlaylist(socket, data, chanDB)

Adds media to channel playlist
Parameters:
Name Type Description
socket Socket Requesting socket
data Object Data handed over from the client
chanDB Mongoose.Document Channnel Document Passthrough to save on DB Access
Source:

(async) addToPlaylistValidator(socket, URL) → {Array}

Validates client requests to add media to a playlist
Parameters:
Name Type Description
socket Socket Newly connected socket to define listeners against
URL String URL String handed over from the client
Source:
Returns:
List of media objects which where added
Type
Array

(async) addToUserPlaylist(socket, data, userDB)

Adds media to user playlist
Parameters:
Name Type Description
socket Socket Requesting socket
data Object Data handed over from the client
userDB Mongoose.Document User Document Passthrough to save on DB Access
Source:

(async) changeDefaultTitlesChannelPlaylist(socket, data, chanDB)

Changes default titles for a given channel playlist
Parameters:
Name Type Description
socket Socket Requesting socket
data Object Data handed over from the client
chanDB Mongoose.Document Channel Document Passthrough to save on DB Access
Source:

(async) changeDefaultTitlesUserPlaylist(socket, data, userDB)

Changes default titles for a given user playlist
Parameters:
Name Type Description
socket Socket Requesting socket
data Object Data handed over from the client
userDB Mongoose.Document User Document Passthrough to save on DB Access
Source:

changeDefaultTitlesValidator(data) → {Array}

Validates client requests to change default titles for a given playlist
Parameters:
Name Type Description
data Object Data handed over from the client
Source:
Returns:
Array of strings containing valid titles from the output
Type
Array

(async) createChannelPlaylist(socket, data, chanDB)

Creates a new channel playlist
Parameters:
Name Type Description
socket Socket Requesting socket
data Object Data handed over from the client
chanDB Mongoose.Document Channnel Document Passthrough to save on DB Access
Source:

createPlaylistValidator(socket, data) → {Object}

Validates client requests to create a playlist
Parameters:
Name Type Description
socket Socket Newly connected socket to define listeners against
data Object Data handed over from the client
Source:
Returns:
returns validated titles
Type
Object

(async) createUserPlaylist(socket, data, userDB)

Creates a new user playlist
Parameters:
Name Type Description
socket Socket Requesting socket
data Object Data handed over from the client
userDB Mongoose.Document User Document Passthrough to save on DB Access
Source:

defineListeners(socket)

Defines server-side socket.io listeners for newly connected sockets
Parameters:
Name Type Description
socket Socket Newly connected socket to define listeners against
Source:

(async) deleteChannelPlaylist(socket, data, userDB)

Deletes a user playlist
Parameters:
Name Type Description
socket Socket Requesting socket
data Object Data handed over from the client
userDB Mongoose.Document User Document Passthrough to save on DB Access
Source:

(async) deleteChannelPlaylistMedia(socket, data, chanDB)

Deletes media from a given channel playlist
Parameters:
Name Type Description
socket Socket Requesting socket
data Object Data handed over from the client
chanDB Mongoose.Document Channel Document Passthrough to save on DB Access
Source:

deletePlaylistMediaValidator(socket, data)

Validates client requests to rename the playlist validator
Parameters:
Name Type Description
socket Socket Newly connected socket to define listeners against
data Object Data handed over from the client
Source:

(async) deleteUserPlaylist(socket, data, chanDB)

Deletes a Channel playlist
Parameters:
Name Type Description
socket Socket Requesting socket
data Object Data handed over from the client
chanDB Mongoose.Document Channnel Document Passthrough to save on DB Access
Source:

(async) deleteUserPlaylistMedia(socket, data, userDB)

Deletes media from a given user playlist
Parameters:
Name Type Description
socket Socket Requesting socket
data Object Data handed over from the client
userDB Mongoose.Document User Document Passthrough to save on DB Access
Source:

(async) getChannelPlaylists(socket, chanDB)

Sends channel playlist data to a requesting socket
Parameters:
Name Type Description
socket Socket Newly connected socket to define listeners against
chanDB Mongoose.Document Channnel Document Passthrough to save on DB Access
Source:

(async) getUserPlaylists(socket, userDB)

Sends user playlist data to a requesting socket
Parameters:
Name Type Description
socket Socket Newly connected socket to define listeners against
userDB Mongoose.Document Channnel Document Passthrough to save on DB Access
Source:

(async) queueChannelPlaylist(socket, data, chanDB)

Queues an entire channel playlist
Parameters:
Name Type Description
socket Socket Requesting socket
data Object Data handed over from the client
chanDB Mongoose.Document Channel Document Passthrough to save on DB Access
Source:

(async) queueFromChannelPlaylist(socket, data, chanDB)

Queues media from a given channel playlist
Parameters:
Name Type Description
socket Socket Requesting socket
data Object Data handed over from the client
chanDB Mongoose.Document Channel Document Passthrough to save on DB Access
Source:

queueFromChannelPlaylistValidator(socket, data) → {Number}

Validates client requests to queue media from a playlist
Parameters:
Name Type Description
socket Socket Newly connected socket to define listeners against
data Object Data handed over from the client
Source:
Returns:
returns validated start time on success
Type
Number

(async) queueFromUserPlaylist(socket, data, userDB, chanDB)

Queues media from a given user playlist
Parameters:
Name Type Description
socket Socket Requesting socket
data Object Data handed over from the client
userDB Mongoose.Document User Document Passthrough to save on DB Access
chanDB Mongoose.Document Channel Document Passthrough to save on DB Access
Source:

(async) queueRandomFromChannelPlaylist(socket, data, chanDB)

Queues random media from a given channel playlist
Parameters:
Name Type Description
socket Socket Requesting socket
data Object Data handed over from the client
chanDB Mongoose.Document Channel Document Passthrough to save on DB Access
Source:

(async) queueRandomFromUserPlaylist(socket, data, userDB, chanDB)

Queues random media from a given user playlist
Parameters:
Name Type Description
socket Socket Requesting socket
data Object Data handed over from the client
userDB Mongoose.Document User Document Passthrough to save on DB Access
chanDB Mongoose.Document Channel Document Passthrough to save on DB Access
Source:

(async) queueUserPlaylist(socket, data, userDB, chanDB)

Queues an entire user playlist
Parameters:
Name Type Description
socket Socket Requesting socket
data Object Data handed over from the client
userDB Mongoose.Document User Document Passthrough to save on DB Access
chanDB Mongoose.Document Channel Document Passthrough to save on DB Access
Source:

(async) renameChannelPlaylist(socket, data, chanDB)

Renames a channel playlist
Parameters:
Name Type Description
socket Socket Requesting socket
data Object Data handed over from the client
chanDB Mongoose.Document Channel Document Passthrough to save on DB Access
Source:

renameChannelPlaylistValidator(socket, data) → {String}

Validates client requests to rename the playlist validator
Parameters:
Name Type Description
socket Socket Newly connected socket to define listeners against
data Object Data handed over from the client
Source:
Returns:
returns escaped/trimmed name upon success
Type
String

(async) renameUserPlaylist(socket, data, userDB)

Renames a user playlist
Parameters:
Name Type Description
socket Socket Requesting socket
data Object Data handed over from the client
userDB Mongoose.Document User Document Passthrough to save on DB Access
Source: