@lyxa.ai/core 1.3.191 → 1.3.193
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/libraries/logger-kit/logger.service.d.ts +26 -8
- package/dist/libraries/logger-kit/logger.service.js +33 -5
- package/dist/libraries/logger-kit/logger.service.js.map +1 -1
- package/dist/libraries/logger-kit/types.d.ts +3 -5
- package/dist/libraries/logger-kit/types.js.map +1 -1
- package/dist/libraries/mongo/models/log.model.d.ts +11 -6
- package/dist/libraries/mongo/models/log.model.js +18 -8
- package/dist/libraries/mongo/models/log.model.js.map +1 -1
- package/dist/types/README.md +1 -1
- package/dist/types/package.json +1 -1
- package/dist/types/utilities/enum.d.ts +60 -0
- package/dist/types/utilities/enum.js +62 -1
- package/dist/types/utilities/enum.js.map +1 -1
- package/dist/utilities/enum.d.ts +60 -0
- package/dist/utilities/enum.js +62 -1
- package/dist/utilities/enum.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Log } from '../mongo/models';
|
|
2
|
-
import { LogTag } from '../../utilities/enum';
|
|
2
|
+
import { HttpStatus, LogTag } from '../../utilities/enum';
|
|
3
3
|
import { ErrorInfo, LogMetadata, RequestContext } from './types';
|
|
4
4
|
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
5
5
|
import mongoose from 'mongoose';
|
|
@@ -36,8 +36,11 @@ export declare class LyxaLoggerKit {
|
|
|
36
36
|
private write;
|
|
37
37
|
info(message: string, options: {
|
|
38
38
|
tag: LogTag;
|
|
39
|
-
data?: any
|
|
39
|
+
data?: Record<string, any>;
|
|
40
40
|
metadata?: LogMetadata;
|
|
41
|
+
request?: Record<string, any>;
|
|
42
|
+
response?: Record<string, any>;
|
|
43
|
+
status?: HttpStatus;
|
|
41
44
|
}): Promise<void | (mongoose.Document<unknown, import("@typegoose/typegoose/lib/types").BeAnObject, Log, import("@typegoose/typegoose/lib/types").BeAnyObject, {}> & Omit<Log & {
|
|
42
45
|
_id: mongoose.Types.ObjectId;
|
|
43
46
|
} & {
|
|
@@ -45,8 +48,11 @@ export declare class LyxaLoggerKit {
|
|
|
45
48
|
}, "typegooseName"> & import("@typegoose/typegoose/lib/types").IObjectWithTypegooseFunction)>;
|
|
46
49
|
debug(message: string, options: {
|
|
47
50
|
tag: LogTag;
|
|
48
|
-
data?: any
|
|
51
|
+
data?: Record<string, any>;
|
|
49
52
|
metadata?: LogMetadata;
|
|
53
|
+
request?: Record<string, any>;
|
|
54
|
+
response?: Record<string, any>;
|
|
55
|
+
status?: HttpStatus;
|
|
50
56
|
}): Promise<void | (mongoose.Document<unknown, import("@typegoose/typegoose/lib/types").BeAnObject, Log, import("@typegoose/typegoose/lib/types").BeAnyObject, {}> & Omit<Log & {
|
|
51
57
|
_id: mongoose.Types.ObjectId;
|
|
52
58
|
} & {
|
|
@@ -54,8 +60,11 @@ export declare class LyxaLoggerKit {
|
|
|
54
60
|
}, "typegooseName"> & import("@typegoose/typegoose/lib/types").IObjectWithTypegooseFunction)>;
|
|
55
61
|
warn(message: string, options: {
|
|
56
62
|
tag: LogTag;
|
|
57
|
-
data?: any
|
|
63
|
+
data?: Record<string, any>;
|
|
58
64
|
metadata?: LogMetadata;
|
|
65
|
+
request?: Record<string, any>;
|
|
66
|
+
response?: Record<string, any>;
|
|
67
|
+
status?: HttpStatus;
|
|
59
68
|
}): Promise<void | (mongoose.Document<unknown, import("@typegoose/typegoose/lib/types").BeAnObject, Log, import("@typegoose/typegoose/lib/types").BeAnyObject, {}> & Omit<Log & {
|
|
60
69
|
_id: mongoose.Types.ObjectId;
|
|
61
70
|
} & {
|
|
@@ -63,9 +72,12 @@ export declare class LyxaLoggerKit {
|
|
|
63
72
|
}, "typegooseName"> & import("@typegoose/typegoose/lib/types").IObjectWithTypegooseFunction)>;
|
|
64
73
|
error(message: string, error: TRPCError | Error | unknown, options: {
|
|
65
74
|
tag: LogTag;
|
|
66
|
-
data?: any
|
|
75
|
+
data?: Record<string, any>;
|
|
67
76
|
metadata?: LogMetadata;
|
|
68
77
|
context?: RequestContext;
|
|
78
|
+
request?: Record<string, any>;
|
|
79
|
+
response?: Record<string, any>;
|
|
80
|
+
status?: HttpStatus;
|
|
69
81
|
}): Promise<void | (mongoose.Document<unknown, import("@typegoose/typegoose/lib/types").BeAnObject, Log, import("@typegoose/typegoose/lib/types").BeAnyObject, {}> & Omit<Log & {
|
|
70
82
|
_id: mongoose.Types.ObjectId;
|
|
71
83
|
} & {
|
|
@@ -73,20 +85,26 @@ export declare class LyxaLoggerKit {
|
|
|
73
85
|
}, "typegooseName"> & import("@typegoose/typegoose/lib/types").IObjectWithTypegooseFunction)>;
|
|
74
86
|
fatal(message: string, error: TRPCError | Error | unknown, options: {
|
|
75
87
|
tag: LogTag;
|
|
76
|
-
data?: any
|
|
88
|
+
data?: Record<string, any>;
|
|
77
89
|
metadata?: LogMetadata;
|
|
78
90
|
context?: RequestContext;
|
|
91
|
+
request?: Record<string, any>;
|
|
92
|
+
response?: Record<string, any>;
|
|
93
|
+
status?: HttpStatus;
|
|
79
94
|
}): Promise<void | (mongoose.Document<unknown, import("@typegoose/typegoose/lib/types").BeAnObject, Log, import("@typegoose/typegoose/lib/types").BeAnyObject, {}> & Omit<Log & {
|
|
80
95
|
_id: mongoose.Types.ObjectId;
|
|
81
96
|
} & {
|
|
82
97
|
__v: number;
|
|
83
98
|
}, "typegooseName"> & import("@typegoose/typegoose/lib/types").IObjectWithTypegooseFunction)>;
|
|
84
99
|
private getHttpLogLevel;
|
|
85
|
-
httpRequest(method: string, url: string, statusCode:
|
|
100
|
+
httpRequest(method: string, url: string, statusCode: HttpStatus, durationMs: number, userId?: string): void;
|
|
86
101
|
child(defaultContext: {
|
|
87
102
|
tag?: LogTag;
|
|
88
|
-
data?: any
|
|
103
|
+
data?: Record<string, any>;
|
|
89
104
|
metadata?: LogMetadata;
|
|
105
|
+
request?: Record<string, any>;
|
|
106
|
+
response?: Record<string, any>;
|
|
107
|
+
status?: HttpStatus;
|
|
90
108
|
}): {
|
|
91
109
|
info: (message: string, options?: Partial<typeof defaultContext>) => void;
|
|
92
110
|
debug: (message: string, options?: Partial<typeof defaultContext>) => void;
|
|
@@ -79,10 +79,22 @@ let LyxaLoggerKit = class LyxaLoggerKit {
|
|
|
79
79
|
return {
|
|
80
80
|
name: error.name,
|
|
81
81
|
message: error.message,
|
|
82
|
-
|
|
82
|
+
stacktrace: error.stack?.split('\n').map(line => line.trim()),
|
|
83
|
+
code: error.code,
|
|
83
84
|
};
|
|
84
85
|
}
|
|
85
|
-
|
|
86
|
+
if (typeof error === 'object' && error !== null) {
|
|
87
|
+
const err = error;
|
|
88
|
+
return {
|
|
89
|
+
name: err.name,
|
|
90
|
+
message: err.message,
|
|
91
|
+
stacktrace: err.stack?.split('\n').map((line) => line.trim()) || err.stacktrace,
|
|
92
|
+
code: err.code,
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
return {
|
|
96
|
+
message: String(error),
|
|
97
|
+
};
|
|
86
98
|
}
|
|
87
99
|
buildLogEntry(message, payload) {
|
|
88
100
|
const store = this.getRequestStore();
|
|
@@ -97,6 +109,9 @@ let LyxaLoggerKit = class LyxaLoggerKit {
|
|
|
97
109
|
error: payload.error,
|
|
98
110
|
context: payload.context,
|
|
99
111
|
requestId: store.requestId,
|
|
112
|
+
request: payload.request,
|
|
113
|
+
response: payload.response,
|
|
114
|
+
status: payload.status,
|
|
100
115
|
};
|
|
101
116
|
}
|
|
102
117
|
getColorCode(level) {
|
|
@@ -196,9 +211,11 @@ let LyxaLoggerKit = class LyxaLoggerKit {
|
|
|
196
211
|
data: entry.data,
|
|
197
212
|
metadata: entry.metadata ?? {},
|
|
198
213
|
error: payload.error,
|
|
199
|
-
stackTrace: payload.error?.stack?.split('\n'),
|
|
200
214
|
requestId: entry.requestId,
|
|
201
215
|
context: payload.context,
|
|
216
|
+
request: payload.request,
|
|
217
|
+
response: payload.response,
|
|
218
|
+
status: payload.status,
|
|
202
219
|
}).catch(e => {
|
|
203
220
|
console.error('Something went wrong', e);
|
|
204
221
|
});
|
|
@@ -238,16 +255,15 @@ let LyxaLoggerKit = class LyxaLoggerKit {
|
|
|
238
255
|
data: {
|
|
239
256
|
method,
|
|
240
257
|
url,
|
|
241
|
-
statusCode,
|
|
242
258
|
durationMs,
|
|
243
259
|
...(userId && { userId }),
|
|
244
260
|
},
|
|
245
261
|
metadata: {
|
|
246
262
|
...(userId && { userId }),
|
|
247
|
-
statusCode,
|
|
248
263
|
responseTime: durationMs,
|
|
249
264
|
},
|
|
250
265
|
context: { method, url },
|
|
266
|
+
status: statusCode,
|
|
251
267
|
});
|
|
252
268
|
}
|
|
253
269
|
child(defaultContext) {
|
|
@@ -256,21 +272,33 @@ let LyxaLoggerKit = class LyxaLoggerKit {
|
|
|
256
272
|
tag: opts.tag ?? defaultContext.tag ?? enum_1.LogTag.HTTP_REQUEST,
|
|
257
273
|
data: { ...defaultContext.data, ...opts.data },
|
|
258
274
|
metadata: { ...defaultContext.metadata, ...opts.metadata },
|
|
275
|
+
request: opts.request ?? defaultContext.request,
|
|
276
|
+
response: opts.response ?? defaultContext.response,
|
|
277
|
+
status: opts.status ?? defaultContext.status,
|
|
259
278
|
}),
|
|
260
279
|
debug: (message, opts = {}) => this.debug(message, {
|
|
261
280
|
tag: opts.tag ?? defaultContext.tag ?? enum_1.LogTag.HTTP_REQUEST,
|
|
262
281
|
data: { ...defaultContext.data, ...opts.data },
|
|
263
282
|
metadata: { ...defaultContext.metadata, ...opts.metadata },
|
|
283
|
+
request: opts.request ?? defaultContext.request,
|
|
284
|
+
response: opts.response ?? defaultContext.response,
|
|
285
|
+
status: opts.status ?? defaultContext.status,
|
|
264
286
|
}),
|
|
265
287
|
warn: (message, opts = {}) => this.warn(message, {
|
|
266
288
|
tag: opts.tag ?? defaultContext.tag ?? enum_1.LogTag.HTTP_REQUEST,
|
|
267
289
|
data: { ...defaultContext.data, ...opts.data },
|
|
268
290
|
metadata: { ...defaultContext.metadata, ...opts.metadata },
|
|
291
|
+
request: opts.request ?? defaultContext.request,
|
|
292
|
+
response: opts.response ?? defaultContext.response,
|
|
293
|
+
status: opts.status ?? defaultContext.status,
|
|
269
294
|
}),
|
|
270
295
|
error: (message, error, opts = {}) => this.error(message, error, {
|
|
271
296
|
tag: opts.tag ?? defaultContext.tag ?? enum_1.LogTag.HTTP_REQUEST,
|
|
272
297
|
data: { ...defaultContext.data, ...opts.data },
|
|
273
298
|
metadata: { ...defaultContext.metadata, ...opts.metadata },
|
|
299
|
+
request: opts.request ?? defaultContext.request,
|
|
300
|
+
response: opts.response ?? defaultContext.response,
|
|
301
|
+
status: opts.status ?? defaultContext.status,
|
|
274
302
|
}),
|
|
275
303
|
};
|
|
276
304
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.service.js","sourceRoot":"/","sources":["libraries/logger-kit/logger.service.ts"],"names":[],"mappings":"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","sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { Service } from 'typedi';\nimport { createLogModel, Log } from '../mongo/models';\nimport { LogLevel, LogTag } from '../../utilities/enum';\nimport { ErrorInfo, LogMetadata, RequestContext } from './types';\nimport { AsyncLocalStorage } from 'node:async_hooks';\nimport mongoose from 'mongoose';\nimport { TRPCError } from '@trpc/server';\n\ninterface RequestStore {\n\trequestId?: string;\n\tuserId?: string;\n\tmetadata?: Record<string, unknown>;\n}\n\nexport const requestContext = new AsyncLocalStorage<RequestStore>();\n\ninterface LoggerConfig {\n\tinstanceType: string;\n\tttlDays?: number;\n\tpersistDebug?: boolean;\n\tlogDirectory?: string;\n\tenvironment?: string;\n}\n\n@Service()\nexport class LyxaLoggerKit {\n\tprivate readonly model: ReturnType<typeof createLogModel>;\n\tprivate readonly config: Required<LoggerConfig>;\n\n\tconstructor(config: LoggerConfig) {\n\t\tthis.config = this.normalizeConfig(config);\n\t\tthis.model = createLogModel({ ttlDays: this.config.ttlDays });\n\t\tthis.ensureLogDirectory();\n\t}\n\n\tprivate normalizeConfig(config: LoggerConfig): Required<LoggerConfig> {\n\t\treturn {\n\t\t\tinstanceType: config.instanceType,\n\t\t\tttlDays: config.ttlDays ?? 7,\n\t\t\tpersistDebug: config.persistDebug ?? process.env.PERSIST_DEBUG_LOGS === 'true',\n\t\t\tlogDirectory: config.logDirectory ?? 'logs',\n\t\t\tenvironment: config.environment ?? process.env.NODE_ENV ?? 'development',\n\t\t};\n\t}\n\n\tprivate ensureLogDirectory(): void {\n\t\tconst logPath = path.join(process.cwd(), this.config.logDirectory);\n\t\tfs.mkdirSync(logPath, { recursive: true });\n\t}\n\n\tprivate getRequestStore(): RequestStore {\n\t\treturn requestContext.getStore() ?? {};\n\t}\n\n\tprivate enrichWithContext(data: any = {}): any {\n\t\tconst store = this.getRequestStore();\n\t\treturn {\n\t\t\t...data,\n\t\t\t...(store.requestId && { requestId: store.requestId }),\n\t\t\t...(store.userId && { userId: store.userId }),\n\t\t};\n\t}\n\n\tprivate shouldPersist(level: LogLevel): boolean {\n\t\t// return level !== LogLevel.DEBUG || this.config.persistDebug;\n\t\treturn true;\n\t}\n\n\tprivate async persistLog(log: Partial<Log>) {\n\t\tconst currentDebug = mongoose.get('debug');\n\t\ttry {\n\t\t\tmongoose.set('debug', false);\n\t\t\treturn await this.model.create({\n\t\t\t\t...log,\n\t\t\t\tmicroService: this.config.instanceType,\n\t\t\t\ttimestamp: new Date(),\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tconsole.error('[Logger] MongoDB persistence failed:', err);\n\t\t} finally {\n\t\t\tmongoose.set('debug', currentDebug);\n\t\t}\n\t}\n\n\tprivate normalizeError(error: TRPCError | Error | unknown): ErrorInfo {\n\t\tif (error instanceof Error) {\n\t\t\treturn {\n\t\t\t\tname: error.name,\n\t\t\t\tmessage: error.message,\n\t\t\t\tstack: error.stack,\n\t\t\t};\n\t\t}\n\t\treturn error as ErrorInfo;\n\t}\n\n\tprivate buildLogEntry(\n\t\tmessage: string,\n\t\tpayload: {\n\t\t\ttag: LogTag;\n\t\t\tdata?: any;\n\t\t\tmetadata?: LogMetadata;\n\t\t\terror?: ErrorInfo;\n\t\t\tcontext?: RequestContext;\n\t\t}\n\t) {\n\t\tconst store = this.getRequestStore();\n\n\t\treturn {\n\t\t\ttag: payload.tag,\n\t\t\tmessage,\n\t\t\tdata: this.enrichWithContext(payload.data),\n\t\t\tmetadata: {\n\t\t\t\t...payload.metadata,\n\t\t\t\t...store.metadata,\n\t\t\t},\n\t\t\terror: payload.error,\n\t\t\tcontext: payload.context,\n\t\t\trequestId: store.requestId,\n\t\t};\n\t}\n\n\tprivate getColorCode(level: LogLevel): string {\n\t\tswitch (level) {\n\t\t\tcase LogLevel.DEBUG:\n\t\t\t\treturn '\\x1b[96m'; // Cyan\n\t\t\tcase LogLevel.INFO:\n\t\t\t\treturn '\\x1b[32m'; // Green\n\t\t\tcase LogLevel.WARN:\n\t\t\t\treturn '\\x1b[33m'; // Yellow\n\t\t\tcase LogLevel.ERROR:\n\t\t\t\treturn '\\x1b[31m'; // Red\n\t\t\tcase LogLevel.FATAL:\n\t\t\t\treturn '\\x1b[35m'; // Magenta\n\t\t\tdefault:\n\t\t\t\treturn '\\x1b[37m'; // White\n\t\t}\n\t}\n\n\tprivate formatTimestamp(date: Date): string {\n\t\tconst year = date.getFullYear();\n\t\tconst month = String(date.getMonth() + 1).padStart(2, '0');\n\t\tconst day = String(date.getDate()).padStart(2, '0');\n\t\tconst hours = String(date.getHours()).padStart(2, '0');\n\t\tconst minutes = String(date.getMinutes()).padStart(2, '0');\n\t\tconst seconds = String(date.getSeconds()).padStart(2, '0');\n\n\t\treturn `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;\n\t}\n\n\tprivate formatLogMessage(level: LogLevel, message: string, entry: any): string {\n\t\tconst timestamp = this.formatTimestamp(new Date());\n\t\tconst tag = (entry.tag || 'GENERAL').toUpperCase();\n\t\tconst levelUpper = level.toUpperCase();\n\n\t\t// ANSI color codes\n\t\tconst grey = '\\x1b[90m';\n\t\tconst cyan = '\\x1b[36m';\n\t\tconst levelColor = this.getColorCode(level);\n\t\tconst reset = '\\x1b[0m';\n\n\t\t// Pad level to 5 characters for alignment (DEBUG, INFO, WARN, ERROR, FATAL)\n\t\tconst paddedLevel = levelUpper.padEnd(5);\n\n\t\tconst parts = [\n\t\t\t`${grey}[${timestamp}]${reset}`,\n\t\t\t`${levelColor}[${levelUpper}]${reset}`,\n\t\t\t`${cyan}[${tag}]${reset}`,\n\t\t\tmessage,\n\t\t];\n\n\t\treturn parts.join(' ');\n\t}\n\n\tprivate consoleLog(level: LogLevel, formattedMessage: string, entry: any): void {\n\t\tswitch (level) {\n\t\t\tcase LogLevel.DEBUG:\n\t\t\t\tconsole.log(formattedMessage);\n\t\t\t\tif (entry.data && Object.keys(entry.data).length > 0) {\n\t\t\t\t\tconsole.log(entry.data);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase LogLevel.INFO:\n\t\t\t\tconsole.log(formattedMessage);\n\t\t\t\tif (entry.data && Object.keys(entry.data).length > 0) {\n\t\t\t\t\tconsole.log(entry.data);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase LogLevel.WARN:\n\t\t\t\tconsole.warn(formattedMessage);\n\t\t\t\tif (entry.data && Object.keys(entry.data).length > 0) {\n\t\t\t\t\tconsole.warn(entry.data);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase LogLevel.ERROR:\n\t\t\t\tconsole.error(formattedMessage);\n\t\t\t\tif (entry.data && Object.keys(entry.data).length > 0) {\n\t\t\t\t\tconsole.error(entry.data);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase LogLevel.FATAL:\n\t\t\t\tconsole.error(formattedMessage);\n\t\t\t\tif (entry.data && Object.keys(entry.data).length > 0) {\n\t\t\t\t\tconsole.error(entry.data);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tconsole.log(formattedMessage);\n\t\t\t\tif (entry.data && Object.keys(entry.data).length > 0) {\n\t\t\t\t\tconsole.log(entry.data);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tprivate async write(\n\t\tlevel: LogLevel,\n\t\tmessage: string,\n\t\tpayload: {\n\t\t\ttag: LogTag;\n\t\t\tdata?: any;\n\t\t\tmetadata?: LogMetadata;\n\t\t\terror?: ErrorInfo;\n\t\t\tcontext?: RequestContext;\n\t\t},\n\t\topts: { shouldWrite?: boolean } = {}\n\t) {\n\t\tconst { shouldWrite = true } = opts;\n\t\tconst entry = this.buildLogEntry(message, payload);\n\n\t\t// Console logging with switch case\n\t\tif (shouldWrite) {\n\t\t\tconst formattedMessage = this.formatLogMessage(level, message, entry);\n\t\t\tthis.consoleLog(level, formattedMessage, entry);\n\t\t}\n\n\t\t// Async persistence (fire-and-forget)\n\t\tif (this.shouldPersist(level)) {\n\t\t\treturn this.persistLog({\n\t\t\t\tlevel,\n\t\t\t\ttag: payload.tag,\n\t\t\t\tmessage,\n\t\t\t\tdata: entry.data,\n\t\t\t\tmetadata: entry.metadata ?? {},\n\t\t\t\terror: payload.error,\n\t\t\t\tstackTrace: payload.error?.stack?.split('\\n'),\n\t\t\t\trequestId: entry.requestId,\n\t\t\t\tcontext: payload.context,\n\t\t\t}).catch(e => {\n\t\t\t\tconsole.error('Something went wrong', e);\n\t\t\t});\n\t\t}\n\t}\n\n\t/* ---------------------------------- */\n\t/* Public Logging API */\n\t/* ---------------------------------- */\n\n\tinfo(\n\t\tmessage: string,\n\t\toptions: {\n\t\t\ttag: LogTag;\n\t\t\tdata?: any;\n\t\t\tmetadata?: LogMetadata;\n\t\t}\n\t) {\n\t\treturn this.write(LogLevel.INFO, message, options);\n\t}\n\n\tdebug(\n\t\tmessage: string,\n\t\toptions: {\n\t\t\ttag: LogTag;\n\t\t\tdata?: any;\n\t\t\tmetadata?: LogMetadata;\n\t\t}\n\t) {\n\t\treturn this.write(LogLevel.DEBUG, message, options);\n\t}\n\n\twarn(\n\t\tmessage: string,\n\t\toptions: {\n\t\t\ttag: LogTag;\n\t\t\tdata?: any;\n\t\t\tmetadata?: LogMetadata;\n\t\t}\n\t) {\n\t\treturn this.write(LogLevel.WARN, message, options);\n\t}\n\n\terror(\n\t\tmessage: string,\n\t\terror: TRPCError | Error | unknown,\n\t\toptions: {\n\t\t\ttag: LogTag;\n\t\t\tdata?: any;\n\t\t\tmetadata?: LogMetadata;\n\t\t\tcontext?: RequestContext;\n\t\t}\n\t) {\n\t\treturn this.write(LogLevel.ERROR, message, {\n\t\t\t...options,\n\t\t\terror: this.normalizeError(error),\n\t\t});\n\t}\n\n\tfatal(\n\t\tmessage: string,\n\t\terror: TRPCError | Error | unknown,\n\t\toptions: {\n\t\t\ttag: LogTag;\n\t\t\tdata?: any;\n\t\t\tmetadata?: LogMetadata;\n\t\t\tcontext?: RequestContext;\n\t\t}\n\t) {\n\t\treturn this.write(LogLevel.FATAL, message, {\n\t\t\t...options,\n\t\t\terror: this.normalizeError(error),\n\t\t});\n\t}\n\n\t/* ---------------------------------- */\n\t/* HTTP Convenience Methods */\n\t/* ---------------------------------- */\n\n\tprivate getHttpLogLevel(statusCode: number): LogLevel {\n\t\tif (statusCode >= 500) return LogLevel.ERROR;\n\t\tif (statusCode >= 400) return LogLevel.WARN;\n\t\treturn LogLevel.INFO;\n\t}\n\n\thttpRequest(method: string, url: string, statusCode: number, durationMs: number, userId?: string): void {\n\t\tthis.write(this.getHttpLogLevel(statusCode), 'HTTP request completed', {\n\t\t\ttag: LogTag.HTTP_REQUEST,\n\t\t\tdata: {\n\t\t\t\tmethod,\n\t\t\t\turl,\n\t\t\t\tstatusCode,\n\t\t\t\tdurationMs,\n\t\t\t\t...(userId && { userId }),\n\t\t\t},\n\t\t\tmetadata: {\n\t\t\t\t...(userId && { userId }),\n\t\t\t\tstatusCode,\n\t\t\t\tresponseTime: durationMs,\n\t\t\t},\n\t\t\tcontext: { method, url },\n\t\t});\n\t}\n\n\tchild(defaultContext: { tag?: LogTag; data?: any; metadata?: LogMetadata }): {\n\t\tinfo: (message: string, options?: Partial<typeof defaultContext>) => void;\n\t\tdebug: (message: string, options?: Partial<typeof defaultContext>) => void;\n\t\twarn: (message: string, options?: Partial<typeof defaultContext>) => void;\n\t\terror: (message: string, error: Error | ErrorInfo, options?: Partial<typeof defaultContext>) => void;\n\t} {\n\t\treturn {\n\t\t\tinfo: (message, opts = {}) =>\n\t\t\t\tthis.info(message, {\n\t\t\t\t\ttag: opts.tag ?? defaultContext.tag ?? LogTag.HTTP_REQUEST,\n\t\t\t\t\tdata: { ...defaultContext.data, ...opts.data },\n\t\t\t\t\tmetadata: { ...defaultContext.metadata, ...opts.metadata },\n\t\t\t\t}),\n\t\t\tdebug: (message, opts = {}) =>\n\t\t\t\tthis.debug(message, {\n\t\t\t\t\ttag: opts.tag ?? defaultContext.tag ?? LogTag.HTTP_REQUEST,\n\t\t\t\t\tdata: { ...defaultContext.data, ...opts.data },\n\t\t\t\t\tmetadata: { ...defaultContext.metadata, ...opts.metadata },\n\t\t\t\t}),\n\t\t\twarn: (message, opts = {}) =>\n\t\t\t\tthis.warn(message, {\n\t\t\t\t\ttag: opts.tag ?? defaultContext.tag ?? LogTag.HTTP_REQUEST,\n\t\t\t\t\tdata: { ...defaultContext.data, ...opts.data },\n\t\t\t\t\tmetadata: { ...defaultContext.metadata, ...opts.metadata },\n\t\t\t\t}),\n\t\t\terror: (message, error, opts = {}) =>\n\t\t\t\tthis.error(message, error, {\n\t\t\t\t\ttag: opts.tag ?? defaultContext.tag ?? LogTag.HTTP_REQUEST,\n\t\t\t\t\tdata: { ...defaultContext.data, ...opts.data },\n\t\t\t\t\tmetadata: { ...defaultContext.metadata, ...opts.metadata },\n\t\t\t\t}),\n\t\t};\n\t}\n}\n\nexport function withRequestContext<T>(store: RequestStore, fn: () => T | Promise<T>): Promise<T> {\n\treturn new Promise((resolve, reject) => {\n\t\trequestContext.run(store, async () => {\n\t\t\ttry {\n\t\t\t\tresolve(await fn());\n\t\t\t} catch (err) {\n\t\t\t\treject(err);\n\t\t\t}\n\t\t});\n\t});\n}"]}
|
|
1
|
+
{"version":3,"file":"logger.service.js","sourceRoot":"/","sources":["libraries/logger-kit/logger.service.ts"],"names":[],"mappings":"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","sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { Service } from 'typedi';\nimport { createLogModel, Log } from '../mongo/models';\nimport { HttpStatus, LogLevel, LogTag } from '../../utilities/enum';\nimport { ErrorInfo, LogMetadata, RequestContext } from './types';\nimport { AsyncLocalStorage } from 'node:async_hooks';\nimport mongoose from 'mongoose';\nimport { TRPCError } from '@trpc/server';\n\ninterface RequestStore {\n\trequestId?: string;\n\tuserId?: string;\n\tmetadata?: Record<string, unknown>;\n}\n\nexport const requestContext = new AsyncLocalStorage<RequestStore>();\n\ninterface LoggerConfig {\n\tinstanceType: string;\n\tttlDays?: number;\n\tpersistDebug?: boolean;\n\tlogDirectory?: string;\n\tenvironment?: string;\n}\n\n@Service()\nexport class LyxaLoggerKit {\n\tprivate readonly model: ReturnType<typeof createLogModel>;\n\tprivate readonly config: Required<LoggerConfig>;\n\n\tconstructor(config: LoggerConfig) {\n\t\tthis.config = this.normalizeConfig(config);\n\t\tthis.model = createLogModel({ ttlDays: this.config.ttlDays });\n\t\tthis.ensureLogDirectory();\n\t}\n\n\tprivate normalizeConfig(config: LoggerConfig): Required<LoggerConfig> {\n\t\treturn {\n\t\t\tinstanceType: config.instanceType,\n\t\t\tttlDays: config.ttlDays ?? 7,\n\t\t\tpersistDebug: config.persistDebug ?? process.env.PERSIST_DEBUG_LOGS === 'true',\n\t\t\tlogDirectory: config.logDirectory ?? 'logs',\n\t\t\tenvironment: config.environment ?? process.env.NODE_ENV ?? 'development',\n\t\t};\n\t}\n\n\tprivate ensureLogDirectory(): void {\n\t\tconst logPath = path.join(process.cwd(), this.config.logDirectory);\n\t\tfs.mkdirSync(logPath, { recursive: true });\n\t}\n\n\tprivate getRequestStore(): RequestStore {\n\t\treturn requestContext.getStore() ?? {};\n\t}\n\n\tprivate enrichWithContext(data: Record<string, any> = {}): Record<string, any> {\n\t\tconst store = this.getRequestStore();\n\t\treturn {\n\t\t\t...data,\n\t\t\t...(store.requestId && { requestId: store.requestId }),\n\t\t\t...(store.userId && { userId: store.userId }),\n\t\t};\n\t}\n\n\tprivate shouldPersist(level: LogLevel): boolean {\n\t\t// return level !== LogLevel.DEBUG || this.config.persistDebug;\n\t\treturn true;\n\t}\n\n\tprivate async persistLog(log: Partial<Log>) {\n\t\tconst currentDebug = mongoose.get('debug');\n\t\ttry {\n\t\t\tmongoose.set('debug', false);\n\t\t\treturn await this.model.create({\n\t\t\t\t...log,\n\t\t\t\tmicroService: this.config.instanceType,\n\t\t\t\ttimestamp: new Date(),\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tconsole.error('[Logger] MongoDB persistence failed:', err);\n\t\t} finally {\n\t\t\tmongoose.set('debug', currentDebug);\n\t\t}\n\t}\n\n\tprivate normalizeError(error: TRPCError | Error | unknown): ErrorInfo {\n\t\tif (error instanceof Error) {\n\t\t\treturn {\n\t\t\t\tname: error.name,\n\t\t\t\tmessage: error.message,\n\t\t\t\tstacktrace: error.stack?.split('\\n').map(line => line.trim()),\n\t\t\t\tcode: (error as any).code,\n\t\t\t};\n\t\t}\n\t\tif (typeof error === 'object' && error !== null) {\n\t\t\tconst err = error as any;\n\t\t\treturn {\n\t\t\t\tname: err.name,\n\t\t\t\tmessage: err.message,\n\t\t\t\tstacktrace: err.stack?.split('\\n').map((line: string) => line.trim()) || err.stacktrace,\n\t\t\t\tcode: err.code,\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\tmessage: String(error),\n\t\t};\n\t}\n\n\tprivate buildLogEntry(\n\t\tmessage: string,\n\t\tpayload: {\n\t\t\ttag: LogTag;\n\t\t\tdata?: Record<string, any>;\n\t\t\tmetadata?: LogMetadata;\n\t\t\terror?: ErrorInfo;\n\t\t\tcontext?: RequestContext;\n\t\t\trequest?: Record<string, any>;\n\t\t\tresponse?: Record<string, any>;\n\t\t\tstatus?: HttpStatus;\n\t\t}\n\t) {\n\t\tconst store = this.getRequestStore();\n\n\t\treturn {\n\t\t\ttag: payload.tag,\n\t\t\tmessage,\n\t\t\tdata: this.enrichWithContext(payload.data),\n\t\t\tmetadata: {\n\t\t\t\t...payload.metadata,\n\t\t\t\t...store.metadata,\n\t\t\t},\n\t\t\terror: payload.error,\n\t\t\tcontext: payload.context,\n\t\t\trequestId: store.requestId,\n\t\t\trequest: payload.request,\n\t\t\tresponse: payload.response,\n\t\t\tstatus: payload.status,\n\t\t};\n\t}\n\n\tprivate getColorCode(level: LogLevel): string {\n\t\tswitch (level) {\n\t\t\tcase LogLevel.DEBUG:\n\t\t\t\treturn '\\x1b[96m'; // Cyan\n\t\t\tcase LogLevel.INFO:\n\t\t\t\treturn '\\x1b[32m'; // Green\n\t\t\tcase LogLevel.WARN:\n\t\t\t\treturn '\\x1b[33m'; // Yellow\n\t\t\tcase LogLevel.ERROR:\n\t\t\t\treturn '\\x1b[31m'; // Red\n\t\t\tcase LogLevel.FATAL:\n\t\t\t\treturn '\\x1b[35m'; // Magenta\n\t\t\tdefault:\n\t\t\t\treturn '\\x1b[37m'; // White\n\t\t}\n\t}\n\n\tprivate formatTimestamp(date: Date): string {\n\t\tconst year = date.getFullYear();\n\t\tconst month = String(date.getMonth() + 1).padStart(2, '0');\n\t\tconst day = String(date.getDate()).padStart(2, '0');\n\t\tconst hours = String(date.getHours()).padStart(2, '0');\n\t\tconst minutes = String(date.getMinutes()).padStart(2, '0');\n\t\tconst seconds = String(date.getSeconds()).padStart(2, '0');\n\n\t\treturn `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;\n\t}\n\n\tprivate formatLogMessage(level: LogLevel, message: string, entry: any): string {\n\t\tconst timestamp = this.formatTimestamp(new Date());\n\t\tconst tag = (entry.tag || 'GENERAL').toUpperCase();\n\t\tconst levelUpper = level.toUpperCase();\n\n\t\t// ANSI color codes\n\t\tconst grey = '\\x1b[90m';\n\t\tconst cyan = '\\x1b[36m';\n\t\tconst levelColor = this.getColorCode(level);\n\t\tconst reset = '\\x1b[0m';\n\n\t\t// Pad level to 5 characters for alignment (DEBUG, INFO, WARN, ERROR, FATAL)\n\t\tconst paddedLevel = levelUpper.padEnd(5);\n\n\t\tconst parts = [\n\t\t\t`${grey}[${timestamp}]${reset}`,\n\t\t\t`${levelColor}[${levelUpper}]${reset}`,\n\t\t\t`${cyan}[${tag}]${reset}`,\n\t\t\tmessage,\n\t\t];\n\n\t\treturn parts.join(' ');\n\t}\n\n\tprivate consoleLog(level: LogLevel, formattedMessage: string, entry: any): void {\n\t\tswitch (level) {\n\t\t\tcase LogLevel.DEBUG:\n\t\t\t\tconsole.log(formattedMessage);\n\t\t\t\tif (entry.data && Object.keys(entry.data).length > 0) {\n\t\t\t\t\tconsole.log(entry.data);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase LogLevel.INFO:\n\t\t\t\tconsole.log(formattedMessage);\n\t\t\t\tif (entry.data && Object.keys(entry.data).length > 0) {\n\t\t\t\t\tconsole.log(entry.data);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase LogLevel.WARN:\n\t\t\t\tconsole.warn(formattedMessage);\n\t\t\t\tif (entry.data && Object.keys(entry.data).length > 0) {\n\t\t\t\t\tconsole.warn(entry.data);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase LogLevel.ERROR:\n\t\t\t\tconsole.error(formattedMessage);\n\t\t\t\tif (entry.data && Object.keys(entry.data).length > 0) {\n\t\t\t\t\tconsole.error(entry.data);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase LogLevel.FATAL:\n\t\t\t\tconsole.error(formattedMessage);\n\t\t\t\tif (entry.data && Object.keys(entry.data).length > 0) {\n\t\t\t\t\tconsole.error(entry.data);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tconsole.log(formattedMessage);\n\t\t\t\tif (entry.data && Object.keys(entry.data).length > 0) {\n\t\t\t\t\tconsole.log(entry.data);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tprivate async write(\n\t\tlevel: LogLevel,\n\t\tmessage: string,\n\t\tpayload: {\n\t\t\ttag: LogTag;\n\t\t\tdata?: Record<string, any>;\n\t\t\tmetadata?: LogMetadata;\n\t\t\terror?: ErrorInfo;\n\t\t\tcontext?: RequestContext;\n\t\t\trequest?: Record<string, any>;\n\t\t\tresponse?: Record<string, any>;\n\t\t\tstatus?: HttpStatus;\n\t\t},\n\t\topts: { shouldWrite?: boolean } = {}\n\t) {\n\t\tconst { shouldWrite = true } = opts;\n\t\tconst entry = this.buildLogEntry(message, payload);\n\n\t\t// Console logging with switch case\n\t\tif (shouldWrite) {\n\t\t\tconst formattedMessage = this.formatLogMessage(level, message, entry);\n\t\t\tthis.consoleLog(level, formattedMessage, entry);\n\t\t}\n\n\t\t// Async persistence (fire-and-forget)\n\t\tif (this.shouldPersist(level)) {\n\t\t\treturn this.persistLog({\n\t\t\t\tlevel,\n\t\t\t\ttag: payload.tag,\n\t\t\t\tmessage,\n\t\t\t\tdata: entry.data,\n\t\t\t\tmetadata: entry.metadata ?? {},\n\t\t\t\terror: payload.error,\n\t\t\t\trequestId: entry.requestId,\n\t\t\t\tcontext: payload.context,\n\t\t\t\trequest: payload.request,\n\t\t\t\tresponse: payload.response,\n\t\t\t\tstatus: payload.status,\n\t\t\t}).catch(e => {\n\t\t\t\tconsole.error('Something went wrong', e);\n\t\t\t});\n\t\t}\n\t}\n\n\t/* ---------------------------------- */\n\t/* Public Logging API */\n\t/* ---------------------------------- */\n\n\tinfo(\n\t\tmessage: string,\n\t\toptions: {\n\t\t\ttag: LogTag;\n\t\t\tdata?: Record<string, any>;\n\t\t\tmetadata?: LogMetadata;\n\t\t\trequest?: Record<string, any>;\n\t\t\tresponse?: Record<string, any>;\n\t\t\tstatus?: HttpStatus;\n\t\t}\n\t) {\n\t\treturn this.write(LogLevel.INFO, message, options);\n\t}\n\n\tdebug(\n\t\tmessage: string,\n\t\toptions: {\n\t\t\ttag: LogTag;\n\t\t\tdata?: Record<string, any>;\n\t\t\tmetadata?: LogMetadata;\n\t\t\trequest?: Record<string, any>;\n\t\t\tresponse?: Record<string, any>;\n\t\t\tstatus?: HttpStatus;\n\t\t}\n\t) {\n\t\treturn this.write(LogLevel.DEBUG, message, options);\n\t}\n\n\twarn(\n\t\tmessage: string,\n\t\toptions: {\n\t\t\ttag: LogTag;\n\t\t\tdata?: Record<string, any>;\n\t\t\tmetadata?: LogMetadata;\n\t\t\trequest?: Record<string, any>;\n\t\t\tresponse?: Record<string, any>;\n\t\t\tstatus?: HttpStatus;\n\t\t}\n\t) {\n\t\treturn this.write(LogLevel.WARN, message, options);\n\t}\n\n\terror(\n\t\tmessage: string,\n\t\terror: TRPCError | Error | unknown,\n\t\toptions: {\n\t\t\ttag: LogTag;\n\t\t\tdata?: Record<string, any>;\n\t\t\tmetadata?: LogMetadata;\n\t\t\tcontext?: RequestContext;\n\t\t\trequest?: Record<string, any>;\n\t\t\tresponse?: Record<string, any>;\n\t\t\tstatus?: HttpStatus;\n\t\t}\n\t) {\n\t\treturn this.write(LogLevel.ERROR, message, {\n\t\t\t...options,\n\t\t\terror: this.normalizeError(error),\n\t\t});\n\t}\n\n\tfatal(\n\t\tmessage: string,\n\t\terror: TRPCError | Error | unknown,\n\t\toptions: {\n\t\t\ttag: LogTag;\n\t\t\tdata?: Record<string, any>;\n\t\t\tmetadata?: LogMetadata;\n\t\t\tcontext?: RequestContext;\n\t\t\trequest?: Record<string, any>;\n\t\t\tresponse?: Record<string, any>;\n\t\t\tstatus?: HttpStatus;\n\t\t}\n\t) {\n\t\treturn this.write(LogLevel.FATAL, message, {\n\t\t\t...options,\n\t\t\terror: this.normalizeError(error),\n\t\t});\n\t}\n\n\t/* ---------------------------------- */\n\t/* HTTP Convenience Methods */\n\t/* ---------------------------------- */\n\n\tprivate getHttpLogLevel(statusCode: number): LogLevel {\n\t\tif (statusCode >= 500) return LogLevel.ERROR;\n\t\tif (statusCode >= 400) return LogLevel.WARN;\n\t\treturn LogLevel.INFO;\n\t}\n\n\thttpRequest(method: string, url: string, statusCode: HttpStatus, durationMs: number, userId?: string): void {\n\t\tthis.write(this.getHttpLogLevel(statusCode), 'HTTP request completed', {\n\t\t\ttag: LogTag.HTTP_REQUEST,\n\t\t\tdata: {\n\t\t\t\tmethod,\n\t\t\t\turl,\n\t\t\t\tdurationMs,\n\t\t\t\t...(userId && { userId }),\n\t\t\t},\n\t\t\tmetadata: {\n\t\t\t\t...(userId && { userId }),\n\t\t\t\tresponseTime: durationMs,\n\t\t\t},\n\t\t\tcontext: { method, url },\n\t\t\tstatus: statusCode,\n\t\t});\n\t}\n\n\tchild(defaultContext: {\n\t\ttag?: LogTag;\n\t\tdata?: Record<string, any>;\n\t\tmetadata?: LogMetadata;\n\t\trequest?: Record<string, any>;\n\t\tresponse?: Record<string, any>;\n\t\tstatus?: HttpStatus;\n\t}): {\n\t\tinfo: (message: string, options?: Partial<typeof defaultContext>) => void;\n\t\tdebug: (message: string, options?: Partial<typeof defaultContext>) => void;\n\t\twarn: (message: string, options?: Partial<typeof defaultContext>) => void;\n\t\terror: (message: string, error: Error | ErrorInfo, options?: Partial<typeof defaultContext>) => void;\n\t} {\n\t\treturn {\n\t\t\tinfo: (message, opts = {}) =>\n\t\t\t\tthis.info(message, {\n\t\t\t\t\ttag: opts.tag ?? defaultContext.tag ?? LogTag.HTTP_REQUEST,\n\t\t\t\t\tdata: { ...defaultContext.data, ...opts.data },\n\t\t\t\t\tmetadata: { ...defaultContext.metadata, ...opts.metadata },\n\t\t\t\t\trequest: opts.request ?? defaultContext.request,\n\t\t\t\t\tresponse: opts.response ?? defaultContext.response,\n\t\t\t\t\tstatus: opts.status ?? defaultContext.status,\n\t\t\t\t}),\n\t\t\tdebug: (message, opts = {}) =>\n\t\t\t\tthis.debug(message, {\n\t\t\t\t\ttag: opts.tag ?? defaultContext.tag ?? LogTag.HTTP_REQUEST,\n\t\t\t\t\tdata: { ...defaultContext.data, ...opts.data },\n\t\t\t\t\tmetadata: { ...defaultContext.metadata, ...opts.metadata },\n\t\t\t\t\trequest: opts.request ?? defaultContext.request,\n\t\t\t\t\tresponse: opts.response ?? defaultContext.response,\n\t\t\t\t\tstatus: opts.status ?? defaultContext.status,\n\t\t\t\t}),\n\t\t\twarn: (message, opts = {}) =>\n\t\t\t\tthis.warn(message, {\n\t\t\t\t\ttag: opts.tag ?? defaultContext.tag ?? LogTag.HTTP_REQUEST,\n\t\t\t\t\tdata: { ...defaultContext.data, ...opts.data },\n\t\t\t\t\tmetadata: { ...defaultContext.metadata, ...opts.metadata },\n\t\t\t\t\trequest: opts.request ?? defaultContext.request,\n\t\t\t\t\tresponse: opts.response ?? defaultContext.response,\n\t\t\t\t\tstatus: opts.status ?? defaultContext.status,\n\t\t\t\t}),\n\t\t\terror: (message, error, opts = {}) =>\n\t\t\t\tthis.error(message, error, {\n\t\t\t\t\ttag: opts.tag ?? defaultContext.tag ?? LogTag.HTTP_REQUEST,\n\t\t\t\t\tdata: { ...defaultContext.data, ...opts.data },\n\t\t\t\t\tmetadata: { ...defaultContext.metadata, ...opts.metadata },\n\t\t\t\t\trequest: opts.request ?? defaultContext.request,\n\t\t\t\t\tresponse: opts.response ?? defaultContext.response,\n\t\t\t\t\tstatus: opts.status ?? defaultContext.status,\n\t\t\t\t}),\n\t\t};\n\t}\n}\n\nexport function withRequestContext<T>(store: RequestStore, fn: () => T | Promise<T>): Promise<T> {\n\treturn new Promise((resolve, reject) => {\n\t\trequestContext.run(store, async () => {\n\t\t\ttry {\n\t\t\t\tresolve(await fn());\n\t\t\t} catch (err) {\n\t\t\t\treject(err);\n\t\t\t}\n\t\t});\n\t});\n}"]}
|
|
@@ -17,11 +17,10 @@ export interface LogMetadata {
|
|
|
17
17
|
[key: string]: unknown;
|
|
18
18
|
}
|
|
19
19
|
export interface ErrorInfo {
|
|
20
|
-
name: string;
|
|
21
|
-
message: string;
|
|
22
20
|
code?: string | number;
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
message?: string;
|
|
22
|
+
stacktrace?: string[];
|
|
23
|
+
name?: string;
|
|
25
24
|
[key: string]: unknown;
|
|
26
25
|
}
|
|
27
26
|
export interface RequestContext {
|
|
@@ -29,7 +28,6 @@ export interface RequestContext {
|
|
|
29
28
|
method?: string;
|
|
30
29
|
url?: string;
|
|
31
30
|
headers?: Record<string, string>;
|
|
32
|
-
body?: unknown;
|
|
33
31
|
query?: Record<string, unknown>;
|
|
34
32
|
params?: Record<string, unknown>;
|
|
35
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"/","sources":["libraries/logger-kit/types.ts"],"names":[],"mappings":"","sourcesContent":["import { LogLevel } from '../../utilities/enum';\n\nexport interface LoggerConfig {\n\tinstanceType: string;\n\tmongoURI: string;\n\tttlDays?: number;\n\tenableConsole?: boolean;\n\tenableFile?: boolean;\n\tenableMongo?: boolean;\n\tlogDirectory?: string;\n\tminLevel?: LogLevel;\n}\n\nexport interface LogMetadata {\n\tuserId?: string;\n\tsessionId?: string;\n\tipAddress?: string;\n\tuserAgent?: string;\n\n\t[key: string]: unknown;\n}\n\nexport interface ErrorInfo {\n\
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"/","sources":["libraries/logger-kit/types.ts"],"names":[],"mappings":"","sourcesContent":["import { LogLevel } from '../../utilities/enum';\n\nexport interface LoggerConfig {\n\tinstanceType: string;\n\tmongoURI: string;\n\tttlDays?: number;\n\tenableConsole?: boolean;\n\tenableFile?: boolean;\n\tenableMongo?: boolean;\n\tlogDirectory?: string;\n\tminLevel?: LogLevel;\n}\n\nexport interface LogMetadata {\n\tuserId?: string;\n\tsessionId?: string;\n\tipAddress?: string;\n\tuserAgent?: string;\n\n\t[key: string]: unknown;\n}\n\nexport interface ErrorInfo {\n\tcode?: string | number;\n\tmessage?: string;\n\tstacktrace?: string[];\n\tname?: string;\n\n\t[key: string]: unknown;\n}\n\nexport interface RequestContext {\n\trequestId?: string;\n\tmethod?: string;\n\turl?: string;\n\theaders?: Record<string, string>;\n\tquery?: Record<string, unknown>;\n\tparams?: Record<string, unknown>;\n}\n"]}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { ReturnModelType } from '@typegoose/typegoose';
|
|
2
2
|
import { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';
|
|
3
|
-
import { LogLevel } from '../../../utilities/enum';
|
|
3
|
+
import { HttpStatus, LogLevel } from '../../../utilities/enum';
|
|
4
4
|
import { LogMetadata, RequestContext } from '../../logger-kit';
|
|
5
|
-
import { TRPCError } from '@trpc/server';
|
|
6
5
|
export interface LogModelConfig {
|
|
7
6
|
ttlDays?: number;
|
|
8
7
|
collectionName?: string;
|
|
@@ -14,10 +13,16 @@ export declare class Log extends TimeStamps {
|
|
|
14
13
|
tag: string;
|
|
15
14
|
subtag?: string;
|
|
16
15
|
requestId?: string;
|
|
17
|
-
data?: Record<string,
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
data?: Record<string, any>;
|
|
17
|
+
request?: Record<string, any>;
|
|
18
|
+
response?: Record<string, any>;
|
|
19
|
+
status?: HttpStatus;
|
|
20
|
+
error?: {
|
|
21
|
+
code?: string | number;
|
|
22
|
+
message?: string;
|
|
23
|
+
stacktrace?: string[];
|
|
24
|
+
name?: string;
|
|
25
|
+
};
|
|
21
26
|
message: string;
|
|
22
27
|
metadata: LogMetadata;
|
|
23
28
|
context?: RequestContext;
|
|
@@ -21,9 +21,10 @@ let Log = class Log extends defaultClasses_1.TimeStamps {
|
|
|
21
21
|
subtag;
|
|
22
22
|
requestId;
|
|
23
23
|
data;
|
|
24
|
-
|
|
24
|
+
request;
|
|
25
|
+
response;
|
|
26
|
+
status;
|
|
25
27
|
error;
|
|
26
|
-
stackTrace;
|
|
27
28
|
message;
|
|
28
29
|
metadata;
|
|
29
30
|
context;
|
|
@@ -80,18 +81,26 @@ __decorate([
|
|
|
80
81
|
__decorate([
|
|
81
82
|
(0, typegoose_1.prop)({ type: () => Object }),
|
|
82
83
|
__metadata("design:type", Object)
|
|
83
|
-
], Log.prototype, "
|
|
84
|
+
], Log.prototype, "request", void 0);
|
|
84
85
|
__decorate([
|
|
85
86
|
(0, typegoose_1.prop)({ type: () => Object }),
|
|
86
87
|
__metadata("design:type", Object)
|
|
87
|
-
], Log.prototype, "
|
|
88
|
+
], Log.prototype, "response", void 0);
|
|
88
89
|
__decorate([
|
|
89
90
|
(0, typegoose_1.prop)({
|
|
90
|
-
type:
|
|
91
|
-
|
|
91
|
+
type: Number,
|
|
92
|
+
enum: enum_1.HttpStatus,
|
|
93
|
+
sparse: true,
|
|
92
94
|
}),
|
|
93
|
-
__metadata("design:type",
|
|
94
|
-
], Log.prototype, "
|
|
95
|
+
__metadata("design:type", Number)
|
|
96
|
+
], Log.prototype, "status", void 0);
|
|
97
|
+
__decorate([
|
|
98
|
+
(0, typegoose_1.prop)({
|
|
99
|
+
type: () => Object,
|
|
100
|
+
_id: false,
|
|
101
|
+
}),
|
|
102
|
+
__metadata("design:type", Object)
|
|
103
|
+
], Log.prototype, "error", void 0);
|
|
95
104
|
__decorate([
|
|
96
105
|
(0, typegoose_1.prop)({
|
|
97
106
|
required: true,
|
|
@@ -131,6 +140,7 @@ exports.Log = Log = __decorate([
|
|
|
131
140
|
(0, typegoose_1.index)({ requestId: 1 }),
|
|
132
141
|
(0, typegoose_1.index)({ 'metadata.userId': 1 }, { sparse: true }),
|
|
133
142
|
(0, typegoose_1.index)({ tag: 1, createdAt: -1 }),
|
|
143
|
+
(0, typegoose_1.index)({ status: 1 }, { sparse: true }),
|
|
134
144
|
(0, typegoose_1.modelOptions)({ schemaOptions: { collection: 'logs', timestamps: true } })
|
|
135
145
|
], Log);
|
|
136
146
|
function createLogModel(config = {}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log.model.js","sourceRoot":"/","sources":["libraries/mongo/models/log.model.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"log.model.js","sourceRoot":"/","sources":["libraries/mongo/models/log.model.ts"],"names":[],"mappings":"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","sourcesContent":["import { getModelForClass, index, modelOptions, prop, ReturnModelType } from '@typegoose/typegoose';\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\nimport { HttpStatus, LogLevel } from '../../../utilities/enum';\nimport { LogMetadata, RequestContext } from '../../logger-kit';\n\n/**\n * Configuration options for log model creation\n */\nexport interface LogModelConfig {\n\t/** TTL in days for log retention (default: 7) */\n\tttlDays?: number;\n\t/** Collection name (default: 'logs') */\n\tcollectionName?: string;\n\t/** Enable strict mode for schema (default: true) */\n\tstrict?: boolean;\n}\n\n/**\n * LogModel document model with indexed fields for efficient querying\n */\n@index({ microService: 1, level: 1, createdAt: -1 })\n@index({ requestId: 1 })\n@index({ 'metadata.userId': 1 }, { sparse: true })\n@index({ tag: 1, createdAt: -1 })\n@index({ status: 1 }, { sparse: true })\n@modelOptions({ schemaOptions: { collection: 'logs', timestamps: true } })\nexport class Log extends TimeStamps {\n\t@prop({\n\t\trequired: true,\n\t\tenum: LogLevel,\n\t\ttype: String,\n\t\tindex: true,\n\t})\n\tpublic level!: LogLevel;\n\n\t@prop({\n\t\trequired: true,\n\t\ttype: String,\n\t\tindex: true,\n\t})\n\tpublic microService!: string;\n\n\t@prop({\n\t\trequired: true,\n\t\ttype: String,\n\t\ttrim: true,\n\t\tmaxlength: 100,\n\t})\n\tpublic tag!: string;\n\n\t@prop({\n\t\ttype: String,\n\t\ttrim: true,\n\t\tmaxlength: 100,\n\t})\n\tpublic subtag?: string;\n\n\t@prop({\n\t\ttype: String,\n\t\tsparse: true,\n\t\tindex: true,\n\t})\n\tpublic requestId?: string;\n\n\t@prop({ type: () => Object })\n\tpublic data?: Record<string, any>;\n\n\t@prop({ type: () => Object })\n\tpublic request?: Record<string, any>;\n\n\t@prop({ type: () => Object })\n\tpublic response?: Record<string, any>;\n\n\t@prop({\n\t\ttype: Number,\n\t\tenum: HttpStatus,\n\t\tsparse: true,\n\t})\n\tpublic status?: HttpStatus;\n\n\t@prop({\n\t\ttype: () => Object,\n\t\t_id: false,\n\t})\n\tpublic error?: {\n\t\tcode?: string | number;\n\t\tmessage?: string;\n\t\tstacktrace?: string[];\n\t\tname?: string;\n\t};\n\n\t@prop({\n\t\trequired: true,\n\t\ttype: String,\n\t\tmaxlength: 5000,\n\t})\n\tpublic message!: string;\n\n\t@prop({\n\t\ttype: () => Object,\n\t\tdefault: {},\n\t\t_id: false,\n\t})\n\tpublic metadata!: LogMetadata;\n\n\t@prop({ type: () => Object })\n\tpublic context?: RequestContext;\n\n\t@prop({\n\t\ttype: String,\n\t\tmaxlength: 200,\n\t})\n\tpublic source?: string;\n\n\t@prop({\n\t\ttype: Number,\n\t\tmin: 0,\n\t})\n\tpublic duration?: number;\n}\n\n/**\n * Factory function to create the log model with configurable options\n */\nexport function createLogModel(config: LogModelConfig = {}): ReturnModelType<typeof Log> {\n\tconst { ttlDays = 7, collectionName = 'logs', strict = true } = config;\n\n\tconst ttlSeconds = 60 * 60 * 24 * ttlDays;\n\n\t// Apply TTL index dynamically\n\tindex({ createdAt: 1 }, { expireAfterSeconds: ttlSeconds })(Log);\n\n\treturn getModelForClass(Log, {\n\t\tschemaOptions: {\n\t\t\tcollection: collectionName,\n\t\t\tstrict,\n\t\t\ttimestamps: true,\n\t\t\tminimize: false,\n\t\t},\n\t\toptions: {\n\t\t\tautomaticName: false,\n\t\t},\n\t});\n}\n\n// Default export with 7 days TTL\nexport const LogModelMongo = createLogModel();\n\n// Type exports for external use\nexport type LogDocument = InstanceType<typeof Log>;\nexport type LogModelType = ReturnModelType<typeof Log>;\n"]}
|
package/dist/types/README.md
CHANGED
package/dist/types/package.json
CHANGED
|
@@ -1051,3 +1051,63 @@ export declare enum LogTag {
|
|
|
1051
1051
|
INFRA_CRON_JOB = "infra.cron.job",
|
|
1052
1052
|
SYSTEM_ERROR = "system.error"
|
|
1053
1053
|
}
|
|
1054
|
+
export declare enum HttpStatus {
|
|
1055
|
+
CONTINUE = 100,
|
|
1056
|
+
SWITCHING_PROTOCOLS = 101,
|
|
1057
|
+
PROCESSING = 102,
|
|
1058
|
+
OK = 200,
|
|
1059
|
+
CREATED = 201,
|
|
1060
|
+
ACCEPTED = 202,
|
|
1061
|
+
NON_AUTHORITATIVE_INFORMATION = 203,
|
|
1062
|
+
NO_CONTENT = 204,
|
|
1063
|
+
RESET_CONTENT = 205,
|
|
1064
|
+
PARTIAL_CONTENT = 206,
|
|
1065
|
+
MULTIPLE_CHOICES = 300,
|
|
1066
|
+
MOVED_PERMANENTLY = 301,
|
|
1067
|
+
FOUND = 302,
|
|
1068
|
+
SEE_OTHER = 303,
|
|
1069
|
+
NOT_MODIFIED = 304,
|
|
1070
|
+
USE_PROXY = 305,
|
|
1071
|
+
TEMPORARY_REDIRECT = 307,
|
|
1072
|
+
PERMANENT_REDIRECT = 308,
|
|
1073
|
+
BAD_REQUEST = 400,
|
|
1074
|
+
UNAUTHORIZED = 401,
|
|
1075
|
+
PAYMENT_REQUIRED = 402,
|
|
1076
|
+
FORBIDDEN = 403,
|
|
1077
|
+
NOT_FOUND = 404,
|
|
1078
|
+
METHOD_NOT_ALLOWED = 405,
|
|
1079
|
+
NOT_ACCEPTABLE = 406,
|
|
1080
|
+
PROXY_AUTHENTICATION_REQUIRED = 407,
|
|
1081
|
+
REQUEST_TIMEOUT = 408,
|
|
1082
|
+
CONFLICT = 409,
|
|
1083
|
+
GONE = 410,
|
|
1084
|
+
LENGTH_REQUIRED = 411,
|
|
1085
|
+
PRECONDITION_FAILED = 412,
|
|
1086
|
+
PAYLOAD_TOO_LARGE = 413,
|
|
1087
|
+
URI_TOO_LONG = 414,
|
|
1088
|
+
UNSUPPORTED_MEDIA_TYPE = 415,
|
|
1089
|
+
RANGE_NOT_SATISFIABLE = 416,
|
|
1090
|
+
EXPECTATION_FAILED = 417,
|
|
1091
|
+
IM_A_TEAPOT = 418,
|
|
1092
|
+
MISDIRECTED_REQUEST = 421,
|
|
1093
|
+
UNPROCESSABLE_ENTITY = 422,
|
|
1094
|
+
LOCKED = 423,
|
|
1095
|
+
FAILED_DEPENDENCY = 424,
|
|
1096
|
+
TOO_EARLY = 425,
|
|
1097
|
+
UPGRADE_REQUIRED = 426,
|
|
1098
|
+
PRECONDITION_REQUIRED = 428,
|
|
1099
|
+
TOO_MANY_REQUESTS = 429,
|
|
1100
|
+
REQUEST_HEADER_FIELDS_TOO_LARGE = 431,
|
|
1101
|
+
UNAVAILABLE_FOR_LEGAL_REASONS = 451,
|
|
1102
|
+
INTERNAL_SERVER_ERROR = 500,
|
|
1103
|
+
NOT_IMPLEMENTED = 501,
|
|
1104
|
+
BAD_GATEWAY = 502,
|
|
1105
|
+
SERVICE_UNAVAILABLE = 503,
|
|
1106
|
+
GATEWAY_TIMEOUT = 504,
|
|
1107
|
+
HTTP_VERSION_NOT_SUPPORTED = 505,
|
|
1108
|
+
VARIANT_ALSO_NEGOTIATES = 506,
|
|
1109
|
+
INSUFFICIENT_STORAGE = 507,
|
|
1110
|
+
LOOP_DETECTED = 508,
|
|
1111
|
+
NOT_EXTENDED = 510,
|
|
1112
|
+
NETWORK_AUTHENTICATION_REQUIRED = 511
|
|
1113
|
+
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FavouriteType = exports.CouponExpirationReason = exports.CouponType = exports.BobType = exports.BobChannelType = exports.BobModel = exports.BobSettlementStatus = exports.BobSettlementType = exports.BobAccountType = exports.ZoneStatus = exports.FaqAccountType = exports.CounterType = exports.BannerUserType = exports.BannerLinkType = exports.BannerClickType = exports.VendorRole = exports.ShopRole = exports.OnlineStatus = exports.ShopOnlineStatus = exports.ChargeType = exports.ClickType = exports.NotificationAccountType = exports.DishCategory = exports.ProductDietaryType = exports.ShopDietaryType = exports.PriceOption = exports.ProductType = exports.CoreAuthIdentityType = exports.UserAppSectionItemType = exports.UserAppSectionType = exports.AdminLogsUpdatedFieldsType = exports.UpdatedField = exports.GeoLocationType = exports.RatingAccountType = exports.SubscriptionStatus = exports.SubscriptionPackage = exports.PaidCurrency = exports.PaymentStatus = exports.ChangeReturnMethod = exports.PaymentMethod = exports.ValueType = exports.HolidayWorkStatus = exports.WorkStatus = exports.WeekDay = exports.GlobalItemType = exports.AdjustmentStatus = exports.ItemType = exports.Status = exports.AccountType = exports.AgentLiveStatus = void 0;
|
|
4
4
|
exports.ChatroomType = exports.UserRef = exports.TicketStatus = exports.TicketType = exports.RewardedToTypeEnum = exports.ReplacementType = exports.ReplacementReason = exports.OrderCanceledBy = exports.LogUser = exports.PayoutStatus = exports.PayoutType = exports.AddRemoveCreditAccountType = exports.SettingsReasonStatus = exports.CancellationReasonTypeEnum = exports.SupportReasonTypeEnum = exports.PlusSettingsPackageType = exports.AddRemoveCreditSettlementType = exports.SettlementType = exports.MediaType = exports.WorkingHourSettingsType = exports.ZoneGeometryType = exports.RiderAssignmentStatus = exports.CourierServiceType = exports.TripLegStatus = exports.DeliveryStatus = exports.CourierOrderPaymentFrom = exports.ShopCourierOrderStatus = exports.ServiceOrderStatus = exports.CourierOrderStatus = exports.RegularOrderStatus = exports.AdjustmentType = exports.StatusTimelineType = exports.OrderType = exports.Language = exports.OrderSize = exports.RiderBagSize = exports.RiderType = exports.ShiftType = exports.CreatedBy = exports.LiveStatus = exports.AreebaCardStatus = exports.CardUserType = exports.CardType = exports.PaymentPreference = exports.CartStatus = exports.AdminRole = exports.PunchMarketingStatus = exports.MarketingStatus = exports.ServiceMarketingType = exports.MarketingType = void 0;
|
|
5
|
-
exports.LogTag = exports.LogLevel = exports.SyncCacheEnumType = exports.DateFormatType = exports.AppAppearanceType = exports.GraphType = exports.CalendarEventType = exports.CalendarViewType = exports.LyxaTimeZoneEnum = exports.UserOrderCompletionScope = exports.GroupCartNotificationStatus = exports.CurrencyType = exports.RequestFrom = exports.UploadState = exports.ServiceType = exports.ActionType = exports.DeviceType = exports.PushNotificationEventType = exports.SocketEventType = exports.SocketServiceQueue = exports.OtpMethodType = exports.ReviewType = exports.FoodNutritionType = exports.AdjustmentReason = exports.UrgentOrderReasons = exports.FlagReasonType = exports.FlagType = exports.PromotionType = exports.ServiceOrderCanceledBy = exports.TRPCErrorEnum = exports.ShopFilterSortByEnum = exports.BookingStatus = exports.ProfessionalScheduleType = exports.ServiceOrderRecurrencePattern = exports.ProfessionalRecurrencePattern = exports.ServiceOrderPriority = exports.ProfessionalStatus = exports.Service = exports.ServiceCartStatus = void 0;
|
|
5
|
+
exports.HttpStatus = exports.LogTag = exports.LogLevel = exports.SyncCacheEnumType = exports.DateFormatType = exports.AppAppearanceType = exports.GraphType = exports.CalendarEventType = exports.CalendarViewType = exports.LyxaTimeZoneEnum = exports.UserOrderCompletionScope = exports.GroupCartNotificationStatus = exports.CurrencyType = exports.RequestFrom = exports.UploadState = exports.ServiceType = exports.ActionType = exports.DeviceType = exports.PushNotificationEventType = exports.SocketEventType = exports.SocketServiceQueue = exports.OtpMethodType = exports.ReviewType = exports.FoodNutritionType = exports.AdjustmentReason = exports.UrgentOrderReasons = exports.FlagReasonType = exports.FlagType = exports.PromotionType = exports.ServiceOrderCanceledBy = exports.TRPCErrorEnum = exports.ShopFilterSortByEnum = exports.BookingStatus = exports.ProfessionalScheduleType = exports.ServiceOrderRecurrencePattern = exports.ProfessionalRecurrencePattern = exports.ServiceOrderPriority = exports.ProfessionalStatus = exports.Service = exports.ServiceCartStatus = void 0;
|
|
6
6
|
var AgentLiveStatus;
|
|
7
7
|
(function (AgentLiveStatus) {
|
|
8
8
|
AgentLiveStatus["ONLINE"] = "online";
|
|
@@ -1195,4 +1195,65 @@ var LogTag;
|
|
|
1195
1195
|
LogTag["INFRA_CRON_JOB"] = "infra.cron.job";
|
|
1196
1196
|
LogTag["SYSTEM_ERROR"] = "system.error";
|
|
1197
1197
|
})(LogTag || (exports.LogTag = LogTag = {}));
|
|
1198
|
+
var HttpStatus;
|
|
1199
|
+
(function (HttpStatus) {
|
|
1200
|
+
HttpStatus[HttpStatus["CONTINUE"] = 100] = "CONTINUE";
|
|
1201
|
+
HttpStatus[HttpStatus["SWITCHING_PROTOCOLS"] = 101] = "SWITCHING_PROTOCOLS";
|
|
1202
|
+
HttpStatus[HttpStatus["PROCESSING"] = 102] = "PROCESSING";
|
|
1203
|
+
HttpStatus[HttpStatus["OK"] = 200] = "OK";
|
|
1204
|
+
HttpStatus[HttpStatus["CREATED"] = 201] = "CREATED";
|
|
1205
|
+
HttpStatus[HttpStatus["ACCEPTED"] = 202] = "ACCEPTED";
|
|
1206
|
+
HttpStatus[HttpStatus["NON_AUTHORITATIVE_INFORMATION"] = 203] = "NON_AUTHORITATIVE_INFORMATION";
|
|
1207
|
+
HttpStatus[HttpStatus["NO_CONTENT"] = 204] = "NO_CONTENT";
|
|
1208
|
+
HttpStatus[HttpStatus["RESET_CONTENT"] = 205] = "RESET_CONTENT";
|
|
1209
|
+
HttpStatus[HttpStatus["PARTIAL_CONTENT"] = 206] = "PARTIAL_CONTENT";
|
|
1210
|
+
HttpStatus[HttpStatus["MULTIPLE_CHOICES"] = 300] = "MULTIPLE_CHOICES";
|
|
1211
|
+
HttpStatus[HttpStatus["MOVED_PERMANENTLY"] = 301] = "MOVED_PERMANENTLY";
|
|
1212
|
+
HttpStatus[HttpStatus["FOUND"] = 302] = "FOUND";
|
|
1213
|
+
HttpStatus[HttpStatus["SEE_OTHER"] = 303] = "SEE_OTHER";
|
|
1214
|
+
HttpStatus[HttpStatus["NOT_MODIFIED"] = 304] = "NOT_MODIFIED";
|
|
1215
|
+
HttpStatus[HttpStatus["USE_PROXY"] = 305] = "USE_PROXY";
|
|
1216
|
+
HttpStatus[HttpStatus["TEMPORARY_REDIRECT"] = 307] = "TEMPORARY_REDIRECT";
|
|
1217
|
+
HttpStatus[HttpStatus["PERMANENT_REDIRECT"] = 308] = "PERMANENT_REDIRECT";
|
|
1218
|
+
HttpStatus[HttpStatus["BAD_REQUEST"] = 400] = "BAD_REQUEST";
|
|
1219
|
+
HttpStatus[HttpStatus["UNAUTHORIZED"] = 401] = "UNAUTHORIZED";
|
|
1220
|
+
HttpStatus[HttpStatus["PAYMENT_REQUIRED"] = 402] = "PAYMENT_REQUIRED";
|
|
1221
|
+
HttpStatus[HttpStatus["FORBIDDEN"] = 403] = "FORBIDDEN";
|
|
1222
|
+
HttpStatus[HttpStatus["NOT_FOUND"] = 404] = "NOT_FOUND";
|
|
1223
|
+
HttpStatus[HttpStatus["METHOD_NOT_ALLOWED"] = 405] = "METHOD_NOT_ALLOWED";
|
|
1224
|
+
HttpStatus[HttpStatus["NOT_ACCEPTABLE"] = 406] = "NOT_ACCEPTABLE";
|
|
1225
|
+
HttpStatus[HttpStatus["PROXY_AUTHENTICATION_REQUIRED"] = 407] = "PROXY_AUTHENTICATION_REQUIRED";
|
|
1226
|
+
HttpStatus[HttpStatus["REQUEST_TIMEOUT"] = 408] = "REQUEST_TIMEOUT";
|
|
1227
|
+
HttpStatus[HttpStatus["CONFLICT"] = 409] = "CONFLICT";
|
|
1228
|
+
HttpStatus[HttpStatus["GONE"] = 410] = "GONE";
|
|
1229
|
+
HttpStatus[HttpStatus["LENGTH_REQUIRED"] = 411] = "LENGTH_REQUIRED";
|
|
1230
|
+
HttpStatus[HttpStatus["PRECONDITION_FAILED"] = 412] = "PRECONDITION_FAILED";
|
|
1231
|
+
HttpStatus[HttpStatus["PAYLOAD_TOO_LARGE"] = 413] = "PAYLOAD_TOO_LARGE";
|
|
1232
|
+
HttpStatus[HttpStatus["URI_TOO_LONG"] = 414] = "URI_TOO_LONG";
|
|
1233
|
+
HttpStatus[HttpStatus["UNSUPPORTED_MEDIA_TYPE"] = 415] = "UNSUPPORTED_MEDIA_TYPE";
|
|
1234
|
+
HttpStatus[HttpStatus["RANGE_NOT_SATISFIABLE"] = 416] = "RANGE_NOT_SATISFIABLE";
|
|
1235
|
+
HttpStatus[HttpStatus["EXPECTATION_FAILED"] = 417] = "EXPECTATION_FAILED";
|
|
1236
|
+
HttpStatus[HttpStatus["IM_A_TEAPOT"] = 418] = "IM_A_TEAPOT";
|
|
1237
|
+
HttpStatus[HttpStatus["MISDIRECTED_REQUEST"] = 421] = "MISDIRECTED_REQUEST";
|
|
1238
|
+
HttpStatus[HttpStatus["UNPROCESSABLE_ENTITY"] = 422] = "UNPROCESSABLE_ENTITY";
|
|
1239
|
+
HttpStatus[HttpStatus["LOCKED"] = 423] = "LOCKED";
|
|
1240
|
+
HttpStatus[HttpStatus["FAILED_DEPENDENCY"] = 424] = "FAILED_DEPENDENCY";
|
|
1241
|
+
HttpStatus[HttpStatus["TOO_EARLY"] = 425] = "TOO_EARLY";
|
|
1242
|
+
HttpStatus[HttpStatus["UPGRADE_REQUIRED"] = 426] = "UPGRADE_REQUIRED";
|
|
1243
|
+
HttpStatus[HttpStatus["PRECONDITION_REQUIRED"] = 428] = "PRECONDITION_REQUIRED";
|
|
1244
|
+
HttpStatus[HttpStatus["TOO_MANY_REQUESTS"] = 429] = "TOO_MANY_REQUESTS";
|
|
1245
|
+
HttpStatus[HttpStatus["REQUEST_HEADER_FIELDS_TOO_LARGE"] = 431] = "REQUEST_HEADER_FIELDS_TOO_LARGE";
|
|
1246
|
+
HttpStatus[HttpStatus["UNAVAILABLE_FOR_LEGAL_REASONS"] = 451] = "UNAVAILABLE_FOR_LEGAL_REASONS";
|
|
1247
|
+
HttpStatus[HttpStatus["INTERNAL_SERVER_ERROR"] = 500] = "INTERNAL_SERVER_ERROR";
|
|
1248
|
+
HttpStatus[HttpStatus["NOT_IMPLEMENTED"] = 501] = "NOT_IMPLEMENTED";
|
|
1249
|
+
HttpStatus[HttpStatus["BAD_GATEWAY"] = 502] = "BAD_GATEWAY";
|
|
1250
|
+
HttpStatus[HttpStatus["SERVICE_UNAVAILABLE"] = 503] = "SERVICE_UNAVAILABLE";
|
|
1251
|
+
HttpStatus[HttpStatus["GATEWAY_TIMEOUT"] = 504] = "GATEWAY_TIMEOUT";
|
|
1252
|
+
HttpStatus[HttpStatus["HTTP_VERSION_NOT_SUPPORTED"] = 505] = "HTTP_VERSION_NOT_SUPPORTED";
|
|
1253
|
+
HttpStatus[HttpStatus["VARIANT_ALSO_NEGOTIATES"] = 506] = "VARIANT_ALSO_NEGOTIATES";
|
|
1254
|
+
HttpStatus[HttpStatus["INSUFFICIENT_STORAGE"] = 507] = "INSUFFICIENT_STORAGE";
|
|
1255
|
+
HttpStatus[HttpStatus["LOOP_DETECTED"] = 508] = "LOOP_DETECTED";
|
|
1256
|
+
HttpStatus[HttpStatus["NOT_EXTENDED"] = 510] = "NOT_EXTENDED";
|
|
1257
|
+
HttpStatus[HttpStatus["NETWORK_AUTHENTICATION_REQUIRED"] = 511] = "NETWORK_AUTHENTICATION_REQUIRED";
|
|
1258
|
+
})(HttpStatus || (exports.HttpStatus = HttpStatus = {}));
|
|
1198
1259
|
//# sourceMappingURL=enum.js.map
|