const ResponseHandler = require('../shared/response.handler'); class FriendsController { constructor({ friendsService }) { this.friendsService = friendsService; } async getFriends(req, res, next) { try { const friends = await this.friendsService.getFriendsByUserId(req.userId); return ResponseHandler.success(res, friends, 'Friends retrieved successfully'); } catch (error) { next(error); } } async getPendingRequests(req, res, next) { try { const requests = await this.friendsService.getPendingRequests(req.userId); return ResponseHandler.success( res, requests, 'Pending requests retrieved successfully' ); } catch (error) { next(error); } } async sendRequest(req, res, next) { try { const request = await this.friendsService.sendFriendRequest( req.userId, req.body.identifier ); return ResponseHandler.created(res, request, 'Friend request sent successfully'); } catch (error) { next(error); } } async acceptRequest(req, res, next) { try { const result = await this.friendsService.acceptFriendRequest( req.params.id, req.userId ); return ResponseHandler.success(res, result, result.message); } catch (error) { next(error); } } async rejectRequest(req, res, next) { try { const result = await this.friendsService.rejectFriendRequest( req.params.id, req.userId ); return ResponseHandler.success(res, result, result.message); } catch (error) { next(error); } } } module.exports = FriendsController;