add dated assignment endpoint
This commit is contained in:
parent
6afe7864be
commit
483ca6fc1d
9 changed files with 252 additions and 8 deletions
|
|
@ -3,10 +3,12 @@
|
|||
namespace Tests\Fakes;
|
||||
|
||||
use App\Schedule\CreateScheduleDto;
|
||||
use App\Schedule\AssignmentForDate;
|
||||
use App\Schedule\Schedule;
|
||||
use App\Schedule\ScheduleAssignment;
|
||||
use App\Schedule\ScheduleRepository;
|
||||
use App\User\User;
|
||||
use DateTimeImmutable;
|
||||
|
||||
class FakeScheduleRepository implements ScheduleRepository
|
||||
{
|
||||
|
|
@ -72,6 +74,31 @@ class FakeScheduleRepository implements ScheduleRepository
|
|||
}, array_values($schedules));
|
||||
}
|
||||
|
||||
public function findAssignmentsForUserOnDate(
|
||||
User $user,
|
||||
DateTimeImmutable $date,
|
||||
): array {
|
||||
$assignments = [];
|
||||
|
||||
foreach ($this->findAllForUser($user) as $schedule) {
|
||||
foreach ($schedule->getAssignments() as $assignment) {
|
||||
if ($assignment->getScheduledDate()->format('Y-m-d')
|
||||
!== $date->format('Y-m-d')
|
||||
) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$assignments[] = new AssignmentForDate(
|
||||
scheduleId: $schedule->getId(),
|
||||
setName: $schedule->getSetName(),
|
||||
assignment: $assignment,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
return $assignments;
|
||||
}
|
||||
|
||||
private function copy(Schedule $schedule): Schedule
|
||||
{
|
||||
$assignments = array_map(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue