getMessage() ?? 'You have reached your limit for this feature.', featureCode: $result->featureCode, limit: $result->limit, used: $result->used, ); } /** * Get the feature limit that was exceeded. */ public function getLimit(): ?int { return $this->limit; } /** * Get the current usage count. */ public function getUsed(): ?int { return $this->used; } /** * Render the exception as an HTTP response. */ public function render($request) { if ($request->expectsJson()) { return response()->json([ 'message' => $this->getMessage(), 'error' => 'limit_exceeded', 'feature_code' => $this->featureCode, 'limit' => $this->limit, 'used' => $this->used, ], $this->getCode()); } return redirect()->back() ->with('error', $this->getMessage()); } }