let Base = require('./Base');
/**
* Represents a media object
* @property {Number} id The unique id used by plug
* @property {String} cid The id used by the source. This is only unique if used together with 'format'
* @property {Number} format The format of the media. 1 is YouTube, 2 is SoundCloud
* @property {String} author The media author
* @property {String} title The media title
* @property {Number} duration The media duration
* @property {String} image A link to a cover image.
* @property {String} name The concatenated name of the media
* @property {String} uniqueId An unique id for the media
*/
class Media extends Base {
constructor(data) {
super();
this.id = data.id;
this.cid = data.cid;
this.format = data.format;
this.author = data.author;
this.title = data.title;
this.duration = data.duration;
this.image = data.image;
}
get name() {
return `${this.author} - ${this.title}`;
}
get uniqueId() {
return `${this.format}:${this.cid}`;
}
}
module.exports = Media;