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