@xfilecom/core-sdk 1.3.25 → 1.3.27
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/dist/filters/exception.filter.js +5 -5
- package/dist/filters/exception.filter.js.map +1 -1
- package/dist/interceptors/response-transform.interceptor.js +4 -2
- package/dist/interceptors/response-transform.interceptor.js.map +1 -1
- package/dist/utils/controller.helpers.d.ts +5 -4
- package/dist/utils/controller.helpers.js +21 -8
- package/dist/utils/controller.helpers.js.map +1 -1
- package/dist/utils/error.utils.d.ts +2 -1
- package/dist/utils/error.utils.js +19 -12
- package/dist/utils/error.utils.js.map +1 -1
- package/package.json +3 -2
- package/scripts/test-response-format.js +58 -0
|
@@ -156,13 +156,13 @@ let AllExceptionsFilter = AllExceptionsFilter_1 = class AllExceptionsFilter {
|
|
|
156
156
|
if (typeof message === 'string') {
|
|
157
157
|
return message;
|
|
158
158
|
}
|
|
159
|
-
|
|
159
|
+
if (Array.isArray(message)) {
|
|
160
160
|
return message;
|
|
161
161
|
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
162
|
+
if (typeof message === 'object' && message !== null && 'message' in message) {
|
|
163
|
+
const inner = message.message;
|
|
164
|
+
if (typeof inner === 'string')
|
|
165
|
+
return inner;
|
|
166
166
|
return JSON.stringify(message);
|
|
167
167
|
}
|
|
168
168
|
return String(message);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exception.filter.js","sourceRoot":"","sources":["../../src/filters/exception.filter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"exception.filter.js","sourceRoot":"","sources":["../../src/filters/exception.filter.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,9 +17,11 @@ let ResponseTransformInterceptor = class ResponseTransformInterceptor {
|
|
|
17
17
|
return data;
|
|
18
18
|
}
|
|
19
19
|
if (data !== null && data !== undefined) {
|
|
20
|
-
|
|
20
|
+
const arr = Array.isArray(data) ? data : [data];
|
|
21
|
+
const responseData = arr.length <= 1 ? (arr[0] ?? {}) : arr;
|
|
22
|
+
return new controller_helpers_1.CommonResponseDto(responseData);
|
|
21
23
|
}
|
|
22
|
-
return new controller_helpers_1.CommonResponseDto(
|
|
24
|
+
return new controller_helpers_1.CommonResponseDto({});
|
|
23
25
|
}));
|
|
24
26
|
}
|
|
25
27
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response-transform.interceptor.js","sourceRoot":"","sources":["../../src/interceptors/response-transform.interceptor.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAKwB;AAExB,8CAAqC;AACrC,oEAAgE;AAGzD,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;IACvC,SAAS,CAAC,OAAyB,EAAE,IAAiB;QACpD,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CACvB,IAAA,eAAG,EAAC,CAAC,IAAI,EAAE,EAAE;YAEX,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;gBAC5F,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACxC,OAAO,IAAI,
|
|
1
|
+
{"version":3,"file":"response-transform.interceptor.js","sourceRoot":"","sources":["../../src/interceptors/response-transform.interceptor.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAKwB;AAExB,8CAAqC;AACrC,oEAAgE;AAGzD,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;IACvC,SAAS,CAAC,OAAyB,EAAE,IAAiB;QACpD,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CACvB,IAAA,eAAG,EAAC,CAAC,IAAI,EAAE,EAAE;YAEX,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;gBAC5F,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACxC,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAChD,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC5D,OAAO,IAAI,sCAAiB,CAAC,YAAY,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO,IAAI,sCAAiB,CAAC,EAAE,CAAC,CAAC;QACnC,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAA;AAlBY,oEAA4B;uCAA5B,4BAA4B;IADxC,IAAA,mBAAU,GAAE;GACA,4BAA4B,CAkBxC"}
|
|
@@ -13,20 +13,20 @@ export interface ResponseMeta {
|
|
|
13
13
|
}
|
|
14
14
|
export declare class CommonResponseDto {
|
|
15
15
|
code: number;
|
|
16
|
-
data: any[]
|
|
16
|
+
data: any[] | Record<string, any>;
|
|
17
17
|
meta?: ResponseMeta;
|
|
18
18
|
error: null | {
|
|
19
19
|
message: string | object;
|
|
20
20
|
};
|
|
21
|
-
constructor(data?: any[], meta?: ResponseMeta);
|
|
21
|
+
constructor(data?: any[] | Record<string, any>, meta?: ResponseMeta);
|
|
22
22
|
}
|
|
23
23
|
export declare class CommonErrorDto {
|
|
24
24
|
code: number;
|
|
25
25
|
data: any[];
|
|
26
26
|
error: {
|
|
27
|
-
message: string
|
|
27
|
+
message: string;
|
|
28
28
|
} | null;
|
|
29
|
-
constructor(code: number, message: string
|
|
29
|
+
constructor(code: number, message: string, data?: any[]);
|
|
30
30
|
}
|
|
31
31
|
export interface AuditContext {
|
|
32
32
|
userId?: number;
|
|
@@ -50,6 +50,7 @@ export declare class ControllerHelpers {
|
|
|
50
50
|
}): AuditContext;
|
|
51
51
|
success<T>(data: T | T[], message?: string | object, pagination?: PaginationMeta): CommonResponseDto;
|
|
52
52
|
error(code: number, message: string | object, data?: any[]): CommonErrorDto;
|
|
53
|
+
private static normalizeErrorMessage;
|
|
53
54
|
parsePagination(query: any): PaginationParams;
|
|
54
55
|
parseSort(query: any, defaultField?: string): SortParams;
|
|
55
56
|
parseFilters(query: any): Record<string, any>;
|
|
@@ -5,6 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
+
var ControllerHelpers_1;
|
|
8
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
10
|
exports.ControllerHelpers = exports.CommonErrorDto = exports.CommonResponseDto = void 0;
|
|
10
11
|
const common_1 = require("@nestjs/common");
|
|
@@ -21,13 +22,11 @@ class CommonErrorDto {
|
|
|
21
22
|
constructor(code, message, data = []) {
|
|
22
23
|
this.code = code;
|
|
23
24
|
this.data = data;
|
|
24
|
-
this.error = {
|
|
25
|
-
message: typeof message === 'string' ? message : message,
|
|
26
|
-
};
|
|
25
|
+
this.error = { message };
|
|
27
26
|
}
|
|
28
27
|
}
|
|
29
28
|
exports.CommonErrorDto = CommonErrorDto;
|
|
30
|
-
let ControllerHelpers = class ControllerHelpers {
|
|
29
|
+
let ControllerHelpers = ControllerHelpers_1 = class ControllerHelpers {
|
|
31
30
|
extractAuditContext(req) {
|
|
32
31
|
const user = req.user || {};
|
|
33
32
|
return {
|
|
@@ -41,16 +40,30 @@ let ControllerHelpers = class ControllerHelpers {
|
|
|
41
40
|
};
|
|
42
41
|
}
|
|
43
42
|
success(data, message, pagination) {
|
|
44
|
-
const dataArray = Array.isArray(data) ? data : [data];
|
|
45
43
|
const meta = (message || pagination) ? {
|
|
46
44
|
...(message && { message }),
|
|
47
45
|
...(pagination && { pagination }),
|
|
48
46
|
} : undefined;
|
|
49
|
-
|
|
47
|
+
const normalized = Array.isArray(data) ? data : [data];
|
|
48
|
+
const responseData = normalized.length <= 1 ? (normalized[0] ?? {}) : normalized;
|
|
49
|
+
return new CommonResponseDto(responseData, meta);
|
|
50
50
|
}
|
|
51
51
|
error(code, message, data = []) {
|
|
52
52
|
const errorCode = code === 0 ? 500 : code;
|
|
53
|
-
|
|
53
|
+
const messageStr = ControllerHelpers_1.normalizeErrorMessage(message);
|
|
54
|
+
return new CommonErrorDto(errorCode, messageStr, data);
|
|
55
|
+
}
|
|
56
|
+
static normalizeErrorMessage(message) {
|
|
57
|
+
if (typeof message === 'string')
|
|
58
|
+
return message;
|
|
59
|
+
if (message && typeof message === 'object' && 'message' in message) {
|
|
60
|
+
const m = message.message;
|
|
61
|
+
if (typeof m === 'string')
|
|
62
|
+
return m;
|
|
63
|
+
if (Array.isArray(m) && m.length > 0 && typeof m[0] === 'string')
|
|
64
|
+
return m[0];
|
|
65
|
+
}
|
|
66
|
+
return typeof message === 'object' ? JSON.stringify(message) : String(message);
|
|
54
67
|
}
|
|
55
68
|
parsePagination(query) {
|
|
56
69
|
const page = Math.max(1, parseInt(query.page || '1', 10));
|
|
@@ -98,7 +111,7 @@ let ControllerHelpers = class ControllerHelpers {
|
|
|
98
111
|
}
|
|
99
112
|
};
|
|
100
113
|
exports.ControllerHelpers = ControllerHelpers;
|
|
101
|
-
exports.ControllerHelpers = ControllerHelpers = __decorate([
|
|
114
|
+
exports.ControllerHelpers = ControllerHelpers = ControllerHelpers_1 = __decorate([
|
|
102
115
|
(0, common_1.Injectable)()
|
|
103
116
|
], ControllerHelpers);
|
|
104
117
|
//# sourceMappingURL=controller.helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.helpers.js","sourceRoot":"","sources":["../../src/utils/controller.helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"controller.helpers.js","sourceRoot":"","sources":["../../src/utils/controller.helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CommonErrorDto } from './controller.helpers';
|
|
2
2
|
export declare class ErrorUtils {
|
|
3
|
-
createError(code: number, message: string
|
|
3
|
+
createError(code: number, message: string | object): CommonErrorDto;
|
|
4
|
+
private normalizeMessage;
|
|
4
5
|
private getErrorCode;
|
|
5
6
|
fromException(exception: unknown): CommonErrorDto;
|
|
6
7
|
}
|
|
@@ -10,12 +10,23 @@ exports.ErrorUtils = void 0;
|
|
|
10
10
|
const common_1 = require("@nestjs/common");
|
|
11
11
|
const controller_helpers_1 = require("./controller.helpers");
|
|
12
12
|
let ErrorUtils = class ErrorUtils {
|
|
13
|
-
createError(code, message
|
|
13
|
+
createError(code, message) {
|
|
14
14
|
const errorCode = code === 0 ? 500 : code;
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
const messageStr = this.normalizeMessage(message);
|
|
16
|
+
return new controller_helpers_1.CommonErrorDto(errorCode, messageStr, []);
|
|
17
|
+
}
|
|
18
|
+
normalizeMessage(message) {
|
|
19
|
+
if (typeof message === 'string') {
|
|
20
|
+
return message;
|
|
21
|
+
}
|
|
22
|
+
if (message && typeof message === 'object' && 'message' in message) {
|
|
23
|
+
const m = message.message;
|
|
24
|
+
if (typeof m === 'string')
|
|
25
|
+
return m;
|
|
26
|
+
if (Array.isArray(m) && m.length > 0 && typeof m[0] === 'string')
|
|
27
|
+
return m[0];
|
|
28
|
+
}
|
|
29
|
+
return typeof message === 'object' ? JSON.stringify(message) : String(message);
|
|
19
30
|
}
|
|
20
31
|
getErrorCode(statusCode) {
|
|
21
32
|
const codes = {
|
|
@@ -44,18 +55,14 @@ let ErrorUtils = class ErrorUtils {
|
|
|
44
55
|
const message = typeof response === 'string'
|
|
45
56
|
? response
|
|
46
57
|
: response?.message || 'Internal server error';
|
|
47
|
-
|
|
48
|
-
return this.createError(statusCode, message, details);
|
|
58
|
+
return this.createError(statusCode, message);
|
|
49
59
|
}
|
|
50
60
|
if (exception instanceof Error) {
|
|
51
61
|
const statusCode = exception.status || 500;
|
|
52
62
|
const message = exception.message || 'Internal server error';
|
|
53
|
-
|
|
54
|
-
return this.createError(statusCode, message, details);
|
|
63
|
+
return this.createError(statusCode, message);
|
|
55
64
|
}
|
|
56
|
-
return this.createError(500, 'Internal server error'
|
|
57
|
-
originalError: String(exception),
|
|
58
|
-
});
|
|
65
|
+
return this.createError(500, 'Internal server error');
|
|
59
66
|
}
|
|
60
67
|
};
|
|
61
68
|
exports.ErrorUtils = ErrorUtils;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.utils.js","sourceRoot":"","sources":["../../src/utils/error.utils.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAC5C,6DAAsD;AAW/C,IAAM,UAAU,GAAhB,MAAM,UAAU;IAcrB,WAAW,CAAC,IAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"error.utils.js","sourceRoot":"","sources":["../../src/utils/error.utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xfilecom/core-sdk",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.27",
|
|
4
4
|
"description": "Core SDK for NestJS microservices - 통합 개발 키트",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"build": "tsc",
|
|
9
9
|
"prepublishOnly": "npm run build",
|
|
10
|
-
"publish:gitlab": "node scripts/publish-to-gitlab.mjs"
|
|
10
|
+
"publish:gitlab": "node scripts/publish-to-gitlab.mjs",
|
|
11
|
+
"test:response-format": "node scripts/test-response-format.js"
|
|
11
12
|
},
|
|
12
13
|
"dependencies": {
|
|
13
14
|
"@nestjs/common": "^10.0.0",
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 응답 data 형식 검증: 1개 → {}, 2개 이상 → []
|
|
3
|
+
* (ControllerHelpers.success / ResponseTransformInterceptor와 동일 로직)
|
|
4
|
+
* 실행: node scripts/test-response-format.js
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
function toResponseData(data) {
|
|
8
|
+
const normalized = Array.isArray(data) ? data : [data];
|
|
9
|
+
return normalized.length <= 1 ? (normalized[0] ?? {}) : normalized;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
function isObject(v) {
|
|
13
|
+
return v !== null && typeof v === 'object' && !Array.isArray(v);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
function assert(condition, message) {
|
|
17
|
+
if (!condition) {
|
|
18
|
+
console.error('❌ FAIL:', message);
|
|
19
|
+
process.exit(1);
|
|
20
|
+
}
|
|
21
|
+
console.log('✅', message);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
console.log('\n--- data 1개 → {}, 2개 이상 → [] 검증 ---\n');
|
|
25
|
+
|
|
26
|
+
// 0개 (빈 배열)
|
|
27
|
+
const res0 = toResponseData([]);
|
|
28
|
+
assert(isObject(res0) && !Array.isArray(res0), '0개: data는 객체 {}');
|
|
29
|
+
assert(Object.keys(res0).length === 0, '0개: data는 빈 객체 {}');
|
|
30
|
+
|
|
31
|
+
// 1개 (단일 객체)
|
|
32
|
+
const one = { id: 1, name: 'Alice' };
|
|
33
|
+
const res1 = toResponseData(one);
|
|
34
|
+
assert(isObject(res1) && !Array.isArray(res1), '1개(단일): data는 객체 {}');
|
|
35
|
+
assert(res1.id === 1 && res1.name === 'Alice', '1개: 내용 일치');
|
|
36
|
+
|
|
37
|
+
// 1개 (배열로 1개 전달)
|
|
38
|
+
const res1arr = toResponseData([one]);
|
|
39
|
+
assert(isObject(res1arr) && !Array.isArray(res1arr), '1개(배열): data는 객체 {}');
|
|
40
|
+
|
|
41
|
+
// 2개
|
|
42
|
+
const two = [one, { id: 2, name: 'Bob' }];
|
|
43
|
+
const res2 = toResponseData(two);
|
|
44
|
+
assert(Array.isArray(res2), '2개: data는 배열 []');
|
|
45
|
+
assert(res2.length === 2 && res2[0].id === 1 && res2[1].id === 2, '2개: 내용 일치');
|
|
46
|
+
|
|
47
|
+
// 3개
|
|
48
|
+
const three = [one, { id: 2, name: 'Bob' }, { id: 3, name: 'Carol' }];
|
|
49
|
+
const res3 = toResponseData(three);
|
|
50
|
+
assert(Array.isArray(res3) && res3.length === 3, '3개: data는 배열 [], length 3');
|
|
51
|
+
|
|
52
|
+
// JSON 직렬화 결과 확인 (실제 API 응답과 동일)
|
|
53
|
+
const json1 = JSON.stringify({ code: 0, data: res1, error: null });
|
|
54
|
+
const json2 = JSON.stringify({ code: 0, data: res2, error: null });
|
|
55
|
+
assert(json1.includes('"data":{"id":1,"name":"Alice"}'), '1개: JSON에서 data가 객체 형태');
|
|
56
|
+
assert(json2.includes('"data":[{"id":1,"name":"Alice"},{"id":2,"name":"Bob"}]'), '2개: JSON에서 data가 배열 형태');
|
|
57
|
+
|
|
58
|
+
console.log('\n✅ 모든 검증 통과: 결과 1개일 때 data는 {}, 2개 이상일 때 data는 []\n');
|