Files
2026-09-30 16:27:32 +02:00

25 lines
565 B
PHP

<?php
namespace App\Http\Controllers\Admin\Concerns;
use Illuminate\Database\Eloquent\Model;
/** Cloisonnement par tenant : un admin ne voit et ne modifie que les données de sa collectivité. */
trait ScopedToTenant
{
protected function tenantId(): int
{
return (int) auth()->user()->tenant_id;
}
protected function ensureTenant(Model $model): void
{
abort_unless((int) $model->tenant_id === $this->tenantId(), 404);
}
protected function actor(): string
{
return (string) auth()->user()->email;
}
}