add assignment completion api

This commit is contained in:
Yisroel Baum 2026-08-15 22:43:06 +03:00
parent 916f070455
commit 350d2ec0b7
Signed by: yisroelbaum
GPG key ID: 0FA60884F75520A9
11 changed files with 281 additions and 16 deletions

View file

@ -4,7 +4,7 @@ namespace App\Schedule;
use DateTimeImmutable;
final readonly class ScheduleAssignment
final class ScheduleAssignment
{
/**
* @param list<string> $path
@ -16,6 +16,7 @@ final readonly class ScheduleAssignment
private array $path,
private DateTimeImmutable $scheduledDate,
private int $position,
private ?DateTimeImmutable $completedAt,
) {}
public function getId(): int
@ -50,4 +51,21 @@ final readonly class ScheduleAssignment
{
return $this->position;
}
public function getCompletedAt(): ?DateTimeImmutable
{
return $this->completedAt;
}
public function complete(DateTimeImmutable $completedAt): void
{
if ($this->completedAt === null) {
$this->completedAt = $completedAt;
}
}
public function reopen(): void
{
$this->completedAt = null;
}
}