Backup #706
| ID | 706 |
| Dateipfad | /var/www/dev.campus.systemische-tools.de/src/UseCases/Task/GetTasksUseCase.php |
| Version | 1 |
| Typ |
modified |
| Größe | 2.1 KB |
| Hash | fcb4e490b98908b2d5c76fc8456635dddc9cc2bda3d1822c05a5f2ee4e7928d5 |
| Datum | 2025-12-23 07:54:33 |
| Geändert von | claude-code-hook |
| Grund | Claude Code Pre-Hook Backup vor Edit-Operation |
| Datei existiert |
Ja
|
Dateiinhalt
<?php
namespace UseCases\Task;
use Domain\Entity\Task;
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();
}
public function execute(array $filters = [], int $limit = 50, int $offset = 0): array
{
return $this->taskRepository->findAll($filters, $limit, $offset);
}
public function findById(int $id): ?Task
{
return $this->taskRepository->find($id);
}
public function findByUuid(string $uuid): ?Task
{
return $this->taskRepository->findByUuid($uuid);
}
public function getTaskWithDetails(int $id): ?array
{
$task = $this->taskRepository->find($id);
if ($task === null) {
return null;
}
$assignments = $this->assignmentRepository->findByTaskId($id);
$results = $this->resultRepository->findByTaskId($id);
$subtasks = $this->taskRepository->findSubtasks($id);
return [
'task' => $task->toArray(),
'assignments' => array_map(fn ($a) => $a->toArray(), $assignments),
'results' => array_map(fn ($r) => $r->toArray(), $results),
'subtasks' => array_map(fn ($t) => $t->toArray(), $subtasks),
];
}
public function getStatistics(): array
{
return $this->taskRepository->getStatistics();
}
public function count(array $filters = []): int
{
return $this->taskRepository->count($filters);
}
}
Vollständig herunterladen
Aktionen
Andere Versionen dieser Datei
| ID |
Version |
Typ |
Größe |
Datum |
| 829 |
2 |
modified |
2.2 KB |
2025-12-23 08:15 |
| 706 |
1 |
modified |
2.1 KB |
2025-12-23 07:54 |
← Zurück zur Übersicht