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