Newer
Older
const FriendService = require('../services/friendService');
class friendController {
/**
* 친구 요청 보내기
* POST /api/friend/request
*/
async sendRequest(req, res) {
try {
const userId = req.user.id;
const { friendId } = req.body;
const request = await FriendService.sendFriendRequest(userId, friendId);
return res.status(201).json({
success: true,
data: request
});
} catch (error) {
return res.status(400).json({
success: false,
error: {
message: error.message,
code: 'FRIEND_REQUEST_ERROR'
}
});
}
}
/**
* 받은 친구 요청 목록 조회
* GET /api/friend/requests/received
*/
async getReceivedRequests(req, res) {
try {
const userId = req.user.id;
const requests = await FriendService.getReceivedRequests(userId);
return res.status(200).json({
success: true,
data: requests
});
} catch (error) {
return res.status(500).json({
success: false,
error: {
message: error.message,
code: 'FETCH_ERROR'
}
});
}
}
/**
* 보낸 친구 요청 목록 조회
* GET /api/friend/requests/sent
*/
async getSentRequests(req, res) {
try {
const userId = req.user.id;
const requests = await FriendService.getSentRequests(userId);
return res.status(200).json({
success: true,
data: requests
});
} catch (error) {
return res.status(500).json({
success: false,
error: {
message: error.message,
code: 'FETCH_ERROR'
}
});
}
}
/**
* 친구 요청 수락
* POST /api/friend/request/:requestId/accept
*/
async acceptRequest(req, res) {
try {
const userId = req.user.id;
const { requesId } = req.params;
const result = await FriendService.acceptFriendRequest(requesId, userId);
return res.status(200).json({
success: true,
data: result
});
} catch (error) {
return res.status(400).json({
success: false,
error: {
message: error.message,
code: 'REQUEST_ACCEPT_ERROR'
}
});
}
}
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
/**
* 친구 요청 거절
* POST /api/friend/request/:requestId/reject
*/
async rejectRequest(req, res) {
try {
const userId = req.user.id;
const { requesId } = req.params;
const result = await FriendService.rejectFriendRequest(requesId, userId);
return res.status(200).json({
success: true,
data: result
});
} catch (error) {
return res.status(400).json({
success: false,
error: {
message: error.message,
code: 'REQUEST_REJECT_ERROR'
}
});
}
}