fix bug role and permission is not defined when user is not loggedin

This commit is contained in:
Geriano
2022-07-17 14:26:49 +07:00
parent e32b4caa7f
commit 5ddd42b2e5

View File

@@ -47,11 +47,17 @@ class HandleInertiaRequests extends Middleware
'warning' => $request->session()->get('warning'),
],
'$roles' => $roles = fn () => $request->user()?->roles()->with('permissions:id,name')->get(['id', 'name']),
'$roles' => $roles = fn () => $request->user()?->roles()->with('permissions:id,name')->get(['id', 'name']) ?: [],
'$permissions' => function () use ($roles, $request) {
$permissions = $request->user()?->permissions()->get(['id', 'name']);
$user = $request->user();
if (!$user) {
return [];
}
$permissions = $user->permissions()->get(['id', 'name']);
return $roles()->reduce(function (Collection $prev, Role $role) {
return $roles()?->reduce(function (Collection $prev, Role $role) {
$role->permissions->each(fn (Permission $permission) => $prev->push($permission));
return $prev;