Делаю метод, который отправляет приглашение пользователю, но в методе есть проверки, при которых приглашение не будет отправлено. Нужно ли в случае, если проверка не прошла, выбрасывать ошибку или правильнее отправлять текст с ошибкой и статусом 200?
public function invite()
{
$email = request()->input('email');
$user = User::where('email', $email)->first();
if ($user->isCustomer) {
abort(403);
}
//отправляем приглашение
}
В коде проверка, не является ли пользователь покупателем, но ошибкой ведь это не является.
То есть я мог бы вместо abort(403) возвращать статус 200 с телом ответа, например:
if ($user->isCustomer) {
return response()->json(['status' => 'error']);
} else {
return response()->json(['status' => 'ok']);
}
Принимать на клиенте и парсить ответ.
Как правильно?