19 lines
732 B
PHP
19 lines
732 B
PHP
<?php declare(strict_types=1);
|
|
namespace App\Http\Controllers\Reporting;
|
|
|
|
use App\Domain\SchoolCore\Context\SchoolContext;
|
|
use App\Domain\SchoolCore\Reporting\Contracts\ScheduledReportServiceContract;
|
|
use App\Http\Requests\Reporting\ScheduleReportRequest;
|
|
use Illuminate\Routing\Controller;
|
|
|
|
final class ScheduledReportController extends Controller
|
|
{
|
|
public function __construct(private readonly ScheduledReportServiceContract $scheduled) {}
|
|
public function store(ScheduleReportRequest $request): array
|
|
{
|
|
/** @var SchoolContext $context */
|
|
$context = $request->attributes->get(SchoolContext::class);
|
|
return ['scheduled_report' => $this->scheduled->schedule($context, $request->toDTO())];
|
|
}
|
|
}
|