add inline middleware to retrieve session

This commit is contained in:
Pig Fang 2018-07-11 16:09:22 +08:00
parent 5f3155baa4
commit e1b2f1806b
4 changed files with 24 additions and 12 deletions

View File

@ -22,7 +22,10 @@ class ClosetController extends Controller
public function __construct() public function __construct()
{ {
$this->closet = new Closet(session('uid')); $this->middleware(function ($request, $next) {
$this->closet = new Closet($request->session()->get('uid'));
return $next($request);
});
} }
public function index() public function index()

View File

@ -36,9 +36,12 @@ class PlayerController extends Controller
*/ */
private $player; private $player;
public function __construct(Request $request, UserRepository $users) public function __construct(UserRepository $users)
{ {
$this->user = $users->get(session('uid')); $this->middleware(function ($request, $next) use ($users) {
$uid = $request->session()->get('uid');
$this->user = $users->get($uid);
if ($request->has('pid')) { if ($request->has('pid')) {
if ($this->player = Player::find($request->pid)) { if ($this->player = Player::find($request->pid)) {
@ -46,6 +49,9 @@ class PlayerController extends Controller
} }
} }
return $next($request);
});
$this->middleware([CheckPlayerExist::class, CheckPlayerOwner::class], [ $this->middleware([CheckPlayerExist::class, CheckPlayerOwner::class], [
'only' => ['delete', 'rename', 'setTexture', 'clearTexture', 'setPreference'] 'only' => ['delete', 'rename', 'setTexture', 'clearTexture', 'setPreference']
]); ]);

View File

@ -22,10 +22,10 @@ class SkinlibController extends Controller
public function __construct(UserRepository $users) public function __construct(UserRepository $users)
{ {
// Try to load user by uid stored in session. $this->middleware(function ($request, $next) use ($users) {
// If there is no uid stored in session or the uid is invalid $this->user = $users->get($request->session()->get('uid'));
// it will return a null value. return $next($request);
$this->user = $users->get(session('uid')); });
} }
public function index() public function index()

View File

@ -23,7 +23,10 @@ class UserController extends Controller
public function __construct(UserRepository $users) public function __construct(UserRepository $users)
{ {
$this->user = $users->get(session('uid')); $this->middleware(function ($request, $next) use ($users) {
$this->user = $users->get($request->session()->get('uid'));
return $next($request);
});
} }
public function index() public function index()