getComponentName(); $componentName = new ComponentName($componentNameString); // 1. Verificar que existe $component = $this->repository->findByName($componentName); if ($component === null) { return DeleteComponentResponse::failure( "Component '{$componentNameString}' not found" ); } // 2. Eliminar $deleted = $this->repository->delete($componentName); if (!$deleted) { return DeleteComponentResponse::failure( "Failed to delete component '{$componentNameString}'" ); } // 3. Invalidar cache $this->cache->delete("component_{$componentNameString}"); // 4. Retornar éxito return DeleteComponentResponse::success( "Component '{$componentNameString}' deleted successfully" ); } catch (\Exception $e) { return DeleteComponentResponse::failure( 'Unexpected error: ' . $e->getMessage() ); } } }