add type to dbal

This commit is contained in:
Barış Soner Uşaklı
2017-10-20 13:51:02 -04:00
parent 92684757c6
commit 108f84fd19
3 changed files with 93 additions and 0 deletions

View File

@@ -79,6 +79,28 @@ module.exports = function (db, module) {
});
};
module.type = function (key, callback) {
db.collection('objects').findOne({ _key: key }, function (err, data) {
if (err) {
return callback(err);
}
if (!data) {
return callback(null, null);
}
var keys = Object.keys(data);
if (keys.length === 4 && data.hasOwnProperty('_key') && data.hasOwnProperty('score') && data.hasOwnProperty('value')) {
return callback(null, 'zset');
} else if (keys.length === 3 && data.hasOwnProperty('_key') && data.hasOwnProperty('members')) {
return callback(null, 'set');
} else if (keys.length === 3 && data.hasOwnProperty('_key') && data.hasOwnProperty('array')) {
return callback(null, 'list');
} else if (keys.length === 3 && data.hasOwnProperty('_key') && data.hasOwnProperty('value')) {
return callback(null, 'string');
}
callback(null, 'hash');
});
};
module.expire = function (key, seconds, callback) {
module.expireAt(key, Math.round(Date.now() / 1000) + seconds, callback);
};