service->getPendingForUser(Auth::user()); return $this->successResponse( payload: $campaign ? new EvaluationCampaignResource($campaign) : null, ); } public function store(EvaluationRequest $request): JsonResponse { $validated = $request->validated(); $result = $this->service->submit( user: Auth::user(), campaignId: (int) $validated['evaluation_campaign_id'], data: $validated, ); if (isset($result['error'])) { return match ($result['error']) { 'not_found' => $this->errorResponse(message: __('messages.not_found')), 'already_answered' => $this->errorResponse(message: __('messages.evaluation.already_answered'), code: 409), 'not_eligible' => $this->errorResponse(message: __('messages.evaluation.not_eligible'), code: 403), default => $this->errorResponse(message: __('messages.evaluation.inactive'), code: 422), }; } return $this->successResponse( payload: new EvaluationResource($result['evaluation']), message: __('messages.evaluation.submitted'), code: 201, ); } }