const ItemAliasModel = require('../models/itemAliasModel'); const koreanSearch = require('../utils/koreanSearch'); const logger = require('../utils/logger'); const ItemAliasController = { getAll: async (req, res) => { try { const rows = await ItemAliasModel.getAll(); res.json({ success: true, data: rows }); } catch (err) { logger.error('ItemAlias getAll error:', err); res.status(500).json({ success: false, message: '서버 오류가 발생했습니다.' }); } }, create: async (req, res) => { try { const { item_id, alias_name } = req.body; if (!item_id || !alias_name || !alias_name.trim()) { return res.status(400).json({ success: false, message: '품목 ID와 별칭을 입력해주세요.' }); } const id = await ItemAliasModel.create(item_id, alias_name); koreanSearch.clearCache(); res.status(201).json({ success: true, data: { alias_id: id }, message: '별칭이 등록되었습니다.' }); } catch (err) { if (err.code === 'ER_DUP_ENTRY') { return res.status(400).json({ success: false, message: '이미 등록된 별칭입니다.' }); } logger.error('ItemAlias create error:', err); res.status(500).json({ success: false, message: '서버 오류가 발생했습니다.' }); } }, delete: async (req, res) => { try { const deleted = await ItemAliasModel.delete(req.params.id); if (!deleted) return res.status(404).json({ success: false, message: '별칭을 찾을 수 없습니다.' }); koreanSearch.clearCache(); res.json({ success: true, message: '별칭이 삭제되었습니다.' }); } catch (err) { logger.error('ItemAlias delete error:', err); res.status(500).json({ success: false, message: '서버 오류가 발생했습니다.' }); } } }; module.exports = ItemAliasController;