add assignment completion api
This commit is contained in:
parent
916f070455
commit
350d2ec0b7
11 changed files with 281 additions and 16 deletions
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue