add set scheduling api

This commit is contained in:
Yisroel Baum 2026-08-10 20:05:53 +03:00
parent bdb266746d
commit 98ae9bf088
Signed by: yisroelbaum
GPG key ID: 0FA60884F75520A9
20 changed files with 935 additions and 1 deletions

View file

@ -0,0 +1,61 @@
<?php
namespace App\Schedule;
use App\Set\Set;
use App\User\User;
use DateTimeImmutable;
final readonly class Schedule
{
/**
* @param list<ScheduleAssignment> $assignments
*/
public function __construct(
private int $id,
private User $user,
private Set $set,
private string $elementKind,
private DateTimeImmutable $startDate,
private DateTimeImmutable $targetDate,
private array $assignments,
) {}
public function getId(): int
{
return $this->id;
}
public function getUser(): User
{
return $this->user;
}
public function getSet(): Set
{
return $this->set;
}
public function getElementKind(): string
{
return $this->elementKind;
}
public function getStartDate(): DateTimeImmutable
{
return $this->startDate;
}
public function getTargetDate(): DateTimeImmutable
{
return $this->targetDate;
}
/**
* @return list<ScheduleAssignment>
*/
public function getAssignments(): array
{
return $this->assignments;
}
}