redis-smq
Version:
A high-performance, reliable, and scalable message queue for Node.js.
24 lines • 1.04 kB
JavaScript
import { _getQueueProperties } from '../../../queue-manager/_/_get-queue-properties.js';
import { EQueueDeliveryModel, } from '../../../queue-manager/index.js';
import { ConsumerGroupRequiredError, ConsumerGroupsNotSupportedError, } from '../../../errors/index.js';
export function _validateQueueExtendedParams(redisClient, queue, requireGroupId, cb) {
const { queueParams, groupId } = queue;
_getQueueProperties(redisClient, queueParams, (err, properties) => {
if (err)
cb(err);
else {
if (requireGroupId &&
properties?.deliveryModel === EQueueDeliveryModel.PUB_SUB &&
!groupId) {
cb(new ConsumerGroupRequiredError());
}
else if (properties?.deliveryModel === EQueueDeliveryModel.POINT_TO_POINT &&
groupId) {
cb(new ConsumerGroupsNotSupportedError());
}
else
cb();
}
});
}
//# sourceMappingURL=_validate-queue-extended-params.js.map