{
"event": "PreToolUse",
"tool_name": "Write",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Domain\/ValueObject\/ActiveStatus.php",
"content": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Domain\\ValueObject;\n\n\/\/ @responsibility: Active-Status-Enum als Ersatz für Boolean is_active Felder\n\nenum ActiveStatus: string\n{\n case ACTIVE = 'active';\n case INACTIVE = 'inactive';\n\n \/**\n * Check if status is active.\n *\/\n public function isActive(): bool\n {\n return $this === self::ACTIVE;\n }\n\n \/**\n * Get toggled status.\n *\/\n public function toggle(): self\n {\n return $this === self::ACTIVE ? self::INACTIVE : self::ACTIVE;\n }\n\n \/**\n * Create from boolean value.\n *\/\n public static function fromBool(bool $active): self\n {\n return $active ? self::ACTIVE : self::INACTIVE;\n }\n\n \/**\n * Create from database tinyint (0\/1).\n *\/\n public static function fromInt(int $value): self\n {\n return $value === 1 ? self::ACTIVE : self::INACTIVE;\n }\n\n \/**\n * Convert to boolean.\n *\/\n public function toBool(): bool\n {\n return $this === self::ACTIVE;\n }\n\n \/**\n * Convert to database tinyint (0\/1).\n *\/\n public function toInt(): int\n {\n return $this === self::ACTIVE ? 1 : 0;\n }\n\n \/**\n * Get human-readable label.\n *\/\n public function label(): string\n {\n return match ($this) {\n self::ACTIVE => 'Aktiv',\n self::INACTIVE => 'Inaktiv',\n };\n }\n\n \/**\n * Get CSS class for badge styling.\n *\/\n public function badgeClass(): string\n {\n return match ($this) {\n self::ACTIVE => 'completed',\n self::INACTIVE => 'secondary',\n };\n }\n}\n"
}
}
{
"tool_response": {
"type": "create",
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Domain\/ValueObject\/ActiveStatus.php",
"content": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Domain\\ValueObject;\n\n\/\/ @responsibility: Active-Status-Enum als Ersatz für Boolean is_active Felder\n\nenum ActiveStatus: string\n{\n case ACTIVE = 'active';\n case INACTIVE = 'inactive';\n\n \/**\n * Check if status is active.\n *\/\n public function isActive(): bool\n {\n return $this === self::ACTIVE;\n }\n\n \/**\n * Get toggled status.\n *\/\n public function toggle(): self\n {\n return $this === self::ACTIVE ? self::INACTIVE : self::ACTIVE;\n }\n\n \/**\n * Create from boolean value.\n *\/\n public static function fromBool(bool $active): self\n {\n return $active ? self::ACTIVE : self::INACTIVE;\n }\n\n \/**\n * Create from database tinyint (0\/1).\n *\/\n public static function fromInt(int $value): self\n {\n return $value === 1 ? self::ACTIVE : self::INACTIVE;\n }\n\n \/**\n * Convert to boolean.\n *\/\n public function toBool(): bool\n {\n return $this === self::ACTIVE;\n }\n\n \/**\n * Convert to database tinyint (0\/1).\n *\/\n public function toInt(): int\n {\n return $this === self::ACTIVE ? 1 : 0;\n }\n\n \/**\n * Get human-readable label.\n *\/\n public function label(): string\n {\n return match ($this) {\n self::ACTIVE => 'Aktiv',\n self::INACTIVE => 'Inaktiv',\n };\n }\n\n \/**\n * Get CSS class for badge styling.\n *\/\n public function badgeClass(): string\n {\n return match ($this) {\n self::ACTIVE => 'completed',\n self::INACTIVE => 'secondary',\n };\n }\n}\n",
"structuredPatch": [],
"originalFile": null
}
}