/** * 이슈 유형 관리 컨트롤러 * * 이슈 유형(카테고리/서브카테고리) CRUD API 엔드포인트 핸들러 * * @author TK-FB-Project * @since 2025-12-11 */ const issueTypeService = require('../services/issueTypeService'); const { asyncHandler } = require('../middlewares/errorHandler'); /** * 이슈 유형 생성 */ exports.createIssueType = asyncHandler(async (req, res) => { const result = await issueTypeService.createIssueTypeService(req.body); res.status(201).json({ success: true, data: result, message: '이슈 유형이 성공적으로 생성되었습니다' }); }); /** * 전체 이슈 유형 조회 */ exports.getAllIssueTypes = asyncHandler(async (req, res) => { const rows = await issueTypeService.getAllIssueTypesService(); res.json({ success: true, data: rows, message: '이슈 유형 목록 조회 성공' }); }); /** * 이슈 유형 수정 */ exports.updateIssueType = asyncHandler(async (req, res) => { const id = parseInt(req.params.id, 10); const result = await issueTypeService.updateIssueTypeService(id, req.body); res.json({ success: true, data: result, message: '이슈 유형이 성공적으로 수정되었습니다' }); }); /** * 이슈 유형 삭제 */ exports.removeIssueType = asyncHandler(async (req, res) => { const id = parseInt(req.params.id, 10); const result = await issueTypeService.removeIssueTypeService(id); res.json({ success: true, data: result, message: '이슈 유형이 성공적으로 삭제되었습니다' }); });