{
"event": "PreToolUse",
"tool_name": "Edit",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/UseCases\/Task\/GetTasksUseCase.php",
"old_string": "use Domain\\Entity\\Task;\nuse Infrastructure\\Persistence\\TaskAssignmentRepository;\nuse Infrastructure\\Persistence\\TaskRepository;\nuse Infrastructure\\Persistence\\TaskResultRepository;\n\nclass GetTasksUseCase\n{\n private TaskRepository $taskRepository;\n private TaskAssignmentRepository $assignmentRepository;\n private TaskResultRepository $resultRepository;\n\n public function __construct(\n ?TaskRepository $taskRepository = null,\n ?TaskAssignmentRepository $assignmentRepository = null,\n ?TaskResultRepository $resultRepository = null\n ) {\n $this->taskRepository = $taskRepository ?? new TaskRepository();\n $this->assignmentRepository = $assignmentRepository ?? new TaskAssignmentRepository();\n $this->resultRepository = $resultRepository ?? new TaskResultRepository();\n }",
"new_string": "use Domain\\Entity\\Task;\nuse Domain\\Repository\\TaskRepositoryInterface;\nuse Infrastructure\\Persistence\\TaskAssignmentRepository;\nuse Infrastructure\\Persistence\\TaskResultRepository;\n\nclass GetTasksUseCase\n{\n public function __construct(\n private TaskRepositoryInterface $taskRepository,\n private TaskAssignmentRepository $assignmentRepository,\n private TaskResultRepository $resultRepository\n ) {}"
}
}
{
"tool_response": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/UseCases\/Task\/GetTasksUseCase.php",
"oldString": "use Domain\\Entity\\Task;\nuse Infrastructure\\Persistence\\TaskAssignmentRepository;\nuse Infrastructure\\Persistence\\TaskRepository;\nuse Infrastructure\\Persistence\\TaskResultRepository;\n\nclass GetTasksUseCase\n{\n private TaskRepository $taskRepository;\n private TaskAssignmentRepository $assignmentRepository;\n private TaskResultRepository $resultRepository;\n\n public function __construct(\n ?TaskRepository $taskRepository = null,\n ?TaskAssignmentRepository $assignmentRepository = null,\n ?TaskResultRepository $resultRepository = null\n ) {\n $this->taskRepository = $taskRepository ?? new TaskRepository();\n $this->assignmentRepository = $assignmentRepository ?? new TaskAssignmentRepository();\n $this->resultRepository = $resultRepository ?? new TaskResultRepository();\n }",
"newString": "use Domain\\Entity\\Task;\nuse Domain\\Repository\\TaskRepositoryInterface;\nuse Infrastructure\\Persistence\\TaskAssignmentRepository;\nuse Infrastructure\\Persistence\\TaskResultRepository;\n\nclass GetTasksUseCase\n{\n public function __construct(\n private TaskRepositoryInterface $taskRepository,\n private TaskAssignmentRepository $assignmentRepository,\n private TaskResultRepository $resultRepository\n ) {}",
"originalFile": "<?php\n\ndeclare(strict_types=1);\n\nnamespace UseCases\\Task;\n\n\/\/ @responsibility: Liest Tasks mit Filtern, Details und Statistiken\n\nuse Domain\\Entity\\Task;\nuse Infrastructure\\Persistence\\TaskAssignmentRepository;\nuse Infrastructure\\Persistence\\TaskRepository;\nuse Infrastructure\\Persistence\\TaskResultRepository;\n\nclass GetTasksUseCase\n{\n private TaskRepository $taskRepository;\n private TaskAssignmentRepository $assignmentRepository;\n private TaskResultRepository $resultRepository;\n\n public function __construct(\n ?TaskRepository $taskRepository = null,\n ?TaskAssignmentRepository $assignmentRepository = null,\n ?TaskResultRepository $resultRepository = null\n ) {\n $this->taskRepository = $taskRepository ?? new TaskRepository();\n $this->assignmentRepository = $assignmentRepository ?? new TaskAssignmentRepository();\n $this->resultRepository = $resultRepository ?? new TaskResultRepository();\n }\n\n public function execute(array $filters = [], int $limit = 50, int $offset = 0): array\n {\n return $this->taskRepository->findAll($filters, $limit, $offset);\n }\n\n public function findById(int $id): ?Task\n {\n return $this->taskRepository->find($id);\n }\n\n public function findByUuid(string $uuid): ?Task\n {\n return $this->taskRepository->findByUuid($uuid);\n }\n\n public function getTaskWithDetails(int $id): ?array\n {\n $task = $this->taskRepository->find($id);\n\n if ($task === null) {\n return null;\n }\n\n $assignments = $this->assignmentRepository->findByTaskId($id);\n $results = $this->resultRepository->findByTaskId($id);\n $subtasks = $this->taskRepository->findSubtasks($id);\n\n return [\n 'task' => $task->toArray(),\n 'assignments' => array_map(fn ($a) => $a->toArray(), $assignments),\n 'results' => array_map(fn ($r) => $r->toArray(), $results),\n 'subtasks' => array_map(fn ($t) => $t->toArray(), $subtasks),\n ];\n }\n\n public function getStatistics(): array\n {\n return $this->taskRepository->getStatistics();\n }\n\n public function count(array $filters = []): int\n {\n return $this->taskRepository->count($filters);\n }\n}\n",
"structuredPatch": [
{
"oldStart": 7,
"oldLines": 25,
"newStart": 7,
"newLines": 17,
"lines": [
" \/\/ @responsibility: Liest Tasks mit Filtern, Details und Statistiken",
" ",
" use Domain\\Entity\\Task;",
"+use Domain\\Repository\\TaskRepositoryInterface;",
" use Infrastructure\\Persistence\\TaskAssignmentRepository;",
"-use Infrastructure\\Persistence\\TaskRepository;",
" use Infrastructure\\Persistence\\TaskResultRepository;",
" ",
" class GetTasksUseCase",
" {",
"- private TaskRepository $taskRepository;",
"- private TaskAssignmentRepository $assignmentRepository;",
"- private TaskResultRepository $resultRepository;",
"-",
" public function __construct(",
"- ?TaskRepository $taskRepository = null,",
"- ?TaskAssignmentRepository $assignmentRepository = null,",
"- ?TaskResultRepository $resultRepository = null",
"- ) {",
"- $this->taskRepository = $taskRepository ?? new TaskRepository();",
"- $this->assignmentRepository = $assignmentRepository ?? new TaskAssignmentRepository();",
"- $this->resultRepository = $resultRepository ?? new TaskResultRepository();",
"- }",
"+ private TaskRepositoryInterface $taskRepository,",
"+ private TaskAssignmentRepository $assignmentRepository,",
"+ private TaskResultRepository $resultRepository",
"+ ) {}",
" ",
" public function execute(array $filters = [], int $limit = 50, int $offset = 0): array",
" {"
]
}
],
"userModified": false,
"replaceAll": false
}
}