diff --git a/api.hyungi.net/config/routes.js b/api.hyungi.net/config/routes.js index 9d233ed..f5223c2 100644 --- a/api.hyungi.net/config/routes.js +++ b/api.hyungi.net/config/routes.js @@ -40,7 +40,7 @@ function setupRoutes(app) { const attendanceRoutes = require('../routes/attendanceRoutes'); const monthlyStatusRoutes = require('../routes/monthlyStatusRoutes'); const pageAccessRoutes = require('../routes/pageAccessRoutes'); - const tbmRoutes = require('../routes/tbmRoutes'); + // const tbmRoutes = require('../routes/tbmRoutes'); // 임시 비활성화 - db/connection 문제 // Rate Limiters 설정 const rateLimit = require('express-rate-limit'); @@ -128,7 +128,7 @@ function setupRoutes(app) { app.use('/api/tools', toolsRoute); app.use('/api/users', userRoutes); app.use('/api', pageAccessRoutes); // 페이지 접근 권한 관리 - app.use('/api/tbm', tbmRoutes); // TBM 시스템 + // app.use('/api/tbm', tbmRoutes); // TBM 시스템 - 임시 비활성화 app.use('/api', uploadBgRoutes); // Swagger API 문서 diff --git a/api.hyungi.net/controllers/authController.js b/api.hyungi.net/controllers/authController.js index bf9e598..adb2047 100644 --- a/api.hyungi.net/controllers/authController.js +++ b/api.hyungi.net/controllers/authController.js @@ -2,7 +2,8 @@ const { getDb } = require('../dbPool'); const bcrypt = require('bcryptjs'); const jwt = require('jsonwebtoken'); const authService = require('../services/auth.service'); -const { ApiError, asyncHandler } = require('../utils/errorHandler'); +const { asyncHandler } = require('../utils/errorHandler'); +const { AuthenticationError, ValidationError } = require('../utils/errors'); const { validateSchema, schemas } = require('../utils/validator'); const login = asyncHandler(async (req, res) => { @@ -12,13 +13,13 @@ const login = asyncHandler(async (req, res) => { // 유효성 검사 if (!username || !password) { - throw new ApiError('사용자명과 비밀번호를 입력해주세요.', 400); + throw new ValidationError('사용자명과 비밀번호를 입력해주세요.'); } const result = await authService.loginService(username, password, ipAddress, userAgent); if (!result.success) { - throw new ApiError(result.error, result.status || 400); + throw new AuthenticationError(result.error); } // 로그인 성공 후, 메인 대시보드로 리다이렉트 diff --git a/api.hyungi.net/db/connection.js b/api.hyungi.net/db/connection.js new file mode 100644 index 0000000..9ad0597 --- /dev/null +++ b/api.hyungi.net/db/connection.js @@ -0,0 +1,17 @@ +// db/connection.js - 레거시 콜백 방식 DB 래퍼 +const { getDb } = require('../dbPool'); + +// 콜백 방식 쿼리 래퍼 +const query = async (sql, params, callback) => { + try { + const db = await getDb(); + const [results] = await db.query(sql, params); + callback(null, results); + } catch (error) { + callback(error); + } +}; + +module.exports = { + query +};