feat: notifications on comments
This commit is contained in:
@@ -6,6 +6,7 @@ use App\Http\Requests\PostReviewsRequest;
|
||||
use App\Http\Resources\PostReviewsResource;
|
||||
use App\Models\MealPosts;
|
||||
use App\Models\PostReviews;
|
||||
use App\Notifications\MealPostCommentedNotification;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
|
||||
@@ -49,7 +50,10 @@ class PostReviewsController extends Controller
|
||||
'user_id' => $userId,
|
||||
]);
|
||||
|
||||
return (new PostReviewsResource($postReview->load('user:id,name,avatar_url')))
|
||||
$postReview->load('user:id,name,avatar_url');
|
||||
$this->notifyMealOwner($mealPost, $postReview, $userId);
|
||||
|
||||
return (new PostReviewsResource($postReview))
|
||||
->response()
|
||||
->setStatusCode(201);
|
||||
}
|
||||
@@ -97,4 +101,23 @@ class PostReviewsController extends Controller
|
||||
404,
|
||||
);
|
||||
}
|
||||
|
||||
private function notifyMealOwner(MealPosts $mealPost, PostReviews $postReview, string $reviewerId): void
|
||||
{
|
||||
if ($mealPost->user_id === $reviewerId || blank($postReview->comment)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$mealPost->loadMissing('user');
|
||||
$owner = $mealPost->user;
|
||||
|
||||
if (! $owner) {
|
||||
return;
|
||||
}
|
||||
|
||||
$owner->notify(
|
||||
(new MealPostCommentedNotification($postReview))
|
||||
->locale($owner->preferredLocale())
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user