From 0185c54fb34696a5c7c5c762fd47c0f78c9562f2 Mon Sep 17 00:00:00 2001 From: x2Skyz Date: Mon, 17 Nov 2025 14:48:03 +0700 Subject: [PATCH] =?UTF-8?q?--=20=E0=B9=81=E0=B8=81=E0=B9=89=E0=B9=84?= =?UTF-8?q?=E0=B8=82=E0=B8=95=E0=B8=A3=E0=B8=A7=E0=B8=88=E0=B8=AA=E0=B8=AD?= =?UTF-8?q?=E0=B8=9A=20=E0=B8=A3=E0=B8=B0=E0=B8=9A=E0=B8=9A=20interface=20?= =?UTF-8?q?=E0=B9=83=E0=B8=AB=E0=B9=89=E0=B9=83=E0=B8=8A=E0=B9=89=E0=B8=87?= =?UTF-8?q?=E0=B8=B2=E0=B8=99=20=E0=B9=84=E0=B8=94=E0=B9=89=20=E0=B8=AA?= =?UTF-8?q?=E0=B8=A1=E0=B8=9A=E0=B8=B9=E0=B8=A3=E0=B9=81=E0=B8=9A=E0=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/controllers/budgetAddController.js | 2 +- exthernal-ttc-api/src/interfaces/Interface.js | 10 ++++++---- .../src/interfaces/table/bdgmstInterface.js | 18 +++++++++--------- .../src/services/budgetAddService.js | 2 +- 4 files changed, 17 insertions(+), 15 deletions(-) diff --git a/exthernal-ttc-api/src/controllers/budgetAddController.js b/exthernal-ttc-api/src/controllers/budgetAddController.js index 6b3b01d..793d8bf 100644 --- a/exthernal-ttc-api/src/controllers/budgetAddController.js +++ b/exthernal-ttc-api/src/controllers/budgetAddController.js @@ -59,6 +59,6 @@ export class budgetAdd { bdgcod: req.body.request.bdgcod, bdgttl: req.body.request.bdgttl } - return this.Interface.saveInterface('bdgmst', arysave, req); + return this.Interface.saveInterface('bdgmst', arysave, req); } } diff --git a/exthernal-ttc-api/src/interfaces/Interface.js b/exthernal-ttc-api/src/interfaces/Interface.js index 2b0f2b4..0e09e7b 100644 --- a/exthernal-ttc-api/src/interfaces/Interface.js +++ b/exthernal-ttc-api/src/interfaces/Interface.js @@ -1,5 +1,7 @@ import jwt from 'jsonwebtoken' import { BdgmstInterface } from './table/bdgmstInterface.js' +import { sendError } from '../utils/response.js' + // import { ActmstInterface } from './actmstInterface.js' // ------------------------------- @@ -25,7 +27,7 @@ export class Interface { // ------------------------------ const handler = this.map[tableName.toLowerCase()] if (!handler) { - return new Error(`Interface not found for table: ${tableName}`) + return new sendError(`Interface not found for table: ${tableName}`) } // ------------------------------ @@ -33,18 +35,18 @@ export class Interface { // ------------------------------ const token = req.headers.authorization?.split(' ')[1] if (!token) { - return new Error('Missing token in request header') + return new sendError('ไม่พบการยืนยันตัวตน' ,'Missing token in request header') } let decoded try { decoded = jwt.verify(token, process.env.JWT_SECRET) } catch (err) { - return new Error('Invalid token: ' + err.message) + return new sendError('Invalid token: ' + err.message) } const schema = decoded.organization // ⭐ ได้ schema ที่ต้องการ - if (!schema) return new Error("Token missing 'organization' field") + if (!schema) return new sendError("Token missing 'organization' field") // ------------------------------ // ✔ 3) ส่งงานไปยัง interface ของ table นั้น ๆ diff --git a/exthernal-ttc-api/src/interfaces/table/bdgmstInterface.js b/exthernal-ttc-api/src/interfaces/table/bdgmstInterface.js index e66d11f..35c13e9 100644 --- a/exthernal-ttc-api/src/interfaces/table/bdgmstInterface.js +++ b/exthernal-ttc-api/src/interfaces/table/bdgmstInterface.js @@ -8,17 +8,17 @@ export class BdgmstInterface { this.pk = ['bdgseq'] } - async saveInterface(database, data) { - const method = data.methods.toLowerCase() - const payload = { ...data } - delete payload.method + async saveInterface(database, data) { + const method = data.methods.toLowerCase() + const { methods, ...payload } = data - if (method === 'put') return this.update(database, payload) - if (method === 'post') return this.insert(database, payload) - if (method === 'delete') return this.remove(database, payload) + if (method === 'put') return this.update(database, payload) + if (method === 'post') return this.insert(database, payload) + if (method === 'delete') return this.remove(database, payload) + + throw new Error(`Unknown method: ${method}`) + } - throw new Error(`Unknown method: ${method}`) - } async insert(database, payload) { const cols = Object.keys(payload) diff --git a/exthernal-ttc-api/src/services/budgetAddService.js b/exthernal-ttc-api/src/services/budgetAddService.js index 23e77cc..c42691d 100644 --- a/exthernal-ttc-api/src/services/budgetAddService.js +++ b/exthernal-ttc-api/src/services/budgetAddService.js @@ -13,7 +13,7 @@ export class BudgetAddService { bdgnam FROM ${database}.bdgmst WHERE bdgnam = $1 -s ` + ` const params = [name] const result = await this.generalService.executeQueryParam(database, sql, params); return result