redis-smq
Version:
A simple high-performance Redis message queue for Node.js.
44 lines • 1.93 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports._getMessage = _getMessage;
exports._getMessages = _getMessages;
const redis_smq_common_1 = require("redis-smq-common");
const redis_keys_js_1 = require("../../../common/redis-keys/redis-keys.js");
const index_js_1 = require("../errors/index.js");
const index_js_2 = require("../types/index.js");
const _from_message_js_1 = require("./_from-message.js");
function _getMessage(redisClient, messageId, cb) {
const { keyMessage } = redis_keys_js_1.redisKeys.getMessageKeys(messageId);
redisClient.hgetall(keyMessage, (err, reply) => {
if (err)
cb(err);
else if (!reply || !Object.keys(reply).length)
cb(new index_js_1.MessageMessageNotFoundError());
else
cb(null, (0, _from_message_js_1._fromMessage)(reply[index_js_2.EMessageProperty.MESSAGE], Number(reply[index_js_2.EMessageProperty.STATUS]), reply[index_js_2.EMessageProperty.STATE]));
});
}
function _getMessages(redisClient, messageIds, cb) {
const messages = [];
redis_smq_common_1.async.each(messageIds, (id, index, done) => {
const { keyMessage } = redis_keys_js_1.redisKeys.getMessageKeys(id);
redisClient.hgetall(keyMessage, (err, reply) => {
if (err)
done(err);
else if (!reply || !Object.keys(reply).length) {
done(new index_js_1.MessageMessageNotFoundError());
}
else {
const msg = (0, _from_message_js_1._fromMessage)(reply[index_js_2.EMessageProperty.MESSAGE], Number(reply[index_js_2.EMessageProperty.STATUS]), reply[index_js_2.EMessageProperty.STATE]);
messages.push(msg);
done();
}
});
}, (err) => {
if (err)
cb(err);
else
cb(null, messages);
});
}
//# sourceMappingURL=_get-message.js.map
;