diff --git a/controllers/TripController.js b/controllers/TripController.js index c3af91f383bd4f6644191b409eb2dead4ff334a2..88eab97d5c3ae59e22d443bd44df647c4e42d783 100644 --- a/controllers/TripController.js +++ b/controllers/TripController.js @@ -64,11 +64,23 @@ const deleteTrip = async (req, res) => { // 공동 작업자 추가 const addCollaborator = async (req, res) => { try { - const { collaboratorEmail } = req.body; - - const collaborator = await User.findOne({ email: collaboratorEmail }); - if (!collaborator) { - return res.status(404).json({ message: '해당 이메일의 사용자를 찾을 수 없습니다.' }); + const { collaboratorEmail, collaboratorName } = req.body; + + let collaborator; + + if (collaboratorEmail) { + collaborator = await User.findOne({ email: collaboratorEmail }); + if (!collaborator) { + return res.status(404).json({ message: '해당 이메일의 사용자를 찾을 수 없습니다.' }); + } + } else if (collaboratorName) { + collaborator = await User.findOne({ name: collaboratorName }); + if (!collaborator) { + return res.status(404).json({ message: '해당 이름의 사용자를 찾을 수 없습니다.' }); + } + return res.status(200).json({ email: collaborator.email }); + } else { + return res.status(400).json({ message: '이메일 또는 이름을 제공해야 합니다.' }); } const trip = await Trip.findById(req.params.id).populate('create_by'); @@ -143,7 +155,6 @@ const addDayPlan = async (req, res) => { console.error('Error updating day:', err); res.status(500).json({ error: err.message }); } - }; module.exports = {