Protokoll #16447

ID16447
Zeitstempel2025-12-25 17:04:38.154963
Clientroot
IP145.224.72.140
Modellclaude-sonnet-4-20250514
Statuspending
Tokens5,491 (Input: 5,491, Output: 0)
Dauer-
Request-Zeit2025-12-25 17:04:38.154963
Response-Zeit-

Request

{
    "event": "PostToolUse",
    "tool_name": "TaskOutput",
    "tool_response": {
        "retrieval_status": "success",
        "task": {
            "task_id": "a07961e",
            "task_type": "local_agent",
            "status": "completed",
            "description": "Refactor Task Entity slim",
            "output": "[Tool: Read] {\"file_path\":\"\/var\/www\/dev.campus.systemische-tools.de\/src\/Domain\/Entity\/Task.php\"}\n[Tool: mcp__mcp-code__code_class] {\"fqcn\":\"Domain\\\\Entity\\\\Task\"}\n[Tool: mcp__mcp-code__code_dependents] {\"fqcn\":\"Domain\\\\Entity\\\\Task\"}\n[Tool: mcp__mcp-code__code_dependents] {\"fqcn\":\"Domain\\\\Entity\\\\Task\"}\n[Tool: Read] {\"file_path\":\"\/var\/www\/dev.campus.systemische-tools.de\/src\/Domain\/ValueObject\/TaskStatus.php\"}\n[Tool: Glob] {\"pattern\":\"**\/TaskAssignment*.php\"}\n[Tool: Read] {\"file_path\":\"\/var\/www\/dev.campus.systemische-tools.de\/src\/UseCases\/Task\/UpdateTaskStatusUseCase.php\"}\n[Tool: Read] {\"file_path\":\"\/var\/www\/dev.campus.systemische-tools.de\/src\/Domain\/Entity\/TaskAssignment.php\"}\n[Tool: Glob] {\"pattern\":\"**\/Service\/TaskAssignment*.php\"}\n[Tool: Glob] {\"pattern\":\"**\/Service\/TaskAssignment*.php\"}\n[Tool: TodoWrite] {\"todos\":[{\"content\":\"Analysiere Task.php Entity (305 LOC) und identifiziere Refactoring-Punkte\",\"activeForm\":\"Analysiere Task.php Entity\",\"status\":\"completed\"},{\"content\":\"Refactore Task.php - entferne Setter, implementiere Rich Domain Model mit Business-Methoden\",\"activeForm\":\"Refactore Task.php\",\"status\":\"in_progress\"},{\"content\":\"Erstelle TaskType Value Object für Typ-Validierung\",\"activeForm\":\"Erstelle TaskType Value Object\",\"status\":\"pending\"},{\"content\":\"Führe \/var\/www\/scripts\/php-check.sh aus\",\"activeForm\":\"Führe php-check.sh aus\",\"status\":\"pending\"},{\"content\":\"Aktualisiere abhängige Use Cases nach Refactoring\",\"activeForm\":\"Aktualisiere abhängige Use Cases\",\"status\":\"pending\"}]}\n[Tool: TodoWrite] {\"todos\":[{\"content\":\"Analysiere Task.php Entity (305 LOC) und identifiziere Refactoring-Punkte\",\"activeForm\":\"Analysiere Task.php Entity\",\"status\":\"completed\"},{\"content\":\"Refactore Task.php - entferne Setter, implementiere Rich Domain Model mit Business-Methoden\",\"activeForm\":\"Refactore Task.php\",\"status\":\"in_progress\"},{\"content\":\"Erstelle TaskType Value Object für Typ-Validierung\",\"activeForm\":\"Erstelle TaskType Value Object\",\"status\":\"pending\"},{\"content\":\"Führe \/var\/www\/scripts\/php-check.sh aus\",\"activeForm\":\"Führe php-check.sh aus\",\"status\":\"pending\"},{\"content\":\"Aktualisiere abhängige Use Cases nach Refactoring\",\"activeForm\":\"Aktualisiere abhängige Use Cases\",\"status\":\"pending\"}]}\n[Tool: Edit] {\"file_path\":\"\/var\/www\/dev.campus.systemische-tools.de\/src\/Domain\/Entity\/Task.php\",\"old_string\":\"<?php\\n\\ndeclare(strict_types=1);\\n\\nnamespace Domain\\\\Entity;\\n\\n\/\/ @responsibility: Task-Entität mit Status-Management\\n\\nuse Domain\\\\ValueObject\\\\TaskStatus;\\n\\nclass Task\\n{\\n    private ?int $id = null;\\n    private string $uuid;\\n    private string $title;\\n    private ?string $description = null;\\n    private string $type = 'human_task';\\n    private TaskStatus $status;\\n    private string $createdBy;\\n    private string $createdByType = 'human';\\n    private ?int $parentTaskId = null;\\n    private ?\\\\DateTimeImmutable $dueDate = null;\\n    private \\\\DateTimeImmutable $createdAt;\\n    private \\\\DateTimeImmutable $updatedAt;\\n    private ?\\\\DateTimeImmutable $completedAt = null;\\n    private array $metadata = [];\\n\\n    public function __construct()\\n    {\\n        $this->uuid = $this->generateUuid();\\n        $this->status = TaskStatus::PENDING;\\n        $this->createdAt = new \\\\DateTimeImmutable();\\n        $this->updatedAt = new \\\\DateTimeImmutable();\\n    }\\n\\n    private function generateUuid(): string\\n    {\\n        return sprintf(\\n            '%04x%04x-%04x-%04x-%04x-%04x%04x%04x',\\n            mt_rand(0, 0xffff),\\n            mt_rand(0, 0xffff),\\n            mt_rand(0, 0xffff),\\n            mt_rand(0, 0x0fff) | 0x4000,\\n            mt_rand(0, 0x3fff) | 0x8000,\\n            mt_rand(0, 0xffff),\\n            mt_rand(0, 0xffff),\\n            mt_rand(0, 0xffff)\\n        );\\n    }\",\"new_string\":\"<?php\\n\\ndeclare(strict_types=1);\\n\\nnamespace Domain\\\\Entity;\\n\\n\/\/ @responsibility: Task-Entität - Rich Domain Model mit Business-Logik\\n\\nuse Domain\\\\ValueObject\\\\TaskStatus;\\nuse Domain\\\\ValueObject\\\\TaskType;\\n\\nclass Task\\n{\\n    private ?int $id = null;\\n    private string $uuid;\\n    private string $title;\\n    private ?string $description = null;\\n    private TaskType $type;\\n    private TaskStatus $status;\\n    private string $createdBy;\\n    private string $createdByType = 'human';\\n    private ?int $parentTaskId = null;\\n    private ?\\\\DateTimeImmutable $dueDate = null;\\n    private \\\\DateTimeImmutable $createdAt;\\n    private \\\\DateTimeImmutable $updatedAt;\\n    private ?\\\\DateTimeImmutable $completedAt = null;\\n    private array $metadata = [];\\n\\n    private function __construct()\\n    {\\n        $this->uuid = $this->generateUuid();\\n        $this->status = TaskStatus::PENDING;\\n        $this->type = TaskType::HUMAN_TASK;\\n        $this->createdAt = new \\\\DateTimeImmutable();\\n        $this->updatedAt = new \\\\DateTimeImmutable();\\n    }\\n\\n    public static function create(\\n        string $title,\\n        string $createdBy,\\n        ?string $description = null,\\n        ?TaskType $type = null,\\n        ?int $parentTaskId = null,\\n        ?\\\\DateTimeImmutable $dueDate = null\\n    ): self {\\n        $task = new self();\\n        $task->title = $title;\\n        $task->createdBy = $createdBy;\\n        $task->description = $description;\\n\\n        if ($type !== null) {\\n            $task->type = $type;\\n        }\\n\\n        if ($parentTaskId !== null) {\\n            $task->parentTaskId = $parentTaskId;\\n        }\\n\\n        if ($dueDate !== null) {\\n            $task->dueDate = $dueDate;\\n        }\\n\\n        return $task;\\n    }\\n\\n    private function generateUuid(): string\\n    {\\n        return sprintf(\\n            '%04x%04x-%04x-%04x-%04x-%04x%04x%04x',\\n            mt_rand(0, 0xffff),\\n            mt_rand(0, 0xffff),\\n            mt_rand(0, 0xffff),\\n            mt_rand(0, 0x0fff) | 0x4000,\\n            mt_rand(0, 0x3fff) | 0x8000,\\n            mt_rand(0, 0xffff),\\n            mt_rand(0, 0xffff),\\n            mt_rand(0, 0xffff)\\n        );\\n    }\"}\n[Tool: Edit] {\"file_path\":\"\/var\/www\/dev.campus.systemische-tools.de\/src\/Domain\/Entity\/Task.php\",\"old_string\":\"    public function getType(): string\\n    {\\n        return $this->type;\\n    }\",\"new_string\":\"    public function getType(): TaskType\\n    {\\n        return $this->type;\\n    }\"}\n[Tool: Edit] {\"file_path\":\"\/var\/www\/dev.campus.systemische-tools.de\/src\/Domain\/Entity\/Task.php\",\"old_string\":\"    \/\/ Setters\\n    public function setId(int $id): self\\n    {\\n        $this->id = $id;\\n\\n        return $this;\\n    }\\n\\n    public function setUuid(string $uuid): self\\n    {\\n        $this->uuid = $uuid;\\n\\n        return $this;\\n    }\\n\\n    public function setTitle(string $title): self\\n    {\\n        $this->title = $title;\\n        $this->updatedAt = new \\\\DateTimeImmutable();\\n\\n        return $this;\\n    }\\n\\n    public function setDescription(?string $description): self\\n    {\\n        $this->description = $description;\\n        $this->updatedAt = new \\\\DateTimeImmutable();\\n\\n        return $this;\\n    }\\n\\n    public function setType(string $type): self\\n    {\\n        $this->type = $type;\\n        $this->updatedAt = new \\\\DateTimeImmutable();\\n\\n        return $this;\\n    }\\n\\n    public function setStatus(TaskStatus $status): self\\n    {\\n        if ($this->status->canTransitionTo($status) || $this->id === null) {\\n            $this->status = $status;\\n            $this->updatedAt = new \\\\DateTimeImmutable();\\n\\n            if ($status->isTerminal()) {\\n                $this->completedAt = new \\\\DateTimeImmutable();\\n            }\\n        }\\n\\n        return $this;\\n    }\\n\\n    public function setCreatedBy(string $createdBy): self\\n    {\\n        $this->createdBy = $createdBy;\\n\\n        return $this;\\n    }\\n\\n    public function setCreatedByType(string $createdByType): self\\n    {\\n        $this->createdByType = $createdByType;\\n\\n        return $this;\\n    }\\n\\n    public function setParentTaskId(?int $parentTaskId): self\\n    {\\n        $this->parentTaskId = $parentTaskId;\\n        $this->updatedAt = new \\\\DateTimeImmutable();\\n\\n        return $this;\\n    }\\n\\n    public function setDueDate(?\\\\DateTimeImmutable $dueDate): self\\n    {\\n        $this->dueDate = $dueDate;\\n        $this->updatedAt = new \\\\DateTimeImmutable();\\n\\n        return $this;\\n    }\\n\\n    public function setCreatedAt(\\\\DateTimeImmutable $createdAt): self\\n    {\\n        $this->createdAt = $createdAt;\\n\\n        return $this;\\n    }\\n\\n    public function setUpdatedAt(\\\\DateTimeImmutable $updatedAt): self\\n    {\\n        $this->updatedAt = $updatedAt;\\n\\n        return $this;\\n    }\\n\\n    public function setCompletedAt(?\\\\DateTimeImmutable $completedAt): self\\n    {\\n        $this->completedAt = $completedAt;\\n\\n        return $this;\\n    }\\n\\n    public function setMetadata(array $metadata): self\\n    {\\n        $this->metadata = $metadata;\\n        $this->updatedAt = new \\\\DateTimeImmutable();\\n\\n        return $this;\\n    }\",\"new_string\":\"    \/\/ Business Methods\\n    public function updateDetails(string $title, ?string $description = null): self\\n    {\\n        $this->title = $title;\\n        $this->description = $description;\\n        $this->touch();\\n\\n        return $this;\\n    }\\n\\n    public function changeType(TaskType $type): self\\n    {\\n        $this->type = $type;\\n        $this->touch();\\n\\n        return $this;\\n    }\\n\\n    public function assignParent(int $parentTaskId): self\\n    {\\n        $this->parentTaskId = $parentTaskId;\\n        $this->touch();\\n\\n        return $this;\\n    }\\n\\n    public function setDueDateTo(\\\\DateTimeImmutable $dueDate): self\\n    {\\n        $this->dueDate = $dueDate;\\n        $this->touch();\\n\\n        return $this;\\n    }\\n\\n    public function clearDueDate(): self\\n    {\\n        $this->dueDate = null;\\n        $this->touch();\\n\\n        return $this;\\n    }\\n\\n    public function updateMetadata(array $metadata): self\\n    {\\n        $this->metadata = $metadata;\\n        $this->touch();\\n\\n        return $this;\\n... [TRUNCATED-e57da28c80673094]",
            "prompt": "Lese \/var\/www\/CLAUDE.md für Projektkontext.\n\n**Task #366: Task.php Entity - Anemic Domain Model beheben**\n\nArbeitsverzeichnis: \/var\/www\/dev.campus.systemische-tools.de\n\n1. Analysiere `src\/Domain\/Entity\/Task.php` (305 LOC)\n2. Implementiere Status-Transitions als State-Pattern oder Value Object\n3. Lagere Assignment-Logik in TaskAssignmentService aus\n4. Führe `\/var\/www\/scripts\/php-check.sh` aus\n\nMax 150 LOC für Entity. Status als Enum oder Value Object.",
            "result": "[Tool: Read] {\"file_path\":\"\/var\/www\/dev.campus.systemische-tools.de\/src\/Domain\/Entity\/Task.php\"}\n[Tool: mcp__mcp-code__code_class] {\"fqcn\":\"Domain\\\\Entity\\\\Task\"}\n[Tool: mcp__mcp-code__code_dependents] {\"fqcn\":\"Domain\\\\Entity\\\\Task\"}\n[Tool: mcp__mcp-code__code_dependents] {\"fqcn\":\"Domain\\\\Entity\\\\Task\"}\n[Tool: Read] {\"file_path\":\"\/var\/www\/dev.campus.systemische-tools.de\/src\/Domain\/ValueObject\/TaskStatus.php\"}\n[Tool: Glob] {\"pattern\":\"**\/TaskAssignment*.php\"}\n[Tool: Read] {\"file_path\":\"\/var\/www\/dev.campus.systemische-tools.de\/src\/UseCases\/Task\/UpdateTaskStatusUseCase.php\"}\n[Tool: Read] {\"file_path\":\"\/var\/www\/dev.campus.systemische-tools.de\/src\/Domain\/Entity\/TaskAssignment.php\"}\n[Tool: Glob] {\"pattern\":\"**\/Service\/TaskAssignment*.php\"}\n[Tool: Glob] {\"pattern\":\"**\/Service\/TaskAssignment*.php\"}\n[Tool: TodoWrite] {\"todos\":[{\"content\":\"Analysiere Task.php Entity (305 LOC) und identifiziere Refactoring-Punkte\",\"activeForm\":\"Analysiere Task.php Entity\",\"status\":\"completed\"},{\"content\":\"Refactore Task.php - entferne Setter, implementiere Rich Domain Model mit Business-Methoden\",\"activeForm\":\"Refactore Task.php\",\"status\":\"in_progress\"},{\"content\":\"Erstelle TaskType Value Object für Typ-Validierung\",\"activeForm\":\"Erstelle TaskType Value Object\",\"status\":\"pending\"},{\"content\":\"Führe \/var\/www\/scripts\/php-check.sh aus\",\"activeForm\":\"Führe php-check.sh aus\",\"status\":\"pending\"},{\"content\":\"Aktualisiere abhängige Use Cases nach Refactoring\",\"activeForm\":\"Aktualisiere abhängige Use Cases\",\"status\":\"pending\"}]}\n[Tool: TodoWrite] {\"todos\":[{\"content\":\"Analysiere Task.php Entity (305 LOC) und identifiziere Refactoring-Punkte\",\"activeForm\":\"Analysiere Task.php Entity\",\"status\":\"completed\"},{\"content\":\"Refactore Task.php - entferne Setter, implementiere Rich Domain Model mit Business-Methoden\",\"activeForm\":\"Refactore Task.php\",\"status\":\"in_progress\"},{\"content\":\"Erstelle TaskType Value Object für Typ-Validierung\",\"activeForm\":\"Erstelle TaskType Value Object\",\"status\":\"pending\"},{\"content\":\"Führe \/var\/www\/scripts\/php-check.sh aus\",\"activeForm\":\"Führe php-check.sh aus\",\"status\":\"pending\"},{\"content\":\"Aktualisiere abhängige Use Cases nach Refactoring\",\"activeForm\":\"Aktualisiere abhängige Use Cases\",\"status\":\"pending\"}]}\n[Tool: Edit] {\"file_path\":\"\/var\/www\/dev.campus.systemische-tools.de\/src\/Domain\/Entity\/Task.php\",\"old_string\":\"<?php\\n\\ndeclare(strict_types=1);\\n\\nnamespace Domain\\\\Entity;\\n\\n\/\/ @responsibility: Task-Entität mit Status-Management\\n\\nuse Domain\\\\ValueObject\\\\TaskStatus;\\n\\nclass Task\\n{\\n    private ?int $id = null;\\n    private string $uuid;\\n    private string $title;\\n    private ?string $description = null;\\n    private string $type = 'human_task';\\n    private TaskStatus $status;\\n    private string $createdBy;\\n    private string $createdByType = 'human';\\n    private ?int $parentTaskId = null;\\n    private ?\\\\DateTimeImmutable $dueDate = null;\\n    private \\\\DateTimeImmutable $createdAt;\\n    private \\\\DateTimeImmutable $updatedAt;\\n    private ?\\\\DateTimeImmutable $completedAt = null;\\n    private array $metadata = [];\\n\\n    public function __construct()\\n    {\\n        $this->uuid = $this->generateUuid();\\n        $this->status = TaskStatus::PENDING;\\n        $this->createdAt = new \\\\DateTimeImmutable();\\n        $this->updatedAt = new \\\\DateTimeImmutable();\\n    }\\n\\n    private function generateUuid(): string\\n    {\\n        return sprintf(\\n            '%04x%04x-%04x-%04x-%04x-%04x%04x%04x',\\n            mt_rand(0, 0xffff),\\n            mt_rand(0, 0xffff),\\n            mt_rand(0, 0xffff),\\n            mt_rand(0, 0x0fff) | 0x4000,\\n            mt_rand(0, 0x3fff) | 0x8000,\\n            mt_rand(0, 0xffff),\\n            mt_rand(0, 0xffff),\\n            mt_rand(0, 0xffff)\\n        );\\n    }\",\"new_string\":\"<?php\\n\\ndeclare(strict_types=1);\\n\\nnamespace Domain\\\\Entity;\\n\\n\/\/ @responsibility: Task-Entität - Rich Domain Model mit Business-Logik\\n\\nuse Domain\\\\ValueObject\\\\TaskStatus;\\nuse Domain\\\\ValueObject\\\\TaskType;\\n\\nclass Task\\n{\\n    private ?int $id = null;\\n    private string $uuid;\\n    private string $title;\\n    private ?string $description = null;\\n    private TaskType $type;\\n    private TaskStatus $status;\\n    private string $createdBy;\\n    private string $createdByType = 'human';\\n    private ?int $parentTaskId = null;\\n    private ?\\\\DateTimeImmutable $dueDate = null;\\n    private \\\\DateTimeImmutable $createdAt;\\n    private \\\\DateTimeImmutable $updatedAt;\\n    private ?\\\\DateTimeImmutable $completedAt = null;\\n    private array $metadata = [];\\n\\n    private function __construct()\\n    {\\n        $this->uuid = $this->generateUuid();\\n        $this->status = TaskStatus::PENDING;\\n        $this->type = TaskType::HUMAN_TASK;\\n        $this->createdAt = new \\\\DateTimeImmutable();\\n        $this->updatedAt = new \\\\DateTimeImmutable();\\n    }\\n\\n    public static function create(\\n        string $title,\\n        string $createdBy,\\n        ?string $description = null,\\n        ?TaskType $type = null,\\n        ?int $parentTaskId = null,\\n        ?\\\\DateTimeImmutable $dueDate = null\\n    ): self {\\n        $task = new self();\\n        $task->title = $title;\\n        $task->createdBy = $createdBy;\\n        $task->description = $description;\\n\\n        if ($type !== null) {\\n            $task->type = $type;\\n        }\\n\\n        if ($parentTaskId !== null) {\\n            $task->parentTaskId = $parentTaskId;\\n        }\\n\\n        if ($dueDate !== null) {\\n            $task->dueDate = $dueDate;\\n        }\\n\\n        return $task;\\n    }\\n\\n    private function generateUuid(): string\\n    {\\n        return sprintf(\\n            '%04x%04x-%04x-%04x-%04x-%04x%04x%04x',\\n            mt_rand(0, 0xffff),\\n            mt_rand(0, 0xffff),\\n            mt_rand(0, 0xffff),\\n            mt_rand(0, 0x0fff) | 0x4000,\\n            mt_rand(0, 0x3fff) | 0x8000,\\n            mt_rand(0, 0xffff),\\n            mt_rand(0, 0xffff),\\n            mt_rand(0, 0xffff)\\n        );\\n    }\"}\n[Tool: Edit] {\"file_path\":\"\/var\/www\/dev.campus.systemische-tools.de\/src\/Domain\/Entity\/Task.php\",\"old_string\":\"    public function getType(): string\\n    {\\n        return $this->type;\\n    }\",\"new_string\":\"    public function getType(): TaskType\\n    {\\n        return $this->type;\\n    }\"}\n[Tool: Edit] {\"file_path\":\"\/var\/www\/dev.campus.systemische-tools.de\/src\/Domain\/Entity\/Task.php\",\"old_string\":\"    \/\/ Setters\\n    public function setId(int $id): self\\n    {\\n        $this->id = $id;\\n\\n        return $this;\\n    }\\n\\n    public function setUuid(string $uuid): self\\n    {\\n        $this->uuid = $uuid;\\n\\n        return $this;\\n    }\\n\\n    public function setTitle(string $title): self\\n    {\\n        $this->title = $title;\\n        $this->updatedAt = new \\\\DateTimeImmutable();\\n\\n        return $this;\\n    }\\n\\n    public function setDescription(?string $description): self\\n    {\\n        $this->description = $description;\\n        $this->updatedAt = new \\\\DateTimeImmutable();\\n\\n        return $this;\\n    }\\n\\n    public function setType(string $type): self\\n    {\\n        $this->type = $type;\\n        $this->updatedAt = new \\\\DateTimeImmutable();\\n\\n        return $this;\\n    }\\n\\n    public function setStatus(TaskStatus $status): self\\n    {\\n        if ($this->status->canTransitionTo($status) || $this->id === null) {\\n            $this->status = $status;\\n            $this->updatedAt = new \\\\DateTimeImmutable();\\n\\n            if ($status->isTerminal()) {\\n                $this->completedAt = new \\\\DateTimeImmutable();\\n            }\\n        }\\n\\n        return $this;\\n    }\\n\\n    public function setCreatedBy(string $createdBy): self\\n    {\\n        $this->createdBy = $createdBy;\\n\\n        return $this;\\n    }\\n\\n    public function setCreatedByType(string $createdByType): self\\n    {\\n        $this->createdByType = $createdByType;\\n\\n        return $this;\\n    }\\n\\n    public function setParentTaskId(?int $parentTaskId): self\\n    {\\n        $this->parentTaskId = $parentTaskId;\\n        $this->updatedAt = new \\\\DateTimeImmutable();\\n\\n        return $this;\\n    }\\n\\n    public function setDueDate(?\\\\DateTimeImmutable $dueDate): self\\n    {\\n        $this->dueDate = $dueDate;\\n        $this->updatedAt = new \\\\DateTimeImmutable();\\n\\n        return $this;\\n    }\\n\\n    public function setCreatedAt(\\\\DateTimeImmutable $createdAt): self\\n    {\\n        $this->createdAt = $createdAt;\\n\\n        return $this;\\n    }\\n\\n    public function setUpdatedAt(\\\\DateTimeImmutable $updatedAt): self\\n    {\\n        $this->updatedAt = $updatedAt;\\n\\n        return $this;\\n    }\\n\\n    public function setCompletedAt(?\\\\DateTimeImmutable $completedAt): self\\n    {\\n        $this->completedAt = $completedAt;\\n\\n        return $this;\\n    }\\n\\n    public function setMetadata(array $metadata): self\\n    {\\n        $this->metadata = $metadata;\\n        $this->updatedAt = new \\\\DateTimeImmutable();\\n\\n        return $this;\\n    }\",\"new_string\":\"    \/\/ Business Methods\\n    public function updateDetails(string $title, ?string $description = null): self\\n    {\\n        $this->title = $title;\\n        $this->description = $description;\\n        $this->touch();\\n\\n        return $this;\\n    }\\n\\n    public function changeType(TaskType $type): self\\n    {\\n        $this->type = $type;\\n        $this->touch();\\n\\n        return $this;\\n    }\\n\\n    public function assignParent(int $parentTaskId): self\\n    {\\n        $this->parentTaskId = $parentTaskId;\\n        $this->touch();\\n\\n        return $this;\\n    }\\n\\n    public function setDueDateTo(\\\\DateTimeImmutable $dueDate): self\\n    {\\n        $this->dueDate = $dueDate;\\n        $this->touch();\\n\\n        return $this;\\n    }\\n\\n    public function clearDueDate(): self\\n    {\\n        $this->dueDate = null;\\n        $this->touch();\\n\\n        return $this;\\n    }\\n\\n    public function updateMetadata(array $metadata): self\\n    {\\n        $this->metadata = $metadata;\\n        $this->touch();\\n\\n        return $this;\\n... [TRUNCATED-e57da28c80673094]"
        }
    }
}

Response

-
← Vorheriger Zur Liste Nächster →