snapshot schedule source data

This commit is contained in:
Yisroel Baum 2026-08-10 22:36:14 +03:00
parent 14fe2fcb46
commit f500bd6095
Signed by: yisroelbaum
GPG key ID: 0FA60884F75520A9
14 changed files with 84 additions and 87 deletions

View file

@ -2,7 +2,6 @@
namespace App\Http\Controllers;
use App\Element\Element;
use App\Exceptions\BadRequestException;
use App\Exceptions\NotFoundException;
use App\Schedule\Schedule;
@ -96,13 +95,10 @@ class ScheduleController extends Controller
*/
private function summaryPayload(Schedule $schedule): array
{
$set = $schedule->getSet();
return [
'id' => $schedule->getId(),
'set' => [
'id' => $set->getId(),
'name' => $set->getName(),
'name' => $schedule->getSetName(),
],
'elementKind' => $schedule->getElementKind(),
'startDate' => $schedule->getStartDate()->format('Y-m-d'),
@ -150,8 +146,7 @@ class ScheduleController extends Controller
}
/**
* @return array{element: array{
* id: int,
* @return array{id: int, element: array{
* name: string,
* kind: string,
* path: list<string>
@ -160,34 +155,16 @@ class ScheduleController extends Controller
private function assignmentPayload(
ScheduleAssignment $assignment,
): array {
$element = $assignment->getElement();
return [
'id' => $assignment->getId(),
'element' => [
'id' => $element->getId(),
'name' => $element->getName(),
'kind' => $element->getKind(),
'path' => $this->elementPath($element),
'name' => $assignment->getName(),
'kind' => $assignment->getKind(),
'path' => $assignment->getPath(),
],
];
}
/**
* @return list<string>
*/
private function elementPath(Element $element): array
{
$path = [];
$currentElement = $element;
while ($currentElement !== null) {
array_unshift($path, $currentElement->getName());
$currentElement = $currentElement->getParentElement();
}
return $path;
}
private function user(Request $request): User
{
/** @var User $user */