Edit File: RateController.php
<?php namespace App\Http\Controllers\Api\User; use App\Enums\NotificationTypeEnum; use App\Http\Controllers\Controller; use App\Http\Requests\Api\User\RateRequest; use App\Http\Resources\Api\General\RateResource; use App\Models\Provider; use App\Models\User; use App\Notifications\OrderNotification; use App\Services\RateService; use App\Traits\ResponseTrait; use Illuminate\Support\Facades\Notification; class RateController extends Controller { use ResponseTrait; private $rateService; public function __construct() { $this->rateService = new RateService(User::class); } public function getMyRates() { $result = $this->rateService->getMyGivenRates(auth('user')->user()); $response = [ 'avg_rate' => auth('user')->user()->avg_rate, 'givenRates' => RateResource::collection($result), ]; return $this->successData($response); } public function store(RateRequest $request) { $result = $this->rateService->createOrderRate($request); $recipients = array_filter([ $request->order->provider, $request->order->delegate ]); if (!empty($recipients)) { Notification::send($recipients, new OrderNotification($request->order, NotificationTypeEnum::Rate_From_User->value)); } return $this->response( key: $result['key'], msg: $result['msg'], ); } }
Back to File Manager