diff --git a/controllers/meetingController.js b/controllers/meetingController.js index 12ee66a740228e3ee825b171ef6df7a5d1060ccc..66246226712c26021bbb19c241ac5ac396e21240 100644 --- a/controllers/meetingController.js +++ b/controllers/meetingController.js @@ -14,7 +14,7 @@ class MeetingController { * "time_idx_start": 40, // 예: 10:00 AM * "time_idx_end": 42, // 예: 10:30 AM * "location": "회의실 A", - * "deadline": "2024-04-25T23:59:59Z", + * "deadline": "43", * "type": "OPEN" // "OPEN" 또는 "CLOSE" * "max_num": * } @@ -116,6 +116,23 @@ class MeetingController { res.status(500).json({ error: err.message || '모임 상세 조회 실패' }); } } + /* + Delete /api/meetings/:meetingId + */ + async closeMeeting(req,res) + { + + const { meetingId } = req.params; + const userid=req.user.id; + try { + const meetingDetail = await MeetingService.leaveMeeting(meetingId,userId); + res.status(200).json('모임 삭제성공!'); + } catch (err) { + console.error('모임 삭제 오류', err); + res.status(500).json({ error: err.message || '모임삭제 실패' }); + } + } + } module.exports = new MeetingController(); diff --git a/models/fcmToken.js b/models/fcmToken.js index f9fa9207dcf3adaf53875e9c78fd040ee78f4eec..855b833ed49fe0de3b033f59676ce3fbe17c1077 100644 --- a/models/fcmToken.js +++ b/models/fcmToken.js @@ -1,3 +1,4 @@ +//models/friend.js const { DataTypes } = require('sequelize'); const sequelize = require('../config/sequelize'); const User = require('./user'); // 올바른 경로 확인 diff --git a/passport/googleStrategy.js b/passport/googleStrategy.js index 7acaf173e06eef64c1bf1dc82b22b181154801c6..cd23c9d71bce1b6ef26e59ee92bb8d3d3ef1f829 100644 --- a/passport/googleStrategy.js +++ b/passport/googleStrategy.js @@ -5,7 +5,7 @@ const User = require('../models/user'); module.exports = new GoogleStrategy( { - clientID: process.env.GOOGLE_CLIENT_ID, // .env 파일에 설정 + clientID: process.env.GOOGLE_CLIENT_ID, clientSecret: process.env.GOOGLE_CLIENT_SECRET, callbackURL: process.env.CALLBACK_URL, }, diff --git a/services/friendService.js b/services/friendService.js index d35b3c700c9b4b1a1b7a18326eafb2eace829478..4d61554624b77f0e7fc0b0bd0c21749520529c83 100644 --- a/services/friendService.js +++ b/services/friendService.js @@ -11,9 +11,7 @@ const FriendListDTO = require('../dtos/FriendListDTO'); class FriendService { /** * User 존재 여부 유효성 검사 - * @param {number} userId - 검사할 사용자 ID - * @returns {Promise<User>} - 유효한 사용자 객체 - * @throws {Error} - 사용자가 존재하지 않을 경우 + * userId - 검사할 사용자 ID */ async validUser(userId) { const user = await User.findByPk(userId); @@ -25,10 +23,9 @@ class FriendService { /** * 친구 요청 보내기 - * @param {number} userId - 친구 요청을 보내는 사용자 ID - * @param {number} friendId - 친구 요청을 받는 사용자 ID - * @returns {Promise<FriendResponseDTO>} - 생성된 친구 요청 DTO - * @throws {Error} - 유효하지 않은 요청일 경우 + * userId - 친구 요청을 보내는 사용자 ID + * friendId - 친구 요청을 받는 사용자 ID + * returns - 생성된 친구 요청 DTO */ async sendFriendRequest(userId, friendId) { await this.validUser(userId); @@ -81,8 +78,8 @@ class FriendService { /** * 받은 친구 요청 목록 조회 - * @param {number} userId - 요청을 받은 사용자 ID - * @returns {Promise<Array<FriendResponseDTO>>} - 받은 친구 요청 목록 DTO 배열 + userId - 요청을 받은 사용자 ID + 받은 친구 요청 목록 DTO 배열 */ async getReceivedRequests(userId) { const receivedRequests = await Friend.findAll({ @@ -101,8 +98,7 @@ class FriendService { /** * 보낸 친구 요청 목록 조회 - * @param {number} userId - 요청을 보낸 사용자 ID - * @returns {Promise<Array<FriendResponseDTO>>} - 보낸 친구 요청 목록 DTO 배열 + * userId - 요청을 보낸 사용자 ID */ async getSentRequests(userId) { const sentRequests = await Friend.findAll({ @@ -163,10 +159,9 @@ class FriendService { /** * 친구 요청 거절 - * @param {number} userId - 요청을 거절하는 사용자 ID - * @param {number} friendId - 친구 요청을 보낸 사용자 ID - * @returns {Promise<number>} - 삭제된 친구 요청 수 - * @throws {Error} - 친구 요청이 존재하지 않을 경우 + *userId - 요청을 거절하는 사용자 ID + * friendId - 친구 요청을 보낸 사용자 ID + * returns - 삭제된 친구 요청 수 */ async rejectFriendRequest(userId, friendId) { const result = await Friend.destroy({ @@ -186,10 +181,10 @@ class FriendService { /** * 친구 목록 조회 - * @param {number} userId - 친구 목록을 조회할 사용자 ID - * @param {number} limit - 한 페이지에 표시할 친구 수 - * @param {number} offset - 페이징 오프셋 - * @returns {Promise<Array<FriendListDTO>>} - 친구 목록 DTO 배열 + userId - 친구 목록을 조회할 사용자 ID + limit - 한 페이지에 표시할 친구 수 + offset - 페이징 오프셋 + 친구 목록 DTO 배열 */ async getFriendList(userId, pagination) { const { limit = 20, offset = 0 } = pagination; @@ -232,10 +227,10 @@ class FriendService { /** * 친구 삭제 - * @param {number} userId - 친구를 삭제하는 사용자 ID - * @param {number} friendId - 삭제할 친구의 사용자 ID - * @returns {Promise<number>} - 삭제된 친구 관계 수 - * @throws {Error} - 친구 관계가 존재하지 않을 경우 + - 친구를 삭제하는 사용자 ID + - 삭제할 친구의 사용자 ID + - 삭제된 친구 관계 수 + -친구 관계가 존재하지 않을 경우 */ async deleteFriend(userId, friendId) { const result = await Friend.destroy({ diff --git a/services/schedule.test.js b/services/schedule.test.js index 373d1e5b67bb78e5e043483ed798a012bbb1f114..1002f0acca632b902c9e6384d6f0f66c00b92fab 100644 --- a/services/schedule.test.js +++ b/services/schedule.test.js @@ -1,16 +1,14 @@ // test/scheduleService.test.js -const sequelize = require('../config/sequelize'); // 실제 경로에 맞게 수정 +const sequelize = require('../config/sequelize'); const { Schedule, User } = require('../models'); -const ScheduleService = require('../services/scheduleService'); // Uppercase 'S'로 가져오기 +const ScheduleService = require('../services/scheduleService'); const ScheduleResponseDTO = require('../dtos/ScheduleResponseDTO'); beforeAll(async () => { - // 테스트 스위트가 시작되기 전에 데이터베이스를 동기화합니다. await sequelize.sync({ force: true }); }); beforeEach(async () => { - // 각 테스트가 시작되기 전에 기존 데이터를 삭제합니다. await Schedule.destroy({ where: {} }); await User.destroy({ where: {} });