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

@@ -9,6 +9,7 @@ use App\Models\Concerns\InteractsWithRoles;
use App\Models\Ecommerce\Product\Cart\CartItem;
use App\Models\Ecommerce\Product\Favorite\Favorite;
use App\Models\Ecommerce\Product\Order\Order;
use App\Models\Ecommerce\Product\ProductView\ProductView;
use App\Models\Ecommerce\Product\Review\Review;
use App\Models\Post\User\UserDoc;
use App\Models\System\Settings\Location\UserAddress;
@@ -128,6 +129,14 @@ class User extends Authenticatable
return $this->hasMany(Favorite::class);
}
/**
* User's viewed products
*/
public function productViews(): HasMany
{
return $this->hasMany(ProductView::class);
}
/**
* User's favorite products
*/