|  | @@ -70,30 +70,36 @@ let lib = {
 | 
	
		
			
				|  |  |  							next(null, song);
 | 
	
		
			
				|  |  |  						});
 | 
	
		
			
				|  |  |  					} else {
 | 
	
		
			
				|  |  | -						next(null, {_id: songId, title: song.title, duration: song.duration});
 | 
	
		
			
				|  |  | +						next(null, {
 | 
	
		
			
				|  |  | +							_id: songId,
 | 
	
		
			
				|  |  | +							title: song.title,
 | 
	
		
			
				|  |  | +							duration: song.duration
 | 
	
		
			
				|  |  | +						});
 | 
	
		
			
				|  |  |  					}
 | 
	
		
			
				|  |  |  				});
 | 
	
		
			
				|  |  |  			},
 | 
	
		
			
				|  |  |  			(newSong, next) => {
 | 
	
		
			
				|  |  |  				db.models.playlist.findOne({ _id: playlistId }, (err, playlist) => {
 | 
	
		
			
				|  |  | -					if (err) throw err;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -					playlist.songs.push(newSong);
 | 
	
		
			
				|  |  | -					playlist.save(err => {
 | 
	
		
			
				|  |  | -						if (err) {
 | 
	
		
			
				|  |  | -							console.error(err);
 | 
	
		
			
				|  |  | -							return next('Failed to add song to playlist');
 | 
	
		
			
				|  |  | -						}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -						cache.hset('playlists', playlistId, playlist);
 | 
	
		
			
				|  |  | -						next(null, playlist);
 | 
	
		
			
				|  |  | -					});
 | 
	
		
			
				|  |  | +					if (err) console.error(err);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +					if (Array.isArray(playlist.songs)) {
 | 
	
		
			
				|  |  | +						playlist.songs.push(newSong);
 | 
	
		
			
				|  |  | +						playlist.save(err => {
 | 
	
		
			
				|  |  | +							if (err) {
 | 
	
		
			
				|  |  | +								console.error(err);
 | 
	
		
			
				|  |  | +								return next('Failed to add song to playlist');
 | 
	
		
			
				|  |  | +							}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +							cache.hset('playlists', playlistId, playlist);
 | 
	
		
			
				|  |  | +							next(null, playlist);
 | 
	
		
			
				|  |  | +						});
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  |  				});
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		],
 | 
	
		
			
				|  |  |  		(err, playlist) => {
 | 
	
		
			
				|  |  |  			if (err) return cb({ status: 'error', message: err });
 | 
	
		
			
				|  |  | -			else return cb({ status: 'success', message: 'Song has been successfully added to the playlist', data: playlist.songs });
 | 
	
		
			
				|  |  | +			else if (playlist.songs) return cb({ status: 'success', message: 'Song has been successfully added to the playlist', data: playlist.songs });
 | 
	
		
			
				|  |  |  		});
 | 
	
		
			
				|  |  |  	},
 | 
	
		
			
				|  |  |  	
 |