47
common/Auth/Controllers/UserFollowersController.php
Executable file
47
common/Auth/Controllers/UserFollowersController.php
Executable file
@@ -0,0 +1,47 @@
|
||||
<?php namespace Common\Auth\Controllers;
|
||||
|
||||
use App\Models\User;
|
||||
use Auth;
|
||||
use Common\Core\BaseController;
|
||||
|
||||
class UserFollowersController extends BaseController
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('auth')->except(['index']);
|
||||
}
|
||||
|
||||
public function index(User $user)
|
||||
{
|
||||
$this->authorize('show', $user);
|
||||
|
||||
$pagination = $user
|
||||
->followers()
|
||||
->withCount(['followers'])
|
||||
->simplePaginate(request('perPage') ?? 20);
|
||||
|
||||
return $this->success(['pagination' => $pagination]);
|
||||
}
|
||||
|
||||
public function follow(User $userToFollow)
|
||||
{
|
||||
if ($userToFollow->id !== Auth::user()->id) {
|
||||
Auth::user()
|
||||
->followedUsers()
|
||||
->sync([$userToFollow->id], false);
|
||||
}
|
||||
|
||||
return $this->success();
|
||||
}
|
||||
|
||||
public function unfollow(User $userToFollow)
|
||||
{
|
||||
if ($userToFollow->id != Auth::user()->id) {
|
||||
Auth::user()
|
||||
->followedUsers()
|
||||
->detach($userToFollow->id);
|
||||
}
|
||||
|
||||
return $this->success();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user