var datetime = require('node-datetime'); module.exports = { insertTodayDomains : function (db, domains){ return new Promise((resolve,reject)=>{ db.collection('today').insert(domains, ()=>{ resolve(); }); }); }, getYesterdayDomains : function (db){ return getArrayFromDatabase(db, 'yesterday'); }, getExpiredDomains : function (db){ return getArrayFromDatabase(db, 'expired_list'); }, cleanExpired : function (db, domain){ return new Promise((resolve,reject)=>{ db.collection('today').findOne({domainName:domain.domainName}, (err,result)=>{ if (err){ reject(err); }else{ if ((result===null) &&(datetime.create().format('Y-m-d')===domain.expirationDate)){ db.collection('expired_list').insert(domain); } resolve(); } }); }); } }; const getArrayFromDatabase = function(db, collection){ return new Promise((resolve,reject)=>{ db.collection(collection).find({}).toArray((err,result)=>{ if (err){ reject('Error reading collection'); }else{ resolve(result); } }); }); }