lernschiff/app/Models/License.php

39 lines
881 B
PHP

<?php
namespace App\Models;
use App\Traits\BelongsToTenant;
use App\Traits\HasUuid;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class License extends Model
{
use HasFactory, HasUuid, BelongsToTenant, SoftDeletes;
protected $fillable = ['tenant_id', 'type', 'seats', 'expires_at', 'active'];
protected $casts = [
'expires_at' => 'date',
'active' => 'boolean',
];
public function isActive(): bool
{
if (!$this->active) return false;
if ($this->expires_at && $this->expires_at->isPast()) return false;
return true;
}
public function assignments()
{
return $this->hasMany(LicenseAssignment::class);
}
public function tenant()
{
return $this->belongsTo(Tenant::class);
}
}