File manager - Edit - /var/www/html/homologBancodetalentos/app/Http/Controllers/Web/TalentBank/NotificationWebController.php
Back
<?php namespace App\Http\Controllers\Web\TalentBank; use App\Http\Controllers\Controller; use App\Http\Services\TalentBank\NotificationService; use App\Models\TalentBank\Candidate; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Illuminate\View\View; class NotificationWebController extends Controller { public function __construct(private readonly NotificationService $notificationService) {} private function resolveCandidate(Request $request): Candidate { $user = $request->input('talentBankUser') ?? $request->talentBankUser ?? null; abort_if(! $user instanceof Candidate, 403); return $user; } public function index(Request $request): View { $candidate = $this->resolveCandidate($request); $notifications = $this->notificationService->listForCandidate($candidate); return view('talent-bank.candidate.notifications.index', compact('notifications', 'candidate')); } public function markAsRead(Request $request, int $id): RedirectResponse { $this->notificationService->markAsRead($id, $this->resolveCandidate($request)); return back(); } public function markAllAsRead(Request $request): RedirectResponse { $this->notificationService->markAllAsRead($this->resolveCandidate($request)); return back()->with('success', 'Todas as notificações foram marcadas como lidas.'); } public function preferences(Request $request): View { $candidate = $this->resolveCandidate($request); return view('talent-bank.candidate.notifications.preferences', compact('candidate')); } public function updatePreferences(Request $request): RedirectResponse { $candidate = $this->resolveCandidate($request); $candidate->update([ 'email_notifications_enabled' => $request->boolean('email_notifications_enabled'), ]); return back()->with('success', 'Preferências de notificação atualizadas.'); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings