import express from 'express'; import { createDatabaseConnection } from '../db/database.js'; // db 연결 파일을 import import { dbConfig } from '../private/config.js'; export const HandleUser = async (req, res) => { const actionPath = req.params[0]; // 'userRead/sns'와 같은 나머지 경로를 잡아냄 const actionParts = actionPath.split('/'); // 슬래시로 나누어 배열로 변환 const action = actionParts[0]; // 첫 번째 부분 ('userRead') if (action === 'userRead') { // res.send(`Action: ${action}, ${actionParts}`); // 이 줄은 테스트용이므로 실제 응답 전에 사용 금지 let query; let queryParams; try { const connection = await createDatabaseConnection(dbConfig); if (actionParts[1] === 'sns') { const { sns_id } = req.query; // 쿼리 파라미터에서 sns_id를 받아옴 if (!sns_id) { await connection.end(); return res.status(400).json({ error: 'sns_id is required' }); } query = 'SELECT * FROM user_info WHERE sns_id = ?'; queryParams = [sns_id]; } else if (actionParts[1] === 'app') { const { app_id } = req.query; if (!app_id) { await connection.end(); return res.status(400).json({ error: 'app_id is required' }); } query = 'SELECT * FROM user_info WHERE app_id = ?'; queryParams = [app_id]; } else { await connection.end(); return res.status(400).json({ error: 'Invalid sub-action' }); } const [rows] = await connection.query(query, queryParams); await connection.end(); if (rows.length === 0) { return res.status(404).json({ message: 'User not found' }); } return res.json(rows[0]); // 사용자의 첫 번째 정보를 반환 } catch (err) { return res.status(500).json({ error: err.message }); } } else { return res.status(400).send('Invalid action'); } };