48 lines
1.3 KiB
JavaScript
48 lines
1.3 KiB
JavaScript
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);
|
|
}
|
|
});
|
|
});
|
|
} |