Bristol SU Support Package
src
Authorization
Middleware
CheckModuleInstanceActive.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\ModuleInactive
;
7
use
BristolSU\Support\Logic\Facade\LogicTester
;
8
use
Illuminate\Http\Request
;
9
13
class
CheckModuleInstanceActive
14
{
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
$moduleInstance = $request->route(
'module_instance_slug'
);
44
if
(!LogicTester::evaluate($moduleInstance->activeLogic, $this->authentication->getUser(), $this->authentication->getGroup(), $this->authentication->getRole())) {
45
throw
new
ModuleInactive
(
'The module instance is currently inactive'
, 403, null, $moduleInstance);
46
}
47
48
return
$next($request);
49
}
50
51
}
BristolSU\Support\Authorization\Middleware\CheckModuleInstanceActive\$authentication
$authentication
Definition:
CheckModuleInstanceActive.php:21
BristolSU\Support\Authorization\Middleware\CheckModuleInstanceActive
Definition:
CheckModuleInstanceActive.php:13
BristolSU\Support\Authorization\Middleware\CheckModuleInstanceActive\handle
handle(Request $request, \Closure $next)
Definition:
CheckModuleInstanceActive.php:41
BristolSU\Support\Authentication\Contracts\Authentication
Definition:
Authentication.php:15
BristolSU\Support\Authorization\Middleware
Definition:
CheckActivityEnabled.php:3
Closure
ModuleInactive
BristolSU\Support\Authorization\Middleware\CheckModuleInstanceActive\__construct
__construct(Authentication $authentication)
Definition:
CheckModuleInstanceActive.php:28
Authentication
Request
BristolSU\Support\Authorization\Exception\ModuleInactive
Definition:
ModuleInactive.php:12
LogicTester
Generated by
1.8.13