{"record":{"id":"30fbacdaf4d0bad9","repo":"getgrav/grav","slug":"cannot-copy-object-key-dst-is-already-taken","errorCode":null,"errorMessage":"Cannot copy object: key '{$dst}' is already taken","messagePattern":"Cannot copy object: key '(.+?)' is already taken","errorType":"exception","errorClass":"RuntimeException","httpStatus":null,"severity":"error","filePath":"system/src/Grav/Framework/Flex/Storage/FileStorage.php","lineNumber":63,"sourceCode":"    public function getMediaPath(?string $key = null): ?string\n    {\n        $path = $this->getStoragePath();\n        if (!$path) {\n            return null;\n        }\n\n        return $key ? \"{$path}/{$key}\" : $path;\n    }\n\n    /**\n     * @param string $src\n     * @param string $dst\n     * @return bool\n     */\n    public function copyRow(string $src, string $dst): bool\n    {\n        if ($this->hasKey($dst)) {\n            throw new RuntimeException(\"Cannot copy object: key '{$dst}' is already taken\");\n        }\n\n        if (!$this->hasKey($src)) {\n            return false;\n        }\n\n        return true;\n    }\n\n    /**\n     * {@inheritdoc}\n     * @see FlexStorageInterface::renameRow()\n     */\n    public function renameRow(string $src, string $dst): bool\n    {\n        if (!$this->hasKey($src)) {\n            return false;\n        }","sourceCodeStart":45,"sourceCodeEnd":81,"githubUrl":"https://github.com/getgrav/grav/blob/6040efed04efa69b8209448ed81308e7c24147c2/system/src/Grav/Framework/Flex/Storage/FileStorage.php#L45-L81","documentation":"Error \"Cannot copy object: key '{$dst}' is already taken\" thrown in getgrav/grav.","triggerScenarios":"Thrown at system/src/Grav/Framework/Flex/Storage/FileStorage.php:63 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"6040efed04efa69b8209448ed81308e7c24147c2","analyzedAt":"2026-08-17T05:07:31.593Z","schemaVersion":2},"datasetVersion":"2026-08-17T09:17:11.063Z"}