Edit File: NotificationController.php
<?php namespace App\Http\Controllers\Api; use App\Http\Controllers\Controller; use App\Http\Resources\UserCollection; use App\Http\Resources\UserResource; use App\Rules\CheckCodeRule; use App\Http\Resources\NotificationsResource; use App\Models\User; use App\Models\Setting; use App\Traits\ApiTrait; use App\Traits\Uploadable; use App\Traits\GeneralTrait; use Illuminate\Http\Request; use App\Http\Requests\Api\Profile\UpdateRequest; use App\Http\Requests\Api\Auth\ActivationRequest; use Illuminate\Support\Facades\Validator; class NotificationController extends Controller { use ApiTrait, Uploadable, GeneralTrait; public function controlNotification( Request $request ) { $user = auth( 'api' )->user(); if ( $request[ 'offers_notify' ] ) { $user->offers_notify = $request[ 'offers_notify' ]; } if ( $request[ 'new_orders_notify' ] ) { $user->new_orders_notify = $request[ 'new_orders_notify' ]; } $user->update(); $msg = trans( 'notifications.successfully_updated' ); return $this->successMsg( $msg ); } public function notifications( Request $request ) { $user = auth( 'api' )->user(); $user->unreadNotifications->markAsRead(); $user->refresh(); $notifications = $user->notifications()->paginate( $this->paginateNumNorification() ); $data[ 'notifications' ] = NotificationsResource::collection( $notifications ); $data[ 'pagination' ] = $this->paginationModel( $notifications ); return $this->dataReturn( $data ); } public function deleteNotification($notification_id) { $user = auth( 'api' )->user(); $notifications = $user->notifications()->where('id',$notification_id)->delete(); $msg = trans( 'notifications.successfully_deleted' ); return $this->successMsg( $msg ); } public function deleteAllNotifications(Request $request) { $user = auth( 'api' )->user(); $notifications = $user->notifications()->get(); foreach($notifications as $notify){ $notify->delete(); } $msg = trans( 'notifications.successfully_deleted' ); return $this->successMsg( $msg ); } public function unseenNotificationsCount( Request $request ) { $user = auth( 'api' )->user(); $num_of_notifications = $user->unreadNotifications->count(); $data[ 'num_not_seen_notifications' ] = $num_of_notifications; return $this->dataReturn( $data ); } }
Back to File Manager