Skip to content

Commit 51ad71c

Browse files
committed
fix: disable team scope for admin pages
1 parent 0f48e46 commit 51ad71c

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

Diff for: app/Http/Middleware/AdminAccess.php

+3
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace App\Http\Middleware;
44

5+
use App\Models\Scopes\TeamScope;
56
use Closure;
67
use Illuminate\Http\Request;
78
use Symfony\Component\HttpFoundation\Response;
@@ -19,6 +20,8 @@ public function handle(Request $request, Closure $next): Response
1920
abort(403, 'Unauthorized action.');
2021
}
2122

23+
TeamScope::disable();
24+
2225
return $next($request);
2326
}
2427
}

Diff for: app/Models/Scopes/TeamScope.php

+16
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,17 @@
1010

1111
class TeamScope implements Scope
1212
{
13+
private static $enabled = true;
14+
1315
/**
1416
* Apply the scope to a given Eloquent query builder.
1517
*/
1618
public function apply(Builder $builder, Model $model): void
1719
{
20+
if (! self::$enabled) {
21+
return;
22+
}
23+
1824
$user = auth()->user();
1925
if ($user) {
2026
// API Request
@@ -33,4 +39,14 @@ public function apply(Builder $builder, Model $model): void
3339
// X-Ptah-Token
3440
$builder->where($builder->qualifyColumn('team_id'), app(Team::class)->id);
3541
}
42+
43+
public static function disable(): void
44+
{
45+
self::$enabled = false;
46+
}
47+
48+
public static function enable(): void
49+
{
50+
self::$enabled = true;
51+
}
3652
}

0 commit comments

Comments
 (0)