83 lines
3.1 KiB
JavaScript
83 lines
3.1 KiB
JavaScript
var defaults = require('./defaults');
|
|
|
|
var User = module.exports = function (lastfm) {
|
|
this.lastfm = lastfm;
|
|
};
|
|
|
|
User.prototype.getArtistTracks = function (params, callback) {
|
|
var options = defaults.defaultOptions(params, callback, 'artisttracks');
|
|
this.lastfm.api.request('user.getArtistTracks', options);
|
|
};
|
|
|
|
User.prototype.getFriends = function (params, callback) {
|
|
var options = defaults.defaultOptions(params, callback, 'friends');
|
|
this.lastfm.api.request('user.getFriends', options);
|
|
};
|
|
|
|
User.prototype.getInfo = function (user, callback) {
|
|
if (typeof callback !== 'function') { callback = user; user = null; }
|
|
var params = (user) ? { 'user' : user } : null;
|
|
var options = defaults.defaultOptions(params, callback, 'user');
|
|
if (!params) { options.sk = this.lastfm.sessionCredentials.key; }
|
|
this.lastfm.api.request('user.getInfo', options);
|
|
};
|
|
|
|
User.prototype.getLovedTracks = function (params, callback) {
|
|
var options = defaults.defaultOptions(params, callback, 'lovedtracks');
|
|
this.lastfm.api.request('user.getLovedTracks', options);
|
|
};
|
|
|
|
User.prototype.getPersonalTags = function (params, callback) {
|
|
var options = defaults.defaultOptions(params, callback, 'taggings');
|
|
this.lastfm.api.request('user.getPersonalTags', options);
|
|
};
|
|
|
|
User.prototype.getRecentTracks = function (params, callback) {
|
|
var options = defaults.defaultOptions(params, callback, 'recenttracks');
|
|
this.lastfm.api.request('user.getRecentTracks', options);
|
|
};
|
|
|
|
User.prototype.getTopAlbums = function (params, callback) {
|
|
var options = defaults.defaultOptions(params, callback, 'topalbums');
|
|
this.lastfm.api.request('user.getTopAlbums', options);
|
|
};
|
|
|
|
User.prototype.getTopArtists = function (params, callback) {
|
|
var options = defaults.defaultOptions(params, callback, 'topartists');
|
|
this.lastfm.api.request('user.getTopArtists', options);
|
|
};
|
|
|
|
User.prototype.getTopTags = function (user, limit, callback) {
|
|
if (typeof callback !== 'function') { callback = limit; limit = null; }
|
|
var options = defaults.defaultOptions({
|
|
'user' : user,
|
|
'limit' : limit
|
|
}, callback, 'toptags');
|
|
this.lastfm.api.request('user.getTopTags', options);
|
|
};
|
|
|
|
User.prototype.getTopTracks = function (params, callback) {
|
|
var options = defaults.defaultOptions(params, callback, 'toptracks');
|
|
this.lastfm.api.request('user.getTopTracks', options);
|
|
};
|
|
|
|
User.prototype.getWeeklyAlbumChart = function (params, callback) {
|
|
var options = defaults.defaultOptions(params, callback, 'weeklyalbumchart');
|
|
this.lastfm.api.request('user.getWeeklyAlbumChart', options);
|
|
};
|
|
|
|
User.prototype.getWeeklyArtistChart = function (params, callback) {
|
|
var options = defaults.defaultOptions(params, callback, 'weeklyartistchart');
|
|
this.lastfm.api.request('user.getWeeklyArtistChart', options);
|
|
};
|
|
|
|
User.prototype.getWeeklyChartList = function (user, callback) {
|
|
var options = defaults.defaultOptions({ 'user' : user }, callback, 'weeklychartlist');
|
|
this.lastfm.api.request('user.getWeeklyChartList', options);
|
|
};
|
|
|
|
User.prototype.getWeeklyTrackChart = function (params, callback) {
|
|
var options = defaults.defaultOptions(params, callback, 'weeklytrackchart');
|
|
this.lastfm.api.request('user.getWeeklyTrackChart', options);
|
|
};
|