Add product view tracking and related functionality

- Implemented product view tracking in ProductController to log user views.
- Added a relationship for viewed products in the User model.
- Introduced a method in ProductRepository to filter products viewed by a user.
- Updated API routes to include endpoint for retrieving viewed products.
- Commented out SMS notification logic in SendOrderCreatedNotification.
- Removed CreateOrderServiceTest as it is no longer needed.
This commit is contained in:
Mekan1206
2026-02-08 02:02:30 +05:00
parent dee6b0df56
commit 968c9ed42a
11 changed files with 319 additions and 86 deletions

View File

@@ -21,6 +21,7 @@ use App\Http\Controllers\Api\V1\Product\ProductController;
use App\Http\Controllers\Api\V1\Product\ProductRelatedController;
use App\Http\Controllers\Api\V1\Product\ProductReviewController;
use App\Http\Controllers\Api\V1\Product\Search\ProductSearchController;
use App\Http\Controllers\Api\V1\Product\ViewedProductController;
use App\Http\Controllers\Api\V1\Profile\ProfileController;
use App\Http\Controllers\Api\V1\Province\ProvinceController;
use App\Http\Controllers\Api\V1\ReviewController;
@@ -115,6 +116,9 @@ Route::middleware(['auth:sanctum', 'banned'])->group(function () {
Route::get('favorites', [FavoriteController::class, 'index']);
Route::post('favorites', [FavoriteController::class, 'store']);
// Viewed products...
Route::get('products/viewed', [ViewedProductController::class, 'index']);
// Reviews...
Route::get('reviews', [ReviewController::class, 'index']);
Route::patch('reviews/{review}', [ReviewController::class, 'update'])->where(['review' => '[0-9]+']);