@6thbridge/utils 1.9.3 → 1.10.0
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/lib/actions/database-session.action.js +3 -1
- package/lib/actions/database-session.action.js.map +1 -1
- package/lib/actions/lock.action.d.ts +7 -2
- package/lib/actions/lock.action.js +21 -8
- package/lib/actions/lock.action.js.map +1 -1
- package/lib/actions/lock.action.test.js +58 -4
- package/lib/actions/lock.action.test.js.map +1 -1
- package/lib/data/rabbitmq/index.d.ts +1 -1
- package/lib/data/rabbitmq/index.js +9 -8
- package/lib/data/rabbitmq/index.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -22,7 +22,9 @@ class DatabaseSessionAction {
|
|
|
22
22
|
let session = null;
|
|
23
23
|
try {
|
|
24
24
|
if ((_a = options === null || options === void 0 ? void 0 : options.lockKey) === null || _a === void 0 ? void 0 : _a.length) {
|
|
25
|
-
lock = yield lock_action_1.LockAction.acquireMultipleLocks(context, options.lockKey,
|
|
25
|
+
lock = yield lock_action_1.LockAction.acquireMultipleLocks(context, options.lockKey, {
|
|
26
|
+
durationInSeconds: options.lockTTLInSeconds || 10
|
|
27
|
+
});
|
|
26
28
|
}
|
|
27
29
|
if (process.env.NODE_ENV !== 'production') {
|
|
28
30
|
console.log('!!! Database session is not started in non-production env');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-session.action.js","sourceRoot":"","sources":["../../src/actions/database-session.action.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,+CAA2C;AAO3C,MAAa,qBAAqB;IAGhC,MAAM,CAAC,SAAS,CAAC,KAAiB;QAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,MAAM,CAAO,eAAe,CAC1B,OAAsB,EACtB,MAAwE,EACxE,OAAsC;;;YAEtC,IAAI,IAAI,GAAgB,IAAI,CAAC;YAC7B,IAAI,OAAO,GAAyB,IAAI,CAAC;YAEzC,IAAI,CAAC;gBACH,IAAI,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,0CAAE,MAAM,EAAE,CAAC;oBAC7B,IAAI,GAAG,MAAM,wBAAU,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"database-session.action.js","sourceRoot":"","sources":["../../src/actions/database-session.action.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,+CAA2C;AAO3C,MAAa,qBAAqB;IAGhC,MAAM,CAAC,SAAS,CAAC,KAAiB;QAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,MAAM,CAAO,eAAe,CAC1B,OAAsB,EACtB,MAAwE,EACxE,OAAsC;;;YAEtC,IAAI,IAAI,GAAgB,IAAI,CAAC;YAC7B,IAAI,OAAO,GAAyB,IAAI,CAAC;YAEzC,IAAI,CAAC;gBACH,IAAI,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,0CAAE,MAAM,EAAE,CAAC;oBAC7B,IAAI,GAAG,MAAM,wBAAU,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;wBACrE,iBAAiB,EAAE,OAAO,CAAC,gBAAgB,IAAI,EAAE;qBAClD,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;oBAC1C,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;oBACzE,OAAO,MAAM,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAClC,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;gBACtD,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,CAAC;gBAC/C,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAE3B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC7C,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBAClC,OAAO,QAAQ,CAAC;YAClB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,CAAC;wBACH,MAAM,OAAO,CAAC,gBAAgB,EAAE,CAAC;oBACnC,CAAC;oBAAC,OAAO,YAAY,EAAE,CAAC;wBACtB,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,YAAqB,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC;oBAC/E,CAAC;gBACH,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;oBAAS,CAAC;gBACT,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,CAAC;wBACH,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;oBAC7B,CAAC;oBAAC,OAAO,YAAY,EAAE,CAAC;wBACtB,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,YAAqB,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC;oBAC/E,CAAC;gBACH,CAAC;gBAED,IAAI,IAAI,KAAI,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,0CAAE,MAAM,CAAA,EAAE,CAAC;oBACrC,IAAI,CAAC;wBACH,MAAM,wBAAU,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;oBACvE,CAAC;oBAAC,OAAO,YAAY,EAAE,CAAC;wBACtB,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,YAAqB,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC/G,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;KAAA;IAEO,MAAM,CAAC,QAAQ;QACrB,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAElF,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;;AAlEH,sDAmEC;AAlEgB,2BAAK,GAAsB,IAAI,CAAC"}
|
|
@@ -5,12 +5,17 @@ import type { Lock } from 'redlock';
|
|
|
5
5
|
export type LockActionConfiguration = {
|
|
6
6
|
client: Redlock;
|
|
7
7
|
};
|
|
8
|
+
export type LockOptions = {
|
|
9
|
+
durationInSeconds: number;
|
|
10
|
+
retryCount: number;
|
|
11
|
+
};
|
|
8
12
|
export declare class LockAction {
|
|
9
13
|
private static configuration;
|
|
10
14
|
static configure(redisClient: RedisClient): void;
|
|
11
|
-
static acquireMultipleLocks(context: ContextEntity, keys: string[],
|
|
12
|
-
static getLock(context: ContextEntity, key: string,
|
|
15
|
+
static acquireMultipleLocks(context: ContextEntity, keys: string[], options: Partial<LockOptions>): Promise<Lock>;
|
|
16
|
+
static getLock(context: ContextEntity, key: string, options: Partial<LockOptions>): Promise<Lock>;
|
|
13
17
|
static releaseLock(context: ContextEntity, lock: Lock, key?: string): Promise<Lock>;
|
|
14
18
|
static releaseMultipleLock(context: ContextEntity, lock: Lock, keys: string[]): Promise<Lock>;
|
|
15
19
|
private static getConfiguration;
|
|
20
|
+
private static getLockOptions;
|
|
16
21
|
}
|
|
@@ -45,6 +45,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
45
45
|
exports.LockAction = void 0;
|
|
46
46
|
const types_1 = require("../types");
|
|
47
47
|
const logger_1 = require("../logger");
|
|
48
|
+
const lodash_1 = require("lodash");
|
|
48
49
|
const redlock_1 = __importStar(require("redlock"));
|
|
49
50
|
class LockAction {
|
|
50
51
|
static configure(redisClient) {
|
|
@@ -77,19 +78,22 @@ class LockAction {
|
|
|
77
78
|
});
|
|
78
79
|
this.configuration = { client };
|
|
79
80
|
}
|
|
80
|
-
static acquireMultipleLocks(context, keys,
|
|
81
|
+
static acquireMultipleLocks(context, keys, options) {
|
|
81
82
|
return __awaiter(this, void 0, void 0, function* () {
|
|
82
83
|
const uniqueKeys = [...new Set(keys)];
|
|
83
84
|
const { client } = this.getConfiguration();
|
|
85
|
+
const updatedOptions = this.getLockOptions(options);
|
|
84
86
|
try {
|
|
85
|
-
return yield client.acquire(uniqueKeys, durationInSeconds * 1000
|
|
87
|
+
return yield client.acquire(uniqueKeys, updatedOptions.durationInSeconds * 1000, {
|
|
88
|
+
retryCount: updatedOptions.retryCount,
|
|
89
|
+
});
|
|
86
90
|
}
|
|
87
91
|
catch (error) {
|
|
88
92
|
context.logger.exception(error, {
|
|
89
93
|
logType: 'RedlockSecurityException',
|
|
90
94
|
errorCode: 'ResourceLockError',
|
|
91
95
|
keys,
|
|
92
|
-
|
|
96
|
+
options: updatedOptions
|
|
93
97
|
});
|
|
94
98
|
throw new types_1.CustomException({
|
|
95
99
|
message: `Security Exception: Oops! We are unable to get resources lock on ${keys.join('|')}. Please try again`,
|
|
@@ -99,11 +103,14 @@ class LockAction {
|
|
|
99
103
|
}
|
|
100
104
|
});
|
|
101
105
|
}
|
|
102
|
-
static getLock(context, key,
|
|
106
|
+
static getLock(context, key, options) {
|
|
103
107
|
return __awaiter(this, void 0, void 0, function* () {
|
|
104
108
|
const { client } = this.getConfiguration();
|
|
109
|
+
const updatedOptions = this.getLockOptions(options);
|
|
105
110
|
try {
|
|
106
|
-
return yield client.acquire([key], durationInSeconds * 1000
|
|
111
|
+
return yield client.acquire([key], updatedOptions.durationInSeconds * 1000, {
|
|
112
|
+
retryCount: updatedOptions.retryCount,
|
|
113
|
+
});
|
|
107
114
|
}
|
|
108
115
|
catch (error) {
|
|
109
116
|
context.logger.exception(error, {
|
|
@@ -111,7 +118,7 @@ class LockAction {
|
|
|
111
118
|
errorCode: 'ResourceLockError',
|
|
112
119
|
message: `Security Exception: Oops! We are unable to release lock for resource ${key}. Please try again`,
|
|
113
120
|
key,
|
|
114
|
-
|
|
121
|
+
options: updatedOptions,
|
|
115
122
|
status: 499,
|
|
116
123
|
});
|
|
117
124
|
throw new types_1.CustomException({
|
|
@@ -134,7 +141,7 @@ class LockAction {
|
|
|
134
141
|
key,
|
|
135
142
|
message: `Security Exception: Oops! We are unable to release lock for resource ${key}. Please try again`,
|
|
136
143
|
errorCode: 'ResourceLockError',
|
|
137
|
-
tag: '
|
|
144
|
+
tag: 'releaseLock',
|
|
138
145
|
status: 499,
|
|
139
146
|
});
|
|
140
147
|
}
|
|
@@ -153,7 +160,7 @@ class LockAction {
|
|
|
153
160
|
keys,
|
|
154
161
|
message: `Security Exception: Oops! We are unable to release lock for resources ${keys.join('|')}. Please try again`,
|
|
155
162
|
errorCode: 'ResourceLockError',
|
|
156
|
-
tag: '
|
|
163
|
+
tag: 'releaseLock',
|
|
157
164
|
status: 499,
|
|
158
165
|
});
|
|
159
166
|
}
|
|
@@ -165,6 +172,12 @@ class LockAction {
|
|
|
165
172
|
throw new Error('LockAction has not been configured');
|
|
166
173
|
return this.configuration;
|
|
167
174
|
}
|
|
175
|
+
static getLockOptions(options) {
|
|
176
|
+
return (0, lodash_1.merge)({
|
|
177
|
+
durationInSeconds: 5,
|
|
178
|
+
retryCount: 3
|
|
179
|
+
}, options);
|
|
180
|
+
}
|
|
168
181
|
}
|
|
169
182
|
exports.LockAction = LockAction;
|
|
170
183
|
LockAction.configuration = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock.action.js","sourceRoot":"","sources":["../../src/actions/lock.action.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oCAA0D;AAE1D,sCAAmC;AACnC,mDAAuD;
|
|
1
|
+
{"version":3,"file":"lock.action.js","sourceRoot":"","sources":["../../src/actions/lock.action.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oCAA0D;AAE1D,sCAAmC;AACnC,mCAA6B;AAC7B,mDAAuD;AAWvD,MAAa,UAAU;IAGrB,MAAM,CAAC,SAAS,CAAC,WAAwB;QACvC,MAAM,MAAM,GAAG,IAAI,iBAAO,CAAC,CAAC,WAAW,CAAC,iBAAiB,EAAS,CAAC,EAAE;YACnE,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,GAAG;YAChB,2BAA2B,EAAE,GAAG;SACjC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC3B,IAAI,KAAK,YAAY,6BAAmB,EAAE,CAAC;gBACzC,eAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE;oBAClC,OAAO,EAAE,uBAAuB;oBAChC,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,KAAK,EAAE,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,KAAK;iBAChD,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,eAAM,CAAC,SAAS,CAAC,KAAK,EAAE;gBACtB,GAAG,EAAE,mBAAmB;gBACxB,KAAK,EAAE,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,KAAK;gBAC3C,MAAM,EAAE,GAAG;aACZ,CAAC,CAAC;YACH,eAAM,CAAC,KAAK,CAAC,cAAc,EAAE;gBAC3B,OAAO,EAAE,gBAAgB;gBACzB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,KAAK,EAAE,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK;aACzC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,GAAG,EAAE,MAAM,EAAE,CAAC;IAClC,CAAC;IAED,MAAM,CAAO,oBAAoB,CAAC,OAAsB,EAAE,IAAc,EAAE,OAA6B;;YACrG,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YACtC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YACpD,IAAI,CAAC;gBACH,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,iBAAiB,GAAG,IAAI,EAAE;oBAC/E,UAAU,EAAE,cAAc,CAAC,UAAU;iBACtC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,KAAc,EAAE;oBACvC,OAAO,EAAE,0BAA0B;oBACnC,SAAS,EAAE,mBAAmB;oBAC9B,IAAI;oBACJ,OAAO,EAAE,cAAc;iBACxB,CAAC,CAAC;gBAEH,MAAM,IAAI,uBAAe,CAAC;oBACxB,OAAO,EAAE,oEAAoE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB;oBAC/G,SAAS,EAAE,mBAAmB;oBAC9B,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;KAAA;IAED,MAAM,CAAO,OAAO,CAAC,OAAsB,EAAE,GAAW,EAAE,OAA6B;;YACrF,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAEpD,IAAI,CAAC;gBACH,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,iBAAiB,GAAG,IAAI,EAAE;oBAC1E,UAAU,EAAE,cAAc,CAAC,UAAU;iBACtC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,KAAc,EAAE;oBACvC,OAAO,EAAE,0BAA0B;oBACnC,SAAS,EAAE,mBAAmB;oBAC9B,OAAO,EAAE,wEAAwE,GAAG,oBAAoB;oBACxG,GAAG;oBACH,OAAO,EAAE,cAAc;oBACvB,MAAM,EAAE,GAAG;iBACZ,CAAC,CAAC;gBAEH,MAAM,IAAI,uBAAe,CAAC;oBACxB,OAAO,EAAE,mEAAmE,GAAG,oBAAoB;oBACnG,SAAS,EAAE,mBAAmB;oBAC9B,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;KAAA;IAED,MAAM,CAAO,WAAW,CAAC,OAAsB,EAAE,IAAU,EAAE,GAAY;;YACvE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAExB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACvB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,KAAc,EAAE;oBACvC,OAAO,EAAE,0BAA0B;oBACnC,GAAG;oBACH,OAAO,EAAE,wEAAwE,GAAG,oBAAoB;oBACxG,SAAS,EAAE,mBAAmB;oBAC9B,GAAG,EAAE,aAAa;oBAClB,MAAM,EAAE,GAAG;iBACZ,CAAC,CAAC;YACL,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAED,MAAM,CAAO,mBAAmB,CAAC,OAAsB,EAAE,IAAU,EAAE,IAAc;;YACjF,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAExB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACvB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,KAAc,EAAE;oBACvC,OAAO,EAAE,0BAA0B;oBACnC,IAAI;oBACJ,OAAO,EAAE,yEAAyE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB;oBACpH,SAAS,EAAE,mBAAmB;oBAC9B,GAAG,EAAE,aAAa;oBAClB,MAAM,EAAE,GAAG;iBACZ,CAAC,CAAC;YACL,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAEO,MAAM,CAAC,gBAAgB;QAC7B,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAE/E,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,OAA6B;QACzD,OAAO,IAAA,cAAK,EACR;YACE,iBAAiB,EAAE,CAAC;YACpB,UAAU,EAAE,CAAC;SACd,EACD,OAAO,CACV,CAAA;IACH,CAAC;;AA3IH,gCA4IC;AA3IgB,wBAAa,GAAmC,IAAI,CAAC"}
|
|
@@ -31,24 +31,78 @@ const configureLockAction = () => {
|
|
|
31
31
|
describe('LockAction', () => {
|
|
32
32
|
afterEach(() => jest.restoreAllMocks());
|
|
33
33
|
it('requires configuration before use', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
34
|
-
yield expect(lock_action_1.LockAction.getLock(createContext(createLogger()), 'wallet:1',
|
|
34
|
+
yield expect(lock_action_1.LockAction.getLock(createContext(createLogger()), 'wallet:1', {})).rejects.toThrow('LockAction has not been configured');
|
|
35
35
|
}));
|
|
36
36
|
it('deduplicates keys and converts the TTL to milliseconds', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
37
37
|
const lock = { release: jest.fn() };
|
|
38
38
|
const acquire = configureLockAction().mockResolvedValue(lock);
|
|
39
|
-
yield expect(lock_action_1.LockAction.acquireMultipleLocks(createContext(createLogger()), ['wallet:1', 'wallet:1', 'wallet:2'], 5)).resolves.toBe(lock);
|
|
40
|
-
expect(acquire).toHaveBeenCalledWith(['wallet:1', 'wallet:2'], 5000);
|
|
39
|
+
yield expect(lock_action_1.LockAction.acquireMultipleLocks(createContext(createLogger()), ['wallet:1', 'wallet:1', 'wallet:2'], { durationInSeconds: 5 })).resolves.toBe(lock);
|
|
40
|
+
expect(acquire).toHaveBeenCalledWith(['wallet:1', 'wallet:2'], 5000, { retryCount: 3 });
|
|
41
41
|
}));
|
|
42
|
+
describe('getLockOptions through acquireMultipleLocks', () => {
|
|
43
|
+
it.each([
|
|
44
|
+
[{}, 5000, 3],
|
|
45
|
+
[{ durationInSeconds: 12 }, 12000, 3],
|
|
46
|
+
[{ retryCount: 7 }, 5000, 7],
|
|
47
|
+
[{ durationInSeconds: 12, retryCount: 7 }, 12000, 7],
|
|
48
|
+
[{ durationInSeconds: undefined, retryCount: undefined }, 5000, 3],
|
|
49
|
+
[{ retryCount: 0 }, 5000, 0],
|
|
50
|
+
[{ retryCount: -1 }, 5000, -1],
|
|
51
|
+
])('applies options %j as TTL %i ms and retryCount %i', (options, durationMs, retryCount) => __awaiter(void 0, void 0, void 0, function* () {
|
|
52
|
+
const lock = { release: jest.fn() };
|
|
53
|
+
const acquire = configureLockAction().mockResolvedValue(lock);
|
|
54
|
+
yield expect(lock_action_1.LockAction.acquireMultipleLocks(createContext(createLogger()), ['wallet:1'], options)).resolves.toBe(lock);
|
|
55
|
+
expect(acquire).toHaveBeenCalledWith(['wallet:1'], durationMs, { retryCount });
|
|
56
|
+
}));
|
|
57
|
+
it('does not mutate caller options or carry overrides into the next request', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
58
|
+
const options = Object.freeze({ retryCount: 0 });
|
|
59
|
+
const lock = { release: jest.fn() };
|
|
60
|
+
const acquire = configureLockAction().mockResolvedValue(lock);
|
|
61
|
+
const context = createContext(createLogger());
|
|
62
|
+
yield lock_action_1.LockAction.acquireMultipleLocks(context, ['wallet:1'], options);
|
|
63
|
+
yield lock_action_1.LockAction.acquireMultipleLocks(context, ['wallet:2'], {});
|
|
64
|
+
expect(options).toEqual({ retryCount: 0 });
|
|
65
|
+
expect(acquire).toHaveBeenNthCalledWith(1, ['wallet:1'], 5000, { retryCount: 0 });
|
|
66
|
+
expect(acquire).toHaveBeenNthCalledWith(2, ['wallet:2'], 5000, { retryCount: 3 });
|
|
67
|
+
}));
|
|
68
|
+
});
|
|
42
69
|
it('logs acquisition failures with the caller context logger', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
43
70
|
const error = new Error('locked');
|
|
44
71
|
const logger = createLogger();
|
|
45
72
|
configureLockAction().mockRejectedValue(error);
|
|
46
|
-
yield expect(lock_action_1.LockAction.getLock(createContext(logger), 'wallet:1', 5)).rejects.toEqual(expect.any(types_1.CustomException));
|
|
73
|
+
yield expect(lock_action_1.LockAction.getLock(createContext(logger), 'wallet:1', { durationInSeconds: 5 })).rejects.toEqual(expect.any(types_1.CustomException));
|
|
47
74
|
expect(logger.exception).toHaveBeenCalledWith(error, expect.objectContaining({
|
|
48
75
|
errorCode: 'ResourceLockError',
|
|
49
76
|
key: 'wallet:1',
|
|
50
77
|
}));
|
|
51
78
|
}));
|
|
79
|
+
describe('getLock options', () => {
|
|
80
|
+
it.each([
|
|
81
|
+
[{}, 5000, 3],
|
|
82
|
+
[{ durationInSeconds: 12 }, 12000, 3],
|
|
83
|
+
[{ retryCount: 7 }, 5000, 7],
|
|
84
|
+
[{ durationInSeconds: 12, retryCount: 7 }, 12000, 7],
|
|
85
|
+
[{ durationInSeconds: undefined, retryCount: undefined }, 5000, 3],
|
|
86
|
+
[{ retryCount: 0 }, 5000, 0],
|
|
87
|
+
[{ retryCount: -1 }, 5000, -1],
|
|
88
|
+
])('applies options %j as TTL %i ms and retryCount %i', (options, durationMs, retryCount) => __awaiter(void 0, void 0, void 0, function* () {
|
|
89
|
+
const lock = { release: jest.fn() };
|
|
90
|
+
const acquire = configureLockAction().mockResolvedValue(lock);
|
|
91
|
+
yield expect(lock_action_1.LockAction.getLock(createContext(createLogger()), 'wallet:1', options)).resolves.toBe(lock);
|
|
92
|
+
expect(acquire).toHaveBeenCalledWith(['wallet:1'], durationMs, { retryCount });
|
|
93
|
+
}));
|
|
94
|
+
it('logs the resolved options when acquisition fails', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
95
|
+
const error = new Error('locked');
|
|
96
|
+
const logger = createLogger();
|
|
97
|
+
configureLockAction().mockRejectedValue(error);
|
|
98
|
+
yield expect(lock_action_1.LockAction.getLock(createContext(logger), 'wallet:1', { retryCount: 0 }))
|
|
99
|
+
.rejects.toEqual(expect.any(types_1.CustomException));
|
|
100
|
+
expect(logger.exception).toHaveBeenCalledWith(error, expect.objectContaining({
|
|
101
|
+
key: 'wallet:1',
|
|
102
|
+
options: { durationInSeconds: 5, retryCount: 0 },
|
|
103
|
+
}));
|
|
104
|
+
}));
|
|
105
|
+
});
|
|
52
106
|
it('logs a release failure with the caller context logger and returns the lock', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
53
107
|
const error = new Error('release failed');
|
|
54
108
|
const lock = { release: jest.fn().mockRejectedValue(error) };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock.action.test.js","sourceRoot":"","sources":["../../src/actions/lock.action.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,oCAA0D;AAG1D,sDAA8B;AAE9B,+
|
|
1
|
+
{"version":3,"file":"lock.action.test.js","sourceRoot":"","sources":["../../src/actions/lock.action.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Options, AmqpConnectionManager } from 'amqp-connection-manager';
|
|
2
|
-
import { BrokerDeadLetterPayloadEntity, BrokerRetryEntity } from
|
|
2
|
+
import type { BrokerDeadLetterPayloadEntity, BrokerRetryEntity } from '../../types/broker.entity';
|
|
3
3
|
import { PublishOptions } from "amqp-connection-manager/dist/types/ChannelWrapper";
|
|
4
4
|
export type RabbitMQQueueConfig = {
|
|
5
5
|
queueName: string;
|
|
@@ -14,9 +14,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.RabbitMQClient = void 0;
|
|
16
16
|
const amqp_connection_manager_1 = __importDefault(require("amqp-connection-manager"));
|
|
17
|
-
const
|
|
17
|
+
const logger_1 = require("../../logger/logger");
|
|
18
18
|
const lodash_1 = require("lodash");
|
|
19
|
-
const
|
|
19
|
+
const context_entity_1 = require("../../types/context.entity");
|
|
20
|
+
const custom_exception_1 = require("../../types/custom.exception");
|
|
20
21
|
class RabbitMQClient {
|
|
21
22
|
static hasInstance() {
|
|
22
23
|
return RabbitMQClient.instance !== null;
|
|
@@ -95,7 +96,7 @@ class RabbitMQClient {
|
|
|
95
96
|
return this.connection;
|
|
96
97
|
}
|
|
97
98
|
catch (e) {
|
|
98
|
-
|
|
99
|
+
logger_1.logger.exception(e, { tag: 'rabbitmq' });
|
|
99
100
|
if (!this.retryCountBeforeExit) {
|
|
100
101
|
console.log('Exiting....');
|
|
101
102
|
process.exit(1);
|
|
@@ -112,7 +113,7 @@ class RabbitMQClient {
|
|
|
112
113
|
sendToQueue(queueName, payload, options) {
|
|
113
114
|
return __awaiter(this, void 0, void 0, function* () {
|
|
114
115
|
if ((0, lodash_1.isEmpty)(payload)) {
|
|
115
|
-
throw new
|
|
116
|
+
throw new custom_exception_1.CustomException({
|
|
116
117
|
message: "RabbitMQ: Empty Payload"
|
|
117
118
|
});
|
|
118
119
|
}
|
|
@@ -149,7 +150,7 @@ class RabbitMQClient {
|
|
|
149
150
|
payload: deadLetterEntity.payload,
|
|
150
151
|
stack: deadLetterEntity.stack || new Error().stack,
|
|
151
152
|
});
|
|
152
|
-
|
|
153
|
+
logger_1.logger.out(`================ Pushed to Dead Letter Queue - ${deadLetterEntity.deadLetterQueue}===============`);
|
|
153
154
|
return result;
|
|
154
155
|
});
|
|
155
156
|
}
|
|
@@ -164,10 +165,10 @@ class RabbitMQClient {
|
|
|
164
165
|
return channel.prefetch(options.prefetch);
|
|
165
166
|
},
|
|
166
167
|
});
|
|
167
|
-
const context = new
|
|
168
|
+
const context = new context_entity_1.ContextEntity();
|
|
168
169
|
context.broker = this;
|
|
169
170
|
yield channel.consume(queueName, (payload) => {
|
|
170
|
-
|
|
171
|
+
logger_1.logger.out({
|
|
171
172
|
message: payload.content.toString(),
|
|
172
173
|
queue: queueName,
|
|
173
174
|
value: payload,
|
|
@@ -200,7 +201,7 @@ class RabbitMQClient {
|
|
|
200
201
|
}
|
|
201
202
|
catch (e) {
|
|
202
203
|
console.log(e, JSON.stringify(e));
|
|
203
|
-
|
|
204
|
+
logger_1.logger.exception(e, { tag: 'rabbitmq' });
|
|
204
205
|
yield this.sendToQueue(deadLetterQueueName, JSON.parse(message), { persistent: true });
|
|
205
206
|
return args.channel.ack(args.raw);
|
|
206
207
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/data/rabbitmq/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;AACb,sFAKiC;AACjC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/data/rabbitmq/index.ts"],"names":[],"mappings":"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"}
|