inti project
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
namespace App\Http\Controllers\Students;
|
||||
use App\Domain\SchoolCore\Context\SchoolContext; use App\Domain\SchoolCore\Students\Contracts\AssignmentServiceContract; use App\Http\Requests\Students\AssignmentRequest; use Illuminate\Http\Request; use Illuminate\Routing\Controller;
|
||||
final class AssignmentController extends Controller { public function __construct(private readonly AssignmentServiceContract $assignments){} public function store(AssignmentRequest $request): array { $context=$request->attributes->get(SchoolContext::class); return ['data'=>$this->assignments->assignStudent($context,$request->toDTO())]; } public function destroy(Request $request,int $assignment): array { $context=$request->attributes->get(SchoolContext::class); return ['data'=>$this->assignments->unassignStudent($context,$assignment,(string)$request->input('reason','unassign student'))]; } }
|
||||
@@ -0,0 +1,5 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
namespace App\Http\Controllers\Students;
|
||||
use App\Domain\SchoolCore\Context\SchoolContext; use App\Domain\SchoolCore\Students\Contracts\EnrollmentServiceContract; use App\Http\Requests\Students\EnrollmentRequest; use Illuminate\Http\Request; use Illuminate\Routing\Controller;
|
||||
final class EnrollmentController extends Controller { public function __construct(private readonly EnrollmentServiceContract $enrollments){} public function store(EnrollmentRequest $request): array { $context=$request->attributes->get(SchoolContext::class); return ['data'=>$this->enrollments->enrollStudent($context,$request->toDTO())]; } public function withdraw(Request $request,int $student): array { $context=$request->attributes->get(SchoolContext::class); return ['data'=>$this->enrollments->withdrawStudent($context,$student,(string)$request->input('reason','withdrawal'))]; } }
|
||||
@@ -0,0 +1,5 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
namespace App\Http\Controllers\Students;
|
||||
use App\Domain\SchoolCore\Context\SchoolContext; use App\Domain\SchoolCore\Students\Contracts\GuardianServiceContract; use App\Http\Requests\Students\CreateGuardianRequest; use App\Http\Requests\Students\LinkGuardianRequest; use Illuminate\Http\Request; use Illuminate\Routing\Controller;
|
||||
final class GuardianController extends Controller { public function __construct(private readonly GuardianServiceContract $guardians){} public function store(CreateGuardianRequest $request): array { $context=$request->attributes->get(SchoolContext::class); return ['data'=>$this->guardians->createGuardian($context,$request->toDTO())]; } public function link(LinkGuardianRequest $request): array { $context=$request->attributes->get(SchoolContext::class); return ['data'=>$this->guardians->linkGuardianToStudent($context,$request->toDTO())]; } public function unlink(Request $request,int $student,int $guardian): array { $context=$request->attributes->get(SchoolContext::class); return ['data'=>$this->guardians->unlinkGuardianFromStudent($context,$student,$guardian,(string)$request->input('reason','unlink guardian'))]; } }
|
||||
@@ -0,0 +1,5 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
namespace App\Http\Controllers\Students;
|
||||
use App\Domain\IslamicSundaySchool\Students\Services\IslamicSundaySchoolStudentProfileService; use App\Domain\SchoolCore\Context\SchoolContext; use App\Http\Requests\Students\IslamicSundaySchoolStudentProfileRequest; use Illuminate\Routing\Controller;
|
||||
final class IslamicSundaySchoolStudentProfileController extends Controller { public function __construct(private readonly IslamicSundaySchoolStudentProfileService $profiles){} public function store(IslamicSundaySchoolStudentProfileRequest $request): array { $context=$request->attributes->get(SchoolContext::class); return ['data'=>$this->profiles->save($context,$request->toDTO())]; } }
|
||||
@@ -0,0 +1,5 @@
|
||||
<?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())]; } }
|
||||
@@ -0,0 +1,5 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
namespace App\Http\Controllers\Students;
|
||||
use App\Domain\SchoolCore\Context\SchoolContext; use App\Domain\SchoolCore\Students\Contracts\StudentReadServiceContract; use App\Domain\SchoolCore\Students\Contracts\StudentServiceContract; use App\Http\Requests\Students\CreateStudentRequest; use App\Http\Requests\Students\StudentSearchRequest; use App\Http\Requests\Students\StudentStatusTransitionRequest; use App\Http\Requests\Students\UpdateStudentRequest; use Illuminate\Routing\Controller;
|
||||
final class StudentLifecycleController extends Controller { public function __construct(private readonly StudentServiceContract $students, private readonly StudentReadServiceContract $reads){} public function store(CreateStudentRequest $request): array { $context=$request->attributes->get(SchoolContext::class); return ['data'=>$this->students->createStudent($context,$request->toDTO())]; } public function show(CreateStudentRequest $request,int $student): array { $context=$request->attributes->get(SchoolContext::class); return ['data'=>$this->students->getStudent($context,$student)]; } public function update(UpdateStudentRequest $request,int $student): array { $context=$request->attributes->get(SchoolContext::class); return ['data'=>$this->students->updateStudent($context,$student,$request->toDTO())]; } public function transition(StudentStatusTransitionRequest $request,int $student): array { $context=$request->attributes->get(SchoolContext::class); return ['data'=>$this->students->transitionStatus($context,$student,$request->toDTO())]; } public function index(StudentSearchRequest $request): array { $context=$request->attributes->get(SchoolContext::class); return ['data'=>$this->reads->search($context,$request->toDTO())]; } }
|
||||
Reference in New Issue
Block a user