redis-smq 8.0.0-rc.22 → 8.0.0-rc.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +38 -0
- package/dist/cjs/src/common/redis-client/scripts/lua/set-queue-rate-limit.lua +14 -0
- package/dist/cjs/src/common/redis-client/scripts/scripts.d.ts +2 -1
- package/dist/cjs/src/common/redis-client/scripts/scripts.js +4 -0
- package/dist/cjs/src/lib/consumer-groups/_/_save-consumer-group.js +28 -10
- package/dist/cjs/src/lib/consumer-groups/errors/consumer-groups-consumer-groups-not-supported.error.d.ts +4 -0
- package/dist/cjs/src/lib/consumer-groups/errors/consumer-groups-consumer-groups-not-supported.error.js +8 -0
- package/dist/cjs/src/lib/consumer-groups/errors/index.d.ts +1 -0
- package/dist/cjs/src/lib/consumer-groups/errors/index.js +3 -1
- package/dist/cjs/src/lib/message/_/_delete-message.js +1 -1
- package/dist/cjs/src/lib/message/errors/index.d.ts +1 -0
- package/dist/cjs/src/lib/message/errors/index.js +3 -1
- package/dist/cjs/src/lib/message/errors/message-message-not-deleted.error.d.ts +4 -0
- package/dist/cjs/src/lib/message/errors/message-message-not-deleted.error.js +8 -0
- package/dist/cjs/src/lib/namespace/errors/index.d.ts +1 -0
- package/dist/cjs/src/lib/namespace/errors/index.js +3 -1
- package/dist/cjs/src/lib/namespace/errors/namespace-invalid-namespace.error.d.ts +4 -0
- package/dist/cjs/src/lib/namespace/errors/namespace-invalid-namespace.error.js +8 -0
- package/dist/cjs/src/lib/namespace/namespace.js +2 -2
- package/dist/cjs/src/lib/queue/_/_parse-queue-extended-params.js +2 -2
- package/dist/cjs/src/lib/queue/_/_parse-queue-params-and-validate.d.ts +4 -0
- package/dist/cjs/src/lib/queue/_/_parse-queue-params-and-validate.js +22 -0
- package/dist/cjs/src/lib/queue/_/_queue-exists.d.ts +4 -0
- package/dist/cjs/src/lib/queue/_/_queue-exists.js +15 -0
- package/dist/cjs/src/lib/queue/queue.js +3 -9
- package/dist/cjs/src/lib/queue-messages/_/_validate-queue-extended-params.js +7 -6
- package/dist/cjs/src/lib/queue-messages/errors/index.d.ts +2 -0
- package/dist/cjs/src/lib/queue-messages/errors/index.js +5 -1
- package/dist/cjs/src/lib/queue-messages/errors/queue-messages-consumer-group-id-not-supported.error.d.ts +4 -0
- package/dist/cjs/src/lib/queue-messages/errors/queue-messages-consumer-group-id-not-supported.error.js +8 -0
- package/dist/cjs/src/lib/queue-messages/errors/queue-messages-consumer-group-id-required.error.d.ts +4 -0
- package/dist/cjs/src/lib/queue-messages/errors/queue-messages-consumer-group-id-required.error.js +8 -0
- package/dist/cjs/src/lib/queue-rate-limit/errors/index.d.ts +1 -0
- package/dist/cjs/src/lib/queue-rate-limit/errors/index.js +3 -1
- package/dist/cjs/src/lib/queue-rate-limit/errors/queue-rate-limit-queue-not-found.error.d.ts +4 -0
- package/dist/cjs/src/lib/queue-rate-limit/errors/queue-rate-limit-queue-not-found.error.js +8 -0
- package/dist/cjs/src/lib/queue-rate-limit/queue-rate-limit.js +95 -79
- package/dist/esm/src/common/redis-client/scripts/lua/set-queue-rate-limit.lua +14 -0
- package/dist/esm/src/common/redis-client/scripts/scripts.d.ts +2 -1
- package/dist/esm/src/common/redis-client/scripts/scripts.js +4 -0
- package/dist/esm/src/lib/consumer-groups/_/_save-consumer-group.js +28 -10
- package/dist/esm/src/lib/consumer-groups/errors/consumer-groups-consumer-groups-not-supported.error.d.ts +4 -0
- package/dist/esm/src/lib/consumer-groups/errors/consumer-groups-consumer-groups-not-supported.error.js +4 -0
- package/dist/esm/src/lib/consumer-groups/errors/index.d.ts +1 -0
- package/dist/esm/src/lib/consumer-groups/errors/index.js +1 -0
- package/dist/esm/src/lib/message/_/_delete-message.js +2 -2
- package/dist/esm/src/lib/message/errors/index.d.ts +1 -0
- package/dist/esm/src/lib/message/errors/index.js +1 -0
- package/dist/esm/src/lib/message/errors/message-message-not-deleted.error.d.ts +4 -0
- package/dist/esm/src/lib/message/errors/message-message-not-deleted.error.js +4 -0
- package/dist/esm/src/lib/namespace/errors/index.d.ts +1 -0
- package/dist/esm/src/lib/namespace/errors/index.js +1 -0
- package/dist/esm/src/lib/namespace/errors/namespace-invalid-namespace.error.d.ts +4 -0
- package/dist/esm/src/lib/namespace/errors/namespace-invalid-namespace.error.js +4 -0
- package/dist/esm/src/lib/namespace/namespace.js +3 -3
- package/dist/esm/src/lib/queue/_/_parse-queue-extended-params.js +2 -2
- package/dist/esm/src/lib/queue/_/_parse-queue-params-and-validate.d.ts +4 -0
- package/dist/esm/src/lib/queue/_/_parse-queue-params-and-validate.js +18 -0
- package/dist/esm/src/lib/queue/_/_queue-exists.d.ts +4 -0
- package/dist/esm/src/lib/queue/_/_queue-exists.js +11 -0
- package/dist/esm/src/lib/queue/queue.js +3 -9
- package/dist/esm/src/lib/queue-messages/_/_validate-queue-extended-params.js +4 -3
- package/dist/esm/src/lib/queue-messages/errors/index.d.ts +2 -0
- package/dist/esm/src/lib/queue-messages/errors/index.js +2 -0
- package/dist/esm/src/lib/queue-messages/errors/queue-messages-consumer-group-id-not-supported.error.d.ts +4 -0
- package/dist/esm/src/lib/queue-messages/errors/queue-messages-consumer-group-id-not-supported.error.js +4 -0
- package/dist/esm/src/lib/queue-messages/errors/queue-messages-consumer-group-id-required.error.d.ts +4 -0
- package/dist/esm/src/lib/queue-messages/errors/queue-messages-consumer-group-id-required.error.js +4 -0
- package/dist/esm/src/lib/queue-rate-limit/errors/index.d.ts +1 -0
- package/dist/esm/src/lib/queue-rate-limit/errors/index.js +1 -0
- package/dist/esm/src/lib/queue-rate-limit/errors/queue-rate-limit-queue-not-found.error.d.ts +4 -0
- package/dist/esm/src/lib/queue-rate-limit/errors/queue-rate-limit-queue-not-found.error.js +4 -0
- package/dist/esm/src/lib/queue-rate-limit/queue-rate-limit.js +96 -80
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,43 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
+
## [8.0.0-rc.24](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.23...v8.0.0-rc.24) (2024-05-15)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* **namespace:** replace generic error in getNamespaceQueues() ([aa9c8e5](https://github.com/weyoss/redis-smq/commit/aa9c8e5a125bdf1fc8e200263618693671219882))
|
|
9
|
+
* **queue-rate-limit:** always validate queue existence ([538cf78](https://github.com/weyoss/redis-smq/commit/538cf786b3b3131f137d1488d6d130323acb571d))
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Documentation
|
|
13
|
+
|
|
14
|
+
* add new error classes reference ([6c39625](https://github.com/weyoss/redis-smq/commit/6c3962589537a83fe345e349743a798e73e751a6))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Codebase Refactoring
|
|
18
|
+
|
|
19
|
+
* **queue-rate-limit:** move QueueRateLimit.set() logic to LUA ([d104a9c](https://github.com/weyoss/redis-smq/commit/d104a9c038ea321e5e18049bffefc54850d4294f))
|
|
20
|
+
* **queue:** return the original error instance ([14228ec](https://github.com/weyoss/redis-smq/commit/14228ec255776cabf2a9202078cd016f80b5f5da))
|
|
21
|
+
|
|
22
|
+
## [8.0.0-rc.23](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.22...v8.0.0-rc.23) (2024-05-10)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Bug Fixes
|
|
26
|
+
|
|
27
|
+
* use namespaced errors ([637096b](https://github.com/weyoss/redis-smq/commit/637096baf1f1e201b3dc5cf381944dab608b296d))
|
|
28
|
+
* validate queue delivery model before adding consumer groups ([eebcae7](https://github.com/weyoss/redis-smq/commit/eebcae7da0364ffd8cf731e451dbfce3ed32fd11))
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
### Documentation
|
|
32
|
+
|
|
33
|
+
* add new error classes reference ([5f7427d](https://github.com/weyoss/redis-smq/commit/5f7427d0ed100624f10e3b9cc1b615bf9ae51730))
|
|
34
|
+
* update Message API reference ([9c1fa7a](https://github.com/weyoss/redis-smq/commit/9c1fa7a129dd159ad118276fd904232d71bde508))
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
### Tests
|
|
38
|
+
|
|
39
|
+
* use QueueMessagesConsumerGroupIdRequiredError class ([efb9821](https://github.com/weyoss/redis-smq/commit/efb98215b3bb93460ef07345fc447a286474b914))
|
|
40
|
+
|
|
3
41
|
## [8.0.0-rc.22](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.21...v8.0.0-rc.22) (2024-05-04)
|
|
4
42
|
|
|
5
43
|
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
local keyQueueProperties = KEYS[1]
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
local EQueuePropertyRateLimit = ARGV[1]
|
|
6
|
+
local rateLimit = ARGV[2]
|
|
7
|
+
|
|
8
|
+
local result = redis.call("EXISTS", keyQueueProperties)
|
|
9
|
+
if result == 0 then
|
|
10
|
+
return 'QUEUE_NOT_FOUND';
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
redis.call("HSET", keyQueueProperties, EQueuePropertyRateLimit, rateLimit)
|
|
14
|
+
return 'OK'
|
|
@@ -11,6 +11,7 @@ export declare enum ELuaScriptName {
|
|
|
11
11
|
DELETE_MESSAGE = "DELETE_MESSAGE",
|
|
12
12
|
FETCH_MESSAGE_FOR_PROCESSING = "FETCH_MESSAGE_FOR_PROCESSING",
|
|
13
13
|
DELETE_CONSUMER_GROUP = "DELETE_CONSUMER_GROUP",
|
|
14
|
-
CLEANUP_OFFLINE_CONSUMER = "CLEANUP_OFFLINE_CONSUMER"
|
|
14
|
+
CLEANUP_OFFLINE_CONSUMER = "CLEANUP_OFFLINE_CONSUMER",
|
|
15
|
+
SET_QUEUE_RATE_LIMIT = "SET_QUEUE_RATE_LIMIT"
|
|
15
16
|
}
|
|
16
17
|
//# sourceMappingURL=scripts.d.ts.map
|
|
@@ -42,6 +42,7 @@ var ELuaScriptName;
|
|
|
42
42
|
ELuaScriptName["FETCH_MESSAGE_FOR_PROCESSING"] = "FETCH_MESSAGE_FOR_PROCESSING";
|
|
43
43
|
ELuaScriptName["DELETE_CONSUMER_GROUP"] = "DELETE_CONSUMER_GROUP";
|
|
44
44
|
ELuaScriptName["CLEANUP_OFFLINE_CONSUMER"] = "CLEANUP_OFFLINE_CONSUMER";
|
|
45
|
+
ELuaScriptName["SET_QUEUE_RATE_LIMIT"] = "SET_QUEUE_RATE_LIMIT";
|
|
45
46
|
})(ELuaScriptName = exports.ELuaScriptName || (exports.ELuaScriptName = {}));
|
|
46
47
|
redis_smq_common_1.RedisClientAbstract.addScript(ELuaScriptName.PUBLISH_SCHEDULED_MESSAGE, fs
|
|
47
48
|
.readFileSync((0, path_1.resolve)((0, redis_smq_common_1.getDirname)(), './lua/publish-scheduled-message.lua'))
|
|
@@ -78,4 +79,7 @@ redis_smq_common_1.RedisClientAbstract.addScript(ELuaScriptName.DELETE_CONSUMER_
|
|
|
78
79
|
redis_smq_common_1.RedisClientAbstract.addScript(ELuaScriptName.CLEANUP_OFFLINE_CONSUMER, fs
|
|
79
80
|
.readFileSync((0, path_1.resolve)((0, redis_smq_common_1.getDirname)(), './lua/cleanup-offline-consumer.lua'))
|
|
80
81
|
.toString());
|
|
82
|
+
redis_smq_common_1.RedisClientAbstract.addScript(ELuaScriptName.SET_QUEUE_RATE_LIMIT, fs
|
|
83
|
+
.readFileSync((0, path_1.resolve)((0, redis_smq_common_1.getDirname)(), './lua/set-queue-rate-limit.lua'))
|
|
84
|
+
.toString());
|
|
81
85
|
//# sourceMappingURL=scripts.js.map
|
|
@@ -1,23 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports._saveConsumerGroup = void 0;
|
|
4
|
+
const redis_smq_common_1 = require("redis-smq-common");
|
|
4
5
|
const redis_keys_js_1 = require("../../../common/redis-keys/redis-keys.js");
|
|
6
|
+
const _get_queue_properties_js_1 = require("../../queue/_/_get-queue-properties.js");
|
|
7
|
+
const index_js_1 = require("../../queue/index.js");
|
|
8
|
+
const consumer_groups_consumer_groups_not_supported_error_js_1 = require("../errors/consumer-groups-consumer-groups-not-supported.error.js");
|
|
5
9
|
const consumer_groups_invalid_group_id_error_js_1 = require("../errors/consumer-groups-invalid-group-id.error.js");
|
|
6
10
|
function _saveConsumerGroup(redisClient, eventBus, queue, groupId, cb) {
|
|
7
11
|
const gid = redis_keys_js_1.redisKeys.validateRedisKey(groupId);
|
|
8
12
|
if (gid instanceof Error)
|
|
9
13
|
cb(new consumer_groups_invalid_group_id_error_js_1.ConsumerGroupsInvalidGroupIdError());
|
|
10
14
|
else {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
redis_smq_common_1.async.waterfall([
|
|
16
|
+
(cb) => (0, _get_queue_properties_js_1._getQueueProperties)(redisClient, queue, (err, properties) => {
|
|
17
|
+
if (err)
|
|
18
|
+
cb(err);
|
|
19
|
+
else if (!properties)
|
|
20
|
+
cb(new redis_smq_common_1.CallbackEmptyReplyError());
|
|
21
|
+
else if (properties.deliveryModel !== index_js_1.EQueueDeliveryModel.PUB_SUB)
|
|
22
|
+
cb(new consumer_groups_consumer_groups_not_supported_error_js_1.ConsumerGroupsConsumerGroupsNotSupportedError());
|
|
23
|
+
else
|
|
24
|
+
cb();
|
|
25
|
+
}),
|
|
26
|
+
(cb) => {
|
|
27
|
+
const { keyQueueConsumerGroups } = redis_keys_js_1.redisKeys.getQueueKeys(queue, gid);
|
|
28
|
+
redisClient.sadd(keyQueueConsumerGroups, gid, (err, reply) => {
|
|
29
|
+
if (err)
|
|
30
|
+
cb(err);
|
|
31
|
+
else {
|
|
32
|
+
if (reply)
|
|
33
|
+
eventBus.emit('queue.consumerGroupCreated', queue, groupId);
|
|
34
|
+
cb(null, reply);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
},
|
|
38
|
+
], cb);
|
|
21
39
|
}
|
|
22
40
|
}
|
|
23
41
|
exports._saveConsumerGroup = _saveConsumerGroup;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ConsumerGroupsConsumerGroupsNotSupportedError = void 0;
|
|
4
|
+
const consumer_groups_error_js_1 = require("./consumer-groups.error.js");
|
|
5
|
+
class ConsumerGroupsConsumerGroupsNotSupportedError extends consumer_groups_error_js_1.ConsumerGroupsError {
|
|
6
|
+
}
|
|
7
|
+
exports.ConsumerGroupsConsumerGroupsNotSupportedError = ConsumerGroupsConsumerGroupsNotSupportedError;
|
|
8
|
+
//# sourceMappingURL=consumer-groups-consumer-groups-not-supported.error.js.map
|
|
@@ -2,4 +2,5 @@ export { ConsumerGroupsError } from './consumer-groups.error.js';
|
|
|
2
2
|
export { ConsumerGroupsQueueNotFoundError } from './consumer-groups-queue-not-found.error.js';
|
|
3
3
|
export { ConsumerGroupsConsumerGroupNotEmptyError } from './consumer-groups-consumer-group-not-empty.error.js';
|
|
4
4
|
export { ConsumerGroupsInvalidGroupIdError } from './consumer-groups-invalid-group-id.error.js';
|
|
5
|
+
export { ConsumerGroupsConsumerGroupsNotSupportedError } from './consumer-groups-consumer-groups-not-supported.error.js';
|
|
5
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ConsumerGroupsInvalidGroupIdError = exports.ConsumerGroupsConsumerGroupNotEmptyError = exports.ConsumerGroupsQueueNotFoundError = exports.ConsumerGroupsError = void 0;
|
|
3
|
+
exports.ConsumerGroupsConsumerGroupsNotSupportedError = exports.ConsumerGroupsInvalidGroupIdError = exports.ConsumerGroupsConsumerGroupNotEmptyError = exports.ConsumerGroupsQueueNotFoundError = exports.ConsumerGroupsError = void 0;
|
|
4
4
|
var consumer_groups_error_js_1 = require("./consumer-groups.error.js");
|
|
5
5
|
Object.defineProperty(exports, "ConsumerGroupsError", { enumerable: true, get: function () { return consumer_groups_error_js_1.ConsumerGroupsError; } });
|
|
6
6
|
var consumer_groups_queue_not_found_error_js_1 = require("./consumer-groups-queue-not-found.error.js");
|
|
@@ -9,4 +9,6 @@ var consumer_groups_consumer_group_not_empty_error_js_1 = require("./consumer-gr
|
|
|
9
9
|
Object.defineProperty(exports, "ConsumerGroupsConsumerGroupNotEmptyError", { enumerable: true, get: function () { return consumer_groups_consumer_group_not_empty_error_js_1.ConsumerGroupsConsumerGroupNotEmptyError; } });
|
|
10
10
|
var consumer_groups_invalid_group_id_error_js_1 = require("./consumer-groups-invalid-group-id.error.js");
|
|
11
11
|
Object.defineProperty(exports, "ConsumerGroupsInvalidGroupIdError", { enumerable: true, get: function () { return consumer_groups_invalid_group_id_error_js_1.ConsumerGroupsInvalidGroupIdError; } });
|
|
12
|
+
var consumer_groups_consumer_groups_not_supported_error_js_1 = require("./consumer-groups-consumer-groups-not-supported.error.js");
|
|
13
|
+
Object.defineProperty(exports, "ConsumerGroupsConsumerGroupsNotSupportedError", { enumerable: true, get: function () { return consumer_groups_consumer_groups_not_supported_error_js_1.ConsumerGroupsConsumerGroupsNotSupportedError; } });
|
|
12
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -44,7 +44,7 @@ function _deleteMessage(redisClient, messageId, cb) {
|
|
|
44
44
|
cb(new index_js_2.MessageMessageInProcessError());
|
|
45
45
|
}
|
|
46
46
|
else if (reply === 'MESSAGE_NOT_DELETED') {
|
|
47
|
-
cb(new index_js_2.
|
|
47
|
+
cb(new index_js_2.MessageMessageNotDeletedError());
|
|
48
48
|
}
|
|
49
49
|
else if (reply === 'INVALID_PARAMETERS') {
|
|
50
50
|
cb(new index_js_2.MessageInvalidParametersError());
|
|
@@ -7,4 +7,5 @@ export { MessageMessagePropertyError } from './message-message-property.error.js
|
|
|
7
7
|
export { MessageMessageInProcessError } from './message-message-in-process.error.js';
|
|
8
8
|
export { MessageInvalidParametersError } from './message-invalid-parameters.error.js';
|
|
9
9
|
export { MessageMessageNotRequeuableError } from './message-message-not-requeuable.error.js';
|
|
10
|
+
export { MessageMessageNotDeletedError } from './message-message-not-deleted.error.js';
|
|
10
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MessageMessageNotRequeuableError = exports.MessageInvalidParametersError = exports.MessageMessageInProcessError = exports.MessageMessagePropertyError = exports.MessageMessageNotFoundError = exports.MessageMessageExchangeRequiredError = exports.MessageError = exports.MessageDestinationQueueRequiredError = exports.MessageDestinationQueueAlreadySetError = void 0;
|
|
3
|
+
exports.MessageMessageNotDeletedError = exports.MessageMessageNotRequeuableError = exports.MessageInvalidParametersError = exports.MessageMessageInProcessError = exports.MessageMessagePropertyError = exports.MessageMessageNotFoundError = exports.MessageMessageExchangeRequiredError = exports.MessageError = exports.MessageDestinationQueueRequiredError = exports.MessageDestinationQueueAlreadySetError = void 0;
|
|
4
4
|
var message_destination_queue_already_set_error_js_1 = require("./message-destination-queue-already-set.error.js");
|
|
5
5
|
Object.defineProperty(exports, "MessageDestinationQueueAlreadySetError", { enumerable: true, get: function () { return message_destination_queue_already_set_error_js_1.MessageDestinationQueueAlreadySetError; } });
|
|
6
6
|
var message_destination_queue_required_error_js_1 = require("./message-destination-queue-required.error.js");
|
|
@@ -19,4 +19,6 @@ var message_invalid_parameters_error_js_1 = require("./message-invalid-parameter
|
|
|
19
19
|
Object.defineProperty(exports, "MessageInvalidParametersError", { enumerable: true, get: function () { return message_invalid_parameters_error_js_1.MessageInvalidParametersError; } });
|
|
20
20
|
var message_message_not_requeuable_error_js_1 = require("./message-message-not-requeuable.error.js");
|
|
21
21
|
Object.defineProperty(exports, "MessageMessageNotRequeuableError", { enumerable: true, get: function () { return message_message_not_requeuable_error_js_1.MessageMessageNotRequeuableError; } });
|
|
22
|
+
var message_message_not_deleted_error_js_1 = require("./message-message-not-deleted.error.js");
|
|
23
|
+
Object.defineProperty(exports, "MessageMessageNotDeletedError", { enumerable: true, get: function () { return message_message_not_deleted_error_js_1.MessageMessageNotDeletedError; } });
|
|
22
24
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MessageMessageNotDeletedError = void 0;
|
|
4
|
+
const message_error_js_1 = require("./message.error.js");
|
|
5
|
+
class MessageMessageNotDeletedError extends message_error_js_1.MessageError {
|
|
6
|
+
}
|
|
7
|
+
exports.MessageMessageNotDeletedError = MessageMessageNotDeletedError;
|
|
8
|
+
//# sourceMappingURL=message-message-not-deleted.error.js.map
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NamespaceError = exports.NamespaceNotFoundError = void 0;
|
|
3
|
+
exports.NamespaceInvalidNamespaceError = exports.NamespaceError = exports.NamespaceNotFoundError = void 0;
|
|
4
4
|
var namespace_not_found_error_js_1 = require("./namespace-not-found.error.js");
|
|
5
5
|
Object.defineProperty(exports, "NamespaceNotFoundError", { enumerable: true, get: function () { return namespace_not_found_error_js_1.NamespaceNotFoundError; } });
|
|
6
6
|
var namespace_error_js_1 = require("./namespace.error.js");
|
|
7
7
|
Object.defineProperty(exports, "NamespaceError", { enumerable: true, get: function () { return namespace_error_js_1.NamespaceError; } });
|
|
8
|
+
var namespace_invalid_namespace_error_js_1 = require("./namespace-invalid-namespace.error.js");
|
|
9
|
+
Object.defineProperty(exports, "NamespaceInvalidNamespaceError", { enumerable: true, get: function () { return namespace_invalid_namespace_error_js_1.NamespaceInvalidNamespaceError; } });
|
|
8
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NamespaceInvalidNamespaceError = void 0;
|
|
4
|
+
const namespace_error_js_1 = require("./namespace.error.js");
|
|
5
|
+
class NamespaceInvalidNamespaceError extends namespace_error_js_1.NamespaceError {
|
|
6
|
+
}
|
|
7
|
+
exports.NamespaceInvalidNamespaceError = NamespaceInvalidNamespaceError;
|
|
8
|
+
//# sourceMappingURL=namespace-invalid-namespace.error.js.map
|
|
@@ -39,7 +39,7 @@ class Namespace {
|
|
|
39
39
|
getNamespaceQueues(namespace, cb) {
|
|
40
40
|
const ns = redis_keys_js_1.redisKeys.validateRedisKey(namespace);
|
|
41
41
|
if (ns instanceof Error)
|
|
42
|
-
cb(
|
|
42
|
+
cb(new index_js_2.NamespaceInvalidNamespaceError());
|
|
43
43
|
else {
|
|
44
44
|
this.redisClient.getSetInstance((err, client) => {
|
|
45
45
|
if (err)
|
|
@@ -80,7 +80,7 @@ class Namespace {
|
|
|
80
80
|
delete(namespace, cb) {
|
|
81
81
|
const ns = redis_keys_js_1.redisKeys.validateRedisKey(namespace);
|
|
82
82
|
if (ns instanceof Error)
|
|
83
|
-
cb(
|
|
83
|
+
cb(new index_js_2.NamespaceInvalidNamespaceError());
|
|
84
84
|
else {
|
|
85
85
|
this.redisClient.getSetInstance((err, client) => {
|
|
86
86
|
if (err)
|
|
@@ -14,7 +14,7 @@ function _parseQueueExtendedParams(args) {
|
|
|
14
14
|
if (typeof args === 'string') {
|
|
15
15
|
const queueParams = (0, _parse_queue_params_js_1._parseQueueParams)(args);
|
|
16
16
|
if (queueParams instanceof Error)
|
|
17
|
-
return
|
|
17
|
+
return queueParams;
|
|
18
18
|
return {
|
|
19
19
|
queueParams,
|
|
20
20
|
groupId: null,
|
|
@@ -23,7 +23,7 @@ function _parseQueueExtendedParams(args) {
|
|
|
23
23
|
if (isQueueParams(args)) {
|
|
24
24
|
const queueParams = (0, _parse_queue_params_js_1._parseQueueParams)(args);
|
|
25
25
|
if (queueParams instanceof Error)
|
|
26
|
-
return
|
|
26
|
+
return queueParams;
|
|
27
27
|
return {
|
|
28
28
|
queueParams,
|
|
29
29
|
groupId: null,
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ICallback, IRedisClient } from 'redis-smq-common';
|
|
2
|
+
import { IQueueParams } from '../types/queue.js';
|
|
3
|
+
export declare function _parseQueueParamsAndValidate(redisClient: IRedisClient, queue: string | IQueueParams, cb: ICallback<IQueueParams>): void;
|
|
4
|
+
//# sourceMappingURL=_parse-queue-params-and-validate.d.ts.map
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports._parseQueueParamsAndValidate = void 0;
|
|
4
|
+
const queue_queue_not_found_error_js_1 = require("../errors/queue-queue-not-found.error.js");
|
|
5
|
+
const _parse_queue_params_js_1 = require("./_parse-queue-params.js");
|
|
6
|
+
const _queue_exists_js_1 = require("./_queue-exists.js");
|
|
7
|
+
function _parseQueueParamsAndValidate(redisClient, queue, cb) {
|
|
8
|
+
const queueParams = (0, _parse_queue_params_js_1._parseQueueParams)(queue);
|
|
9
|
+
if (queueParams instanceof Error)
|
|
10
|
+
cb(queueParams);
|
|
11
|
+
else
|
|
12
|
+
(0, _queue_exists_js_1._queueExists)(redisClient, queueParams, (err, reply) => {
|
|
13
|
+
if (err)
|
|
14
|
+
cb(err);
|
|
15
|
+
else if (!reply)
|
|
16
|
+
cb(new queue_queue_not_found_error_js_1.QueueQueueNotFoundError());
|
|
17
|
+
else
|
|
18
|
+
cb(null, queueParams);
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
exports._parseQueueParamsAndValidate = _parseQueueParamsAndValidate;
|
|
22
|
+
//# sourceMappingURL=_parse-queue-params-and-validate.js.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ICallback, IRedisClient } from 'redis-smq-common';
|
|
2
|
+
import { IQueueParams } from '../types/queue.js';
|
|
3
|
+
export declare function _queueExists(redisClient: IRedisClient, queue: IQueueParams, cb: ICallback<boolean>): void;
|
|
4
|
+
//# sourceMappingURL=_queue-exists.d.ts.map
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports._queueExists = void 0;
|
|
4
|
+
const redis_keys_js_1 = require("../../../common/redis-keys/redis-keys.js");
|
|
5
|
+
function _queueExists(redisClient, queue, cb) {
|
|
6
|
+
const { keyQueues } = redis_keys_js_1.redisKeys.getMainKeys();
|
|
7
|
+
redisClient.sismember(keyQueues, JSON.stringify(queue), (err, reply) => {
|
|
8
|
+
if (err)
|
|
9
|
+
cb(err);
|
|
10
|
+
else
|
|
11
|
+
cb(null, !!reply);
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
exports._queueExists = _queueExists;
|
|
15
|
+
//# sourceMappingURL=_queue-exists.js.map
|
|
@@ -11,6 +11,7 @@ const _delete_queue_js_1 = require("./_/_delete-queue.js");
|
|
|
11
11
|
const _get_queue_properties_js_1 = require("./_/_get-queue-properties.js");
|
|
12
12
|
const _get_queues_js_1 = require("./_/_get-queues.js");
|
|
13
13
|
const _parse_queue_params_js_1 = require("./_/_parse-queue-params.js");
|
|
14
|
+
const _queue_exists_js_1 = require("./_/_queue-exists.js");
|
|
14
15
|
const index_js_3 = require("./errors/index.js");
|
|
15
16
|
const index_js_4 = require("./types/index.js");
|
|
16
17
|
class Queue {
|
|
@@ -85,15 +86,8 @@ class Queue {
|
|
|
85
86
|
cb(err);
|
|
86
87
|
else if (!client)
|
|
87
88
|
cb(new redis_smq_common_1.CallbackEmptyReplyError());
|
|
88
|
-
else
|
|
89
|
-
|
|
90
|
-
client.sismember(keyQueues, JSON.stringify(queueParams), (err, reply) => {
|
|
91
|
-
if (err)
|
|
92
|
-
cb(err);
|
|
93
|
-
else
|
|
94
|
-
cb(null, !!reply);
|
|
95
|
-
});
|
|
96
|
-
}
|
|
89
|
+
else
|
|
90
|
+
(0, _queue_exists_js_1._queueExists)(client, queueParams, cb);
|
|
97
91
|
});
|
|
98
92
|
}
|
|
99
93
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports._validateQueueExtendedParams = void 0;
|
|
4
|
-
const index_js_1 = require("../../consumer/index.js");
|
|
5
4
|
const _get_queue_properties_js_1 = require("../../queue/_/_get-queue-properties.js");
|
|
6
|
-
const
|
|
5
|
+
const index_js_1 = require("../../queue/index.js");
|
|
6
|
+
const queue_messages_consumer_group_id_not_supported_error_js_1 = require("../errors/queue-messages-consumer-group-id-not-supported.error.js");
|
|
7
|
+
const queue_messages_consumer_group_id_required_error_js_1 = require("../errors/queue-messages-consumer-group-id-required.error.js");
|
|
7
8
|
function _validateQueueExtendedParams(redisClient, queue, requireGroupId, cb) {
|
|
8
9
|
const { queueParams, groupId } = queue;
|
|
9
10
|
(0, _get_queue_properties_js_1._getQueueProperties)(redisClient, queueParams, (err, properties) => {
|
|
@@ -11,13 +12,13 @@ function _validateQueueExtendedParams(redisClient, queue, requireGroupId, cb) {
|
|
|
11
12
|
cb(err);
|
|
12
13
|
else {
|
|
13
14
|
if (requireGroupId &&
|
|
14
|
-
(properties === null || properties === void 0 ? void 0 : properties.deliveryModel) ===
|
|
15
|
+
(properties === null || properties === void 0 ? void 0 : properties.deliveryModel) === index_js_1.EQueueDeliveryModel.PUB_SUB &&
|
|
15
16
|
!groupId) {
|
|
16
|
-
cb(new
|
|
17
|
+
cb(new queue_messages_consumer_group_id_required_error_js_1.QueueMessagesConsumerGroupIdRequiredError());
|
|
17
18
|
}
|
|
18
|
-
else if ((properties === null || properties === void 0 ? void 0 : properties.deliveryModel) ===
|
|
19
|
+
else if ((properties === null || properties === void 0 ? void 0 : properties.deliveryModel) === index_js_1.EQueueDeliveryModel.POINT_TO_POINT &&
|
|
19
20
|
groupId) {
|
|
20
|
-
cb(new
|
|
21
|
+
cb(new queue_messages_consumer_group_id_not_supported_error_js_1.QueueMessagesConsumerGroupIdNotSupportedError());
|
|
21
22
|
}
|
|
22
23
|
else
|
|
23
24
|
cb();
|
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
export { QueueMessagesError } from './queue-messages.error.js';
|
|
2
|
+
export { QueueMessagesConsumerGroupIdRequiredError } from './queue-messages-consumer-group-id-required.error.js';
|
|
3
|
+
export { QueueMessagesConsumerGroupIdNotSupportedError } from './queue-messages-consumer-group-id-not-supported.error.js';
|
|
2
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.QueueMessagesError = void 0;
|
|
3
|
+
exports.QueueMessagesConsumerGroupIdNotSupportedError = exports.QueueMessagesConsumerGroupIdRequiredError = exports.QueueMessagesError = void 0;
|
|
4
4
|
var queue_messages_error_js_1 = require("./queue-messages.error.js");
|
|
5
5
|
Object.defineProperty(exports, "QueueMessagesError", { enumerable: true, get: function () { return queue_messages_error_js_1.QueueMessagesError; } });
|
|
6
|
+
var queue_messages_consumer_group_id_required_error_js_1 = require("./queue-messages-consumer-group-id-required.error.js");
|
|
7
|
+
Object.defineProperty(exports, "QueueMessagesConsumerGroupIdRequiredError", { enumerable: true, get: function () { return queue_messages_consumer_group_id_required_error_js_1.QueueMessagesConsumerGroupIdRequiredError; } });
|
|
8
|
+
var queue_messages_consumer_group_id_not_supported_error_js_1 = require("./queue-messages-consumer-group-id-not-supported.error.js");
|
|
9
|
+
Object.defineProperty(exports, "QueueMessagesConsumerGroupIdNotSupportedError", { enumerable: true, get: function () { return queue_messages_consumer_group_id_not_supported_error_js_1.QueueMessagesConsumerGroupIdNotSupportedError; } });
|
|
6
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.QueueMessagesConsumerGroupIdNotSupportedError = void 0;
|
|
4
|
+
const queue_messages_error_js_1 = require("./queue-messages.error.js");
|
|
5
|
+
class QueueMessagesConsumerGroupIdNotSupportedError extends queue_messages_error_js_1.QueueMessagesError {
|
|
6
|
+
}
|
|
7
|
+
exports.QueueMessagesConsumerGroupIdNotSupportedError = QueueMessagesConsumerGroupIdNotSupportedError;
|
|
8
|
+
//# sourceMappingURL=queue-messages-consumer-group-id-not-supported.error.js.map
|
package/dist/cjs/src/lib/queue-messages/errors/queue-messages-consumer-group-id-required.error.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.QueueMessagesConsumerGroupIdRequiredError = void 0;
|
|
4
|
+
const queue_messages_error_js_1 = require("./queue-messages.error.js");
|
|
5
|
+
class QueueMessagesConsumerGroupIdRequiredError extends queue_messages_error_js_1.QueueMessagesError {
|
|
6
|
+
}
|
|
7
|
+
exports.QueueMessagesConsumerGroupIdRequiredError = QueueMessagesConsumerGroupIdRequiredError;
|
|
8
|
+
//# sourceMappingURL=queue-messages-consumer-group-id-required.error.js.map
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { QueueRateLimitError } from './queue-rate-limit.error.js';
|
|
2
2
|
export { QueueRateLimitInvalidIntervalError } from './queue-rate-limit-invalid-interval.error.js';
|
|
3
3
|
export { QueueRateLimitInvalidLimitError } from './queue-rate-limit-invalid-limit.error.js';
|
|
4
|
+
export { QueueRateLimitQueueNotFoundError } from './queue-rate-limit-queue-not-found.error.js';
|
|
4
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.QueueRateLimitInvalidLimitError = exports.QueueRateLimitInvalidIntervalError = exports.QueueRateLimitError = void 0;
|
|
3
|
+
exports.QueueRateLimitQueueNotFoundError = exports.QueueRateLimitInvalidLimitError = exports.QueueRateLimitInvalidIntervalError = exports.QueueRateLimitError = void 0;
|
|
4
4
|
var queue_rate_limit_error_js_1 = require("./queue-rate-limit.error.js");
|
|
5
5
|
Object.defineProperty(exports, "QueueRateLimitError", { enumerable: true, get: function () { return queue_rate_limit_error_js_1.QueueRateLimitError; } });
|
|
6
6
|
var queue_rate_limit_invalid_interval_error_js_1 = require("./queue-rate-limit-invalid-interval.error.js");
|
|
7
7
|
Object.defineProperty(exports, "QueueRateLimitInvalidIntervalError", { enumerable: true, get: function () { return queue_rate_limit_invalid_interval_error_js_1.QueueRateLimitInvalidIntervalError; } });
|
|
8
8
|
var queue_rate_limit_invalid_limit_error_js_1 = require("./queue-rate-limit-invalid-limit.error.js");
|
|
9
9
|
Object.defineProperty(exports, "QueueRateLimitInvalidLimitError", { enumerable: true, get: function () { return queue_rate_limit_invalid_limit_error_js_1.QueueRateLimitInvalidLimitError; } });
|
|
10
|
+
var queue_rate_limit_queue_not_found_error_js_1 = require("./queue-rate-limit-queue-not-found.error.js");
|
|
11
|
+
Object.defineProperty(exports, "QueueRateLimitQueueNotFoundError", { enumerable: true, get: function () { return queue_rate_limit_queue_not_found_error_js_1.QueueRateLimitQueueNotFoundError; } });
|
|
10
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.QueueRateLimitQueueNotFoundError = void 0;
|
|
4
|
+
const queue_rate_limit_error_js_1 = require("./queue-rate-limit.error.js");
|
|
5
|
+
class QueueRateLimitQueueNotFoundError extends queue_rate_limit_error_js_1.QueueRateLimitError {
|
|
6
|
+
}
|
|
7
|
+
exports.QueueRateLimitQueueNotFoundError = QueueRateLimitQueueNotFoundError;
|
|
8
|
+
//# sourceMappingURL=queue-rate-limit-queue-not-found.error.js.map
|