feat: complete approval workflow

This commit is contained in:
2026-08-04 16:51:51 +01:00
parent c2136bc250
commit 809eab9d4a
26 changed files with 1156 additions and 41 deletions

View File

@@ -0,0 +1,35 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Inertia\Inertia;
use Inertia\Response;
class NotificationController extends Controller
{
public function index(Request $request): Response
{
return Inertia::render('notifications/index', [
'notifications' => $request->user()->notifications()->latest()->paginate(20),
]);
}
public function read(Request $request, string $notification): RedirectResponse
{
$item = $request->user()->notifications()->whereKey($notification)->firstOrFail();
$item->markAsRead();
$url = is_string($item->data['url'] ?? null) ? $item->data['url'] : '/notificacoes';
return redirect()->to($url);
}
public function readAll(Request $request): RedirectResponse
{
$request->user()->unreadNotifications->markAsRead();
return back()->with('success', 'Notificações marcadas como lidas.');
}
}