diff --git a/src/controllers/DevelopmentController.ts b/src/controllers/DevelopmentController.ts index 8479baf..646237d 100644 --- a/src/controllers/DevelopmentController.ts +++ b/src/controllers/DevelopmentController.ts @@ -148,7 +148,9 @@ export class DevelopmentController extends Controller { status: "success", description: "Store Development.", }); + const before = null; await this.developmentRepository.save(development, { data: request }); + setLogDataDiff(request, { before, after: development }); return new HttpSuccess(development.id); } @@ -2151,7 +2153,7 @@ export class DevelopmentController extends Controller { const sheetName = workbook.SheetNames[0]; // Assuming we're reading the first sheet const sheet = workbook.Sheets[sheetName]; const getDevelopments = xlsx.utils.sheet_to_json(sheet); - + const before = null; await Promise.all( getDevelopments.map(async (item: any) => { if (item["รหัสประจำตัวประชาชน"] == undefined || item["รหัสประจำตัวประชาชน"].length != 13) @@ -2184,6 +2186,7 @@ export class DevelopmentController extends Controller { description: "Store DevelopmentHistory.", }); await this.developmentHistoryRepository.save(oldProfile, { data: request }); + setLogDataDiff(request, { before, after: oldProfile }); return; } if (item["ประเภท"] == undefined) return; @@ -2221,6 +2224,7 @@ export class DevelopmentController extends Controller { description: "Store DevelopmentHistory.", }); await this.developmentHistoryRepository.save(development, { data: request }); + setLogDataDiff(request, { before, after: development }); }) .catch((x) => { return; @@ -2259,6 +2263,7 @@ export class DevelopmentController extends Controller { description: "Store DevelopmentHistory.", }); await this.developmentHistoryRepository.save(development, { data: request }); + setLogDataDiff(request, { before, after: development }); }) .catch((x) => { return; diff --git a/src/controllers/DevelopmentEmployeeHistoryController.ts b/src/controllers/DevelopmentEmployeeHistoryController.ts index 731dd80..b7c34c4 100644 --- a/src/controllers/DevelopmentEmployeeHistoryController.ts +++ b/src/controllers/DevelopmentEmployeeHistoryController.ts @@ -26,7 +26,7 @@ import { import { EmployeePosType } from "../entities/EmployeePosType"; import { EmployeePosLevel } from "../entities/EmployeePosLevel"; import { RequestWithUser } from "../middlewares/user"; -import { addLogSequence } from "../interfaces/utils"; +import { addLogSequence, setLogDataDiff } from "../interfaces/utils"; @Route("api/v1/development/history/employee") @Tags("DevelopmentEmployeeHistory") @@ -110,7 +110,7 @@ export class DevelopmentEmployeeHistoryController extends Controller { throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลระดับตำแหน่ง"); } } - + const before = null; const development = Object.assign(new DevelopmentHistory(), requestBody); development.type = type; development.employeePosTypeId = requestBody.posTypeId; @@ -127,6 +127,7 @@ export class DevelopmentEmployeeHistoryController extends Controller { description: "Store DevelopmentHistory.", }); await this.developmentHistoryRepository.save(development, { data: request }); + setLogDataDiff(request, { before, after: development }); return new HttpSuccess(development.id); } diff --git a/src/controllers/DevelopmentHistoryController.ts b/src/controllers/DevelopmentHistoryController.ts index ae476b5..1e5a547 100644 --- a/src/controllers/DevelopmentHistoryController.ts +++ b/src/controllers/DevelopmentHistoryController.ts @@ -26,7 +26,7 @@ import { import { PosType } from "../entities/PosType"; import { PosLevel } from "../entities/PosLevel"; import { RequestWithUser } from "../middlewares/user"; -import { addLogSequence } from "../interfaces/utils"; +import { addLogSequence, setLogDataDiff } from "../interfaces/utils"; @Route("api/v1/development/history/officer") @Tags("DevelopmentOfficerHistory") @@ -110,7 +110,7 @@ export class DevelopmentOfficerHistoryController extends Controller { throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลระดับตำแหน่ง"); } } - + const before = null; const development = Object.assign(new DevelopmentHistory(), requestBody); development.type = type; development.createdUserId = request.user.sub; @@ -123,6 +123,7 @@ export class DevelopmentOfficerHistoryController extends Controller { description: "Store DevelopmentHistory.", }); await this.developmentHistoryRepository.save(development, { data: request }); + setLogDataDiff(request, { before, after: development }); return new HttpSuccess(development.id); } diff --git a/src/controllers/DevelopmentScholarshipController.ts b/src/controllers/DevelopmentScholarshipController.ts index b4bcbb4..7b30ee7 100644 --- a/src/controllers/DevelopmentScholarshipController.ts +++ b/src/controllers/DevelopmentScholarshipController.ts @@ -75,7 +75,7 @@ export class DevelopmentScholarshipController extends Controller { throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลระดับตำแหน่ง"); } } - + const before = null; const development = Object.assign(new DevelopmentScholarship(), requestBody); development.createdUserId = request.user.sub; development.createdFullName = request.user.name; @@ -87,6 +87,7 @@ export class DevelopmentScholarshipController extends Controller { description: "Store Development Scholarship.", }); await this.developmentScholarshipRepository.save(development, { data: request }); + setLogDataDiff(request, { before, after: development }); return new HttpSuccess(development.id); } diff --git a/src/controllers/PortfolioController.ts b/src/controllers/PortfolioController.ts index 17b1522..04a2657 100644 --- a/src/controllers/PortfolioController.ts +++ b/src/controllers/PortfolioController.ts @@ -20,7 +20,7 @@ import HttpError from "../interfaces/http-error"; import { Not } from "typeorm"; import { CreatePortfolio, Portfolio } from "../entities/Portfolio"; import { RequestWithUser } from "../middlewares/user"; -import { addLogSequence } from "../interfaces/utils"; +import { addLogSequence, setLogDataDiff } from "../interfaces/utils"; @Route("api/v1/development/portfolio") @Tags("Portfolio") @@ -101,7 +101,7 @@ export class PortfolioController extends Controller { if (checkName) { throw new HttpError(HttpStatusCode.NOT_FOUND, "ชื่อนี้มีอยู่ในระบบแล้ว"); } - + const before = null; _portfolio.createdUserId = request.user.sub; _portfolio.createdFullName = request.user.name; _portfolio.lastUpdateUserId = request.user.sub; @@ -112,6 +112,7 @@ export class PortfolioController extends Controller { description: "Store Portfolio.", }); await this.portfolioRepository.save(_portfolio, { data: request }); + setLogDataDiff(request, { before, after: _portfolio }); return new HttpSuccess(_portfolio.id); } diff --git a/src/controllers/StrategyController.ts b/src/controllers/StrategyController.ts index 1231641..cb44c76 100644 --- a/src/controllers/StrategyController.ts +++ b/src/controllers/StrategyController.ts @@ -42,7 +42,7 @@ import HttpError from "../interfaces/http-error"; import HttpStatus from "../interfaces/http-status"; import HttpSuccess from "../interfaces/http-success"; import { Check } from "typeorm"; -import { addLogSequence } from "../interfaces/utils"; +import { addLogSequence, setLogDataDiff } from "../interfaces/utils"; import { RequestWithUser } from "../middlewares/user"; @Route("api/v1/development/strategy") @@ -199,7 +199,7 @@ export class StrategyController extends Controller { default: throw new HttpError(HttpStatus.BAD_REQUEST, "levelnode ไม่ถูกต้อง"); } - + const before = null; strategyChild.createdUserId = request.user.sub; strategyChild.createdFullName = request.user.name; strategyChild.lastUpdateUserId = request.user.sub; @@ -210,6 +210,7 @@ export class StrategyController extends Controller { description: "Store Strategy.", }); await repoSave.save(strategyChild, { data: request }); + setLogDataDiff(request, { before, after: strategyChild }); return new HttpSuccess(strategyChild.id); } diff --git a/src/interfaces/call-api.ts b/src/interfaces/call-api.ts index 7060fd6..e95592a 100644 --- a/src/interfaces/call-api.ts +++ b/src/interfaces/call-api.ts @@ -29,10 +29,11 @@ class CallAPI { addLogSequence(request, { action: "request", status: "success", - description: JSON.stringify(response.data.result), + description: "connected", request: { method: "GET", url: url, + response: JSON.stringify(response.data.result), }, }); return response.data.result; @@ -40,10 +41,11 @@ class CallAPI { addLogSequence(request, { action: "request", status: "error", - description: JSON.stringify(error), + description: "unconnected", request: { method: "GET", url: url, + response: JSON.stringify(error), }, }); throw error; @@ -63,10 +65,12 @@ class CallAPI { addLogSequence(request, { action: "request", status: "success", - description: JSON.stringify(response.data.result), + description: "connected", request: { method: "POST", url: url, + payload: JSON.stringify(sendData), + response: JSON.stringify(response.data.result), }, }); return response.data.result; @@ -74,10 +78,12 @@ class CallAPI { addLogSequence(request, { action: "request", status: "error", - description: JSON.stringify(error), + description: "unconnected", request: { method: "POST", url: url, + payload: JSON.stringify(sendData), + response: JSON.stringify(error), }, }); throw error; diff --git a/src/interfaces/utils.ts b/src/interfaces/utils.ts index a6bf98d..12308e1 100644 --- a/src/interfaces/utils.ts +++ b/src/interfaces/utils.ts @@ -13,6 +13,8 @@ export type LogSequence = { request?: { method: "GET" | "POST" | "PUT" | "DELETE" | "PATCH"; url: string; + payload?: string; + response?: string; }; };