<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Brian2694\Toastr\Facades\Toastr;
use Illuminate\Support\Facades\Auth;
use Modules\CourseSetting\Entities\Notification;
class NotificationController extends Controller
{
public function ajaxNotificationMakeRead(Request $request)
{
$url = '';
if (Auth::check()) {
$notification = Auth::user()->unreadNotifications->find($request->id);
if ($notification) {
$url = $notification->data['actionURL'] ?? '';
$notification->markAsRead();
}
}
return json_encode($url);
}
public function NotificationMakeAllRead(Request $request)
{
if (!Auth::check()) {
return redirect('login');
}
try {
Auth::user()->unreadNotifications->markAsRead();
Toastr::success('All Notification Marked As Read !', 'Success');
return redirect()->back();
} catch (\Exception $e) {
Toastr::error(trans('common.Operation failed'), trans('common.Failed'));
return redirect()->back();
}
}
public function myNotificationSetup()
{
return view(theme('pages.myNotificationsSetup'));
}
public function myNotification(Request $request)
{
if (!Auth::check()) {
return redirect('login');
}
try {
return view(theme('pages.myNotifications'), compact('request'));
} catch (\Exception $e) {
GettingError($e->getMessage(), url()->current(), request()->ip(), request()->userAgent());
}
}
public function delete($id)
{
try {
Notification::where('id', $id)->delete();
Toastr::success(trans('common.Operation successful'), trans('common.Success'));
return redirect()->back();
} catch (\Exception $exception) {
GettingError($exception->getMessage(), url()->current(), request()->ip(), request()->userAgent());
}
}
}