diff options
author | Sam Light <sam@lightscale.co.uk> | 2025-04-09 22:22:35 +0100 |
---|---|---|
committer | Sam Light <samlight1994@gmail.com> | 2025-04-09 22:22:35 +0100 |
commit | cddc63b8bf3ea2752b08d5a7d7af07e5337d9a48 (patch) | |
tree | 0ff802210fd4de73ced32ee0295426215e6e79a8 /src/Models | |
parent | 8fc18a9ee68e9f501936360ca18fc1a795cbfc44 (diff) |
Moved model
Diffstat (limited to 'src/Models')
-rw-r--r-- | src/Models/AccessLog.php | 44 |
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)); + } +} |