From f888c4a7182550ce98c5527275610239d6dcb800 Mon Sep 17 00:00:00 2001 From: James Collins Date: Tue, 24 Jan 2023 18:17:36 +1000 Subject: [PATCH] basic analytics --- app/Http/Kernel.php | 3 +- app/Http/Middleware/LogRequest.php | 37 +++++++++++++++++++ app/Models/Analytics.php | 18 +++++++++ ...23_01_24_080416_create_analytics_table.php | 35 ++++++++++++++++++ 4 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 app/Http/Middleware/LogRequest.php create mode 100644 app/Models/Analytics.php create mode 100644 database/migrations/2023_01_24_080416_create_analytics_table.php diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index 8596242..b63ff09 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -43,7 +43,8 @@ class Kernel extends HttpKernel 'throttle:api', \Illuminate\Routing\Middleware\SubstituteBindings::class, // \App\Http\Middleware\ForceJsonResponse::class, - 'useSanctumGuard' + 'useSanctumGuard', + \App\Http\Middleware\LogRequest::class, ], ]; diff --git a/app/Http/Middleware/LogRequest.php b/app/Http/Middleware/LogRequest.php new file mode 100644 index 0000000..69927af --- /dev/null +++ b/app/Http/Middleware/LogRequest.php @@ -0,0 +1,37 @@ + 'pageview', + 'attribute' => $request->path(), + 'useragent' => $request->userAgent(), + 'ip' => $request->ip(), + ]); + + return $response; + } catch (\Error $e) { + report($e); + return $response; + } + } +} diff --git a/app/Models/Analytics.php b/app/Models/Analytics.php new file mode 100644 index 0000000..04eb5e1 --- /dev/null +++ b/app/Models/Analytics.php @@ -0,0 +1,18 @@ +id(); + $table->string('type'); + $table->string('attribute'); + $table->text('useragent'); + $table->string('ip'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('analytics'); + } +};