diff --git a/src/controllers/DevelopmentController.ts b/src/controllers/DevelopmentController.ts index ba4ab81..80113b1 100644 --- a/src/controllers/DevelopmentController.ts +++ b/src/controllers/DevelopmentController.ts @@ -153,6 +153,7 @@ export class DevelopmentController extends Controller { // description: "Store Development.", // }); const before = null; + await this.developmentRepository.save(development, { data: request }); setLogDataDiff(request, { before, after: development }); return new HttpSuccess(development.id); diff --git a/src/interfaces/http-success.ts b/src/interfaces/http-success.ts index 514f576..97f1bad 100644 --- a/src/interfaces/http-success.ts +++ b/src/interfaces/http-success.ts @@ -1,4 +1,6 @@ +import { RequestWithUser } from "../middlewares/user"; import HttpStatus from "./http-status"; +import { addLogSequence } from "./utils"; class HttpSuccess { /** @@ -14,5 +16,15 @@ class HttpSuccess { this.result = result; } } - +// const request = {} as RequestWithUser; +// if (request) { +// if (!request.app.locals.logData) { +// request.app.locals.logData = {}; +// } +// addLogSequence(request, { +// action: "database", +// status: "success", +// description: "Query Data.", +// }); +// } export default HttpSuccess; diff --git a/src/middlewares/auth.ts b/src/middlewares/auth.ts index d43943c..de43a0c 100644 --- a/src/middlewares/auth.ts +++ b/src/middlewares/auth.ts @@ -58,11 +58,11 @@ export async function expressAuthentication( request.app.locals.logData = {}; } - addLogSequence(request, { - action: "database", - status: "success", - description: "Query Data.", - }); + // addLogSequence(request, { + // action: "database", + // status: "success", + // description: "Query Data.", + // }); request.app.locals.logData.userId = payload.sub; request.app.locals.logData.userName = payload.name; request.app.locals.logData.user = payload.preferred_username; diff --git a/src/middlewares/logs.ts b/src/middlewares/logs.ts index e5acc5b..43c7f43 100644 --- a/src/middlewares/logs.ts +++ b/src/middlewares/logs.ts @@ -1,5 +1,7 @@ import { NextFunction, Request, Response } from "express"; import { Client } from "@elastic/elasticsearch"; +import { addLogSequence } from "../interfaces/utils"; +import { RequestWithUser } from "./user"; if (!process.env.ELASTICSEARCH_INDEX) { throw new Error("Require ELASTICSEARCH_INDEX to store log."); @@ -19,7 +21,7 @@ const elasticsearch = new Client({ node: `${process.env.ELASTICSEARCH_PROTOCOL}://${process.env.ELASTICSEARCH_HOST}:${process.env.ELASTICSEARCH_PORT}`, }); -async function logMiddleware(req: Request, res: Response, next: NextFunction) { +async function logMiddleware(req: any, res: Response, next: NextFunction) { if (!req.url.startsWith("/api/")) return next(); let data: any; @@ -38,8 +40,13 @@ async function logMiddleware(req: Request, res: Response, next: NextFunction) { res.on("finish", () => { if (!req.url.startsWith("/api/")) return; - + const logData = req?.app?.locals.logData?.sequence?.at(-1); const level = LOG_LEVEL_MAP[process.env.LOG_LEVEL ?? "debug"] || 4; + addLogSequence(req, { + action: "database", + status: "success", + description: "Query Data.", + }); if (level === 1 && res.statusCode < 500) return; if (level === 2 && res.statusCode < 400) return; @@ -67,7 +74,6 @@ async function logMiddleware(req: Request, res: Response, next: NextFunction) { document: obj, }); }); - return next(); }