dstpabuaran.com/app/Http/Middleware/HandleInertiaRequests.php
Yoga Pangestu 3e9776696d Refactor permissions and sidebar items; enhance user role checks
- Updated HandleInertiaRequests middleware to include user permissions in the shared data.
- Modified RolePermissionSeeder to redefine permissions and roles, adding new permissions and restructuring existing ones.
- Refactored app-sidebar component to filter menu items based on user permissions, improving sidebar visibility based on roles.
- Enhanced useCan hook to support checking multiple permissions with canAny function.
- Updated web routes to enforce permission checks on various resource routes, ensuring proper access control.
2026-08-04 23:57:00 +07:00

58 lines
1.6 KiB
PHP

<?php
namespace App\Http\Middleware;
use Illuminate\Http\Request;
use Inertia\Middleware;
class HandleInertiaRequests extends Middleware
{
/**
* The root template that's loaded on the first page visit.
*
* @see https://inertiajs.com/server-side-setup#root-template
*
* @var string
*/
protected $rootView = 'app';
/**
* Determines the current asset version.
*
* @see https://inertiajs.com/asset-versioning
*/
public function version(Request $request): ?string
{
return parent::version($request);
}
/**
* Define the props that are shared by default.
*
* @see https://inertiajs.com/shared-data
*
* @return array<string, mixed>
*/
public function share(Request $request): array
{
return [
...parent::share($request),
'name' => config('app.name'),
'auth' => [
'user' => $request->user()
? tap($request->user()->load('userProfile', 'roles'), function ($user) {
$user->setRelation('permissions', $user->getAllPermissions());
})
: null,
],
'sidebarOpen' => ! $request->hasCookie('sidebar_state') || $request->cookie('sidebar_state') === 'true',
'seo' => [
'title' => config('app.name', 'DST Collection'),
'description' => 'DST Collection - DST Punya Gaya',
'image' => url('/assets/logo.png'),
'url' => $request->url(),
],
];
}
}