Bristol SU Support Package
src
Authorization
Middleware
CheckActivityFor.php
Go to the documentation of this file.
1
<?php
2
3
namespace
BristolSU\Support\Authorization\Middleware
;
4
5
use
BristolSU\Support\Authentication\Contracts\Authentication
;
6
use
BristolSU\Support\Authorization\Exception\ActivityRequiresParticipant
;
7
use
BristolSU\Support\Logic\Facade\LogicTester
;
8
use
Closure
;
9
use
Illuminate\Http\Request
;
10
14
class
CheckActivityFor
15
{
21
private
$authentication
;
22
28
public
function
__construct
(
Authentication
$authentication
)
29
{
30
$this->authentication =
$authentication
;
31
}
32
41
public
function
handle
(Request $request,
Closure
$next)
42
{
43
$activity = $request->route(
'activity_slug'
);
44
$logic = $activity->forLogic;
45
if
(!LogicTester::evaluate($logic, $this->authentication->getUser(), $this->authentication->getGroup(), $this->authentication->getRole())) {
46
throw
ActivityRequiresParticipant::createWithActivity
($activity,
'You do not have access to this activity,'
, 403);
47
}
48
return
$next($request);
49
}
50
}
BristolSU\Support\Authorization\Middleware\CheckActivityFor\$authentication
$authentication
Definition:
CheckActivityFor.php:21
BristolSU\Support\Authorization\Middleware\CheckActivityFor\__construct
__construct(Authentication $authentication)
Definition:
CheckActivityFor.php:28
BristolSU\Support\Authentication\Contracts\Authentication
Definition:
Authentication.php:15
BristolSU\Support\Authorization\Middleware
Definition:
CheckActivityEnabled.php:3
Closure
BristolSU\Support\Authorization\Middleware\CheckActivityFor\handle
handle(Request $request, Closure $next)
Definition:
CheckActivityFor.php:41
Authentication
ActivityRequiresParticipant
Request
BristolSU\Support\Authorization\Exception\ActivityRequiresParticipant\createWithActivity
static createWithActivity(Activity $activity, string $message='', int $code=0)
Definition:
ActivityRequiresParticipant.php:44
BristolSU\Support\Authorization\Middleware\CheckActivityFor
Definition:
CheckActivityFor.php:14
LogicTester
Generated by
1.8.13