/** * Department Controller * * 부서 CRUD */ const departmentModel = require('../models/departmentModel'); async function getAll(req, res, next) { try { const departments = await departmentModel.getAll(); res.json({ success: true, data: departments }); } catch (err) { next(err); } } async function getById(req, res, next) { try { const dept = await departmentModel.getById(parseInt(req.params.id)); if (!dept) { return res.status(404).json({ success: false, error: '부서를 찾을 수 없습니다' }); } res.json({ success: true, data: dept }); } catch (err) { next(err); } } async function create(req, res, next) { try { const { department_name } = req.body; if (!department_name) { return res.status(400).json({ success: false, error: '부서명은 필수입니다' }); } const dept = await departmentModel.create(req.body); res.status(201).json({ success: true, data: dept }); } catch (err) { next(err); } } async function update(req, res, next) { try { const id = parseInt(req.params.id); const dept = await departmentModel.update(id, req.body); if (!dept) { return res.status(404).json({ success: false, error: '부서를 찾을 수 없습니다' }); } res.json({ success: true, data: dept }); } catch (err) { next(err); } } async function remove(req, res, next) { try { const id = parseInt(req.params.id); await departmentModel.remove(id); res.json({ success: true, message: '부서가 삭제되었습니다' }); } catch (err) { next(err); } } module.exports = { getAll, getById, create, update, remove };