45
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
<?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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user