Issues (61)

app/Policies/ServerPolicy.php (1 issue)

Severity
1
<?php
2
3
namespace Gameap\Policies;
4
5
use Gameap\Helpers\PermissionHelper;
6
use Gameap\Models\Server;
7
use Gameap\Models\User;
8
use Illuminate\Auth\Access\HandlesAuthorization;
9
10
class ServerPolicy
11
{
12
    use HandlesAuthorization;
13 6
14
    public function before(?User $user, $ability)
0 ignored issues
show
The parameter $ability is not used and could be removed. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-unused  annotation

14
    public function before(?User $user, /** @scrutinizer ignore-unused */ $ability)

This check looks for parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
15 6
    {
16
        if ($user !== null && $user->can(PermissionHelper::ADMIN_PERMISSIONS)) {
17
            return true;
18
        }
19 6
20
        return null;
21
    }
22
23
    public function control(?User $user, Server $server): bool
24
    {
25
        if ($user === null) {
26
            return false;
27
        }
28
29 6
        $exists = $user->servers()
30
            ->where('id', $server->id)
31 6
            ->exists();
32 6
        return $exists && $user->can('game-server-common', $server);
33 6
    }
34 6
35
    public function start(User $user, Server $server): bool
36
    {
37
        return $user !== null && $user->can(['game-server-common', 'game-server-start'], $server);
38
    }
39
40
    /**
41
     * @param User $user
42
     * @param Server $server
43
     * @return bool
44
     */
45
    public function stop(User $user, Server $server)
46
    {
47
        return $user->can(['game-server-common', 'game-server-stop'], $server);
48
    }
49
50
    /**
51
     * @param User $user
52
     * @param Server $server
53
     * @return bool
54
     */
55
    public function restart(User $user, Server $server)
56
    {
57
        return $user->can(['game-server-common', 'game-server-restart'], $server);
58
    }
59
60
    /**
61
     * @param User $user
62
     * @param Server $server
63
     * @return bool
64
     */
65
    public function pause(User $user, Server $server)
66
    {
67
        return $user->can(['game-server-common', 'game-server-pause'], $server);
68
    }
69
70
    /**
71
     * @param User $user
72
     * @param Server $server
73
     * @return bool
74
     */
75
    public function update(User $user, Server $server)
76
    {
77
        return $user->can(['game-server-common', 'game-server-update'], $server);
78
    }
79
80
    /**
81
     * @param User $user
82
     * @param Server $server
83
     * @return bool
84
     */
85
    public function tasks(User $user, Server $server)
86
    {
87
        return $user->can(['game-server-common', 'game-server-tasks'], $server)
88
            && (
89
                $this->start($user, $server)
90
                || $this->stop($user, $server)
91
                || $this->restart($user, $server)
92
                || $this->update($user, $server)
93
            );
94
    }
95
96
    /**
97
     * @param User $user
98
     * @param Server $server
99
     * @return bool
100
     */
101
    public function consoleView(User $user, Server $server)
102
    {
103
        return $user->can(['game-server-common', 'game-server-console-view'], $server);
104
    }
105
106
    /**
107
     * @param User $user
108
     * @param Server $server
109
     * @return bool
110
     */
111
    public function consoleSend(User $user, Server $server)
112
    {
113
        return $user->can(['game-server-common', 'game-server-console-send'], $server);
114
    }
115
116
    /**
117
     * @param User $user
118
     * @param Server $server
119
     * @return bool
120
     */
121
    public function files(User $user, Server $server)
122
    {
123
        return $user->can(['game-server-common', 'game-server-files'], $server);
124
    }
125
126
    /**
127
     * @param User $user
128
     * @param Server $server
129
     * @return bool
130
     */
131
    public function settings(User $user, Server $server)
132
    {
133
        return $user->can(['game-server-common', 'game-server-settings'], $server);
134
    }
135
136
    /**
137
     * Main Rcon
138
     *
139
     * @param User $user
140
     * @param Server $server
141
     * @return bool
142
     */
143
    public function rcon(User $user, Server $server)
144
    {
145
        if (!$user->can('game-server-common', $server)) {
146
            return false;
147
        }
148
149
        return $user->can('game-server-rcon-console', $server)
150
            || $user->can('game-server-rcon-players', $server);
151
    }
152
153
    /**
154
     * @param User $user
155
     * @param Server $server
156
     * @return bool
157
     */
158
    public function rconConsole(User $user, Server $server)
159
    {
160
        return $user->can(['game-server-common', 'game-server-rcon-console'], $server);
161
    }
162
163
    /**
164
     * @param User $user
165
     * @param Server $server
166
     * @return bool
167
     */
168
    public function rconPlayers(User $user, Server $server)
169
    {
170
        if (!$user->can('game-server-common', $server)) {
171
            return false;
172
        }
173
174
        return $user->can('game-server-rcon-console')
175
            || $user->can('game-server-rcon-players', $server);
176
    }
177
}
178