@flexmatch-dev/interface 0.1.3 → 0.1.5

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.
@@ -0,0 +1,23 @@
1
+ export declare enum ERROR_CODE {
2
+ UNKNOWN_ERROR = "UNKNOWN_ERROR",
3
+ DEFAULT_NOT_FOUND = "DEFAULT_NOT_FOUND",
4
+ DEFAULT_REQUEST_ENTITY_TOO_LARGE = "DEFAULT_REQUEST_ENTITY_TOO_LARGE",
5
+ UNAUTHORIZED = "UNAUTHORIZED",
6
+ UNAUTHORIZED_NO_USER = "UNAUTHORIZED_NO_USER",
7
+ UNAUTHORIZED_INVALID_ROLE = "UNAUTHORIZED_INVALID_ROLE",
8
+ UNAUTHORIZED_INVALID_REFRESH_TOKEN = "UNAUTHORIZED_INVALID_REFRESH_TOKEN",
9
+ UNAUTHORIZED_INVALID_CREDENTIALS = "UNAUTHORIZED_INVALID_CREDENTIALS",
10
+ BAD_REQUEST_INVALID_PARAMETERS = "BAD_REQUEST_INVALID_PARAMETERS",
11
+ BAD_REQUEST_INVALID_NICKNAME_LENGTH = "BAD_REQUEST_INVALID_NICKNAME_LENGTH",
12
+ BAD_REQUEST_INVALID_NICKNAME_FORMAT = "BAD_REQUEST_INVALID_NICKNAME_FORMAT",
13
+ BAD_REQUEST_INVALID_NICKNAME_BANNED_WORD = "BAD_REQUEST_INVALID_NICKNAME_BANNED_WORD",
14
+ CONFLICT_NICKNAME_DUPLICATE = "CONFLICT_NICKNAME_DUPLICATE",
15
+ CONFLICT_ALREADY_LINKED_ACCOUNT = "CONFLICT_ALREADY_LINKED_ACCOUNT",
16
+ CONFLICT_USER_EMAIL = "CONFLICT_USER_EMAIL",
17
+ CONFLICT_GOOGLE_ACCOUNT = "CONFLICT_GOOGLE_ACCOUNT",
18
+ CONFLICT_KAKAO_ACCOUNT = "CONFLICT_KAKAO_ACCOUNT",
19
+ CONFLICT_NAVER_ACCOUNT = "CONFLICT_NAVER_ACCOUNT",
20
+ CONFLICT_INSTAGRAM_ACCOUNT = "CONFLICT_INSTAGRAM_ACCOUNT",
21
+ FORBIDDEN_ROOM_ACCESS = "FORBIDDEN_ROOM_ACCESS"
22
+ }
23
+ export declare const ERROR_MESSAGE: Record<ERROR_CODE, [number, string | undefined]>;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ERROR_MESSAGE = exports.ERROR_CODE = void 0;
4
+ var ERROR_CODE;
5
+ (function (ERROR_CODE) {
6
+ // 공통 에러 코드
7
+ ERROR_CODE["UNKNOWN_ERROR"] = "UNKNOWN_ERROR";
8
+ ERROR_CODE["DEFAULT_NOT_FOUND"] = "DEFAULT_NOT_FOUND";
9
+ ERROR_CODE["DEFAULT_REQUEST_ENTITY_TOO_LARGE"] = "DEFAULT_REQUEST_ENTITY_TOO_LARGE";
10
+ ERROR_CODE["UNAUTHORIZED"] = "UNAUTHORIZED";
11
+ ERROR_CODE["UNAUTHORIZED_NO_USER"] = "UNAUTHORIZED_NO_USER";
12
+ ERROR_CODE["UNAUTHORIZED_INVALID_ROLE"] = "UNAUTHORIZED_INVALID_ROLE";
13
+ ERROR_CODE["UNAUTHORIZED_INVALID_REFRESH_TOKEN"] = "UNAUTHORIZED_INVALID_REFRESH_TOKEN";
14
+ ERROR_CODE["UNAUTHORIZED_INVALID_CREDENTIALS"] = "UNAUTHORIZED_INVALID_CREDENTIALS";
15
+ ERROR_CODE["BAD_REQUEST_INVALID_PARAMETERS"] = "BAD_REQUEST_INVALID_PARAMETERS";
16
+ // 닉네임 에러 코드
17
+ ERROR_CODE["BAD_REQUEST_INVALID_NICKNAME_LENGTH"] = "BAD_REQUEST_INVALID_NICKNAME_LENGTH";
18
+ ERROR_CODE["BAD_REQUEST_INVALID_NICKNAME_FORMAT"] = "BAD_REQUEST_INVALID_NICKNAME_FORMAT";
19
+ ERROR_CODE["BAD_REQUEST_INVALID_NICKNAME_BANNED_WORD"] = "BAD_REQUEST_INVALID_NICKNAME_BANNED_WORD";
20
+ ERROR_CODE["CONFLICT_NICKNAME_DUPLICATE"] = "CONFLICT_NICKNAME_DUPLICATE";
21
+ // 계정 에러 코드
22
+ ERROR_CODE["CONFLICT_ALREADY_LINKED_ACCOUNT"] = "CONFLICT_ALREADY_LINKED_ACCOUNT";
23
+ ERROR_CODE["CONFLICT_USER_EMAIL"] = "CONFLICT_USER_EMAIL";
24
+ ERROR_CODE["CONFLICT_GOOGLE_ACCOUNT"] = "CONFLICT_GOOGLE_ACCOUNT";
25
+ ERROR_CODE["CONFLICT_KAKAO_ACCOUNT"] = "CONFLICT_KAKAO_ACCOUNT";
26
+ ERROR_CODE["CONFLICT_NAVER_ACCOUNT"] = "CONFLICT_NAVER_ACCOUNT";
27
+ ERROR_CODE["CONFLICT_INSTAGRAM_ACCOUNT"] = "CONFLICT_INSTAGRAM_ACCOUNT";
28
+ // 채팅 에러 코드
29
+ ERROR_CODE["FORBIDDEN_ROOM_ACCESS"] = "FORBIDDEN_ROOM_ACCESS";
30
+ })(ERROR_CODE || (exports.ERROR_CODE = ERROR_CODE = {}));
31
+ exports.ERROR_MESSAGE = {
32
+ [ERROR_CODE.UNKNOWN_ERROR]: [500, 'Unknown error'],
33
+ [ERROR_CODE.DEFAULT_NOT_FOUND]: [404, 'Not found'],
34
+ [ERROR_CODE.DEFAULT_REQUEST_ENTITY_TOO_LARGE]: [
35
+ 413,
36
+ 'Request entity too large',
37
+ ],
38
+ [ERROR_CODE.UNAUTHORIZED]: [401, 'Unauthorized'],
39
+ [ERROR_CODE.UNAUTHORIZED_NO_USER]: [401, 'Unauthorized'],
40
+ [ERROR_CODE.UNAUTHORIZED_INVALID_ROLE]: [401, 'Unauthorized'],
41
+ [ERROR_CODE.UNAUTHORIZED_INVALID_REFRESH_TOKEN]: [
42
+ 401,
43
+ 'Invalid refresh token',
44
+ ],
45
+ [ERROR_CODE.UNAUTHORIZED_INVALID_CREDENTIALS]: [401, 'Invalid credentials'],
46
+ [ERROR_CODE.BAD_REQUEST_INVALID_PARAMETERS]: [400, 'Invalid parameters'],
47
+ [ERROR_CODE.BAD_REQUEST_INVALID_NICKNAME_LENGTH]: [
48
+ 400,
49
+ 'Nickname length is invalid',
50
+ ],
51
+ [ERROR_CODE.BAD_REQUEST_INVALID_NICKNAME_FORMAT]: [
52
+ 400,
53
+ 'Nickname format is invalid',
54
+ ],
55
+ [ERROR_CODE.BAD_REQUEST_INVALID_NICKNAME_BANNED_WORD]: [
56
+ 400,
57
+ 'Nickname banned word is invalid',
58
+ ],
59
+ [ERROR_CODE.CONFLICT_NICKNAME_DUPLICATE]: [
60
+ 409,
61
+ 'Nickname duplicate is invalid',
62
+ ],
63
+ [ERROR_CODE.CONFLICT_ALREADY_LINKED_ACCOUNT]: [409, 'Already linked account'],
64
+ [ERROR_CODE.CONFLICT_USER_EMAIL]: [409, 'User email already exists'],
65
+ [ERROR_CODE.CONFLICT_GOOGLE_ACCOUNT]: [409, 'Google account already exists'],
66
+ [ERROR_CODE.CONFLICT_KAKAO_ACCOUNT]: [409, 'Kakao account already exists'],
67
+ [ERROR_CODE.CONFLICT_NAVER_ACCOUNT]: [409, 'Naver account already exists'],
68
+ [ERROR_CODE.CONFLICT_INSTAGRAM_ACCOUNT]: [
69
+ 409,
70
+ 'Instagram account already exists',
71
+ ],
72
+ [ERROR_CODE.FORBIDDEN_ROOM_ACCESS]: [403, 'Forbidden room access'],
73
+ };
74
+ //# sourceMappingURL=error.constant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.constant.js","sourceRoot":"","sources":["../../../src/@common/exception/error.constant.ts"],"names":[],"mappings":";;;AAAA,IAAY,UA2BX;AA3BD,WAAY,UAAU;IACpB,WAAW;IACX,6CAA+B,CAAA;IAC/B,qDAAuC,CAAA;IACvC,mFAAqE,CAAA;IACrE,2CAA6B,CAAA;IAC7B,2DAA6C,CAAA;IAC7C,qEAAuD,CAAA;IACvD,uFAAyE,CAAA;IACzE,mFAAqE,CAAA;IACrE,+EAAiE,CAAA;IAEjE,YAAY;IACZ,yFAA2E,CAAA;IAC3E,yFAA2E,CAAA;IAC3E,mGAAqF,CAAA;IACrF,yEAA2D,CAAA;IAC3D,WAAW;IACX,iFAAmE,CAAA;IACnE,yDAA2C,CAAA;IAC3C,iEAAmD,CAAA;IACnD,+DAAiD,CAAA;IACjD,+DAAiD,CAAA;IACjD,uEAAyD,CAAA;IAEzD,WAAW;IACX,6DAA+C,CAAA;AACjD,CAAC,EA3BW,UAAU,0BAAV,UAAU,QA2BrB;AAEY,QAAA,aAAa,GAAqD;IAC7E,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,CAAC;IAClD,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,CAAC;IAClD,CAAC,UAAU,CAAC,gCAAgC,CAAC,EAAE;QAC7C,GAAG;QACH,0BAA0B;KAC3B;IACD,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,CAAC;IAChD,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,CAAC;IACxD,CAAC,UAAU,CAAC,yBAAyB,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,CAAC;IAC7D,CAAC,UAAU,CAAC,kCAAkC,CAAC,EAAE;QAC/C,GAAG;QACH,uBAAuB;KACxB;IACD,CAAC,UAAU,CAAC,gCAAgC,CAAC,EAAE,CAAC,GAAG,EAAE,qBAAqB,CAAC;IAC3E,CAAC,UAAU,CAAC,8BAA8B,CAAC,EAAE,CAAC,GAAG,EAAE,oBAAoB,CAAC;IAExE,CAAC,UAAU,CAAC,mCAAmC,CAAC,EAAE;QAChD,GAAG;QACH,4BAA4B;KAC7B;IACD,CAAC,UAAU,CAAC,mCAAmC,CAAC,EAAE;QAChD,GAAG;QACH,4BAA4B;KAC7B;IACD,CAAC,UAAU,CAAC,wCAAwC,CAAC,EAAE;QACrD,GAAG;QACH,iCAAiC;KAClC;IACD,CAAC,UAAU,CAAC,2BAA2B,CAAC,EAAE;QACxC,GAAG;QACH,+BAA+B;KAChC;IAED,CAAC,UAAU,CAAC,+BAA+B,CAAC,EAAE,CAAC,GAAG,EAAE,wBAAwB,CAAC;IAC7E,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,2BAA2B,CAAC;IACpE,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC,GAAG,EAAE,+BAA+B,CAAC;IAC5E,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,CAAC,GAAG,EAAE,8BAA8B,CAAC;IAC1E,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,CAAC,GAAG,EAAE,8BAA8B,CAAC;IAC1E,CAAC,UAAU,CAAC,0BAA0B,CAAC,EAAE;QACvC,GAAG;QACH,kCAAkC;KACnC;IACD,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC,GAAG,EAAE,uBAAuB,CAAC;CACnE,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { ERROR_CODE } from './error.constant';
2
+ export interface IErrorResponse<T> {
3
+ code: ERROR_CODE;
4
+ status: number;
5
+ message: string | undefined;
6
+ data: T;
7
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=error.response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.response.js","sourceRoot":"","sources":["../../../src/@common/exception/error.response.ts"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @constant IMAGE_TYPE
3
+ * @since 0.1.5
4
+ */
5
+ export declare const IMAGE_TYPE: {
6
+ readonly TEST_IMAGE: "TEST";
7
+ readonly PRODUCT_CATEGORY_LOGO: "PD_CATEGORY";
8
+ readonly PRODUCT_IMAGE: "PD_IMG";
9
+ readonly PRODUCT_OPTION_IMAGE: "PD_OPTION";
10
+ readonly PRODUCT_CATALOG_IMAGE: "PD_CATALOG";
11
+ readonly CREATOR_PORTFOLIO_IMAGE: "CR_PORTFOLIO";
12
+ };
13
+ export type IMAGE_TYPE_KEY = (typeof IMAGE_TYPE)[keyof typeof IMAGE_TYPE];
14
+ /**
15
+ * @constant IMAGE_SIZE
16
+ * @since 0.1.5
17
+ */
18
+ export declare const IMAGE_SIZE: {
19
+ readonly ORIGINAL: "original";
20
+ readonly SQUARE_120: "square-120";
21
+ readonly SQUARE_240: "square-240";
22
+ readonly SQUARE_480: "square-480";
23
+ readonly LANDSCAPE_120: "landscape-120";
24
+ readonly LANDSCAPE_240: "landscape-240";
25
+ readonly LANDSCAPE_480: "landscape-480";
26
+ readonly LANDSCAPE_960: "landscape-960";
27
+ readonly PORTRAIT_120: "portrait-120";
28
+ readonly PORTRAIT_240: "portrait-240";
29
+ readonly PORTRAIT_480: "portrait-480";
30
+ };
31
+ export type IMAGE_SIZE_KEY = (typeof IMAGE_SIZE)[keyof typeof IMAGE_SIZE];
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IMAGE_SIZE = exports.IMAGE_TYPE = void 0;
4
+ /**
5
+ * @constant IMAGE_TYPE
6
+ * @since 0.1.5
7
+ */
8
+ exports.IMAGE_TYPE = {
9
+ TEST_IMAGE: 'TEST',
10
+ PRODUCT_CATEGORY_LOGO: 'PD_CATEGORY',
11
+ PRODUCT_IMAGE: 'PD_IMG',
12
+ PRODUCT_OPTION_IMAGE: 'PD_OPTION',
13
+ PRODUCT_CATALOG_IMAGE: 'PD_CATALOG',
14
+ CREATOR_PORTFOLIO_IMAGE: 'CR_PORTFOLIO',
15
+ };
16
+ /**
17
+ * @constant IMAGE_SIZE
18
+ * @since 0.1.5
19
+ */
20
+ exports.IMAGE_SIZE = {
21
+ ORIGINAL: 'original',
22
+ // SQUARE는 Object Fit Cover 적용
23
+ SQUARE_120: 'square-120',
24
+ SQUARE_240: 'square-240',
25
+ SQUARE_480: 'square-480',
26
+ // LANDSCAPE는 가로 사이즈를 기준으로 비율 유지
27
+ LANDSCAPE_120: 'landscape-120',
28
+ LANDSCAPE_240: 'landscape-240',
29
+ LANDSCAPE_480: 'landscape-480',
30
+ LANDSCAPE_960: 'landscape-960',
31
+ // PORTRAIT는 세로 사이즈를 기준으로 비율 유지
32
+ PORTRAIT_120: 'portrait-120',
33
+ PORTRAIT_240: 'portrait-240',
34
+ PORTRAIT_480: 'portrait-480',
35
+ };
36
+ //# sourceMappingURL=image.constant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image.constant.js","sourceRoot":"","sources":["../../../src/@common/image/image.constant.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,UAAU,GAAG;IACxB,UAAU,EAAE,MAAM;IAClB,qBAAqB,EAAE,aAAa;IACpC,aAAa,EAAE,QAAQ;IACvB,oBAAoB,EAAE,WAAW;IACjC,qBAAqB,EAAE,YAAY;IACnC,uBAAuB,EAAE,cAAc;CAC/B,CAAC;AAIX;;;GAGG;AACU,QAAA,UAAU,GAAG;IACxB,QAAQ,EAAE,UAAU;IACpB,8BAA8B;IAC9B,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,YAAY;IAExB,gCAAgC;IAChC,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,eAAe;IAE9B,+BAA+B;IAC/B,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;CACpB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { IMAGE_TYPE_KEY } from './image.constant';
2
+ /**
3
+ * @interface GetItemResourceImageResponse
4
+ * @since 0.1.5
5
+ */
6
+ export interface GetItemResourceImageResponse {
7
+ id: string;
8
+ imageType: IMAGE_TYPE_KEY;
9
+ url: string;
10
+ fileKey: string;
11
+ createdAt: Date;
12
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=image.response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image.response.js","sourceRoot":"","sources":["../../../src/@common/image/image.response.ts"],"names":[],"mappings":""}
@@ -1 +1,5 @@
1
1
  export * from './pagination';
2
+ export * from './image/image.constant';
3
+ export * from './image/image.response';
4
+ export * from './exception/error.constant';
5
+ export * from './exception/error.response';
@@ -14,5 +14,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ // Pagination
17
18
  __exportStar(require("./pagination"), exports);
19
+ // Image
20
+ __exportStar(require("./image/image.constant"), exports);
21
+ __exportStar(require("./image/image.response"), exports);
22
+ // Exception
23
+ __exportStar(require("./exception/error.constant"), exports);
24
+ __exportStar(require("./exception/error.response"), exports);
18
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/@common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/@common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,aAAa;AACb,+CAA6B;AAE7B,QAAQ;AACR,yDAAuC;AACvC,yDAAuC;AAEvC,YAAY;AACZ,6DAA2C;AAC3C,6DAA2C"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from './@common';
2
2
  export * from './user';
3
+ export * from './log';
package/dist/index.js CHANGED
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./@common"), exports);
18
18
  __exportStar(require("./user"), exports);
19
+ __exportStar(require("./log"), exports);
19
20
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,yCAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,yCAAuB;AACvB,wCAAsB"}
@@ -0,0 +1,3 @@
1
+ export * from './log.constant';
2
+ export * from './log.parse.utility';
3
+ export * from './log.system.payload';
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./log.constant"), exports);
18
+ __exportStar(require("./log.parse.utility"), exports);
19
+ __exportStar(require("./log.system.payload"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/log/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,sDAAoC;AACpC,uDAAqC"}
@@ -0,0 +1,9 @@
1
+ export declare const SYSTEM_LOG_TOPIC: {
2
+ readonly REQUEST: "REQUEST";
3
+ readonly RESPONSE: "RESPONSE";
4
+ readonly QUERY: "QUERY";
5
+ readonly IMAGE_UPLOAD: "IMAGE_UPLOAD";
6
+ };
7
+ export type SystemLogTopic = (typeof SYSTEM_LOG_TOPIC)[keyof typeof SYSTEM_LOG_TOPIC];
8
+ export declare const SPLIT_CHAR_KAFKA = "\u00B6";
9
+ export type LogLevel = 'verbose' | 'debug' | 'log' | 'warn' | 'error' | 'fatal';
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SPLIT_CHAR_KAFKA = exports.SYSTEM_LOG_TOPIC = void 0;
4
+ exports.SYSTEM_LOG_TOPIC = {
5
+ REQUEST: 'REQUEST',
6
+ RESPONSE: 'RESPONSE',
7
+ QUERY: 'QUERY',
8
+ IMAGE_UPLOAD: 'IMAGE_UPLOAD',
9
+ };
10
+ exports.SPLIT_CHAR_KAFKA = '¶';
11
+ //# sourceMappingURL=log.constant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.constant.js","sourceRoot":"","sources":["../../src/log/log.constant.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG;IAC9B,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,YAAY,EAAE,cAAc;CACpB,CAAC;AAIE,QAAA,gBAAgB,GAAG,GAAG,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { LogPayloadInterface } from './log.system.payload';
2
+ export declare const ParseKafkaLog: (log: string) => LogPayloadInterface | null;
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ParseKafkaLog = void 0;
4
+ const log_constant_1 = require("./log.constant");
5
+ const GetKafkaLogType = (type) => {
6
+ const result = Object.values(log_constant_1.SYSTEM_LOG_TOPIC).find((topic) => topic === type);
7
+ return result !== null && result !== void 0 ? result : null;
8
+ };
9
+ const GetLogLevel = (level) => {
10
+ switch (level) {
11
+ case 'verbose':
12
+ return 'verbose';
13
+ case 'debug':
14
+ return 'debug';
15
+ case 'log':
16
+ return 'log';
17
+ case 'warn':
18
+ return 'warn';
19
+ case 'error':
20
+ return 'error';
21
+ case 'fatal':
22
+ return 'fatal';
23
+ default:
24
+ return null;
25
+ }
26
+ };
27
+ const ParseKafkaLog = (log) => {
28
+ const splited = log.split(log_constant_1.SPLIT_CHAR_KAFKA);
29
+ const type = GetKafkaLogType(splited[0]);
30
+ if (!type)
31
+ return null;
32
+ switch (type) {
33
+ case log_constant_1.SYSTEM_LOG_TOPIC.REQUEST:
34
+ return ParseSystemLogRequest(splited);
35
+ case log_constant_1.SYSTEM_LOG_TOPIC.RESPONSE:
36
+ return ParseSystemLogResponse(splited);
37
+ case log_constant_1.SYSTEM_LOG_TOPIC.QUERY:
38
+ return ParseSystemLogQuery(splited);
39
+ case log_constant_1.SYSTEM_LOG_TOPIC.IMAGE_UPLOAD:
40
+ return ParseSystemLogImageUpload(splited);
41
+ default:
42
+ return null;
43
+ }
44
+ };
45
+ exports.ParseKafkaLog = ParseKafkaLog;
46
+ function ParseSystemLogRequest(splited) {
47
+ const type = GetKafkaLogType(splited[0]);
48
+ const level = GetLogLevel(splited[1]);
49
+ if (!type || !level)
50
+ return null;
51
+ return {
52
+ type: type,
53
+ level: level,
54
+ uuid: splited[2],
55
+ method: splited[3],
56
+ userId: Number(splited[4]) || undefined,
57
+ url: splited[5],
58
+ timestampRequest: Number(splited[6]),
59
+ requestParams: splited[7] ? JSON.parse(splited[7]) : undefined,
60
+ requestBody: splited[8] ? JSON.parse(splited[8]) : undefined,
61
+ };
62
+ }
63
+ function ParseSystemLogResponse(splited) {
64
+ const type = GetKafkaLogType(splited[0]);
65
+ const level = GetLogLevel(splited[1]);
66
+ const success = splited[2] === '1';
67
+ if (!type || !level)
68
+ return null;
69
+ return {
70
+ type: type,
71
+ level: level,
72
+ success: success,
73
+ uuid: splited[3],
74
+ status: Number(splited[4]),
75
+ method: splited[5],
76
+ userId: Number(splited[6]) || undefined,
77
+ url: splited[7],
78
+ message: splited[8],
79
+ responseTimeMs: Number(splited[9]),
80
+ timestampResponse: Number(splited[10]),
81
+ responseBody: splited[11] ? JSON.parse(splited[11]) : undefined,
82
+ requestBody: undefined,
83
+ requestParams: undefined,
84
+ timestampRequest: 0,
85
+ };
86
+ }
87
+ function ParseSystemLogQuery(splited) {
88
+ const type = GetKafkaLogType(splited[0]);
89
+ const level = GetLogLevel(splited[1]);
90
+ const success = splited[2] === '1';
91
+ if (!type || !level)
92
+ return null;
93
+ return {
94
+ type: type,
95
+ level: level,
96
+ success: success,
97
+ duration: Number(splited[3]),
98
+ timestamp: Number(splited[4]),
99
+ isSlowQuery: splited[5] === '1',
100
+ query: splited[6],
101
+ params: splited[7] ? JSON.parse(splited[7]) : undefined,
102
+ };
103
+ }
104
+ function ParseSystemLogImageUpload(splited) {
105
+ const type = GetKafkaLogType(splited[0]);
106
+ const level = GetLogLevel(splited[1]);
107
+ const success = splited[2] === '1';
108
+ if (!type || !level)
109
+ return null;
110
+ return {
111
+ type: type,
112
+ level: level,
113
+ success: success,
114
+ fileKey: splited[3],
115
+ processTime: Number(splited[4]),
116
+ uploadTime: Number(splited[5]),
117
+ duration: Number(splited[6]),
118
+ sizeType: splited[7],
119
+ timestamp: Number(splited[8]),
120
+ };
121
+ }
122
+ //# sourceMappingURL=log.parse.utility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.parse.utility.js","sourceRoot":"","sources":["../../src/log/log.parse.utility.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import { IMAGE_SIZE_KEY } from '../@common';
2
+ import { ERROR_CODE } from '../@common/exception/error.constant';
3
+ import { LogLevel, SystemLogTopic } from './log.constant';
4
+ export type LogPayloadInterface = ISystemLogRequestPayload | ISystemLogResponsePayload | ISystemLogErrorResponsePayload | ISystemLogQueryPayload | ISystemLogImageUploadPayload;
5
+ export interface ISystemLogPayload {
6
+ type: SystemLogTopic;
7
+ message?: string | undefined;
8
+ level: LogLevel;
9
+ }
10
+ export interface ISystemLogRequestPayload extends ISystemLogPayload {
11
+ uuid: string;
12
+ method: string;
13
+ url: string;
14
+ timestampRequest: number;
15
+ requestParams: any;
16
+ requestBody: any;
17
+ userId: number | undefined;
18
+ }
19
+ export interface ISystemLogResponsePayload extends ISystemLogRequestPayload {
20
+ success: boolean;
21
+ status: number;
22
+ timestampResponse: number;
23
+ responseBody: any;
24
+ responseTimeMs: number;
25
+ }
26
+ export interface ISystemLogErrorResponsePayload extends ISystemLogResponsePayload {
27
+ code: ERROR_CODE;
28
+ errorMessage: string | undefined;
29
+ errorData: any;
30
+ }
31
+ export interface ISystemLogQueryPayload {
32
+ type: SystemLogTopic;
33
+ level: LogLevel;
34
+ success: boolean;
35
+ isSlowQuery: boolean;
36
+ query: string;
37
+ params: any;
38
+ duration: number;
39
+ timestamp: number;
40
+ }
41
+ /**
42
+ * @interface ISystemLogImageUploadPayload
43
+ * @since 0.1.5
44
+ */
45
+ export interface ISystemLogImageUploadPayload {
46
+ type: SystemLogTopic;
47
+ level: LogLevel;
48
+ success: boolean;
49
+ fileKey: string;
50
+ processTime: number;
51
+ uploadTime: number;
52
+ duration: number;
53
+ sizeType: IMAGE_SIZE_KEY;
54
+ timestamp: number;
55
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=log.system.payload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.system.payload.js","sourceRoot":"","sources":["../../src/log/log.system.payload.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flexmatch-dev/interface",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "description": "Shared API interfaces and constants for FlexMatch platform services.",
5
5
  "license": "MIT",
6
6
  "author": "",