@@ -77,7 +77,7 @@ public function ban(
77
77
78
78
$ this ->bans ->push ($ ban );
79
79
80
- $ this ->ban_level = $ ban ->isActive ();
80
+ $ this ->ban_level = $ ban ->isActive () ? $ ban -> level : null ;
81
81
$ this ->save ();
82
82
83
83
return $ ban ;
@@ -96,23 +96,35 @@ public function unban(): static
96
96
return $ this ;
97
97
}
98
98
99
- public function isBanned (): bool
99
+ public function isBanned (? int $ level = null ): bool
100
100
{
101
+ if ($ level ) {
102
+ return $ this ->ban_level === $ level ;
103
+ }
104
+
101
105
return $ this ->ban_level !== null ;
102
106
}
103
107
104
- public function isNotBanned (): bool
108
+ public function isNotBanned (? int $ level = null ): bool
105
109
{
106
- return ! $ this ->isBanned ();
110
+ return ! $ this ->isBanned ($ level );
107
111
}
108
112
109
- public function scopeBanned (Builder $ query ): Builder
113
+ public function scopeBanned (Builder $ query, ? int $ level = null ): Builder
110
114
{
115
+ if ($ level ) {
116
+ return $ query ->where ('ban_level ' , '= ' , $ level );
117
+ }
118
+
111
119
return $ query ->where ('ban_level ' , '!= ' , null );
112
120
}
113
121
114
- public function scopeNotBanned (Builder $ query ): Builder
122
+ public function scopeNotBanned (Builder $ query, ? int $ level = null ): Builder
115
123
{
124
+ if ($ level ) {
125
+ return $ query ->where ('ban_level ' , '!= ' , $ level );
126
+ }
127
+
116
128
return $ query ->where ('ban_level ' , '= ' , null );
117
129
}
118
130
}
0 commit comments