Files
device-management/app/Models/Tenant.php
T
Wian Drs 1e80be180e
tests / ci (push) Has been cancelled
Initial commit device-management
2026-08-25 09:42:00 +07:00

64 lines
1.3 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Support\Str;
use Spatie\Permission\Models\Role;
class Tenant extends Model
{
use HasFactory;
protected $fillable = ['name', 'slug', 'is_active'];
protected static function booted(): void
{
static::creating(function (Tenant $tenant): void {
$tenant->uuid ??= (string) Str::uuid();
});
}
protected function casts(): array
{
return ['is_active' => 'boolean'];
}
public function users(): HasMany
{
return $this->hasMany(User::class);
}
public function roles(): HasMany
{
return $this->hasMany(Role::class);
}
public function installations(): HasMany
{
return $this->hasMany(DeploymentInstallation::class);
}
public function licenses(): HasMany
{
return $this->hasMany(License::class);
}
public function devices(): HasMany
{
return $this->hasMany(Device::class);
}
public function devicePolicy()
{
return $this->hasOne(TenantDevicePolicy::class);
}
public function deviceSetting()
{
return $this->hasOne(TenantDeviceSetting::class);
}
}