const _request = require('request'); const exts = ['mp3', 'acc', 'aiff', 'ape', 'au', 'flac', 'm4a', 'mmf', 'opus', 'voc', 'wav', 'ogg', 'ra', 'dvf', 'taa', 'dsf', 'diff', 'dts', 'wma']; class SourceModel { constructor() { this.name = ""; } getName() { return this.name; } checkExtension(ext) { if(typeof(ext) == 'string' && ext.trim() != '') { ext = ext.toLowerCase(); if(exts.indexOf(ext) >= 0) { return ext; } for(let i = 0; i < exts.length; i++) { if(ext.indexOf('.'+exts[i]) >= 0) { return exts[i]; } } } return ''; } request(options) { return new Promise((resolve, reject) => { _request(options, function(error, response, body) { if (!error && response.statusCode === 200) { resolve(body); } else { console.log(error); reject(error); } }); }); } async search(keywords) { return [ ]; } } module.exports = { SourceModel }