File: /var/www/ipsremont-demo/app/Http/Controllers/NotificationsController.php
<?php
namespace App\Http\Controllers;
use App\Models\Notification;
use App\Models\Permission;
use App\Repository\Notification\NotificationRepository;
use App\User;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class NotificationsController extends Controller
{
/** @var string */
protected string $permission = Permission::notifications;
public function list()
{
/** @var User $user */
$user = Auth::user();
$notifications = Notification::query()->whereIn('branch_id', $user->getBranchIds())->orderBy('created_at', 'desc')->get();
$columns = NotificationRepository::getNotificationsListColumns();
return view('notifications.list', compact('notifications', 'columns'));
}
public function create(Request $request): RedirectResponse
{
$text = $request->get('text');
NotificationRepository::create($text);
return redirect()->route('notifications.list');
}
}