feat(api): add GET endpoint for crowd list persons

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-10 14:25:11 +02:00
parent e14cfe8ae2
commit 69306206b1
6 changed files with 113 additions and 0 deletions

View File

@@ -13,6 +13,7 @@ use App\Models\CrowdList;
use App\Models\Event;
use App\Models\Person;
use App\Services\CrowdListService;
use App\Http\Resources\Api\V1\PersonResource;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
use Illuminate\Support\Facades\Gate;
@@ -62,6 +63,17 @@ final class CrowdListController extends Controller
return response()->json(null, 204);
}
public function persons(Event $event, CrowdList $crowdList): AnonymousResourceCollection
{
Gate::authorize('viewPersons', [$crowdList, $event]);
$persons = $crowdList->persons()
->with(['crowdType', 'company', 'pendingIdentityMatch.matchedUser'])
->paginate(50);
return PersonResource::collection($persons);
}
public function addPerson(AddPersonToCrowdListRequest $request, Event $event, CrowdList $crowdList): JsonResponse
{
Gate::authorize('managePerson', [$crowdList, $event]);