diff --git a/backend/src/db/index copy.js b/backend/src/db/index copy.js new file mode 100644 index 00000000..abe7077b --- /dev/null +++ b/backend/src/db/index copy.js @@ -0,0 +1,39 @@ +// FILE: backend/src/db/index.js (ESM) +import mysql from "mysql2/promise"; + +const { + DB_HOST = "mariadb", + DB_PORT = "3306", + DB_USER = "center", + DB_PASSWORD = "Center#2025", + DB_NAME = "dms", + DB_CONN_LIMIT = "10", +} = process.env; + +const pool = mysql.createPool({ + host: DB_HOST, + port: Number(DB_PORT), + user: DB_USER, + password: DB_PASSWORD, + database: DB_NAME, + connectionLimit: Number(DB_CONN_LIMIT), + waitForConnections: true, + namedPlaceholders: true, + dateStrings: true, // คงวันที่เป็น string + timezone: "Z", // ใช้ UTC +}); + +/** + * เรียก Stored Procedure แบบง่าย + * @param {string} procName ชื่อโปรซีเยอร์ เช่น "sp_rfa_create_with_items" + * @param {Array} params ลำดับพารามิเตอร์ + * @returns {Promise} rows จาก CALL + */ +export async function callProc(procName, params = []) { + const placeholders = params.map(() => "?").join(","); + const sql = `CALL ${procName}(${placeholders})`; + const [rows] = await pool.query(sql, params); + return rows; +} + +export default pool; // ใช้ sql.query(...) ได้ตามที่ routes เรียกอยู่ diff --git a/backend/src/routes/users.js b/backend/src/routes/users.js index ee3e7e10..6cd81155 100644 --- a/backend/src/routes/users.js +++ b/backend/src/routes/users.js @@ -1,6 +1,6 @@ // File: backend/src/routes/users.js import { Router } from "express"; -import { User, Role } from "../db/index.js"; +import { User, Role } from "../db/sequelize.js"; import { authJwt, permGuard } from "../middleware/index.js"; import { hashPassword } from "../utils/passwords.js";