fix student registration

This commit is contained in:
root
2026-03-26 16:04:03 -04:00
parent c582bfc242
commit 1977a513df
9 changed files with 220 additions and 27 deletions
@@ -10,6 +10,8 @@ use App\Http\Resources\EmergencyContacts\EmergencyContactResource;
use App\Services\EmergencyContacts\EmergencyContactCrudService;
use App\Services\EmergencyContacts\EmergencyContactDirectoryService;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
class EmergencyContactController extends Controller
{
@@ -19,9 +21,32 @@ class EmergencyContactController extends Controller
) {
}
public function index(): JsonResponse
public function index(Request $request): JsonResponse
{
$groups = $this->directoryService->groups();
$validator = Validator::make($request->query->all(), [
'parent_id' => ['nullable', 'integer', 'min:1'],
'parent_ids' => ['nullable', 'array'],
'parent_ids.*' => ['integer', 'min:1'],
]);
if ($validator->fails()) {
return response()->json([
'message' => 'Validation failed.',
'errors' => $validator->errors(),
], 422);
}
$payload = $validator->validated();
$parentIds = [];
if (!empty($payload['parent_ids'])) {
$parentIds = array_values(array_unique(array_map('intval', $payload['parent_ids'])));
}
if (!empty($payload['parent_id'])) {
$parentIds[] = (int) $payload['parent_id'];
}
$parentIds = array_values(array_unique(array_filter($parentIds)));
$groups = $this->directoryService->groups($parentIds ?: null);
return response()->json([
'ok' => true,