summaryrefslogtreecommitdiff
path: root/src/Models
diff options
context:
space:
mode:
authorSam Light <sam@lightscale.co.uk>2025-04-09 22:22:35 +0100
committerSam Light <samlight1994@gmail.com>2025-04-09 22:22:35 +0100
commitcddc63b8bf3ea2752b08d5a7d7af07e5337d9a48 (patch)
tree0ff802210fd4de73ced32ee0295426215e6e79a8 /src/Models
parent8fc18a9ee68e9f501936360ca18fc1a795cbfc44 (diff)
Moved model
Diffstat (limited to 'src/Models')
-rw-r--r--src/Models/AccessLog.php44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/Models/AccessLog.php b/src/Models/AccessLog.php
new file mode 100644
index 0000000..0c177a3
--- /dev/null
+++ b/src/Models/AccessLog.php
@@ -0,0 +1,44 @@
+<?php
+
+namespace Lightscale\LaralightAccessLog\Models;
+
+use Illuminate\Database\Eloquent\Model;
+use Illuminate\Database\Eloquent\Relations\BelongsTo;
+use Illuminate\Database\Eloquent\Prunable;
+use Illuminate\Database\Eloquent\Builder;
+
+class AccessLog extends Model
+{
+ use Prunable;
+
+ const UPDATED_AT = null;
+
+ protected $guarded = [
+ 'user_id'
+ ];
+
+ public function __construct(array $attributes = [])
+ {
+ $this->setTable(config('access_log.table_name'));
+
+ parent::__construct($attributes);
+ }
+
+ protected function casts(): array
+ {
+ return [
+ 'properties' => 'collection',
+ ];
+ }
+
+ public function user(): BelongsTo
+ {
+ return $this->belongsTo(config('access_log.user_model'));
+ }
+
+ public function prunable(): Builder
+ {
+ $days = config('access_log.max_age_days');
+ return static::where(static::CREATED_AT, '<=', now()->subDays($days));
+ }
+}