UNPKG

redis-smq

Version:

A high-performance, reliable, and scalable message queue for Node.js.

38 lines 1.57 kB
import { async } from 'redis-smq-common'; import { redisKeys } from '../../../common/redis/redis-keys/redis-keys.js'; import { _getPaginationParameters } from './_get-pagination-parameters.js'; export function _getMessageIds(parsedParams, page, pageSize, redisKey, messageStorage, logger, cb) { logger.debug(`Getting message IDs for ${parsedParams.queueParams.name}, page ${page}, size ${pageSize}`); const keys = redisKeys.getQueueKeys(parsedParams.queueParams.ns, parsedParams.queueParams.name, parsedParams.groupId); const keyVal = keys[redisKey]; async.waterfall([ (next) => { messageStorage.count(keyVal, next); }, (totalItems, next) => { if (totalItems === 0) { return next(null, { totalItems, items: [] }); } const pageInfo = _getPaginationParameters(page, totalItems, pageSize); messageStorage.fetchItems(keyVal, { page: pageInfo.currentPage, pageSize: pageInfo.pageSize, offsetStart: pageInfo.offsetStart, offsetEnd: pageInfo.offsetEnd, }, (err, items) => { if (err) return next(err); next(null, { totalItems, items: items ?? [], }); }); }, ], (err, result) => { if (err) { logger.error(`Error in _getMessageIds: ${err.message}`); } cb(err, result); }); } //# sourceMappingURL=_get-message-ids.js.map