Files
alrahma_sunday_school_api/app/Http/Controllers/Api/AssignmentController.php
T
2026-03-05 12:29:37 -05:00

47 lines
1.4 KiB
PHP
Executable File

<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use App\Http\Requests\StoreStudentAssignmentRequest;
use App\Services\AssignmentService;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class AssignmentController extends Controller
{
public function index(Request $request, AssignmentService $service): JsonResponse
{
$payload = $service->buildClassAssignments([
'semester' => (string) $request->query('semester', ''),
'school_year' => (string) $request->query('school_year', ''),
'for_api' => true,
]);
return response()->json($payload);
}
/**
* Save / update a student-class assignment
*/
public function store(StoreStudentAssignmentRequest $request, AssignmentService $service): JsonResponse
{
$assignment = $service->saveStudentAssignment(
$request->validated(),
$request->user()?->id // fallback handled in service
);
return response()->json([
'message' => 'Assignment saved successfully',
'data' => $assignment,
], 201);
}
/**
* Optional endpoint if you want old `classAssignmentData()` naming preserved
*/
public function classAssignmentData(Request $request, AssignmentService $service): JsonResponse
{
return $this->index($request, $service);
}
}