From 0dc0ce35e45ec434541f18cb45ab5797d02e7b71 Mon Sep 17 00:00:00 2001
From: xenis105 <xenis105@ajou.ac.kr>
Date: Thu, 5 Dec 2024 00:00:10 +0900
Subject: [PATCH] add user name search

---
 controllers/TripController.js | 23 +++++++++++++++++------
 1 file changed, 17 insertions(+), 6 deletions(-)

diff --git a/controllers/TripController.js b/controllers/TripController.js
index c3af91f..88eab97 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 = {
-- 
GitLab