diff options
Diffstat (limited to 'src/Models/AccessLog.php')
| -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)); +    } +} | 
