{
"event": "PreToolUse",
"tool_name": "Edit",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/UseCases\/Command\/CreateCriticCommand.php",
"old_string": "<?php\n\nnamespace UseCases\\Command;\n\n\/**\n * Command for creating a new critic.\n *\/\nfinal class CreateCriticCommand",
"new_string": "<?php\n\ndeclare(strict_types=1);\n\nnamespace UseCases\\Command;\n\n\/\/ @responsibility: Command-Objekt für Critic-Erstellung\n\nfinal class CreateCriticCommand"
}
}
{
"tool_response": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/UseCases\/Command\/CreateCriticCommand.php",
"oldString": "<?php\n\nnamespace UseCases\\Command;\n\n\/**\n * Command for creating a new critic.\n *\/\nfinal class CreateCriticCommand",
"newString": "<?php\n\ndeclare(strict_types=1);\n\nnamespace UseCases\\Command;\n\n\/\/ @responsibility: Command-Objekt für Critic-Erstellung\n\nfinal class CreateCriticCommand",
"originalFile": "<?php\n\nnamespace UseCases\\Command;\n\n\/**\n * Command for creating a new critic.\n *\/\nfinal class CreateCriticCommand\n{\n public function __construct(\n public readonly string $name,\n public readonly string $fokusText,\n public readonly ?int $promptId,\n public readonly int $sortOrder,\n public readonly bool $isActive,\n ) {\n }\n\n \/**\n * @param array<string, mixed> $data\n *\/\n public static function fromRequest(array $data): self\n {\n return new self(\n name: trim((string) ($data['name'] ?? '')),\n fokusText: trim((string) ($data['fokus'] ?? '')),\n promptId: !empty($data['prompt_id']) ? (int) $data['prompt_id'] : null,\n sortOrder: (int) ($data['sort_order'] ?? 0),\n isActive: isset($data['is_active']),\n );\n }\n\n \/**\n * @return array<string>\n *\/\n public function validate(): array\n {\n $errors = [];\n\n if ($this->name === '') {\n $errors[] = 'Name ist erforderlich.';\n }\n\n if (mb_strlen($this->name) > 100) {\n $errors[] = 'Name darf maximal 100 Zeichen lang sein.';\n }\n\n return $errors;\n }\n\n public function isValid(): bool\n {\n return $this->validate() === [];\n }\n}\n",
"structuredPatch": [
{
"oldStart": 1,
"oldLines": 10,
"newStart": 1,
"newLines": 11,
"lines": [
" <?php",
" ",
"+declare(strict_types=1);",
"+",
" namespace UseCases\\Command;",
" ",
"-\/**",
"- * Command for creating a new critic.",
"- *\/",
"+\/\/ @responsibility: Command-Objekt für Critic-Erstellung",
"+",
" final class CreateCriticCommand",
" {",
" public function __construct("
]
}
],
"userModified": false,
"replaceAll": false
}
}