@yolo-croket-dev/core 1.7.8 → 1.7.10
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/interceptors/logging-service.interceptor.js +3 -2
- package/interceptors/rpc.interceptor.js +23 -12
- package/interfaces/exception.js +3 -3
- package/interfaces/http.d.ts +1 -0
- package/modules/graceful-shutdown/graceful-shutdown.module.js +2 -2
- package/modules/graceful-shutdown/graceful-shutdown.rmq.d.ts +1 -1
- package/modules/graceful-shutdown/graceful-shutdown.service.js +2 -2
- package/modules/redis.module.js +2 -2
- package/package.json +2 -2
- package/pipes/rpc-validation.pipe.js +2 -2
|
@@ -105,6 +105,7 @@ let LoggingServiceInterceptor = class LoggingServiceInterceptor {
|
|
|
105
105
|
from: pastFrom,
|
|
106
106
|
froms: pastFroms,
|
|
107
107
|
},
|
|
108
|
+
startedAt: Date.now(),
|
|
108
109
|
});
|
|
109
110
|
const currentSpan = dd_trace_1.default.scope().active();
|
|
110
111
|
let loggingSpan = null;
|
|
@@ -187,7 +188,7 @@ let LoggingServiceInterceptor = class LoggingServiceInterceptor {
|
|
|
187
188
|
}));
|
|
188
189
|
}
|
|
189
190
|
};
|
|
190
|
-
|
|
191
|
-
exports.LoggingServiceInterceptor = LoggingServiceInterceptor = __decorate([
|
|
191
|
+
LoggingServiceInterceptor = __decorate([
|
|
192
192
|
(0, common_1.Injectable)()
|
|
193
193
|
], LoggingServiceInterceptor);
|
|
194
|
+
exports.LoggingServiceInterceptor = LoggingServiceInterceptor;
|
|
@@ -135,7 +135,7 @@ let RPCInterceptor = class RPCInterceptor {
|
|
|
135
135
|
// return data;
|
|
136
136
|
// }
|
|
137
137
|
async intercept(context, next) {
|
|
138
|
-
var _a, _b;
|
|
138
|
+
var _a, _b, _c;
|
|
139
139
|
const options = this.reflector.get('rpcInterceptorScope', context.getHandler());
|
|
140
140
|
const args = context.getArgs();
|
|
141
141
|
const arg = args[0];
|
|
@@ -149,6 +149,7 @@ let RPCInterceptor = class RPCInterceptor {
|
|
|
149
149
|
const isAdmin = content.data.param ? content.data.param.isAdmin : false;
|
|
150
150
|
const reDeliveryCount = Number(message.properties.headers['x-delivery-count']) || 0; /** 몇번 재전달되었는지 */
|
|
151
151
|
const staticRetryCount = Number(options === null || options === void 0 ? void 0 : options.messageRetryCount) || 0; /** 최대 재시도 갯수 */
|
|
152
|
+
const isRedelivery = message.fields.redelivered;
|
|
152
153
|
const method = content.pattern;
|
|
153
154
|
const correlationId = message.properties.correlationId;
|
|
154
155
|
const execInterceptor = {
|
|
@@ -167,14 +168,24 @@ let RPCInterceptor = class RPCInterceptor {
|
|
|
167
168
|
return new rxjs_1.Observable();
|
|
168
169
|
}
|
|
169
170
|
if (!staticRetryCount && reDeliveryCount > 0) {
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
})
|
|
171
|
+
msaLogger.debug('RETRY_COUNT_ZERO_OR_NO_RETRY debug param', { traceId: ((_b = content.data.param) === null || _b === void 0 ? void 0 : _b.traceId) || 'RETRY_COUNT_ZERO_OR_NO_RETRY' }, {
|
|
172
|
+
properties: message.properties,
|
|
173
|
+
fields: message.fields,
|
|
174
|
+
time: Date.now(),
|
|
175
|
+
isRedelivery,
|
|
176
|
+
reDeliveryCount,
|
|
177
|
+
staticRetryCount,
|
|
178
|
+
});
|
|
179
|
+
if (isRedelivery) {
|
|
180
|
+
channel.sendToQueue(message.properties.replyTo, Buffer.from(JSON.stringify({
|
|
181
|
+
isError: true,
|
|
182
|
+
message: 'RETRY_COUNT_ZERO_OR_NO_RETRY',
|
|
183
|
+
status: 500,
|
|
184
|
+
duration: Date.now() - now,
|
|
185
|
+
arg,
|
|
186
|
+
timestamp: new Date(),
|
|
187
|
+
})), { correlationId: message.properties.correlationId });
|
|
188
|
+
}
|
|
178
189
|
channel.nack(message, false, false); /** 아마도 기본 30분 타임아웃이 지나고 새로 들어오면 발생할 예정, DLQ로 이동 */
|
|
179
190
|
message.properties.replyTo = undefined; /** replyTo가 존재하면 sendToQueue가 호출되므로, 삭제해주기 */
|
|
180
191
|
return new rxjs_1.Observable();
|
|
@@ -246,7 +257,7 @@ let RPCInterceptor = class RPCInterceptor {
|
|
|
246
257
|
};
|
|
247
258
|
localErrorProcessor = localErrorProcessor.bind(this);
|
|
248
259
|
/** 파일 객체 처리 */
|
|
249
|
-
(0, functions_1.reWriteFileValue)((
|
|
260
|
+
(0, functions_1.reWriteFileValue)((_c = content === null || content === void 0 ? void 0 : content.data) === null || _c === void 0 ? void 0 : _c.file);
|
|
250
261
|
if (options) {
|
|
251
262
|
if (options.maxLengthKeys && options.maxLengthKeys.length) {
|
|
252
263
|
for (const key of options.maxLengthKeys) {
|
|
@@ -304,9 +315,9 @@ let RPCInterceptor = class RPCInterceptor {
|
|
|
304
315
|
}));
|
|
305
316
|
}
|
|
306
317
|
};
|
|
307
|
-
|
|
308
|
-
exports.RPCInterceptor = RPCInterceptor = __decorate([
|
|
318
|
+
RPCInterceptor = __decorate([
|
|
309
319
|
(0, common_1.Injectable)(),
|
|
310
320
|
__metadata("design:paramtypes", [core_1.Reflector,
|
|
311
321
|
graceful_shutdown_service_1.GracefulShutdownService])
|
|
312
322
|
], RPCInterceptor);
|
|
323
|
+
exports.RPCInterceptor = RPCInterceptor;
|
package/interfaces/exception.js
CHANGED
|
@@ -18,10 +18,9 @@ var ErrActionTypeEnum;
|
|
|
18
18
|
ErrActionTypeEnum["LEGACY_SHOW_TOAST"] = "LEGACY_SHOW_TOAST";
|
|
19
19
|
ErrActionTypeEnum["FORCE_UPDATE"] = "FORCE_UPDATE";
|
|
20
20
|
ErrActionTypeEnum["UPDATE_ACCESS_TOKEN"] = "UPDATE_ACCESS_TOKEN";
|
|
21
|
-
})(ErrActionTypeEnum
|
|
21
|
+
})(ErrActionTypeEnum = exports.ErrActionTypeEnum || (exports.ErrActionTypeEnum = {}));
|
|
22
22
|
class ErrAction {
|
|
23
23
|
}
|
|
24
|
-
exports.ErrAction = ErrAction;
|
|
25
24
|
__decorate([
|
|
26
25
|
(0, swagger_1.ApiProperty)({
|
|
27
26
|
description: '액션 타입',
|
|
@@ -58,9 +57,9 @@ __decorate([
|
|
|
58
57
|
}),
|
|
59
58
|
__metadata("design:type", String)
|
|
60
59
|
], ErrAction.prototype, "webViewUrl", void 0);
|
|
60
|
+
exports.ErrAction = ErrAction;
|
|
61
61
|
class ErrInfo {
|
|
62
62
|
}
|
|
63
|
-
exports.ErrInfo = ErrInfo;
|
|
64
63
|
__decorate([
|
|
65
64
|
(0, swagger_1.ApiProperty)({
|
|
66
65
|
description: '에러 종류 식별자',
|
|
@@ -82,3 +81,4 @@ __decorate([
|
|
|
82
81
|
}),
|
|
83
82
|
__metadata("design:type", ErrAction)
|
|
84
83
|
], ErrInfo.prototype, "action", void 0);
|
|
84
|
+
exports.ErrInfo = ErrInfo;
|
package/interfaces/http.d.ts
CHANGED
|
@@ -11,11 +11,11 @@ const common_1 = require("@nestjs/common");
|
|
|
11
11
|
const graceful_shutdown_service_1 = require("./graceful-shutdown.service");
|
|
12
12
|
let GracefulShutdownModule = class GracefulShutdownModule {
|
|
13
13
|
};
|
|
14
|
-
|
|
15
|
-
exports.GracefulShutdownModule = GracefulShutdownModule = __decorate([
|
|
14
|
+
GracefulShutdownModule = __decorate([
|
|
16
15
|
(0, common_1.Global)(),
|
|
17
16
|
(0, common_1.Module)({
|
|
18
17
|
providers: [graceful_shutdown_service_1.GracefulShutdownService],
|
|
19
18
|
exports: [graceful_shutdown_service_1.GracefulShutdownService],
|
|
20
19
|
})
|
|
21
20
|
], GracefulShutdownModule);
|
|
21
|
+
exports.GracefulShutdownModule = GracefulShutdownModule;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { RmqOptions, ServerRMQ } from '@nestjs/microservices';
|
|
2
2
|
import { Channel } from 'amqp-connection-manager';
|
|
3
3
|
import { ConsumeMessage } from 'amqplib';
|
|
4
|
-
export type GracefulRmqOptions = RmqOptions['options'] & {
|
|
4
|
+
export declare type GracefulRmqOptions = RmqOptions['options'] & {
|
|
5
5
|
waitingEndingHandlersTimeoutMs?: number;
|
|
6
6
|
waitingEndingHandlersIntervalMs?: number;
|
|
7
7
|
};
|
|
@@ -94,7 +94,7 @@ let GracefulShutdownService = class GracefulShutdownService {
|
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
96
|
};
|
|
97
|
-
|
|
98
|
-
exports.GracefulShutdownService = GracefulShutdownService = __decorate([
|
|
97
|
+
GracefulShutdownService = __decorate([
|
|
99
98
|
(0, common_1.Injectable)()
|
|
100
99
|
], GracefulShutdownService);
|
|
100
|
+
exports.GracefulShutdownService = GracefulShutdownService;
|
package/modules/redis.module.js
CHANGED
|
@@ -15,10 +15,10 @@ const redisProvider = {
|
|
|
15
15
|
};
|
|
16
16
|
let RedisModule = class RedisModule {
|
|
17
17
|
};
|
|
18
|
-
|
|
19
|
-
exports.RedisModule = RedisModule = __decorate([
|
|
18
|
+
RedisModule = __decorate([
|
|
20
19
|
(0, common_1.Module)({
|
|
21
20
|
providers: [redisProvider],
|
|
22
21
|
exports: [redisProvider],
|
|
23
22
|
})
|
|
24
23
|
], RedisModule);
|
|
24
|
+
exports.RedisModule = RedisModule;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yolo-croket-dev/core",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.10",
|
|
4
4
|
"author": "Yolo Co., Ltd.",
|
|
5
5
|
"description": "Yolo commonization module",
|
|
6
6
|
"main": "index.js",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"@nestjs/common": "^8.2.3",
|
|
18
18
|
"@nestjs/microservices": "9.0.8",
|
|
19
19
|
"@yolo-croket-dev/logger": "^1.0.15",
|
|
20
|
-
"@yolo-croket-dev/msa-logger": "^3.0.
|
|
20
|
+
"@yolo-croket-dev/msa-logger": "^3.0.4",
|
|
21
21
|
"@yolo-croket-dev/redis": "^1.0.23",
|
|
22
22
|
"@yolo-croket-dev/swagger": "^0.0.7",
|
|
23
23
|
"axios": "^1.1.3",
|
|
@@ -31,8 +31,8 @@ let ValidationPipe = class ValidationPipe {
|
|
|
31
31
|
return value;
|
|
32
32
|
}
|
|
33
33
|
};
|
|
34
|
-
|
|
35
|
-
exports.ValidationPipe = ValidationPipe = __decorate([
|
|
34
|
+
ValidationPipe = __decorate([
|
|
36
35
|
(0, common_1.Injectable)(),
|
|
37
36
|
__metadata("design:paramtypes", [Object])
|
|
38
37
|
], ValidationPipe);
|
|
38
|
+
exports.ValidationPipe = ValidationPipe;
|