Files
ntspi-app/app/Containers/Dashboard/Actions/Faculties/AttachFacultyWorkerAction.php
T
2026-04-07 17:54:26 +05:00

28 lines
832 B
PHP

<?php
namespace App\Containers\Dashboard\Actions\Faculties;
use App\Containers\InstituteStructure\Models\Faculty;
use App\Containers\User\Models\User;
use App\Services\App\Cache\FacultyCacheService;
class AttachFacultyWorkerAction
{
public function __construct(
private readonly FacultyCacheService $cacheService,
) {}
public function run(Faculty $faculty, User $user, array $data): void
{
$faculty->workers()->attach($user->id, [
'position' => $data['position'],
'service_email' => $data['service_email'] ?? null,
'service_phone' => $data['service_phone'] ?? null,
'cabinet' => $data['cabinet'] ?? null,
'sort' => $data['sort'] ?? $faculty->workers()->count(),
]);
$this->cacheService->clearAllCacheByModel();
}
}