есть миддлвар на авторизацию в апи-приложении.
Метод контроллера начинаю с такой проверки:
if ($attraction->hasTheUserAlreadySentReview())
return $this->sendError('Вы уже оставляли отзыв для этого объекта', 401);
Метод:
public function hasTheUserAlreadySentReview(): bool
{
$user = \Auth()->guard('api')->user();
if ($user !== null) {
return AttractionReview::query()
->where('attraction_id', $this->id)
->where('user_id', $user->id)
->exists();
}
return false;
}
Не совсем логично возвращать false, если юзер не авторизован.
Как лучше написать код?
В контроллере проверить, авторизован ли юзер? (Советовали так делать, несмотря на миддлвар)
плохо советовали
то есть можно забить на проверку и положиться только на миддлвар?
проверяйте в мидлваре, мб клиентский запрос не пойдет дальше, если он не удовлетворяет условиям посредников.
Обсуждают сегодня