feat: add reciprocal user blocking
This commit is contained in:
@@ -18,10 +18,12 @@ class FollowController extends Controller
|
||||
|
||||
if ($authUser->id === $user->id) {
|
||||
return response()->json([
|
||||
'message' => __('api.follows.cannot_follow_self')
|
||||
'message' => __('api.follows.cannot_follow_self'),
|
||||
], 422);
|
||||
}
|
||||
|
||||
abort_if($authUser->hasBlockingRelationshipWith($user), 404);
|
||||
|
||||
// Default to Accepted as is_private doesn't exist in the DB yet
|
||||
$status = FollowStatus::Accepted;
|
||||
|
||||
@@ -44,6 +46,8 @@ class FollowController extends Controller
|
||||
|
||||
public function accept(FollowRequest $request, User $user): JsonResponse
|
||||
{
|
||||
abort_if($request->user()->hasBlockingRelationshipWith($user), 404);
|
||||
|
||||
$updated = $request->user()->followers()->updateExistingPivot($user->id, [
|
||||
'status' => FollowStatus::Accepted,
|
||||
]);
|
||||
@@ -55,6 +59,8 @@ class FollowController extends Controller
|
||||
|
||||
public function reject(FollowRequest $request, User $user): JsonResponse
|
||||
{
|
||||
abort_if($request->user()->hasBlockingRelationshipWith($user), 404);
|
||||
|
||||
$detached = $request->user()->followers()->detach($user->id);
|
||||
|
||||
return response()->json([
|
||||
@@ -70,6 +76,7 @@ class FollowController extends Controller
|
||||
|
||||
$followers = $user->followers()
|
||||
->wherePivot('status', FollowStatus::Accepted)
|
||||
->withoutBlockingRelationshipWith($request->user())
|
||||
->paginate($perPage);
|
||||
|
||||
return FollowResource::collection($followers);
|
||||
@@ -83,6 +90,7 @@ class FollowController extends Controller
|
||||
|
||||
$following = $user->following()
|
||||
->wherePivot('status', FollowStatus::Accepted)
|
||||
->withoutBlockingRelationshipWith($request->user())
|
||||
->paginate($perPage);
|
||||
|
||||
return FollowResource::collection($following);
|
||||
|
||||
Reference in New Issue
Block a user