24 lines
991 B
PHP
24 lines
991 B
PHP
<?php declare(strict_types=1);
|
|
|
|
namespace App\Http\Controllers\Api\V2\IslamicSundaySchool;
|
|
|
|
use App\Domain\SchoolCore\Context\SchoolContextStore;
|
|
use App\Domain\SchoolCore\Reporting\Contracts\ReportRunnerContract;
|
|
use App\Domain\SchoolCore\Reporting\DTO\ReportRequestData;
|
|
use App\Http\Resources\V2\IslamicSundaySchool\QuranProgressReportResource;
|
|
use App\Support\Api\ApiResponse;
|
|
use Illuminate\Http\JsonResponse;
|
|
use Illuminate\Routing\Controller;
|
|
|
|
final class QuranProgressController extends Controller
|
|
{
|
|
public function __construct(private readonly SchoolContextStore $context, private readonly ReportRunnerContract $reports) {}
|
|
|
|
public function index(): JsonResponse
|
|
{
|
|
$data = new ReportRequestData('islamic.quran_progress', [], null, null, null, null, false, null, null, false, []);
|
|
$result = $this->reports->run($this->context->current(), $data);
|
|
return ApiResponse::success((new QuranProgressReportResource($result))->resolve(request()));
|
|
}
|
|
}
|