{
"event": "PreToolUse",
"tool_name": "Read",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/UseCases\/Command\/CreateCriticCommand.php"
}
}
{
"tool_response": {
"type": "text",
"file": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/UseCases\/Command\/CreateCriticCommand.php",
"content": "<?php\n\ndeclare(strict_types=1);\n\nnamespace UseCases\\Command;\n\n\/\/ @responsibility: Command-Objekt für Critic-Erstellung\n\nuse Domain\\Constants;\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) > Constants::NAME_MAX_LENGTH) {\n $errors[] = 'Name darf maximal ' . Constants::NAME_MAX_LENGTH . ' Zeichen lang sein.';\n }\n\n return $errors;\n }\n\n public function isValid(): bool\n {\n return $this->validate() === [];\n }\n}\n",
"numLines": 59,
"startLine": 1,
"totalLines": 59
}
}
}