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, '역할을 찾을 수 없습니다.'); } // 역할이 속한 테넌트의 메뉴만 표시 $effectiveTenantId = $role->tenant_id; // 메뉴 트리 조회 (권한 매트릭스용) $menus = $this->rolePermissionService->getMenuTree($effectiveTenantId); // 권한 유형 목록 $permissionTypes = ['view', 'create', 'update', 'delete', 'approve', 'export', 'manage']; // 현재 역할의 권한 매트릭스 조회 $permissions = $this->rolePermissionService->getRolePermissionMatrix( $role->id, $effectiveTenantId, $role->guard_name ?? 'web' ); return view('roles.edit', compact('role', 'menus', 'permissionTypes', 'permissions')); } }