6 lines
1.1 KiB
PHP
6 lines
1.1 KiB
PHP
<?php
|
|
declare(strict_types=1);
|
|
namespace App\Http\Controllers\Students;
|
|
use App\Domain\SchoolCore\Context\SchoolContext; use App\Domain\SchoolCore\Students\Contracts\PromotionServiceContract; use App\Http\Requests\Students\BulkPromotionRequest; use App\Http\Requests\Students\PromotionRequest; use Illuminate\Http\Request; use Illuminate\Routing\Controller;
|
|
final class PromotionController extends Controller { public function __construct(private readonly PromotionServiceContract $promotions){} public function evaluate(Request $request,int $student): array { $context=$request->attributes->get(SchoolContext::class); return ['data'=>$this->promotions->evaluatePromotion($context,$student)]; } public function promote(PromotionRequest $request): array { $context=$request->attributes->get(SchoolContext::class); return ['data'=>$this->promotions->promoteStudent($context,$request->toDTO())]; } public function bulk(BulkPromotionRequest $request): array { $context=$request->attributes->get(SchoolContext::class); return ['data'=>$this->promotions->bulkPromote($context,$request->toDTO())]; } }
|