{
"event": "PreToolUse",
"tool_name": "Edit",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Infrastructure\/Config\/DatabaseFactory.php",
"old_string": " \/**\n * Creates a new PDO connection.\n *\/\n private static function createConnection(string $database): PDO\n {\n $password = CredentialService::getMariaDbPassword();\n\n return new PDO(\n \"mysql:host=localhost;dbname={$database};charset=utf8mb4\",\n 'root',\n $password,\n [\n PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,\n PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,\n PDO::ATTR_EMULATE_PREPARES => false,\n ]\n );\n }",
"new_string": " \/**\n * Creates a new PDO connection.\n *\/\n private static function createConnection(string $database): PDO\n {\n $host = CredentialService::getMariaDbHost();\n $user = CredentialService::getMariaDbUser();\n $password = CredentialService::getMariaDbPassword();\n\n return new PDO(\n \"mysql:host={$host};dbname={$database};charset=utf8mb4\",\n $user,\n $password,\n [\n PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,\n PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,\n PDO::ATTR_EMULATE_PREPARES => false,\n ]\n );\n }"
}
}
{
"tool_response": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Infrastructure\/Config\/DatabaseFactory.php",
"oldString": " \/**\n * Creates a new PDO connection.\n *\/\n private static function createConnection(string $database): PDO\n {\n $password = CredentialService::getMariaDbPassword();\n\n return new PDO(\n \"mysql:host=localhost;dbname={$database};charset=utf8mb4\",\n 'root',\n $password,\n [\n PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,\n PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,\n PDO::ATTR_EMULATE_PREPARES => false,\n ]\n );\n }",
"newString": " \/**\n * Creates a new PDO connection.\n *\/\n private static function createConnection(string $database): PDO\n {\n $host = CredentialService::getMariaDbHost();\n $user = CredentialService::getMariaDbUser();\n $password = CredentialService::getMariaDbPassword();\n\n return new PDO(\n \"mysql:host={$host};dbname={$database};charset=utf8mb4\",\n $user,\n $password,\n [\n PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,\n PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,\n PDO::ATTR_EMULATE_PREPARES => false,\n ]\n );\n }",
"originalFile": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Infrastructure\\Config;\n\n\/\/ @responsibility: Factory für benannte Datenbankverbindungen (dev, content)\n\nuse PDO;\nuse RuntimeException;\n\nfinal class DatabaseFactory\n{\n private const array DATABASES = [\n 'dev' => 'ki_dev',\n 'content' => 'ki_content',\n ];\n\n \/** @var array<string, PDO> *\/\n private static array $connections = [];\n\n \/**\n * Gets the 'dev' database connection (ki_dev).\n *\n * Contains: dokumentation, dokumentation_chunks, tasks, contracts, protokoll\n *\/\n public static function dev(): PDO\n {\n return self::getConnection('dev');\n }\n\n \/**\n * Gets the 'content' database connection (ki_content).\n *\n * Contains: content studio data, semantic entities, relations\n *\/\n public static function content(): PDO\n {\n return self::getConnection('content');\n }\n\n \/**\n * Gets a connection by name.\n *\n * @param string $name Connection name ('dev' or 'content')\n *\/\n public static function getConnection(string $name): PDO\n {\n if (!isset(self::DATABASES[$name])) {\n throw new RuntimeException(\"Unknown database connection: {$name}\");\n }\n\n if (!isset(self::$connections[$name])) {\n self::$connections[$name] = self::createConnection(self::DATABASES[$name]);\n }\n\n return self::$connections[$name];\n }\n\n \/**\n * Closes all connections and clears the cache.\n *\/\n public static function closeAll(): void\n {\n self::$connections = [];\n }\n\n \/**\n * Creates a new PDO connection.\n *\/\n private static function createConnection(string $database): PDO\n {\n $password = CredentialService::getMariaDbPassword();\n\n return new PDO(\n \"mysql:host=localhost;dbname={$database};charset=utf8mb4\",\n 'root',\n $password,\n [\n PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,\n PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,\n PDO::ATTR_EMULATE_PREPARES => false,\n ]\n );\n }\n}\n",
"structuredPatch": [
{
"oldStart": 70,
"oldLines": 11,
"newStart": 70,
"newLines": 13,
"lines": [
" *\/",
" private static function createConnection(string $database): PDO",
" {",
"+ $host = CredentialService::getMariaDbHost();",
"+ $user = CredentialService::getMariaDbUser();",
" $password = CredentialService::getMariaDbPassword();",
" ",
" return new PDO(",
"- \"mysql:host=localhost;dbname={$database};charset=utf8mb4\",",
"- 'root',",
"+ \"mysql:host={$host};dbname={$database};charset=utf8mb4\",",
"+ $user,",
" $password,",
" [",
" PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,"
]
}
],
"userModified": false,
"replaceAll": false
}
}