Edit File: FriendController.php
<?php namespace App\Http\Controllers\Api\User; use App\Http\Resources\Api\Friend\{FriendResource , FriendProfileResource}; use App\Traits\{ResponseTrait, PaginationTrait}; use App\Http\Resources\Api\User\UserCollection; use App\Http\Requests\Api\User\Report\Report; use App\Services\User\FriendService; use App\Http\Controllers\Controller; use App\Http\Filters\UserFilter; class FriendController extends Controller { use ResponseTrait, PaginationTrait; /** * @var FriendService */ protected $friendService; /** * @var UserFilter */ protected $filter; public function __construct(FriendService $friendService, UserFilter $filter) { $this->friendService = $friendService; $this->filter = $filter; } public function myRequests() { $data = $this->friendService->myRequests($this->paginateNum()); $count = $this->friendService->myRequestsCount(); return $this->response('success', trans('apis.success'), [ 'count' => $count, 'data' => FriendResource::collection($data), 'pagination' => $this->paginationModel($data), ]); } public function myFriends() { $data = $this->friendService->myFriends($this->paginateNum()); $count = $this->friendService->myFriendsCount(); return $this->response('success', trans('apis.success'), [ 'count' => $count, 'data' => FriendResource::collection($data), 'pagination' => $this->paginationModel($data), ]); } public function showFriend($id) { $data = $this->friendService->showFriend($id); return $this->successData(FriendProfileResource::make($data)); } public function switchRequest($friend_id) { $data = $this->friendService->switchRequest($friend_id); return $this->response($data['key'], $data['msg'], $data['data']); } public function acceptRequest($request_id) { $data = $this->friendService->acceptRequest($request_id); return $this->response($data['key'], $data['msg'], $data['data']); } public function rejectRequest($request_id) { $data = $this->friendService->rejectRequest($request_id); return $this->response($data['key'], $data['msg'], $data['data']); } public function getAll() { $data = $this->friendService->getAll($this->paginateNum()); return $this->successData(UserCollection::make($data)); } public function filter() { $data = $this->friendService->filter($this->filter, $this->paginateNum()); return $this->successData(UserCollection::make($data)); } public function report(Report $request) { $data = $this->friendService->report($request->validated()); return $this->response($data['key'], $data['msg']); } }
Back to File Manager