53 lines
918 B
JavaScript
53 lines
918 B
JavaScript
|
const formatString = require('../helpers/strings').formatString
|
||
|
|
||
|
class Queries {
|
||
|
constructor () {
|
||
|
this.filter = null
|
||
|
this.value = null
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Fonction permettant de générer la query sur artist et title
|
||
|
* @param {Array} line
|
||
|
* @param {Integer} start
|
||
|
*/
|
||
|
setBaseFilter (line, start) {
|
||
|
let value = ''
|
||
|
for (let i = start; i < line.length; i += 1) {
|
||
|
value += ' ' + line[i]
|
||
|
}
|
||
|
value = value.replace(' ', '')
|
||
|
const filter = {
|
||
|
$or: [
|
||
|
{
|
||
|
artist: formatString(value)
|
||
|
},
|
||
|
{
|
||
|
title: formatString(value)
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
|
||
|
this.filter = filter
|
||
|
this.value = value
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Getter pour le filter
|
||
|
* @return {Object}
|
||
|
*/
|
||
|
getFilter () {
|
||
|
return this.filter
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Getter pour le texte filtré
|
||
|
* @return {String}
|
||
|
*/
|
||
|
getValue () {
|
||
|
return this.value
|
||
|
}
|
||
|
}
|
||
|
|
||
|
module.exports = Queries
|