verifyEventBelongsToOrganisation($organisation, $event); Gate::authorize('view', [$person, $event]); $preferences = $this->service->getPreferences($person); return PersonSectionPreferenceResource::collection($preferences); } public function replace(ReplacePersonSectionPreferencesRequest $request, Organisation $organisation, Event $event, Person $person): JsonResponse { $this->verifyEventBelongsToOrganisation($organisation, $event); Gate::authorize('update', [$person, $event]); $this->service->replacePreferences($person, $request->validated()['preferences']); $preferences = $this->service->getPreferences($person); return $this->success(PersonSectionPreferenceResource::collection($preferences)); } }