true, 'menus' => collect(), 'permissionTypes' => [], ]); } // 메뉴 트리 조회 (권한 매트릭스용) $menus = $this->rolePermissionService->getMenuTree($tenantId); // 권한 유형 목록 $permissionTypes = ['view', 'create', 'update', 'delete', 'approve', 'export', 'manage']; return view('roles.create', compact('menus', 'permissionTypes')); } /** * 역할 수정 화면 */ public function edit(int $id): View { $role = $this->roleService->getRoleById($id); if (! $role) { abort(404, '역할을 찾을 수 없습니다.'); } $tenantId = session('selected_tenant_id'); $effectiveTenantId = ($tenantId && $tenantId !== 'all') ? $tenantId : null; // 메뉴 트리 조회 (권한 매트릭스용) $menus = $this->rolePermissionService->getMenuTree($effectiveTenantId); // 권한 유형 목록 $permissionTypes = ['view', 'create', 'update', 'delete', 'approve', 'export', 'manage']; // 현재 역할의 권한 매트릭스 조회 $permissions = $this->rolePermissionService->getRolePermissionMatrix( $role->id, $effectiveTenantId, $role->guard_name ); return view('roles.edit', compact('role', 'menus', 'permissionTypes', 'permissions')); } }