Je teste le cas si mon objet était vide, donc j'ai intentionnellement fait un requête qui n'a aucune correspondance dans la base de données, ce qui devrait évaluer mon sinon si mais je n'en reçois pas réponse dans console.
Qu'est-ce que je fais mal?
user.loginUser = (jUserData, res) => {
var aData = [
jUserData.email,
jUserData.mobile_number,
0
]
var sQuery = 'SELECT * FROM users WHERE email = ? AND mobile_number = ? AND active = ?'
function isEmpty(obj) {
for (var key in obj) {
if (obj.hasOwnProperty(key))
return false;
}
return true;
}
db.each(sQuery, aData, function (err, jRow) {
console.log(jRow)
if (err) {
console.log('BAD, user not logged in')
return res(true, {
status: "INTERNAL SERVER ERROR"
})
}
if (isEmpty(jRow)) {
console.log('NOT FOUND')
return res(true, {
status: "NOT FOUND"
})
}
console.log('GREAT, user logged in')
return res(false, jRow)
console.log(jRow)
})
}
Vous pouvez utiliser Object.keys()
ou une autre fonction Object
, ce code peut vous aider
function isEmpty(obj) {
return !obj || Object.keys(obj).length === 0;
}