Bristol SU Support Package
src
Logic
Specification
FilterFalseSpecification.php
Go to the documentation of this file.
1
<?php
2
3
4
namespace
BristolSU\Support\Logic\Specification
;
5
6
7
use
BristolSU\ControlDB\Contracts\Models\Group
;
8
use
BristolSU\ControlDB\Contracts\Models\Role
;
9
use
BristolSU\ControlDB\Contracts\Models\User
;
10
use
BristolSU\Support\Filters\Contracts\FilterInstance
;
11
use
BristolSU\Support\Filters\Contracts\FilterTester
;
12
use
BristolSU\Support\Logic\Contracts\Specification
;
13
17
class
FilterFalseSpecification
implements
Specification
18
{
24
private
$filter
;
25
31
private
$user
;
32
38
private
$group
;
39
45
private
$role
;
46
53
public
function
__construct
(
FilterInstance
$filter
, ?User
$user
, ?Group
$group
, ?Role
$role
)
54
{
55
$this->filter =
$filter
;
56
$this->user =
$user
;
57
$this->group =
$group
;
58
$this->role =
$role
;
59
}
60
66
public
function
isSatisfied
(): bool
67
{
68
switch
($this->filter->for()) {
69
case
'user'
:
70
return
($this->user === null ?
false
:
71
app(FilterTester::class)->evaluate($this->filter, $this->user) ===
false
);
72
case
'group'
:
73
return
($this->group === null ?
false
:
74
app(FilterTester::class)->evaluate($this->filter, $this->group) ===
false
);
75
case
'role'
:
76
return
($this->role === null ?
false
:
77
app(FilterTester::class)->evaluate($this->filter, $this->role) ===
false
);
78
default
:
79
return
false
;
80
}
81
}
82
83
}
Specification
FilterInstance
User
BristolSU\Support\Logic\Specification\FilterFalseSpecification
Definition:
FilterFalseSpecification.php:17
BristolSU\Support\Logic\Specification\FilterFalseSpecification\$role
$role
Definition:
FilterFalseSpecification.php:45
BristolSU\Support\Filters\Contracts\FilterInstance
Definition:
FilterInstance.php:8
BristolSU\Support\Logic\Specification
Definition:
AndSpecification.php:4
BristolSU\Support\Logic\Specification\FilterFalseSpecification\isSatisfied
isSatisfied()
Definition:
FilterFalseSpecification.php:66
Group
BristolSU\Support\Logic\Specification\FilterFalseSpecification\$user
$user
Definition:
FilterFalseSpecification.php:31
BristolSU\Support\Logic\Specification\FilterFalseSpecification\__construct
__construct(FilterInstance $filter, ?User $user, ?Group $group, ?Role $role)
Definition:
FilterFalseSpecification.php:53
BristolSU\Support\Logic\Specification\FilterFalseSpecification\$filter
$filter
Definition:
FilterFalseSpecification.php:24
Role
BristolSU\Support\Logic\Specification\FilterFalseSpecification\$group
$group
Definition:
FilterFalseSpecification.php:38
BristolSU\Support\Logic\Contracts\Specification
Definition:
Specification.php:10
FilterTester
Generated by
1.8.13