feat: add app and database modules

This commit is contained in:
2026-05-21 16:05:11 +07:00
parent 37b7e783f5
commit fad70d096b
212 changed files with 23901 additions and 0 deletions
@@ -0,0 +1,30 @@
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Cache;
use Spatie\Permission\Models\Permission;
class CheckActivePermission
{
public function handle(Request $request, Closure $next, $permission)
{
$cacheKey = "permission_status:{$permission}";
$isActive = Cache::remember($cacheKey, now()->addMinutes(5), function () use ($permission) {
$permissionModel = Permission::where('name', $permission)->first();
return $permissionModel && $permissionModel->is_active;
});
// If permission not found OR inactive -> deny access
if (! $isActive) {
abort(403, 'This permission is inactive or not available.');
}
// Continue request (permission is active)
return $next($request);
}
}