{
"event": "PreToolUse",
"tool_name": "Write",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Infrastructure\/Validation\/ValidationResult.php",
"content": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Infrastructure\\Validation;\n\n\/**\n * Value Object for validation results.\n *\n * Provides a type-safe way to return validation outcomes with optional\n * error messages and additional data. Immutable by design.\n *\n * @package Infrastructure\\Validation\n *\/\nfinal readonly class ValidationResult\n{\n \/**\n * @param bool $valid Whether validation passed\n * @param string|null $error Error message if validation failed\n * @param mixed $data Additional data (e.g., validated value)\n *\/\n private function __construct(\n public bool $valid,\n public ?string $error,\n public mixed $data = null\n ) {\n }\n\n \/**\n * Create a successful validation result.\n *\n * @param mixed $data Optional data to include (e.g., validated\/normalized value)\n *\/\n public static function ok(mixed $data = null): self\n {\n return new self(true, null, $data);\n }\n\n \/**\n * Create a failed validation result.\n *\n * @param string $message Error message describing the validation failure\n *\/\n public static function error(string $message): self\n {\n return new self(false, $message);\n }\n\n \/**\n * Check if validation passed.\n *\/\n public function isValid(): bool\n {\n return $this->valid;\n }\n\n \/**\n * Check if validation failed.\n *\/\n public function isError(): bool\n {\n return !$this->valid;\n }\n\n \/**\n * Get error message or null if valid.\n *\/\n public function getError(): ?string\n {\n return $this->error;\n }\n\n \/**\n * Get associated data.\n *\/\n public function getData(): mixed\n {\n return $this->data;\n }\n}\n"
}
}
{
"tool_response": {
"type": "create",
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Infrastructure\/Validation\/ValidationResult.php",
"content": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Infrastructure\\Validation;\n\n\/**\n * Value Object for validation results.\n *\n * Provides a type-safe way to return validation outcomes with optional\n * error messages and additional data. Immutable by design.\n *\n * @package Infrastructure\\Validation\n *\/\nfinal readonly class ValidationResult\n{\n \/**\n * @param bool $valid Whether validation passed\n * @param string|null $error Error message if validation failed\n * @param mixed $data Additional data (e.g., validated value)\n *\/\n private function __construct(\n public bool $valid,\n public ?string $error,\n public mixed $data = null\n ) {\n }\n\n \/**\n * Create a successful validation result.\n *\n * @param mixed $data Optional data to include (e.g., validated\/normalized value)\n *\/\n public static function ok(mixed $data = null): self\n {\n return new self(true, null, $data);\n }\n\n \/**\n * Create a failed validation result.\n *\n * @param string $message Error message describing the validation failure\n *\/\n public static function error(string $message): self\n {\n return new self(false, $message);\n }\n\n \/**\n * Check if validation passed.\n *\/\n public function isValid(): bool\n {\n return $this->valid;\n }\n\n \/**\n * Check if validation failed.\n *\/\n public function isError(): bool\n {\n return !$this->valid;\n }\n\n \/**\n * Get error message or null if valid.\n *\/\n public function getError(): ?string\n {\n return $this->error;\n }\n\n \/**\n * Get associated data.\n *\/\n public function getData(): mixed\n {\n return $this->data;\n }\n}\n",
"structuredPatch": [],
"originalFile": null
}
}