Only count views when requesting endpoint from Vue.js

This commit is contained in:
Daniel_I_Am 2021-09-04 16:24:40 +02:00
parent b1d5046ed0
commit 525086c58c

View File

@ -86,10 +86,11 @@ class BlogArticleController extends Controller
/** /**
* Display the specified resource. * Display the specified resource.
* *
* @param \App\Models\BlogArticle $blogArticle * @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\JsonResponse * @return \Illuminate\Http\JsonResponse
*/ */
public function show(int $id) public function show(Request $request, int $id)
{ {
$blogArticle = BlogArticle::withCount('views')->find($id); $blogArticle = BlogArticle::withCount('views')->find($id);
@ -102,9 +103,13 @@ class BlogArticleController extends Controller
abort(404); abort(404);
} }
views($blogArticle) $domain = $request->headers->get('referer') ?: $request->headers->get('origin');
->cooldown(now()->addHour())
->record(); if ($domain !== null) {
views($blogArticle)
->cooldown(now()->addHour())
->record();
}
} }
return response()->json($blogArticle); return response()->json($blogArticle);