hisham-cmd commited on
Commit
fe3a2b6
·
verified ·
1 Parent(s): 60f64a8

Update backend with high-quality catalog and fixes

Browse files
app/api/admin.py CHANGED
@@ -9,9 +9,15 @@ from app.models.order import Order, OrderStatus, PaymentDetail
9
  from app.models.product import Product, ProductImage, ProductAudit
10
  from app.api.auth import get_current_user
11
  import json
 
 
12
 
13
  router = APIRouter(prefix="/admin", tags=["Administration"])
14
 
 
 
 
 
15
  def check_admin(user_id: int, db: Session):
16
  user = db.query(User).filter(User.id == user_id).first()
17
  if not user or user.role != UserRole.ADMIN:
@@ -494,3 +500,104 @@ def get_quality_summary(
494
  "statusCode": 200
495
  }
496
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  from app.models.product import Product, ProductImage, ProductAudit
10
  from app.api.auth import get_current_user
11
  import json
12
+ import os
13
+ from app.core.logging import log_audit_event
14
 
15
  router = APIRouter(prefix="/admin", tags=["Administration"])
16
 
17
+ BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
18
+ AUDIT_LOG_FILE = os.path.join(BASE_DIR, "backend", "logs", "audit_trail.json")
19
+ PENDING_DELETION_FILE = os.path.join(BASE_DIR, "backend", "pending_deletion.json")
20
+
21
  def check_admin(user_id: int, db: Session):
22
  user = db.query(User).filter(User.id == user_id).first()
23
  if not user or user.role != UserRole.ADMIN:
 
500
  "statusCode": 200
501
  }
502
 
503
+ @router.get("/audit/logs")
504
+ def get_formal_audit_logs(
505
+ current_user_id: int = Depends(get_current_user),
506
+ db: Session = Depends(get_db)
507
+ ):
508
+ """Retrieve the formal JSON audit trail from disk."""
509
+ check_admin(current_user_id, db)
510
+ if not os.path.exists(AUDIT_LOG_FILE):
511
+ return {"isSuccess": True, "value": [], "statusCode": 200}
512
+
513
+ with open(AUDIT_LOG_FILE, "r", encoding="utf-8") as f:
514
+ logs = json.load(f)
515
+ return {"isSuccess": True, "value": logs, "statusCode": 200}
516
+
517
+ @router.get("/audit/pending")
518
+ def get_flagged_for_review(
519
+ current_user_id: int = Depends(get_current_user),
520
+ db: Session = Depends(get_db)
521
+ ):
522
+ """Retrieve products in the pending_deletion (quarantine) state."""
523
+ check_admin(current_user_id, db)
524
+ if not os.path.exists(PENDING_DELETION_FILE):
525
+ return {"isSuccess": True, "value": [], "statusCode": 200}
526
+
527
+ with open(PENDING_DELETION_FILE, "r", encoding="utf-8") as f:
528
+ products = json.load(f)
529
+ return {"isSuccess": True, "value": products, "statusCode": 200}
530
+
531
+ @router.post("/audit/pending/{product_id}/restore")
532
+ def restore_flagged_product(
533
+ product_id: int,
534
+ current_user_id: int = Depends(get_current_user),
535
+ db: Session = Depends(get_db)
536
+ ):
537
+ """Restore a product from pending_deletion.json back to real_products_200.json."""
538
+ check_admin(current_user_id, db)
539
+
540
+ # 1. Load pending
541
+ if not os.path.exists(PENDING_DELETION_FILE):
542
+ raise HTTPException(status_code=404, detail="No pending deletions found")
543
+
544
+ with open(PENDING_DELETION_FILE, "r", encoding="utf-8") as f:
545
+ pending = json.load(f)
546
+
547
+ # 2. Find the product
548
+ product = next((p for p in pending if p["id"] == product_id), None)
549
+ if not product:
550
+ raise HTTPException(status_code=404, detail="Product not found in quarantine")
551
+
552
+ # 3. Load main catalog
553
+ catalog_path = os.path.join(BASE_DIR, "backend", "real_products_200.json")
554
+ with open(catalog_path, "r", encoding="utf-8") as f:
555
+ catalog_data = json.load(f)
556
+
557
+ # 4. Move product
558
+ catalog_data["products"].append(product)
559
+ catalog_data["metadata"]["total"] = len(catalog_data["products"])
560
+
561
+ # 5. Save main catalog
562
+ with open(catalog_path, "w", encoding="utf-8") as f:
563
+ json.dump(catalog_data, f, ensure_ascii=False, indent=2)
564
+
565
+ # 6. Remove from pending
566
+ pending = [p for p in pending if p["id"] != product_id]
567
+ with open(PENDING_DELETION_FILE, "w", encoding="utf-8") as f:
568
+ json.dump(pending, f, ensure_ascii=False, indent=2)
569
+
570
+ log_audit_event("RESTORED_FROM_QUARANTINE", f"Product {product_id} restored to main catalog", {"product_id": product_id})
571
+
572
+ return {"isSuccess": True, "value": {"message": f"Product {product_id} restored successfully"}, "statusCode": 200}
573
+
574
+ @router.delete("/audit/pending/{product_id}")
575
+ async def delete_flagged_product(
576
+ product_id: int,
577
+ current_user_id: int = Depends(get_current_user),
578
+ db: Session = Depends(get_db)
579
+ ):
580
+ """
581
+ Permanently delete a product from the quarantined list.
582
+ """
583
+ check_admin(current_user_id, db)
584
+
585
+ if not os.path.exists(PENDING_DELETION_FILE):
586
+ raise HTTPException(status_code=404, detail="No pending deletions found")
587
+
588
+ with open(PENDING_DELETION_FILE, "r", encoding="utf-8") as f:
589
+ flagged_data = json.load(f)
590
+
591
+ original_count = len(flagged_data)
592
+ flagged_data = [p for p in flagged_data if p["id"] != product_id]
593
+
594
+ if len(flagged_data) == original_count:
595
+ raise HTTPException(status_code=404, detail="Product not found in quarantine")
596
+
597
+ with open(PENDING_DELETION_FILE, "w", encoding="utf-8") as f:
598
+ json.dump(flagged_data, f, ensure_ascii=False, indent=2)
599
+
600
+ # Log the permanent deletion with metadata
601
+ log_audit_event("PERMANENTLY_DELETED", f"Deleted product ID: {product_id}", {"product_id": product_id, "source": "quarantine"})
602
+
603
+ return {"isSuccess": True, "value": {"message": f"Product {product_id} permanently deleted"}, "statusCode": 200}
app/api/cart.py CHANGED
@@ -75,6 +75,8 @@ def get_or_create_cart(db: Session, user_id: Optional[int] = None, session_id: O
75
 
76
  def _get_primary_image(product) -> Optional[str]:
77
  """Extract the primary image URL from a product's images relationship."""
 
 
78
  if product.images:
79
  sorted_imgs = sorted(product.images, key=lambda x: x.sort_order)
80
  return sorted_imgs[0].image_url if sorted_imgs else None
@@ -88,7 +90,7 @@ def get_cart(
88
  db: Session = Depends(get_db)
89
  ) -> Any:
90
  """Get the current user's (or guest session's) shopping cart."""
91
- cart = get_or_create_cart(db, user_id=current_user_id, session_id=x_cart_id)
92
 
93
  # Re-query the cart with all needed eager loads for response serialization
94
  cart = db.query(Cart).options(
@@ -99,13 +101,25 @@ def get_cart(
99
  .joinedload(CartItem.product)
100
  .joinedload(Product.category),
101
  joinedload(Cart.coupon)
102
- ).filter(Cart.id == cart.id).first()
 
 
 
 
 
 
 
 
103
 
104
  totals = calculate_cart_totals(cart)
105
 
106
  # Build response manually as plain dicts to guarantee image_url is included
107
  items_list = []
108
  for item in cart.items:
 
 
 
 
109
  primary_image = _get_primary_image(item.product)
110
 
111
  product_dict = {
 
75
 
76
  def _get_primary_image(product) -> Optional[str]:
77
  """Extract the primary image URL from a product's images relationship."""
78
+ if not product:
79
+ return None
80
  if product.images:
81
  sorted_imgs = sorted(product.images, key=lambda x: x.sort_order)
82
  return sorted_imgs[0].image_url if sorted_imgs else None
 
90
  db: Session = Depends(get_db)
91
  ) -> Any:
92
  """Get the current user's (or guest session's) shopping cart."""
93
+ cart_id_record = get_or_create_cart(db, user_id=current_user_id, session_id=x_cart_id)
94
 
95
  # Re-query the cart with all needed eager loads for response serialization
96
  cart = db.query(Cart).options(
 
101
  .joinedload(CartItem.product)
102
  .joinedload(Product.category),
103
  joinedload(Cart.coupon)
104
+ ).filter(Cart.id == cart_id_record.id).first()
105
+
106
+ # Cleanup: Remove orphaned items (where product was deleted)
107
+ orphaned_items = [item for item in cart.items if not item.product]
108
+ if orphaned_items:
109
+ for item in orphaned_items:
110
+ db.delete(item)
111
+ db.commit()
112
+ db.refresh(cart)
113
 
114
  totals = calculate_cart_totals(cart)
115
 
116
  # Build response manually as plain dicts to guarantee image_url is included
117
  items_list = []
118
  for item in cart.items:
119
+ # We checked if item.product exists above, but let's be safe
120
+ if not item.product:
121
+ continue
122
+
123
  primary_image = _get_primary_image(item.product)
124
 
125
  product_dict = {
app/api/products.py CHANGED
@@ -17,6 +17,7 @@ from app.schemas.product import (
17
  )
18
  from app.schemas.auth import AuthResponse
19
  from app.core.security import get_current_user
 
20
 
21
  router = APIRouter(prefix="/products", tags=["Products"])
22
 
 
17
  )
18
  from app.schemas.auth import AuthResponse
19
  from app.core.security import get_current_user
20
+ from app.core.logging import log_audit_event
21
 
22
  router = APIRouter(prefix="/products", tags=["Products"])
23
 
app/api/seed.py CHANGED
@@ -50,40 +50,60 @@ SUB_ICONS = {
50
  "إكسسوارات رياضية": "🎒",
51
  }
52
 
53
- # Syncing with High-Quality Catalog Categories
54
- CATEGORY_MAP = {
55
- # Arabic categories
56
- "الأجهزة الإلكترونية": ["الهواتف والإلكترونيات", "الهواتف الذكية", "أجهزة الكمبيوتر"],
57
- "ملحقات السيارات": ["ملحقات السيارات", "إكسسوارات السيارات"],
58
- "المنزل والمطبخ": ["المنزل والمطبخ", "المستلومات المنزلية", "مستلزمات المطبخ", "ديكور المنزل", "الأثاث"],
59
- "العطور والتجميل": ["العطور", "التجميل والعناية", "الجمال", "العناية بالبشرة"],
60
- "الساعات والإكسسوارات": ["الساعات والاكسسوارات", "ساعات نسائية", "ساعات رجالية", "نظارات شمسية"],
61
- "الرياضة واللياقة": ["الرياضة واللياقة", "إكسسوارات رياضية"],
62
- # English categories from JSON
63
- "Electronics": ["الهواتف والإلكترونيات", "الهواتف الذكية", "أجهزة الكمبيوتر"],
64
- "Smartphones": ["الهواتف والإلكترونيات", "الهواتف الذكية"],
65
- "Laptops": ["أجهزة الكمبيوتر"],
66
- "Home Appliances": ["المنزل والمطبخ", "المستلزمات المنزلية"],
67
- "Security Cameras": ["ملحقات السيارات", "إكسسوارات السيارات"],
68
- "Car Accessories": ["ملحقات السيارات", "إكسسوارات السيارات"],
69
- "Perfumes": ["العطور"],
70
- "Fashion": ["الساعات والإكسسوارات"],
71
- "Gaming": ["أجهزة الكمبيوتر"],
72
- "Accessories": ["الساعات والإكسسوارات"],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
73
  }
74
 
75
- # Map English category names to Arabic
76
- ENGLISH_TO_ARABIC_CATEGORY = {
77
- "Electronics": "الأجهزة الإلكترونية",
78
- "Smartphones": "الهواتف الذكية",
 
79
  "Laptops": "أجهزة الكمبيوتر",
80
  "Home Appliances": "المستلزمات المنزلية",
81
- "Security Cameras": "ملحقات السيارات",
 
 
82
  "Car Accessories": "ملحقات السيارات",
83
- "Perfumes": "العطور",
84
- "Fashion": "الأزياء",
85
- "Gaming": "ألعاب فيديو",
86
- "Accessories": "إكسسوارات",
87
  }
88
 
89
  @router.api_route("", methods=["GET", "POST"], response_model=AuthResponse)
@@ -92,30 +112,45 @@ async def seed_database(clear: bool = False, db: Session = Depends(get_db)):
92
  if clear:
93
  # Clear existing data
94
  db.execute(text("DELETE FROM product_images"))
 
 
95
  db.execute(text("DELETE FROM products"))
96
  db.execute(text("DELETE FROM categories"))
97
  db.execute(text("DELETE FROM coupons"))
98
- db.execute(text("UPDATE users SET role = 'ADMIN' WHERE role = 'admin'"))
99
-
100
- try:
101
- db.execute(text("ALTER TABLE products ADD COLUMN specs JSON"))
102
- except Exception:
103
- pass
104
-
105
  db.commit()
106
 
107
- # Always ensure admin user exists
108
- admin_exists = db.execute(text("SELECT id FROM users WHERE email = 'admin@vortex.com'")).fetchone()
109
- if not admin_exists:
110
- admin_user = User(
111
- name="Admin",
112
- email="admin@vortex.com",
113
- password_hash=hash_password("admin123"),
114
- role=UserRole.ADMIN,
115
- auth_provider=AuthProvider.LOCAL,
116
- )
117
- db.add(admin_user)
118
- db.commit()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
119
 
120
  # Search for real_products_200.json in multiple likely locations
121
  possible_paths = [
@@ -124,7 +159,6 @@ async def seed_database(clear: bool = False, db: Session = Depends(get_db)):
124
  os.path.abspath("real_products_200.json"),
125
  os.path.abspath("backend/real_products_200.json"),
126
  "/app/real_products_200.json",
127
- "/app/backend/real_products_200.json"
128
  ]
129
 
130
  json_path = None
@@ -136,7 +170,7 @@ async def seed_database(clear: bool = False, db: Session = Depends(get_db)):
136
  if not json_path:
137
  return AuthResponse(
138
  isSuccess=False,
139
- value={"message": f"Source file real_products_200.json not found in attempted paths."},
140
  statusCode=404,
141
  error="File not found"
142
  )
@@ -145,52 +179,14 @@ async def seed_database(clear: bool = False, db: Session = Depends(get_db)):
145
  with open(json_path, "r", encoding="utf-8") as f:
146
  data = json.load(f)
147
 
148
- # Handle both formats: {"products": [...]} or direct array [...} with metadata
149
  if isinstance(data, dict) and "products" in data:
150
  products_data = data["products"]
151
  elif isinstance(data, list):
152
  products_data = data
153
  else:
154
- return AuthResponse(
155
- isSuccess=False,
156
- value={"message": "Invalid JSON format"},
157
- statusCode=400,
158
- error="Invalid format"
159
- )
160
-
161
- # 1. Create Parent Categories
162
- parent_cats = {}
163
- for parent_name, sub_names in CATEGORY_MAP.items():
164
- parent_cat = db.query(Category).filter(Category.name_ar == parent_name).first()
165
- if not parent_cat:
166
- parent_cat = Category(
167
- name_ar=parent_name,
168
- name_en=parent_name,
169
- icon=PARENT_ICONS.get(parent_name, "📦"),
170
- )
171
- db.add(parent_cat)
172
- db.commit()
173
- db.refresh(parent_cat)
174
- parent_cats[parent_name] = parent_cat
175
 
176
- # 2. Create Subcategories
177
- sub_cats = {}
178
- for parent_name, sub_names in CATEGORY_MAP.items():
179
- for sub_name in sub_names:
180
- sub_cat = db.query(Category).filter(Category.name_ar == sub_name).first()
181
- if not sub_cat:
182
- sub_cat = Category(
183
- name_ar=sub_name,
184
- name_en=sub_name,
185
- icon=SUB_ICONS.get(sub_name, "📦"),
186
- parent_id=parent_cats[parent_name].id
187
- )
188
- db.add(sub_cat)
189
- db.commit()
190
- db.refresh(sub_cat)
191
- sub_cats[sub_name] = {"model": sub_cat, "parent_name": parent_name}
192
-
193
- # Cache existing products to prevent duplicates when clear=False
194
  existing_products_ar = set(r[0] for r in db.execute(text("SELECT name_ar FROM products")).fetchall())
195
  existing_products_en = set(r[0] for r in db.execute(text("SELECT name_en FROM products")).fetchall())
196
 
@@ -199,76 +195,70 @@ async def seed_database(clear: bool = False, db: Session = Depends(get_db)):
199
  skipped_count = 0
200
 
201
  for item in products_data:
202
- # Skip non-dict items (handle malformed JSON items)
203
  if not isinstance(item, dict):
204
  skipped_count += 1
205
  continue
206
 
207
- # Handle both "category" and "category_name" fields (English or Arabic)
208
  cat_name = item.get("category_name") or item.get("category")
209
 
210
- # Convert English category to Arabic if needed
211
- if cat_name and cat_name in ENGLISH_TO_ARABIC_CATEGORY:
212
- cat_name = ENGLISH_TO_ARABIC_CATEGORY[cat_name]
213
-
214
- # Fallback: if category still not found, use default
215
- if not cat_name or cat_name not in sub_cats:
216
- # Try specs category
217
- specs_val = item.get("specs")
218
- if isinstance(specs_val, dict):
219
- specs_category = specs_val.get("category")
220
- if specs_category:
221
- if specs_category in ENGLISH_TO_ARABIC_CATEGORY:
222
- specs_category = ENGLISH_TO_ARABIC_CATEGORY[specs_category]
223
- if specs_category in sub_cats:
224
- cat_name = specs_category
225
-
226
- # Final fallback - use first available category if nothing matched
227
- if not cat_name or cat_name not in sub_cats:
228
- # Try partial match as last resort
229
- for sub in sub_cats.keys():
230
- if cat_name and (cat_name in sub or sub in cat_name or
231
- (isinstance(cat_name, str) and any(w in sub for w in cat_name.split()))):
232
- cat_name = sub
233
- break
234
-
235
- # If still no match, use a default category
236
- if not cat_name or cat_name not in sub_cats:
237
- cat_name = "الهواتف والإلكترونيات" # Default category
238
-
239
- # Verify cat_name is in sub_cats
240
- if cat_name not in sub_cats:
241
- cat_name = "الهواتف والإلكترونيات" # Force default
242
 
243
  product_name_ar = item.get("name_ar", "").strip()
244
  product_name_en = item.get("name_en", "").strip()
245
 
246
- # Smart Duplicate Prevention: Skip if name already exists in DB
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
247
  if product_name_ar in existing_products_ar or product_name_en in existing_products_en:
248
  skipped_count += 1
249
  continue
250
 
251
- sub_cat_info = sub_cats[cat_name]
252
-
253
- # Build specs - include variants from options if present
254
- specs = {}
255
- raw_specs = item.get("specs", {})
256
-
257
- # Ensure specs is a dict, not a string
258
- if isinstance(raw_specs, dict):
259
- specs = raw_specs.copy()
260
- elif raw_specs:
261
- specs = {"data": str(raw_specs)}
262
-
263
- # Convert options to variants in specs if not already present
264
  if "variants" not in specs and "options" in item:
265
  options = item.get("options", [])
266
- if options and isinstance(options, list):
267
  variants = []
268
  for opt in options:
269
- # Ensure opt is a dict
270
- if not isinstance(opt, dict):
271
- continue
272
  variants.append({
273
  "id": opt.get("sku", opt.get("id", "v_default")),
274
  "name_en": opt.get("name_en", ""),
@@ -277,9 +267,8 @@ async def seed_database(clear: bool = False, db: Session = Depends(get_db)):
277
  "stock": opt.get("stock", 10),
278
  "image_url": opt.get("image", opt.get("image_url", ""))
279
  })
280
- if variants:
281
- specs["variants"] = variants
282
-
283
  prod = Product(
284
  name_ar=product_name_ar,
285
  name_en=product_name_en,
@@ -288,7 +277,7 @@ async def seed_database(clear: bool = False, db: Session = Depends(get_db)):
288
  price=float(item.get("price", 0)),
289
  compare_price=round(float(item.get("compare_price", float(item.get("price", 0)) * 1.3)), 2),
290
  stock=item.get("stock", random.randint(10, 100)),
291
- category_id=sub_cat_info["model"].id,
292
  rating=item.get("rating", 4.5),
293
  rating_count=item.get("rating_count", 20),
294
  is_featured=item.get("is_featured", False),
@@ -298,7 +287,7 @@ async def seed_database(clear: bool = False, db: Session = Depends(get_db)):
298
  db.add(prod)
299
  db.flush()
300
 
301
- # 4. Handle Images
302
  for i, img_url in enumerate(item.get("images", [])):
303
  db.add(ProductImage(
304
  product_id=prod.id,
@@ -321,10 +310,9 @@ async def seed_database(clear: bool = False, db: Session = Depends(get_db)):
321
  return AuthResponse(
322
  isSuccess=True,
323
  value={
324
- "message": "تمت عملية المزامنة بنجاح" if not clear else "تمت تهيئة قاعدة البيانات بنجاح",
325
  "total_products": db.query(Product).count(),
326
  "inserted_new": inserted_count,
327
- "skipped_duplicates": skipped_count,
328
  },
329
  statusCode=201,
330
  )
 
50
  "إكسسوارات رياضية": "🎒",
51
  }
52
 
53
+ # Robust Category Hierarchy (Extra.com Style)
54
+ CATEGORY_HIERARCHY = {
55
+ "الأجهزة الإلكترونية": {
56
+ "name_en": "Electronics & Mobiles",
57
+ "icon": "📱",
58
+ "subs": [
59
+ {"en": "Electronics", "ar": "الهواتف والإلكترونيات"},
60
+ {"en": "Smartphones", "ar": "جوالات"},
61
+ {"en": "Laptops", "ar": "أجهزة الكمبيوتر"},
62
+ ]
63
+ },
64
+ "ملحقات واكسسوارات": {
65
+ "name_en": "Accessories & Gaming",
66
+ "icon": "🚗",
67
+ "subs": [
68
+ {"en": "Accessories", "ar": "اكسسوارات الأجهزة"},
69
+ {"en": "Gaming", "ar": "ألعاب إلكترونية"},
70
+ {"en": "Security Cameras", "ar": "كاميرات مراقبة"},
71
+ {"en": "Car Accessories", "ar": "ملحقات السيارات"},
72
+ ]
73
+ },
74
+ "الأجهزة المنزلية": {
75
+ "name_en": "Large Appliances",
76
+ "icon": "🏠",
77
+ "subs": [
78
+ {"en": "Home Appliances", "ar": "المستلزمات المنزلية"},
79
+ {"en": "Kitchen", "ar": "المنزل والمطبخ"},
80
+ ]
81
+ },
82
+ "تصنيفات أخرى": {
83
+ "name_en": "Other Categories",
84
+ "icon": "✨",
85
+ "subs": [
86
+ {"en": "Beauty", "ar": "العطور والتجميل"},
87
+ {"en": "Watches", "ar": "الساعات والإكسسوارات"},
88
+ {"en": "Sports", "ar": "الرياضة واللياقة"},
89
+ ]
90
+ }
91
  }
92
 
93
+ # Map scraped category strings (EN/AR) to target subcategories
94
+ # Format: { "scraped_name": "target_ar_name" }
95
+ SCRAPED_TO_TARGET_MAP = {
96
+ "Electronics": "الهواتف والإلكترونيات",
97
+ "Smartphones": "جوالات",
98
  "Laptops": "أجهزة الكمبيوتر",
99
  "Home Appliances": "المستلزمات المنزلية",
100
+ "Accessories": "اكسسوارات الأجهزة",
101
+ "Gaming": "ألعاب إلكترونية",
102
+ "Security Cameras": "كاميرات مراقبة",
103
  "Car Accessories": "ملحقات السيارات",
104
+ "Perfumes": "العطور والتجميل",
105
+ "Fashion": "الساعات والإكسسوارات",
106
+ "Beauty": "العطور والتجميل",
 
107
  }
108
 
109
  @router.api_route("", methods=["GET", "POST"], response_model=AuthResponse)
 
112
  if clear:
113
  # Clear existing data
114
  db.execute(text("DELETE FROM product_images"))
115
+ db.execute(text("DELETE FROM cart_items"))
116
+ db.execute(text("DELETE FROM reviews"))
117
  db.execute(text("DELETE FROM products"))
118
  db.execute(text("DELETE FROM categories"))
119
  db.execute(text("DELETE FROM coupons"))
 
 
 
 
 
 
 
120
  db.commit()
121
 
122
+ # 1. Create Categories (Hierarchy)
123
+ all_sub_cats = {} # Map used for product assignment
124
+
125
+ for p_ar, info in CATEGORY_HIERARCHY.items():
126
+ # Create Parent
127
+ parent_cat = db.query(Category).filter(Category.name_ar == p_ar).first()
128
+ if not parent_cat:
129
+ parent_cat = Category(
130
+ name_ar=p_ar,
131
+ name_en=info["name_en"],
132
+ icon=info["icon"]
133
+ )
134
+ db.add(parent_cat)
135
+ db.commit()
136
+ db.refresh(parent_cat)
137
+
138
+ # Create Subs
139
+ for s in info["subs"]:
140
+ sub_cat = db.query(Category).filter(Category.name_ar == s["ar"]).first()
141
+ if not sub_cat:
142
+ sub_cat = Category(
143
+ name_ar=s["ar"],
144
+ name_en=s["en"],
145
+ icon=SUB_ICONS.get(s["ar"], "📦"),
146
+ parent_id=parent_cat.id
147
+ )
148
+ db.add(sub_cat)
149
+ db.commit()
150
+ db.refresh(sub_cat)
151
+ all_sub_cats[s["ar"]] = sub_cat
152
+ all_sub_cats[s["en"]] = sub_cat # Map both names to the same object
153
+
154
 
155
  # Search for real_products_200.json in multiple likely locations
156
  possible_paths = [
 
159
  os.path.abspath("real_products_200.json"),
160
  os.path.abspath("backend/real_products_200.json"),
161
  "/app/real_products_200.json",
 
162
  ]
163
 
164
  json_path = None
 
170
  if not json_path:
171
  return AuthResponse(
172
  isSuccess=False,
173
+ value={"message": "Source file real_products_200.json not found."},
174
  statusCode=404,
175
  error="File not found"
176
  )
 
179
  with open(json_path, "r", encoding="utf-8") as f:
180
  data = json.load(f)
181
 
 
182
  if isinstance(data, dict) and "products" in data:
183
  products_data = data["products"]
184
  elif isinstance(data, list):
185
  products_data = data
186
  else:
187
+ return AuthResponse(isSuccess=False, value={"message": "Invalid JSON format"}, statusCode=400)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
188
 
189
+ # Cache existing products
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
190
  existing_products_ar = set(r[0] for r in db.execute(text("SELECT name_ar FROM products")).fetchall())
191
  existing_products_en = set(r[0] for r in db.execute(text("SELECT name_en FROM products")).fetchall())
192
 
 
195
  skipped_count = 0
196
 
197
  for item in products_data:
 
198
  if not isinstance(item, dict):
199
  skipped_count += 1
200
  continue
201
 
 
202
  cat_name = item.get("category_name") or item.get("category")
203
 
204
+ # Use the new mapping for existing category strings
205
+ if cat_name in SCRAPED_TO_TARGET_MAP:
206
+ cat_name = SCRAPED_TO_TARGET_MAP[cat_name]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
207
 
208
  product_name_ar = item.get("name_ar", "").strip()
209
  product_name_en = item.get("name_en", "").strip()
210
 
211
+ # Smart Subcategory Mapping based on Name Keywords
212
+ # Only apply if the current category is generic or not found
213
+ if not cat_name or cat_name in ["الهواتف والإلكترونيات", "Electronics", "تصنيفات أخرى"]:
214
+ name_to_search = (product_name_en + " " + product_name_ar).lower()
215
+
216
+ # Keywords to specific subcategories
217
+ KEYWORD_MAP = {
218
+ "جوالات": ["iphone", "galaxy", "phone", "mobile", "pixel", "هاتف", "جوال"],
219
+ "أجهزة الكمبيوتر": ["laptop", "macbook", "notebook", "pc", "computer", "لابتوب", "حاسوب"],
220
+ "ألعاب إلكترونية": ["game", "playstation", "xbox", "nintendo", "controller", "ألعاب", "بلايستيشن"],
221
+ "المستلزمات المنزلية": ["vacuum", "cleaner", "iron", "washer", "مكنسة", "غسالة", "مكواة"],
222
+ "ملحقات السيارات": ["car", "dashcam", "charger", "سيارة", "شاحن"],
223
+ "العطور والتجميل": ["perfume", "beauty", "cream", "عطر", "تجميل", "كريم"]
224
+ }
225
+
226
+ for target, keywords in KEYWORD_MAP.items():
227
+ if any(kw in name_to_search for kw in keywords):
228
+ cat_name = target
229
+ break
230
+
231
+ # Fallback for subcategories if still not found or generic
232
+ if not cat_name or cat_name not in all_sub_cats:
233
+ # Try from specs
234
+ specs_val = item.get("specs", {})
235
+ if isinstance(specs_val, dict):
236
+ specs_cat = specs_val.get("category")
237
+ if specs_cat in SCRAPED_TO_TARGET_MAP:
238
+ cat_name = SCRAPED_TO_TARGET_MAP[specs_cat]
239
+ elif specs_cat in all_sub_cats:
240
+ cat_name = specs_cat
241
+
242
+ # Final Default
243
+ if not cat_name or cat_name not in all_sub_cats:
244
+ cat_name = "الهواتف والإلكترونيات"
245
+
246
+ target_sub_cat = all_sub_cats[cat_name]
247
+
248
  if product_name_ar in existing_products_ar or product_name_en in existing_products_en:
249
  skipped_count += 1
250
  continue
251
 
252
+ specs = item.get("specs", {})
253
+ if not isinstance(specs, dict): specs = {}
254
+
255
+ # Handle Variants
 
 
 
 
 
 
 
 
 
256
  if "variants" not in specs and "options" in item:
257
  options = item.get("options", [])
258
+ if isinstance(options, list):
259
  variants = []
260
  for opt in options:
261
+ if not isinstance(opt, dict): continue
 
 
262
  variants.append({
263
  "id": opt.get("sku", opt.get("id", "v_default")),
264
  "name_en": opt.get("name_en", ""),
 
267
  "stock": opt.get("stock", 10),
268
  "image_url": opt.get("image", opt.get("image_url", ""))
269
  })
270
+ if variants: specs["variants"] = variants
271
+
 
272
  prod = Product(
273
  name_ar=product_name_ar,
274
  name_en=product_name_en,
 
277
  price=float(item.get("price", 0)),
278
  compare_price=round(float(item.get("compare_price", float(item.get("price", 0)) * 1.3)), 2),
279
  stock=item.get("stock", random.randint(10, 100)),
280
+ category_id=target_sub_cat.id,
281
  rating=item.get("rating", 4.5),
282
  rating_count=item.get("rating_count", 20),
283
  is_featured=item.get("is_featured", False),
 
287
  db.add(prod)
288
  db.flush()
289
 
290
+ # Handle Images
291
  for i, img_url in enumerate(item.get("images", [])):
292
  db.add(ProductImage(
293
  product_id=prod.id,
 
310
  return AuthResponse(
311
  isSuccess=True,
312
  value={
313
+ "message": "تمت عملية المزامنة بنجاح",
314
  "total_products": db.query(Product).count(),
315
  "inserted_new": inserted_count,
 
316
  },
317
  statusCode=201,
318
  )
app/core/backup_manager.py ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import json
3
+ import shutil
4
+ import time
5
+ from datetime import datetime
6
+ import logging
7
+
8
+ logger = logging.getLogger(__name__)
9
+
10
+ class BackupManager:
11
+ """
12
+ Manages 30-day automated backups for the product catalog.
13
+ Ensures that any deletion or major change is reversible.
14
+ """
15
+ def __init__(self, base_dir: str):
16
+ self.backup_dir = os.path.join(base_dir, "backend", "backups")
17
+ self.catalog_path = os.path.join(base_dir, "backend", "real_products_200.json")
18
+ self.retention_days = 30
19
+
20
+ if not os.path.exists(self.backup_dir):
21
+ os.makedirs(self.backup_dir, exist_ok=True)
22
+
23
+ def create_snapshot(self, reason: str = "automated"):
24
+ """Creates a timestamped backup of the current catalog."""
25
+ if not os.path.exists(self.catalog_path):
26
+ logger.warning(f"Catalog not found at {self.catalog_path}, skipping backup.")
27
+ return None
28
+
29
+ ts = datetime.now().strftime("%Y%m%d_%H%M%S")
30
+ filename = f"catalog_backup_{ts}_{reason}.json"
31
+ target_path = os.path.join(self.backup_dir, filename)
32
+
33
+ try:
34
+ shutil.copy2(self.catalog_path, target_path)
35
+ logger.info(f"Backup created: {filename}")
36
+ self.prune_old_backups()
37
+ return target_path
38
+ except Exception as e:
39
+ logger.error(f"Failed to create backup: {e}")
40
+ return None
41
+
42
+ def prune_old_backups(self):
43
+ """Removes backups older than the retention period."""
44
+ now = time.time()
45
+ retention_seconds = self.retention_days * 24 * 3600
46
+
47
+ try:
48
+ for f in os.listdir(self.backup_dir):
49
+ f_path = os.path.join(self.backup_dir, f)
50
+ if os.path.isfile(f_path):
51
+ if os.stat(f_path).st_mtime < now - retention_seconds:
52
+ os.remove(f_path)
53
+ logger.info(f"Pruned old backup: {f}")
54
+ except Exception as e:
55
+ logger.error(f"Error during backup pruning: {e}")
56
+
57
+ def restore_latest(self) -> bool:
58
+ """Restores the most recent backup to the main catalog path."""
59
+ try:
60
+ backups = [f for f in os.listdir(self.backup_dir) if f.endswith(".json")]
61
+ if not backups:
62
+ return False
63
+
64
+ backups.sort(reverse=True) # Assuming YYYYMMDD_HHMMSS format
65
+ latest_path = os.path.join(self.backup_dir, backups[0])
66
+
67
+ shutil.copy2(latest_path, self.catalog_path)
68
+ logger.info(f"Restored catalog from: {backups[0]}")
69
+ return True
70
+ except Exception as e:
71
+ logger.error(f"Failed to restore backup: {e}")
72
+ return False
app/core/logging.py ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import json
2
+ import os
3
+ from datetime import datetime
4
+
5
+ BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
6
+ AUDIT_LOG_FILE = os.path.join(BASE_DIR, "backend", "logs", "audit_trail.json")
7
+
8
+ def log_audit_event(action: str, details: str, metadata: dict = None, severity: str = "INFO"):
9
+ """Log an event to the formal JSON audit trail with rich metadata."""
10
+ try:
11
+ log_dir = os.path.dirname(AUDIT_LOG_FILE)
12
+ if not os.path.exists(log_dir):
13
+ os.makedirs(log_dir, exist_ok=True)
14
+
15
+ logs = []
16
+ if os.path.exists(AUDIT_LOG_FILE):
17
+ with open(AUDIT_LOG_FILE, "r", encoding="utf-8") as f:
18
+ logs = json.load(f)
19
+
20
+ entry = {
21
+ "timestamp": datetime.utcnow().isoformat(),
22
+ "action": action,
23
+ "details": details,
24
+ "severity": severity
25
+ }
26
+
27
+ if metadata:
28
+ entry["metadata"] = metadata
29
+ else:
30
+ entry["metadata"] = {"system_context": "automated_event"}
31
+
32
+ logs.append(entry)
33
+
34
+ # Keep only last 2000 logs for v8.0 robustness
35
+ if len(logs) > 2000:
36
+ logs = logs[-2000:]
37
+
38
+ with open(AUDIT_LOG_FILE, "w", encoding="utf-8") as f:
39
+ json.dump(logs, f, ensure_ascii=False, indent=2)
40
+ except Exception as e:
41
+ print(f"Error logging audit event: {e}")
42
+ except Exception as e:
43
+ print(f"Error logging audit event: {e}")
backend/logs/audit_trail.json ADDED
@@ -0,0 +1,1487 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "timestamp": "2026-03-12T21:50:10.074797",
4
+ "action": "QUARANTINE_PRODUCT",
5
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/81Os1ndA6dL._AC_SL1500_.jpg']",
6
+ "severity": "INFO",
7
+ "metadata": {
8
+ "product_id": 1,
9
+ "name": "Apple iPhone 15 Pro Max",
10
+ "reason": "broken_assets"
11
+ }
12
+ },
13
+ {
14
+ "timestamp": "2026-03-12T21:50:10.123953",
15
+ "action": "QUARANTINE_PRODUCT",
16
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/81Sig84AMNL._AC_SL1500_.jpg']",
17
+ "severity": "INFO",
18
+ "metadata": {
19
+ "product_id": 2,
20
+ "name": "Apple iPhone 15 Pro",
21
+ "reason": "broken_assets"
22
+ }
23
+ },
24
+ {
25
+ "timestamp": "2026-03-12T21:50:10.148011",
26
+ "action": "QUARANTINE_PRODUCT",
27
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/61cwywLZSuL._AC_SL1500_.jpg']",
28
+ "severity": "INFO",
29
+ "metadata": {
30
+ "product_id": 8,
31
+ "name": "Apple iPhone 14",
32
+ "reason": "broken_assets"
33
+ }
34
+ },
35
+ {
36
+ "timestamp": "2026-03-12T21:50:10.180837",
37
+ "action": "QUARANTINE_PRODUCT",
38
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71gl6eL1mUL._AC_SL1500_.jpg']",
39
+ "severity": "INFO",
40
+ "metadata": {
41
+ "product_id": 9,
42
+ "name": "Apple iPhone 13",
43
+ "reason": "broken_assets"
44
+ }
45
+ },
46
+ {
47
+ "timestamp": "2026-03-12T21:50:10.214104",
48
+ "action": "QUARANTINE_PRODUCT",
49
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/61TOWf11+dL._AC_SL1500_.jpg']",
50
+ "severity": "INFO",
51
+ "metadata": {
52
+ "product_id": 10,
53
+ "name": "Apple iPhone SE (2022)",
54
+ "reason": "broken_assets"
55
+ }
56
+ },
57
+ {
58
+ "timestamp": "2026-03-12T21:50:10.259293",
59
+ "action": "QUARANTINE_PRODUCT",
60
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
61
+ "severity": "INFO",
62
+ "metadata": {
63
+ "product_id": 11,
64
+ "name": "Apple MacBook Pro M3 14\"",
65
+ "reason": "broken_assets"
66
+ }
67
+ },
68
+ {
69
+ "timestamp": "2026-03-12T21:50:10.305485",
70
+ "action": "QUARANTINE_PRODUCT",
71
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/61XZQXFQqrL._AC_SL1500_.jpg']",
72
+ "severity": "INFO",
73
+ "metadata": {
74
+ "product_id": 14,
75
+ "name": "Apple iPad Air M1",
76
+ "reason": "broken_assets"
77
+ }
78
+ },
79
+ {
80
+ "timestamp": "2026-03-12T21:50:10.345021",
81
+ "action": "QUARANTINE_PRODUCT",
82
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71YvKHT45cL._AC_SL1500_.jpg']",
83
+ "severity": "INFO",
84
+ "metadata": {
85
+ "product_id": 15,
86
+ "name": "Apple iPad Mini 6",
87
+ "reason": "broken_assets"
88
+ }
89
+ },
90
+ {
91
+ "timestamp": "2026-03-12T21:50:10.387268",
92
+ "action": "QUARANTINE_PRODUCT",
93
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/61f1Yf71HeL._AC_SL1500_.jpg']",
94
+ "severity": "INFO",
95
+ "metadata": {
96
+ "product_id": 18,
97
+ "name": "Apple AirPods Pro (2nd Gen)",
98
+ "reason": "broken_assets"
99
+ }
100
+ },
101
+ {
102
+ "timestamp": "2026-03-12T21:50:10.440381",
103
+ "action": "QUARANTINE_PRODUCT",
104
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/81thV0WAt9L._AC_SL1500_.jpg']",
105
+ "severity": "INFO",
106
+ "metadata": {
107
+ "product_id": 19,
108
+ "name": "Apple AirPods Max",
109
+ "reason": "broken_assets"
110
+ }
111
+ },
112
+ {
113
+ "timestamp": "2026-03-12T21:50:10.488210",
114
+ "action": "QUARANTINE_PRODUCT",
115
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/51f8B+36TjL._AC_SL1500_.jpg']",
116
+ "severity": "INFO",
117
+ "metadata": {
118
+ "product_id": 20,
119
+ "name": "Apple Mac Studio M2 Ultra",
120
+ "reason": "broken_assets"
121
+ }
122
+ },
123
+ {
124
+ "timestamp": "2026-03-12T21:50:10.540201",
125
+ "action": "QUARANTINE_PRODUCT",
126
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71WkS6D93rL._AC_SL1500_.jpg']",
127
+ "severity": "INFO",
128
+ "metadata": {
129
+ "product_id": 21,
130
+ "name": "Samsung Galaxy S24 Ultra",
131
+ "reason": "broken_assets"
132
+ }
133
+ },
134
+ {
135
+ "timestamp": "2026-03-12T21:50:10.600511",
136
+ "action": "QUARANTINE_PRODUCT",
137
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71Yd5S5v8fL._AC_SL1500_.jpg']",
138
+ "severity": "INFO",
139
+ "metadata": {
140
+ "product_id": 22,
141
+ "name": "Samsung Galaxy S24+",
142
+ "reason": "broken_assets"
143
+ }
144
+ },
145
+ {
146
+ "timestamp": "2026-03-12T21:50:10.657083",
147
+ "action": "QUARANTINE_PRODUCT",
148
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71W2I+h6cIL._AC_SL1500_.jpg']",
149
+ "severity": "INFO",
150
+ "metadata": {
151
+ "product_id": 23,
152
+ "name": "Samsung Galaxy S24",
153
+ "reason": "broken_assets"
154
+ }
155
+ },
156
+ {
157
+ "timestamp": "2026-03-12T21:50:10.705997",
158
+ "action": "QUARANTINE_PRODUCT",
159
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/81W77D6i9BL._AC_SL1500_.jpg']",
160
+ "severity": "INFO",
161
+ "metadata": {
162
+ "product_id": 26,
163
+ "name": "Samsung Galaxy Tab S9 Ultra",
164
+ "reason": "broken_assets"
165
+ }
166
+ },
167
+ {
168
+ "timestamp": "2026-03-12T21:50:10.768147",
169
+ "action": "QUARANTINE_PRODUCT",
170
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71Y+K6nILdL._AC_SL1500_.jpg']",
171
+ "severity": "INFO",
172
+ "metadata": {
173
+ "product_id": 27,
174
+ "name": "Samsung Galaxy Watch6 Classic",
175
+ "reason": "broken_assets"
176
+ }
177
+ },
178
+ {
179
+ "timestamp": "2026-03-12T21:50:10.861595",
180
+ "action": "QUARANTINE_PRODUCT",
181
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/61f1Yf71HeL._AC_SL1500_.jpg']",
182
+ "severity": "INFO",
183
+ "metadata": {
184
+ "product_id": 28,
185
+ "name": "Samsung Galaxy Buds2 Pro",
186
+ "reason": "broken_assets"
187
+ }
188
+ },
189
+ {
190
+ "timestamp": "2026-03-12T21:50:10.975159",
191
+ "action": "QUARANTINE_PRODUCT",
192
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71WkS6D93rL._AC_SL1500_.jpg']",
193
+ "severity": "INFO",
194
+ "metadata": {
195
+ "product_id": 29,
196
+ "name": "Samsung Galaxy A54 5G",
197
+ "reason": "broken_assets"
198
+ }
199
+ },
200
+ {
201
+ "timestamp": "2026-03-12T21:50:11.057774",
202
+ "action": "QUARANTINE_PRODUCT",
203
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/81fH+S7+RHL._AC_SL1500_.jpg']",
204
+ "severity": "INFO",
205
+ "metadata": {
206
+ "product_id": 30,
207
+ "name": "Samsung Galaxy S23 Ultra",
208
+ "reason": "broken_assets"
209
+ }
210
+ },
211
+ {
212
+ "timestamp": "2026-03-12T21:50:11.125583",
213
+ "action": "QUARANTINE_PRODUCT",
214
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/619v7G3S3uL._AC_SL1500_.jpg']",
215
+ "severity": "INFO",
216
+ "metadata": {
217
+ "product_id": 31,
218
+ "name": "Sony PlayStation 5 Slim",
219
+ "reason": "broken_assets"
220
+ }
221
+ },
222
+ {
223
+ "timestamp": "2026-03-12T21:50:11.202333",
224
+ "action": "QUARANTINE_PRODUCT",
225
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
226
+ "severity": "INFO",
227
+ "metadata": {
228
+ "product_id": 33,
229
+ "name": "Sony Sony WF-1000XM5",
230
+ "reason": "broken_assets"
231
+ }
232
+ },
233
+ {
234
+ "timestamp": "2026-03-12T21:50:11.256891",
235
+ "action": "QUARANTINE_PRODUCT",
236
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/619v7G3S3uL._AC_SL1500_.jpg']",
237
+ "severity": "INFO",
238
+ "metadata": {
239
+ "product_id": 36,
240
+ "name": "Sony DualSense Edge",
241
+ "reason": "broken_assets"
242
+ }
243
+ },
244
+ {
245
+ "timestamp": "2026-03-12T21:50:11.340528",
246
+ "action": "QUARANTINE_PRODUCT",
247
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
248
+ "severity": "INFO",
249
+ "metadata": {
250
+ "product_id": 37,
251
+ "name": "Sony Pulse 3D Wireless Headset",
252
+ "reason": "broken_assets"
253
+ }
254
+ },
255
+ {
256
+ "timestamp": "2026-03-12T21:50:11.448673",
257
+ "action": "QUARANTINE_PRODUCT",
258
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/619v7G3S3uL._AC_SL1500_.jpg']",
259
+ "severity": "INFO",
260
+ "metadata": {
261
+ "product_id": 38,
262
+ "name": "Sony PlayStation VR2",
263
+ "reason": "broken_assets"
264
+ }
265
+ },
266
+ {
267
+ "timestamp": "2026-03-12T21:50:11.531020",
268
+ "action": "QUARANTINE_PRODUCT",
269
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71+vPOnN+TL._AC_SL1500_.jpg']",
270
+ "severity": "INFO",
271
+ "metadata": {
272
+ "product_id": 39,
273
+ "name": "Dyson Dyson V15 Detect",
274
+ "reason": "broken_assets"
275
+ }
276
+ },
277
+ {
278
+ "timestamp": "2026-03-12T21:50:11.617850",
279
+ "action": "QUARANTINE_PRODUCT",
280
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71+vPOnN+TL._AC_SL1500_.jpg']",
281
+ "severity": "INFO",
282
+ "metadata": {
283
+ "product_id": 43,
284
+ "name": "Dyson Dyson Gen5detect",
285
+ "reason": "broken_assets"
286
+ }
287
+ },
288
+ {
289
+ "timestamp": "2026-03-12T21:50:11.698514",
290
+ "action": "QUARANTINE_PRODUCT",
291
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71WkS6D93rL._AC_SL1500_.jpg']",
292
+ "severity": "INFO",
293
+ "metadata": {
294
+ "product_id": 44,
295
+ "name": "Xiaomi Xiaomi 14 Ultra",
296
+ "reason": "broken_assets"
297
+ }
298
+ },
299
+ {
300
+ "timestamp": "2026-03-12T21:50:11.781256",
301
+ "action": "QUARANTINE_PRODUCT",
302
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71Yd5S5v8fL._AC_SL1500_.jpg']",
303
+ "severity": "INFO",
304
+ "metadata": {
305
+ "product_id": 46,
306
+ "name": "Xiaomi Redmi Note 13 Pro+",
307
+ "reason": "broken_assets"
308
+ }
309
+ },
310
+ {
311
+ "timestamp": "2026-03-12T21:50:11.889379",
312
+ "action": "QUARANTINE_PRODUCT",
313
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/81W77D6i9BL._AC_SL1500_.jpg']",
314
+ "severity": "INFO",
315
+ "metadata": {
316
+ "product_id": 47,
317
+ "name": "Xiaomi Xiaomi Pad 6",
318
+ "reason": "broken_assets"
319
+ }
320
+ },
321
+ {
322
+ "timestamp": "2026-03-12T21:50:11.979350",
323
+ "action": "QUARANTINE_PRODUCT",
324
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71r2+9u+VGL._AC_SL1500_.jpg']",
325
+ "severity": "INFO",
326
+ "metadata": {
327
+ "product_id": 49,
328
+ "name": "Nike Air Jordan 1 Retro High",
329
+ "reason": "broken_assets"
330
+ }
331
+ },
332
+ {
333
+ "timestamp": "2026-03-12T21:50:12.049230",
334
+ "action": "QUARANTINE_PRODUCT",
335
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
336
+ "severity": "INFO",
337
+ "metadata": {
338
+ "product_id": 62,
339
+ "name": "Master Electric Toothbrush Sonic 33",
340
+ "reason": "broken_assets"
341
+ }
342
+ },
343
+ {
344
+ "timestamp": "2026-03-12T21:50:12.125937",
345
+ "action": "QUARANTINE_PRODUCT",
346
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
347
+ "severity": "INFO",
348
+ "metadata": {
349
+ "product_id": 76,
350
+ "name": "Master Electric Toothbrush Sonic",
351
+ "reason": "broken_assets"
352
+ }
353
+ },
354
+ {
355
+ "timestamp": "2026-03-12T21:50:12.195706",
356
+ "action": "QUARANTINE_PRODUCT",
357
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
358
+ "severity": "INFO",
359
+ "metadata": {
360
+ "product_id": 83,
361
+ "name": "Advanced Men's Grooming Kit 10-in-1",
362
+ "reason": "broken_assets"
363
+ }
364
+ },
365
+ {
366
+ "timestamp": "2026-03-12T21:50:12.267615",
367
+ "action": "QUARANTINE_PRODUCT",
368
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
369
+ "severity": "INFO",
370
+ "metadata": {
371
+ "product_id": 93,
372
+ "name": "Prime Men's Grooming Kit 10-in-1",
373
+ "reason": "broken_assets"
374
+ }
375
+ },
376
+ {
377
+ "timestamp": "2026-03-12T21:50:12.339280",
378
+ "action": "QUARANTINE_PRODUCT",
379
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71+vPOnN+TL._AC_SL1500_.jpg']",
380
+ "severity": "INFO",
381
+ "metadata": {
382
+ "product_id": 100,
383
+ "name": "Legacy 4K Ultra HD Dashcam 56",
384
+ "reason": "broken_assets"
385
+ }
386
+ },
387
+ {
388
+ "timestamp": "2026-03-12T21:50:12.417373",
389
+ "action": "QUARANTINE_PRODUCT",
390
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
391
+ "severity": "INFO",
392
+ "metadata": {
393
+ "product_id": 110,
394
+ "name": "Prime Electric Toothbrush Sonic",
395
+ "reason": "broken_assets"
396
+ }
397
+ },
398
+ {
399
+ "timestamp": "2026-03-12T21:50:12.469381",
400
+ "action": "QUARANTINE_PRODUCT",
401
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
402
+ "severity": "INFO",
403
+ "metadata": {
404
+ "product_id": 111,
405
+ "name": "Ultra Men's Grooming Kit 10-in-1 67",
406
+ "reason": "broken_assets"
407
+ }
408
+ },
409
+ {
410
+ "timestamp": "2026-03-12T21:50:12.551457",
411
+ "action": "QUARANTINE_PRODUCT",
412
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
413
+ "severity": "INFO",
414
+ "metadata": {
415
+ "product_id": 131,
416
+ "name": "Elite Men's Grooming Kit 10-in-1 44",
417
+ "reason": "broken_assets"
418
+ }
419
+ },
420
+ {
421
+ "timestamp": "2026-03-12T21:50:12.641386",
422
+ "action": "QUARANTINE_PRODUCT",
423
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
424
+ "severity": "INFO",
425
+ "metadata": {
426
+ "product_id": 135,
427
+ "name": "Legacy Men's Grooming Kit 10-in-1 11",
428
+ "reason": "broken_assets"
429
+ }
430
+ },
431
+ {
432
+ "timestamp": "2026-03-12T21:50:12.755645",
433
+ "action": "QUARANTINE_PRODUCT",
434
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
435
+ "severity": "INFO",
436
+ "metadata": {
437
+ "product_id": 157,
438
+ "name": "Apex Electric Toothbrush Sonic",
439
+ "reason": "broken_assets"
440
+ }
441
+ },
442
+ {
443
+ "timestamp": "2026-03-12T21:50:12.896716",
444
+ "action": "QUARANTINE_PRODUCT",
445
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
446
+ "severity": "INFO",
447
+ "metadata": {
448
+ "product_id": 161,
449
+ "name": "Titan Electric Toothbrush Sonic",
450
+ "reason": "broken_assets"
451
+ }
452
+ },
453
+ {
454
+ "timestamp": "2026-03-12T21:50:13.043245",
455
+ "action": "QUARANTINE_PRODUCT",
456
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71+vPOnN+TL._AC_SL1500_.jpg']",
457
+ "severity": "INFO",
458
+ "metadata": {
459
+ "product_id": 163,
460
+ "name": "Pro 4K Ultra HD Dashcam",
461
+ "reason": "broken_assets"
462
+ }
463
+ },
464
+ {
465
+ "timestamp": "2026-03-12T21:50:13.125084",
466
+ "action": "QUARANTINE_PRODUCT",
467
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
468
+ "severity": "INFO",
469
+ "metadata": {
470
+ "product_id": 164,
471
+ "name": "Precision Electric Toothbrush Sonic",
472
+ "reason": "broken_assets"
473
+ }
474
+ },
475
+ {
476
+ "timestamp": "2026-03-12T21:50:13.246185",
477
+ "action": "QUARANTINE_PRODUCT",
478
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71+vPOnN+TL._AC_SL1500_.jpg']",
479
+ "severity": "INFO",
480
+ "metadata": {
481
+ "product_id": 165,
482
+ "name": "Legacy 4K Ultra HD Dashcam",
483
+ "reason": "broken_assets"
484
+ }
485
+ },
486
+ {
487
+ "timestamp": "2026-03-12T21:50:13.334404",
488
+ "action": "QUARANTINE_PRODUCT",
489
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71+vPOnN+TL._AC_SL1500_.jpg']",
490
+ "severity": "INFO",
491
+ "metadata": {
492
+ "product_id": 166,
493
+ "name": "Master 4K Ultra HD Dashcam",
494
+ "reason": "broken_assets"
495
+ }
496
+ },
497
+ {
498
+ "timestamp": "2026-03-12T21:50:13.439936",
499
+ "action": "QUARANTINE_PRODUCT",
500
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71+vPOnN+TL._AC_SL1500_.jpg']",
501
+ "severity": "INFO",
502
+ "metadata": {
503
+ "product_id": 167,
504
+ "name": "Precision 4K Ultra HD Dashcam",
505
+ "reason": "broken_assets"
506
+ }
507
+ },
508
+ {
509
+ "timestamp": "2026-03-12T21:50:13.510918",
510
+ "action": "QUARANTINE_PRODUCT",
511
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71+vPOnN+TL._AC_SL1500_.jpg']",
512
+ "severity": "INFO",
513
+ "metadata": {
514
+ "product_id": 172,
515
+ "name": "Precision 4K Ultra HD Dashcam 99",
516
+ "reason": "broken_assets"
517
+ }
518
+ },
519
+ {
520
+ "timestamp": "2026-03-12T21:50:13.587568",
521
+ "action": "QUARANTINE_PRODUCT",
522
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
523
+ "severity": "INFO",
524
+ "metadata": {
525
+ "product_id": 175,
526
+ "name": "Elite Men's Grooming Kit 10-in-1",
527
+ "reason": "broken_assets"
528
+ }
529
+ },
530
+ {
531
+ "timestamp": "2026-03-12T21:50:13.648335",
532
+ "action": "QUARANTINE_PRODUCT",
533
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
534
+ "severity": "INFO",
535
+ "metadata": {
536
+ "product_id": 182,
537
+ "name": "Nova Men's Grooming Kit 10-in-1 62",
538
+ "reason": "broken_assets"
539
+ }
540
+ },
541
+ {
542
+ "timestamp": "2026-03-12T21:50:13.713712",
543
+ "action": "QUARANTINE_PRODUCT",
544
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71+vPOnN+TL._AC_SL1500_.jpg']",
545
+ "severity": "INFO",
546
+ "metadata": {
547
+ "product_id": 185,
548
+ "name": "Ultra 4K Ultra HD Dashcam",
549
+ "reason": "broken_assets"
550
+ }
551
+ },
552
+ {
553
+ "timestamp": "2026-03-12T21:50:13.792842",
554
+ "action": "QUARANTINE_PRODUCT",
555
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71+vPOnN+TL._AC_SL1500_.jpg']",
556
+ "severity": "INFO",
557
+ "metadata": {
558
+ "product_id": 188,
559
+ "name": "Advanced 4K Ultra HD Dashcam 85",
560
+ "reason": "broken_assets"
561
+ }
562
+ },
563
+ {
564
+ "timestamp": "2026-03-12T21:50:13.890949",
565
+ "action": "QUARANTINE_PRODUCT",
566
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
567
+ "severity": "INFO",
568
+ "metadata": {
569
+ "product_id": 195,
570
+ "name": "Precision Electric Toothbrush Sonic 44",
571
+ "reason": "broken_assets"
572
+ }
573
+ },
574
+ {
575
+ "timestamp": "2026-03-12T21:50:13.977356",
576
+ "action": "QUARANTINE_PRODUCT",
577
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71+vPOnN+TL._AC_SL1500_.jpg']",
578
+ "severity": "INFO",
579
+ "metadata": {
580
+ "product_id": 199,
581
+ "name": "Prime 4K Ultra HD Dashcam 78",
582
+ "reason": "broken_assets"
583
+ }
584
+ },
585
+ {
586
+ "timestamp": "2026-03-12T21:50:14.052574",
587
+ "action": "QUARANTINE_PRODUCT",
588
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
589
+ "severity": "INFO",
590
+ "metadata": {
591
+ "product_id": 206,
592
+ "name": "Titan Men's Grooming Kit 10-in-1",
593
+ "reason": "broken_assets"
594
+ }
595
+ },
596
+ {
597
+ "timestamp": "2026-03-12T21:51:35.665931",
598
+ "action": "QUARANTINE_PRODUCT",
599
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/81Os1ndA6dL._AC_SL1500_.jpg']",
600
+ "severity": "INFO",
601
+ "metadata": {
602
+ "product_id": 1,
603
+ "name": "Apple iPhone 15 Pro Max",
604
+ "reason": "broken_assets"
605
+ }
606
+ },
607
+ {
608
+ "timestamp": "2026-03-12T21:51:35.751498",
609
+ "action": "QUARANTINE_PRODUCT",
610
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/81Sig84AMNL._AC_SL1500_.jpg']",
611
+ "severity": "INFO",
612
+ "metadata": {
613
+ "product_id": 2,
614
+ "name": "Apple iPhone 15 Pro",
615
+ "reason": "broken_assets"
616
+ }
617
+ },
618
+ {
619
+ "timestamp": "2026-03-12T21:51:35.857576",
620
+ "action": "QUARANTINE_PRODUCT",
621
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/61cwywLZSuL._AC_SL1500_.jpg']",
622
+ "severity": "INFO",
623
+ "metadata": {
624
+ "product_id": 8,
625
+ "name": "Apple iPhone 14",
626
+ "reason": "broken_assets"
627
+ }
628
+ },
629
+ {
630
+ "timestamp": "2026-03-12T21:51:35.979887",
631
+ "action": "QUARANTINE_PRODUCT",
632
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71gl6eL1mUL._AC_SL1500_.jpg']",
633
+ "severity": "INFO",
634
+ "metadata": {
635
+ "product_id": 9,
636
+ "name": "Apple iPhone 13",
637
+ "reason": "broken_assets"
638
+ }
639
+ },
640
+ {
641
+ "timestamp": "2026-03-12T21:51:36.065399",
642
+ "action": "QUARANTINE_PRODUCT",
643
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/61TOWf11+dL._AC_SL1500_.jpg']",
644
+ "severity": "INFO",
645
+ "metadata": {
646
+ "product_id": 10,
647
+ "name": "Apple iPhone SE (2022)",
648
+ "reason": "broken_assets"
649
+ }
650
+ },
651
+ {
652
+ "timestamp": "2026-03-12T21:51:36.119342",
653
+ "action": "QUARANTINE_PRODUCT",
654
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
655
+ "severity": "INFO",
656
+ "metadata": {
657
+ "product_id": 11,
658
+ "name": "Apple MacBook Pro M3 14\"",
659
+ "reason": "broken_assets"
660
+ }
661
+ },
662
+ {
663
+ "timestamp": "2026-03-12T21:51:36.192973",
664
+ "action": "QUARANTINE_PRODUCT",
665
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/61XZQXFQqrL._AC_SL1500_.jpg']",
666
+ "severity": "INFO",
667
+ "metadata": {
668
+ "product_id": 14,
669
+ "name": "Apple iPad Air M1",
670
+ "reason": "broken_assets"
671
+ }
672
+ },
673
+ {
674
+ "timestamp": "2026-03-12T21:51:36.293192",
675
+ "action": "QUARANTINE_PRODUCT",
676
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71YvKHT45cL._AC_SL1500_.jpg']",
677
+ "severity": "INFO",
678
+ "metadata": {
679
+ "product_id": 15,
680
+ "name": "Apple iPad Mini 6",
681
+ "reason": "broken_assets"
682
+ }
683
+ },
684
+ {
685
+ "timestamp": "2026-03-12T21:51:36.353412",
686
+ "action": "QUARANTINE_PRODUCT",
687
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/61f1Yf71HeL._AC_SL1500_.jpg']",
688
+ "severity": "INFO",
689
+ "metadata": {
690
+ "product_id": 18,
691
+ "name": "Apple AirPods Pro (2nd Gen)",
692
+ "reason": "broken_assets"
693
+ }
694
+ },
695
+ {
696
+ "timestamp": "2026-03-12T21:51:36.413397",
697
+ "action": "QUARANTINE_PRODUCT",
698
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/81thV0WAt9L._AC_SL1500_.jpg']",
699
+ "severity": "INFO",
700
+ "metadata": {
701
+ "product_id": 19,
702
+ "name": "Apple AirPods Max",
703
+ "reason": "broken_assets"
704
+ }
705
+ },
706
+ {
707
+ "timestamp": "2026-03-12T21:51:36.487958",
708
+ "action": "QUARANTINE_PRODUCT",
709
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/51f8B+36TjL._AC_SL1500_.jpg']",
710
+ "severity": "INFO",
711
+ "metadata": {
712
+ "product_id": 20,
713
+ "name": "Apple Mac Studio M2 Ultra",
714
+ "reason": "broken_assets"
715
+ }
716
+ },
717
+ {
718
+ "timestamp": "2026-03-12T21:51:36.551319",
719
+ "action": "QUARANTINE_PRODUCT",
720
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71WkS6D93rL._AC_SL1500_.jpg']",
721
+ "severity": "INFO",
722
+ "metadata": {
723
+ "product_id": 21,
724
+ "name": "Samsung Galaxy S24 Ultra",
725
+ "reason": "broken_assets"
726
+ }
727
+ },
728
+ {
729
+ "timestamp": "2026-03-12T21:51:36.617166",
730
+ "action": "QUARANTINE_PRODUCT",
731
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71Yd5S5v8fL._AC_SL1500_.jpg']",
732
+ "severity": "INFO",
733
+ "metadata": {
734
+ "product_id": 22,
735
+ "name": "Samsung Galaxy S24+",
736
+ "reason": "broken_assets"
737
+ }
738
+ },
739
+ {
740
+ "timestamp": "2026-03-12T21:51:36.676364",
741
+ "action": "QUARANTINE_PRODUCT",
742
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71W2I+h6cIL._AC_SL1500_.jpg']",
743
+ "severity": "INFO",
744
+ "metadata": {
745
+ "product_id": 23,
746
+ "name": "Samsung Galaxy S24",
747
+ "reason": "broken_assets"
748
+ }
749
+ },
750
+ {
751
+ "timestamp": "2026-03-12T21:51:36.745590",
752
+ "action": "QUARANTINE_PRODUCT",
753
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/81W77D6i9BL._AC_SL1500_.jpg']",
754
+ "severity": "INFO",
755
+ "metadata": {
756
+ "product_id": 26,
757
+ "name": "Samsung Galaxy Tab S9 Ultra",
758
+ "reason": "broken_assets"
759
+ }
760
+ },
761
+ {
762
+ "timestamp": "2026-03-12T21:51:36.812226",
763
+ "action": "QUARANTINE_PRODUCT",
764
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71Y+K6nILdL._AC_SL1500_.jpg']",
765
+ "severity": "INFO",
766
+ "metadata": {
767
+ "product_id": 27,
768
+ "name": "Samsung Galaxy Watch6 Classic",
769
+ "reason": "broken_assets"
770
+ }
771
+ },
772
+ {
773
+ "timestamp": "2026-03-12T21:51:36.884932",
774
+ "action": "QUARANTINE_PRODUCT",
775
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/61f1Yf71HeL._AC_SL1500_.jpg']",
776
+ "severity": "INFO",
777
+ "metadata": {
778
+ "product_id": 28,
779
+ "name": "Samsung Galaxy Buds2 Pro",
780
+ "reason": "broken_assets"
781
+ }
782
+ },
783
+ {
784
+ "timestamp": "2026-03-12T21:51:36.979580",
785
+ "action": "QUARANTINE_PRODUCT",
786
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71WkS6D93rL._AC_SL1500_.jpg']",
787
+ "severity": "INFO",
788
+ "metadata": {
789
+ "product_id": 29,
790
+ "name": "Samsung Galaxy A54 5G",
791
+ "reason": "broken_assets"
792
+ }
793
+ },
794
+ {
795
+ "timestamp": "2026-03-12T21:51:37.079357",
796
+ "action": "QUARANTINE_PRODUCT",
797
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/81fH+S7+RHL._AC_SL1500_.jpg']",
798
+ "severity": "INFO",
799
+ "metadata": {
800
+ "product_id": 30,
801
+ "name": "Samsung Galaxy S23 Ultra",
802
+ "reason": "broken_assets"
803
+ }
804
+ },
805
+ {
806
+ "timestamp": "2026-03-12T21:51:37.161101",
807
+ "action": "QUARANTINE_PRODUCT",
808
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/619v7G3S3uL._AC_SL1500_.jpg']",
809
+ "severity": "INFO",
810
+ "metadata": {
811
+ "product_id": 31,
812
+ "name": "Sony PlayStation 5 Slim",
813
+ "reason": "broken_assets"
814
+ }
815
+ },
816
+ {
817
+ "timestamp": "2026-03-12T21:51:37.224897",
818
+ "action": "QUARANTINE_PRODUCT",
819
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
820
+ "severity": "INFO",
821
+ "metadata": {
822
+ "product_id": 33,
823
+ "name": "Sony Sony WF-1000XM5",
824
+ "reason": "broken_assets"
825
+ }
826
+ },
827
+ {
828
+ "timestamp": "2026-03-12T21:51:37.359569",
829
+ "action": "QUARANTINE_PRODUCT",
830
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/619v7G3S3uL._AC_SL1500_.jpg']",
831
+ "severity": "INFO",
832
+ "metadata": {
833
+ "product_id": 36,
834
+ "name": "Sony DualSense Edge",
835
+ "reason": "broken_assets"
836
+ }
837
+ },
838
+ {
839
+ "timestamp": "2026-03-12T21:51:37.484365",
840
+ "action": "QUARANTINE_PRODUCT",
841
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
842
+ "severity": "INFO",
843
+ "metadata": {
844
+ "product_id": 37,
845
+ "name": "Sony Pulse 3D Wireless Headset",
846
+ "reason": "broken_assets"
847
+ }
848
+ },
849
+ {
850
+ "timestamp": "2026-03-12T21:51:37.602435",
851
+ "action": "QUARANTINE_PRODUCT",
852
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/619v7G3S3uL._AC_SL1500_.jpg']",
853
+ "severity": "INFO",
854
+ "metadata": {
855
+ "product_id": 38,
856
+ "name": "Sony PlayStation VR2",
857
+ "reason": "broken_assets"
858
+ }
859
+ },
860
+ {
861
+ "timestamp": "2026-03-12T21:51:37.705230",
862
+ "action": "QUARANTINE_PRODUCT",
863
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71+vPOnN+TL._AC_SL1500_.jpg']",
864
+ "severity": "INFO",
865
+ "metadata": {
866
+ "product_id": 39,
867
+ "name": "Dyson Dyson V15 Detect",
868
+ "reason": "broken_assets"
869
+ }
870
+ },
871
+ {
872
+ "timestamp": "2026-03-12T21:51:37.811630",
873
+ "action": "QUARANTINE_PRODUCT",
874
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71+vPOnN+TL._AC_SL1500_.jpg']",
875
+ "severity": "INFO",
876
+ "metadata": {
877
+ "product_id": 43,
878
+ "name": "Dyson Dyson Gen5detect",
879
+ "reason": "broken_assets"
880
+ }
881
+ },
882
+ {
883
+ "timestamp": "2026-03-12T21:51:37.961463",
884
+ "action": "QUARANTINE_PRODUCT",
885
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71WkS6D93rL._AC_SL1500_.jpg']",
886
+ "severity": "INFO",
887
+ "metadata": {
888
+ "product_id": 44,
889
+ "name": "Xiaomi Xiaomi 14 Ultra",
890
+ "reason": "broken_assets"
891
+ }
892
+ },
893
+ {
894
+ "timestamp": "2026-03-12T21:51:38.165586",
895
+ "action": "QUARANTINE_PRODUCT",
896
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71Yd5S5v8fL._AC_SL1500_.jpg']",
897
+ "severity": "INFO",
898
+ "metadata": {
899
+ "product_id": 46,
900
+ "name": "Xiaomi Redmi Note 13 Pro+",
901
+ "reason": "broken_assets"
902
+ }
903
+ },
904
+ {
905
+ "timestamp": "2026-03-12T21:51:38.268062",
906
+ "action": "QUARANTINE_PRODUCT",
907
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/81W77D6i9BL._AC_SL1500_.jpg']",
908
+ "severity": "INFO",
909
+ "metadata": {
910
+ "product_id": 47,
911
+ "name": "Xiaomi Xiaomi Pad 6",
912
+ "reason": "broken_assets"
913
+ }
914
+ },
915
+ {
916
+ "timestamp": "2026-03-12T21:51:38.359612",
917
+ "action": "QUARANTINE_PRODUCT",
918
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71r2+9u+VGL._AC_SL1500_.jpg']",
919
+ "severity": "INFO",
920
+ "metadata": {
921
+ "product_id": 49,
922
+ "name": "Nike Air Jordan 1 Retro High",
923
+ "reason": "broken_assets"
924
+ }
925
+ },
926
+ {
927
+ "timestamp": "2026-03-12T21:51:38.442613",
928
+ "action": "QUARANTINE_PRODUCT",
929
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
930
+ "severity": "INFO",
931
+ "metadata": {
932
+ "product_id": 62,
933
+ "name": "Nova Electric Toothbrush Sonic 23",
934
+ "reason": "broken_assets"
935
+ }
936
+ },
937
+ {
938
+ "timestamp": "2026-03-12T21:51:38.508431",
939
+ "action": "QUARANTINE_PRODUCT",
940
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71+vPOnN+TL._AC_SL1500_.jpg']",
941
+ "severity": "INFO",
942
+ "metadata": {
943
+ "product_id": 70,
944
+ "name": "Pro 4K Ultra HD Dashcam",
945
+ "reason": "broken_assets"
946
+ }
947
+ },
948
+ {
949
+ "timestamp": "2026-03-12T21:51:38.654644",
950
+ "action": "QUARANTINE_PRODUCT",
951
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
952
+ "severity": "INFO",
953
+ "metadata": {
954
+ "product_id": 80,
955
+ "name": "Apex Electric Toothbrush Sonic",
956
+ "reason": "broken_assets"
957
+ }
958
+ },
959
+ {
960
+ "timestamp": "2026-03-12T21:51:38.728640",
961
+ "action": "QUARANTINE_PRODUCT",
962
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
963
+ "severity": "INFO",
964
+ "metadata": {
965
+ "product_id": 84,
966
+ "name": "Supreme Men's Grooming Kit 10-in-1",
967
+ "reason": "broken_assets"
968
+ }
969
+ },
970
+ {
971
+ "timestamp": "2026-03-12T21:51:38.798768",
972
+ "action": "QUARANTINE_PRODUCT",
973
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
974
+ "severity": "INFO",
975
+ "metadata": {
976
+ "product_id": 88,
977
+ "name": "Prime Electric Toothbrush Sonic",
978
+ "reason": "broken_assets"
979
+ }
980
+ },
981
+ {
982
+ "timestamp": "2026-03-12T21:51:38.860303",
983
+ "action": "QUARANTINE_PRODUCT",
984
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71+vPOnN+TL._AC_SL1500_.jpg']",
985
+ "severity": "INFO",
986
+ "metadata": {
987
+ "product_id": 92,
988
+ "name": "Elite 4K Ultra HD Dashcam 79",
989
+ "reason": "broken_assets"
990
+ }
991
+ },
992
+ {
993
+ "timestamp": "2026-03-12T21:51:38.966348",
994
+ "action": "QUARANTINE_PRODUCT",
995
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
996
+ "severity": "INFO",
997
+ "metadata": {
998
+ "product_id": 93,
999
+ "name": "Titan Electric Toothbrush Sonic",
1000
+ "reason": "broken_assets"
1001
+ }
1002
+ },
1003
+ {
1004
+ "timestamp": "2026-03-12T21:51:39.058376",
1005
+ "action": "QUARANTINE_PRODUCT",
1006
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
1007
+ "severity": "INFO",
1008
+ "metadata": {
1009
+ "product_id": 102,
1010
+ "name": "Precision Men's Grooming Kit 10-in-1",
1011
+ "reason": "broken_assets"
1012
+ }
1013
+ },
1014
+ {
1015
+ "timestamp": "2026-03-12T21:51:39.132922",
1016
+ "action": "QUARANTINE_PRODUCT",
1017
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71+vPOnN+TL._AC_SL1500_.jpg']",
1018
+ "severity": "INFO",
1019
+ "metadata": {
1020
+ "product_id": 106,
1021
+ "name": "Master 4K Ultra HD Dashcam 34",
1022
+ "reason": "broken_assets"
1023
+ }
1024
+ },
1025
+ {
1026
+ "timestamp": "2026-03-12T21:51:39.215580",
1027
+ "action": "QUARANTINE_PRODUCT",
1028
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
1029
+ "severity": "INFO",
1030
+ "metadata": {
1031
+ "product_id": 108,
1032
+ "name": "Quantum Electric Toothbrush Sonic",
1033
+ "reason": "broken_assets"
1034
+ }
1035
+ },
1036
+ {
1037
+ "timestamp": "2026-03-12T21:51:39.297896",
1038
+ "action": "QUARANTINE_PRODUCT",
1039
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71+vPOnN+TL._AC_SL1500_.jpg']",
1040
+ "severity": "INFO",
1041
+ "metadata": {
1042
+ "product_id": 110,
1043
+ "name": "Titan 4K Ultra HD Dashcam 36",
1044
+ "reason": "broken_assets"
1045
+ }
1046
+ },
1047
+ {
1048
+ "timestamp": "2026-03-12T21:51:39.391852",
1049
+ "action": "QUARANTINE_PRODUCT",
1050
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
1051
+ "severity": "INFO",
1052
+ "metadata": {
1053
+ "product_id": 114,
1054
+ "name": "Supreme Electric Toothbrush Sonic",
1055
+ "reason": "broken_assets"
1056
+ }
1057
+ },
1058
+ {
1059
+ "timestamp": "2026-03-12T21:51:39.456006",
1060
+ "action": "QUARANTINE_PRODUCT",
1061
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
1062
+ "severity": "INFO",
1063
+ "metadata": {
1064
+ "product_id": 116,
1065
+ "name": "Pro Electric Toothbrush Sonic",
1066
+ "reason": "broken_assets"
1067
+ }
1068
+ },
1069
+ {
1070
+ "timestamp": "2026-03-12T21:51:39.528105",
1071
+ "action": "QUARANTINE_PRODUCT",
1072
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71+vPOnN+TL._AC_SL1500_.jpg']",
1073
+ "severity": "INFO",
1074
+ "metadata": {
1075
+ "product_id": 125,
1076
+ "name": "Quantum 4K Ultra HD Dashcam",
1077
+ "reason": "broken_assets"
1078
+ }
1079
+ },
1080
+ {
1081
+ "timestamp": "2026-03-12T21:51:39.600518",
1082
+ "action": "QUARANTINE_PRODUCT",
1083
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71+vPOnN+TL._AC_SL1500_.jpg']",
1084
+ "severity": "INFO",
1085
+ "metadata": {
1086
+ "product_id": 128,
1087
+ "name": "Master 4K Ultra HD Dashcam 97",
1088
+ "reason": "broken_assets"
1089
+ }
1090
+ },
1091
+ {
1092
+ "timestamp": "2026-03-12T21:51:39.694802",
1093
+ "action": "QUARANTINE_PRODUCT",
1094
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71+vPOnN+TL._AC_SL1500_.jpg']",
1095
+ "severity": "INFO",
1096
+ "metadata": {
1097
+ "product_id": 131,
1098
+ "name": "Titan 4K Ultra HD Dashcam",
1099
+ "reason": "broken_assets"
1100
+ }
1101
+ },
1102
+ {
1103
+ "timestamp": "2026-03-12T21:51:39.756507",
1104
+ "action": "QUARANTINE_PRODUCT",
1105
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
1106
+ "severity": "INFO",
1107
+ "metadata": {
1108
+ "product_id": 134,
1109
+ "name": "Supreme Men's Grooming Kit 10-in-1 73",
1110
+ "reason": "broken_assets"
1111
+ }
1112
+ },
1113
+ {
1114
+ "timestamp": "2026-03-12T21:51:39.834416",
1115
+ "action": "QUARANTINE_PRODUCT",
1116
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
1117
+ "severity": "INFO",
1118
+ "metadata": {
1119
+ "product_id": 137,
1120
+ "name": "Advanced Electric Toothbrush Sonic 68",
1121
+ "reason": "broken_assets"
1122
+ }
1123
+ },
1124
+ {
1125
+ "timestamp": "2026-03-12T21:51:39.939693",
1126
+ "action": "QUARANTINE_PRODUCT",
1127
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
1128
+ "severity": "INFO",
1129
+ "metadata": {
1130
+ "product_id": 139,
1131
+ "name": "Prime Men's Grooming Kit 10-in-1",
1132
+ "reason": "broken_assets"
1133
+ }
1134
+ },
1135
+ {
1136
+ "timestamp": "2026-03-12T21:51:40.074841",
1137
+ "action": "QUARANTINE_PRODUCT",
1138
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71+vPOnN+TL._AC_SL1500_.jpg']",
1139
+ "severity": "INFO",
1140
+ "metadata": {
1141
+ "product_id": 145,
1142
+ "name": "Prime 4K Ultra HD Dashcam",
1143
+ "reason": "broken_assets"
1144
+ }
1145
+ },
1146
+ {
1147
+ "timestamp": "2026-03-12T21:51:40.164757",
1148
+ "action": "QUARANTINE_PRODUCT",
1149
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
1150
+ "severity": "INFO",
1151
+ "metadata": {
1152
+ "product_id": 147,
1153
+ "name": "Quantum Men's Grooming Kit 10-in-1",
1154
+ "reason": "broken_assets"
1155
+ }
1156
+ },
1157
+ {
1158
+ "timestamp": "2026-03-12T21:51:40.254969",
1159
+ "action": "QUARANTINE_PRODUCT",
1160
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
1161
+ "severity": "INFO",
1162
+ "metadata": {
1163
+ "product_id": 152,
1164
+ "name": "Legacy Men's Grooming Kit 10-in-1",
1165
+ "reason": "broken_assets"
1166
+ }
1167
+ },
1168
+ {
1169
+ "timestamp": "2026-03-12T21:51:40.331027",
1170
+ "action": "QUARANTINE_PRODUCT",
1171
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
1172
+ "severity": "INFO",
1173
+ "metadata": {
1174
+ "product_id": 154,
1175
+ "name": "Apex Men's Grooming Kit 10-in-1",
1176
+ "reason": "broken_assets"
1177
+ }
1178
+ },
1179
+ {
1180
+ "timestamp": "2026-03-12T21:51:40.413702",
1181
+ "action": "QUARANTINE_PRODUCT",
1182
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
1183
+ "severity": "INFO",
1184
+ "metadata": {
1185
+ "product_id": 161,
1186
+ "name": "Master Men's Grooming Kit 10-in-1",
1187
+ "reason": "broken_assets"
1188
+ }
1189
+ },
1190
+ {
1191
+ "timestamp": "2026-03-12T21:51:40.476173",
1192
+ "action": "QUARANTINE_PRODUCT",
1193
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
1194
+ "severity": "INFO",
1195
+ "metadata": {
1196
+ "product_id": 162,
1197
+ "name": "Advanced Men's Grooming Kit 10-in-1 43",
1198
+ "reason": "broken_assets"
1199
+ }
1200
+ },
1201
+ {
1202
+ "timestamp": "2026-03-12T21:51:40.551153",
1203
+ "action": "QUARANTINE_PRODUCT",
1204
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71+vPOnN+TL._AC_SL1500_.jpg']",
1205
+ "severity": "INFO",
1206
+ "metadata": {
1207
+ "product_id": 193,
1208
+ "name": "Apex 4K Ultra HD Dashcam",
1209
+ "reason": "broken_assets"
1210
+ }
1211
+ },
1212
+ {
1213
+ "timestamp": "2026-03-12T21:51:40.654938",
1214
+ "action": "QUARANTINE_PRODUCT",
1215
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
1216
+ "severity": "INFO",
1217
+ "metadata": {
1218
+ "product_id": 201,
1219
+ "name": "Legacy Men's Grooming Kit 10-in-1 97",
1220
+ "reason": "broken_assets"
1221
+ }
1222
+ },
1223
+ {
1224
+ "timestamp": "2026-03-12T21:51:40.749974",
1225
+ "action": "QUARANTINE_PRODUCT",
1226
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
1227
+ "severity": "INFO",
1228
+ "metadata": {
1229
+ "product_id": 229,
1230
+ "name": "Titan Men's Grooming Kit 10-in-1 65",
1231
+ "reason": "broken_assets"
1232
+ }
1233
+ },
1234
+ {
1235
+ "timestamp": "2026-03-12T21:51:40.814168",
1236
+ "action": "QUARANTINE_PRODUCT",
1237
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
1238
+ "severity": "INFO",
1239
+ "metadata": {
1240
+ "product_id": 231,
1241
+ "name": "Ultra Electric Toothbrush Sonic 47",
1242
+ "reason": "broken_assets"
1243
+ }
1244
+ },
1245
+ {
1246
+ "timestamp": "2026-03-12T21:51:40.895659",
1247
+ "action": "QUARANTINE_PRODUCT",
1248
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
1249
+ "severity": "INFO",
1250
+ "metadata": {
1251
+ "product_id": 232,
1252
+ "name": "Elite Men's Grooming Kit 10-in-1",
1253
+ "reason": "broken_assets"
1254
+ }
1255
+ },
1256
+ {
1257
+ "timestamp": "2026-03-12T21:51:41.001925",
1258
+ "action": "QUARANTINE_PRODUCT",
1259
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
1260
+ "severity": "INFO",
1261
+ "metadata": {
1262
+ "product_id": 233,
1263
+ "name": "Ultra Electric Toothbrush Sonic",
1264
+ "reason": "broken_assets"
1265
+ }
1266
+ },
1267
+ {
1268
+ "timestamp": "2026-03-12T21:51:41.097992",
1269
+ "action": "QUARANTINE_PRODUCT",
1270
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71+vPOnN+TL._AC_SL1500_.jpg']",
1271
+ "severity": "INFO",
1272
+ "metadata": {
1273
+ "product_id": 240,
1274
+ "name": "Elite 4K Ultra HD Dashcam",
1275
+ "reason": "broken_assets"
1276
+ }
1277
+ },
1278
+ {
1279
+ "timestamp": "2026-03-12T21:51:41.183645",
1280
+ "action": "QUARANTINE_PRODUCT",
1281
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
1282
+ "severity": "INFO",
1283
+ "metadata": {
1284
+ "product_id": 256,
1285
+ "name": "Ultra Men's Grooming Kit 10-in-1 83",
1286
+ "reason": "broken_assets"
1287
+ }
1288
+ },
1289
+ {
1290
+ "timestamp": "2026-03-12T21:51:41.263836",
1291
+ "action": "QUARANTINE_PRODUCT",
1292
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
1293
+ "severity": "INFO",
1294
+ "metadata": {
1295
+ "product_id": 265,
1296
+ "name": "Precision Electric Toothbrush Sonic 96",
1297
+ "reason": "broken_assets"
1298
+ }
1299
+ },
1300
+ {
1301
+ "timestamp": "2026-03-12T21:51:41.332010",
1302
+ "action": "QUARANTINE_PRODUCT",
1303
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
1304
+ "severity": "INFO",
1305
+ "metadata": {
1306
+ "product_id": 266,
1307
+ "name": "Apex Men's Grooming Kit 10-in-1 76",
1308
+ "reason": "broken_assets"
1309
+ }
1310
+ },
1311
+ {
1312
+ "timestamp": "2026-03-12T21:51:41.420359",
1313
+ "action": "QUARANTINE_PRODUCT",
1314
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
1315
+ "severity": "INFO",
1316
+ "metadata": {
1317
+ "product_id": 273,
1318
+ "name": "Nova Men's Grooming Kit 10-in-1 93",
1319
+ "reason": "broken_assets"
1320
+ }
1321
+ },
1322
+ {
1323
+ "timestamp": "2026-03-12T21:51:41.491583",
1324
+ "action": "QUARANTINE_PRODUCT",
1325
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71+vPOnN+TL._AC_SL1500_.jpg']",
1326
+ "severity": "INFO",
1327
+ "metadata": {
1328
+ "product_id": 283,
1329
+ "name": "Master 4K Ultra HD Dashcam",
1330
+ "reason": "broken_assets"
1331
+ }
1332
+ },
1333
+ {
1334
+ "timestamp": "2026-03-12T21:51:41.559585",
1335
+ "action": "QUARANTINE_PRODUCT",
1336
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71+vPOnN+TL._AC_SL1500_.jpg']",
1337
+ "severity": "INFO",
1338
+ "metadata": {
1339
+ "product_id": 294,
1340
+ "name": "Precision 4K Ultra HD Dashcam",
1341
+ "reason": "broken_assets"
1342
+ }
1343
+ },
1344
+ {
1345
+ "timestamp": "2026-03-12T21:51:41.648315",
1346
+ "action": "QUARANTINE_PRODUCT",
1347
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71+vPOnN+TL._AC_SL1500_.jpg']",
1348
+ "severity": "INFO",
1349
+ "metadata": {
1350
+ "product_id": 296,
1351
+ "name": "Quantum 4K Ultra HD Dashcam 68",
1352
+ "reason": "broken_assets"
1353
+ }
1354
+ },
1355
+ {
1356
+ "timestamp": "2026-03-12T21:51:41.746376",
1357
+ "action": "QUARANTINE_PRODUCT",
1358
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
1359
+ "severity": "INFO",
1360
+ "metadata": {
1361
+ "product_id": 306,
1362
+ "name": "Nova Men's Grooming Kit 10-in-1",
1363
+ "reason": "broken_assets"
1364
+ }
1365
+ },
1366
+ {
1367
+ "timestamp": "2026-03-12T21:51:41.829247",
1368
+ "action": "QUARANTINE_PRODUCT",
1369
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
1370
+ "severity": "INFO",
1371
+ "metadata": {
1372
+ "product_id": 312,
1373
+ "name": "Precision Electric Toothbrush Sonic 14",
1374
+ "reason": "broken_assets"
1375
+ }
1376
+ },
1377
+ {
1378
+ "timestamp": "2026-03-12T21:51:41.956120",
1379
+ "action": "QUARANTINE_PRODUCT",
1380
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
1381
+ "severity": "INFO",
1382
+ "metadata": {
1383
+ "product_id": 321,
1384
+ "name": "Precision Men's Grooming Kit 10-in-1 20",
1385
+ "reason": "broken_assets"
1386
+ }
1387
+ },
1388
+ {
1389
+ "timestamp": "2026-03-12T21:51:42.056348",
1390
+ "action": "QUARANTINE_PRODUCT",
1391
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
1392
+ "severity": "INFO",
1393
+ "metadata": {
1394
+ "product_id": 322,
1395
+ "name": "Advanced Men's Grooming Kit 10-in-1",
1396
+ "reason": "broken_assets"
1397
+ }
1398
+ },
1399
+ {
1400
+ "timestamp": "2026-03-12T21:51:42.133203",
1401
+ "action": "QUARANTINE_PRODUCT",
1402
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
1403
+ "severity": "INFO",
1404
+ "metadata": {
1405
+ "product_id": 332,
1406
+ "name": "Advanced Electric Toothbrush Sonic 59",
1407
+ "reason": "broken_assets"
1408
+ }
1409
+ },
1410
+ {
1411
+ "timestamp": "2026-03-12T21:51:42.210281",
1412
+ "action": "QUARANTINE_PRODUCT",
1413
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
1414
+ "severity": "INFO",
1415
+ "metadata": {
1416
+ "product_id": 334,
1417
+ "name": "Master Electric Toothbrush Sonic",
1418
+ "reason": "broken_assets"
1419
+ }
1420
+ },
1421
+ {
1422
+ "timestamp": "2026-03-12T21:51:42.293439",
1423
+ "action": "QUARANTINE_PRODUCT",
1424
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71+vPOnN+TL._AC_SL1500_.jpg']",
1425
+ "severity": "INFO",
1426
+ "metadata": {
1427
+ "product_id": 349,
1428
+ "name": "Legacy 4K Ultra HD Dashcam",
1429
+ "reason": "broken_assets"
1430
+ }
1431
+ },
1432
+ {
1433
+ "timestamp": "2026-03-12T21:51:42.363488",
1434
+ "action": "QUARANTINE_PRODUCT",
1435
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
1436
+ "severity": "INFO",
1437
+ "metadata": {
1438
+ "product_id": 350,
1439
+ "name": "Prime Electric Toothbrush Sonic 25",
1440
+ "reason": "broken_assets"
1441
+ }
1442
+ },
1443
+ {
1444
+ "timestamp": "2026-03-12T21:51:42.439385",
1445
+ "action": "QUARANTINE_PRODUCT",
1446
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
1447
+ "severity": "INFO",
1448
+ "metadata": {
1449
+ "product_id": 354,
1450
+ "name": "Nova Electric Toothbrush Sonic",
1451
+ "reason": "broken_assets"
1452
+ }
1453
+ },
1454
+ {
1455
+ "timestamp": "2026-03-12T21:51:42.522157",
1456
+ "action": "QUARANTINE_PRODUCT",
1457
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
1458
+ "severity": "INFO",
1459
+ "metadata": {
1460
+ "product_id": 377,
1461
+ "name": "Nova Electric Toothbrush Sonic 32",
1462
+ "reason": "broken_assets"
1463
+ }
1464
+ },
1465
+ {
1466
+ "timestamp": "2026-03-12T21:51:42.601175",
1467
+ "action": "QUARANTINE_PRODUCT",
1468
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/71+vPOnN+TL._AC_SL1500_.jpg']",
1469
+ "severity": "INFO",
1470
+ "metadata": {
1471
+ "product_id": 395,
1472
+ "name": "Master 4K Ultra HD Dashcam 27",
1473
+ "reason": "broken_assets"
1474
+ }
1475
+ },
1476
+ {
1477
+ "timestamp": "2026-03-12T21:51:42.682382",
1478
+ "action": "QUARANTINE_PRODUCT",
1479
+ "details": "Broken images detected: ['https://m.media-amazon.com/images/I/618SshT29XL._AC_SL1500_.jpg']",
1480
+ "severity": "INFO",
1481
+ "metadata": {
1482
+ "product_id": 400,
1483
+ "name": "Elite Electric Toothbrush Sonic",
1484
+ "reason": "broken_assets"
1485
+ }
1486
+ }
1487
+ ]
logs/audit_trail.json ADDED
@@ -0,0 +1,2770 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "timestamp": "2026-03-12T09:08:13.010453",
4
+ "user": "System",
5
+ "product_id": 1,
6
+ "product_name": "Apple MacBook Pro Pro Max",
7
+ "reason": "Failed 404 check for all main images",
8
+ "status": "FLAGGED_FOR_DELETION"
9
+ },
10
+ {
11
+ "timestamp": "2026-03-12T09:08:13.011963",
12
+ "user": "System",
13
+ "product_id": 7,
14
+ "product_name": "Apple Watch Ultra Elite",
15
+ "reason": "Failed 404 check for all main images",
16
+ "status": "FLAGGED_FOR_DELETION"
17
+ },
18
+ {
19
+ "timestamp": "2026-03-12T09:08:13.036020",
20
+ "user": "System",
21
+ "product_id": 8,
22
+ "product_name": "Dior J'adore Ultra Series",
23
+ "reason": "Failed 404 check for all main images",
24
+ "status": "FLAGGED_FOR_DELETION"
25
+ },
26
+ {
27
+ "timestamp": "2026-03-12T09:08:13.057243",
28
+ "user": "System",
29
+ "product_id": 24,
30
+ "product_name": "Apple iPhone 14 Global Edition",
31
+ "reason": "Failed 404 check for all main images",
32
+ "status": "FLAGGED_FOR_DELETION"
33
+ },
34
+ {
35
+ "timestamp": "2026-03-12T09:08:13.078238",
36
+ "user": "System",
37
+ "product_id": 25,
38
+ "product_name": "Apple iPad Air Luxury",
39
+ "reason": "Failed 404 check for all main images",
40
+ "status": "FLAGGED_FOR_DELETION"
41
+ },
42
+ {
43
+ "timestamp": "2026-03-12T09:08:13.099835",
44
+ "user": "System",
45
+ "product_id": 34,
46
+ "product_name": "Xiaomi Xiaomi 14 Global Edition",
47
+ "reason": "Failed 404 check for all main images",
48
+ "status": "FLAGGED_FOR_DELETION"
49
+ },
50
+ {
51
+ "timestamp": "2026-03-12T09:08:13.121954",
52
+ "user": "System",
53
+ "product_id": 36,
54
+ "product_name": "Sony Bravia XR Global Edition",
55
+ "reason": "Failed 404 check for all main images",
56
+ "status": "FLAGGED_FOR_DELETION"
57
+ },
58
+ {
59
+ "timestamp": "2026-03-12T09:08:13.150530",
60
+ "user": "System",
61
+ "product_id": 42,
62
+ "product_name": "HP Pavilion Plus Elite",
63
+ "reason": "Failed 404 check for all main images",
64
+ "status": "FLAGGED_FOR_DELETION"
65
+ },
66
+ {
67
+ "timestamp": "2026-03-12T09:08:13.179261",
68
+ "user": "System",
69
+ "product_id": 43,
70
+ "product_name": "Dyson Airwrap Multi-Styler Pro Max",
71
+ "reason": "Failed 404 check for all main images",
72
+ "status": "FLAGGED_FOR_DELETION"
73
+ },
74
+ {
75
+ "timestamp": "2026-03-12T09:08:13.202823",
76
+ "user": "System",
77
+ "product_id": 49,
78
+ "product_name": "Samsung Galaxy Z Fold Ultra Series",
79
+ "reason": "Failed 404 check for all main images",
80
+ "status": "FLAGGED_FOR_DELETION"
81
+ },
82
+ {
83
+ "timestamp": "2026-03-12T09:08:13.224933",
84
+ "user": "System",
85
+ "product_id": 61,
86
+ "product_name": "Xiaomi Poco X6 Pro Max",
87
+ "reason": "Failed 404 check for all main images",
88
+ "status": "FLAGGED_FOR_DELETION"
89
+ },
90
+ {
91
+ "timestamp": "2026-03-12T09:08:13.245766",
92
+ "user": "System",
93
+ "product_id": 65,
94
+ "product_name": "Chanel Allure Pro Max",
95
+ "reason": "Failed 404 check for all main images",
96
+ "status": "FLAGGED_FOR_DELETION"
97
+ },
98
+ {
99
+ "timestamp": "2026-03-12T09:08:13.266457",
100
+ "user": "System",
101
+ "product_id": 67,
102
+ "product_name": "Samsung Galaxy S24 Pro Max",
103
+ "reason": "Failed 404 check for all main images",
104
+ "status": "FLAGGED_FOR_DELETION"
105
+ },
106
+ {
107
+ "timestamp": "2026-03-12T09:08:13.287742",
108
+ "user": "System",
109
+ "product_id": 75,
110
+ "product_name": "Apple iPhone 14 Luxury",
111
+ "reason": "Failed 404 check for all main images",
112
+ "status": "FLAGGED_FOR_DELETION"
113
+ },
114
+ {
115
+ "timestamp": "2026-03-12T09:08:13.308920",
116
+ "user": "System",
117
+ "product_id": 76,
118
+ "product_name": "Apple MacBook Pro Luxury",
119
+ "reason": "Failed 404 check for all main images",
120
+ "status": "FLAGGED_FOR_DELETION"
121
+ },
122
+ {
123
+ "timestamp": "2026-03-12T09:08:13.330761",
124
+ "user": "System",
125
+ "product_id": 79,
126
+ "product_name": "Dyson Pure Cool Pro Max",
127
+ "reason": "Failed 404 check for all main images",
128
+ "status": "FLAGGED_FOR_DELETION"
129
+ },
130
+ {
131
+ "timestamp": "2026-03-12T09:08:13.352460",
132
+ "user": "System",
133
+ "product_id": 80,
134
+ "product_name": "Apple Watch Ultra Special 2024",
135
+ "reason": "Failed 404 check for all main images",
136
+ "status": "FLAGGED_FOR_DELETION"
137
+ },
138
+ {
139
+ "timestamp": "2026-03-12T09:08:13.395232",
140
+ "user": "System",
141
+ "product_id": 82,
142
+ "product_name": "Apple MacBook Pro Ultra Series",
143
+ "reason": "Failed 404 check for all main images",
144
+ "status": "FLAGGED_FOR_DELETION"
145
+ },
146
+ {
147
+ "timestamp": "2026-03-12T09:08:13.469270",
148
+ "user": "System",
149
+ "product_id": 92,
150
+ "product_name": "Google Pixel 8 Pro Pro Max",
151
+ "reason": "Failed 404 check for all main images",
152
+ "status": "FLAGGED_FOR_DELETION"
153
+ },
154
+ {
155
+ "timestamp": "2026-03-12T09:08:13.508192",
156
+ "user": "System",
157
+ "product_id": 96,
158
+ "product_name": "Xiaomi Xiaomi 14 Elite",
159
+ "reason": "Failed 404 check for all main images",
160
+ "status": "FLAGGED_FOR_DELETION"
161
+ },
162
+ {
163
+ "timestamp": "2026-03-12T09:08:13.558800",
164
+ "user": "System",
165
+ "product_id": 97,
166
+ "product_name": "Google Pixel 7a Global Edition",
167
+ "reason": "Failed 404 check for all main images",
168
+ "status": "FLAGGED_FOR_DELETION"
169
+ },
170
+ {
171
+ "timestamp": "2026-03-12T09:08:13.586116",
172
+ "user": "System",
173
+ "product_id": 117,
174
+ "product_name": "Dell XPS 13 Luxury",
175
+ "reason": "Failed 404 check for all main images",
176
+ "status": "FLAGGED_FOR_DELETION"
177
+ },
178
+ {
179
+ "timestamp": "2026-03-12T09:08:13.620207",
180
+ "user": "System",
181
+ "product_id": 118,
182
+ "product_name": "Xiaomi Redmi Note 13 Special 2024",
183
+ "reason": "Failed 404 check for all main images",
184
+ "status": "FLAGGED_FOR_DELETION"
185
+ },
186
+ {
187
+ "timestamp": "2026-03-12T09:08:13.646426",
188
+ "user": "System",
189
+ "product_id": 121,
190
+ "product_name": "Chanel Allure Special 2024",
191
+ "reason": "Failed 404 check for all main images",
192
+ "status": "FLAGGED_FOR_DELETION"
193
+ },
194
+ {
195
+ "timestamp": "2026-03-12T09:08:13.681581",
196
+ "user": "System",
197
+ "product_id": 122,
198
+ "product_name": "Apple Watch Ultra Global Edition",
199
+ "reason": "Failed 404 check for all main images",
200
+ "status": "FLAGGED_FOR_DELETION"
201
+ },
202
+ {
203
+ "timestamp": "2026-03-12T09:08:13.703303",
204
+ "user": "System",
205
+ "product_id": 124,
206
+ "product_name": "HP Envy x360 Pro Max",
207
+ "reason": "Failed 404 check for all main images",
208
+ "status": "FLAGGED_FOR_DELETION"
209
+ },
210
+ {
211
+ "timestamp": "2026-03-12T09:08:13.724233",
212
+ "user": "System",
213
+ "product_id": 137,
214
+ "product_name": "Dell Precision 5570 Pro Max",
215
+ "reason": "Failed 404 check for all main images",
216
+ "status": "FLAGGED_FOR_DELETION"
217
+ },
218
+ {
219
+ "timestamp": "2026-03-12T09:08:13.746031",
220
+ "user": "System",
221
+ "product_id": 140,
222
+ "product_name": "Samsung Galaxy Z Fold Luxury",
223
+ "reason": "Failed 404 check for all main images",
224
+ "status": "FLAGGED_FOR_DELETION"
225
+ },
226
+ {
227
+ "timestamp": "2026-03-12T09:08:13.769362",
228
+ "user": "System",
229
+ "product_id": 144,
230
+ "product_name": "Dior Dior Homme Elite",
231
+ "reason": "Failed 404 check for all main images",
232
+ "status": "FLAGGED_FOR_DELETION"
233
+ },
234
+ {
235
+ "timestamp": "2026-03-12T09:08:13.791682",
236
+ "user": "System",
237
+ "product_id": 145,
238
+ "product_name": "Sony Bravia XR Luxury",
239
+ "reason": "Failed 404 check for all main images",
240
+ "status": "FLAGGED_FOR_DELETION"
241
+ },
242
+ {
243
+ "timestamp": "2026-03-12T09:08:13.811343",
244
+ "user": "System",
245
+ "product_id": 157,
246
+ "product_name": "Xiaomi Redmi Pad Ultra Series",
247
+ "reason": "Failed 404 check for all main images",
248
+ "status": "FLAGGED_FOR_DELETION"
249
+ },
250
+ {
251
+ "timestamp": "2026-03-12T09:08:13.837333",
252
+ "user": "System",
253
+ "product_id": 160,
254
+ "product_name": "Dell XPS 15 Elite",
255
+ "reason": "Failed 404 check for all main images",
256
+ "status": "FLAGGED_FOR_DELETION"
257
+ },
258
+ {
259
+ "timestamp": "2026-03-12T09:08:13.858991",
260
+ "user": "System",
261
+ "product_id": 161,
262
+ "product_name": "Dior Miss Dior Ultra Series",
263
+ "reason": "Failed 404 check for all main images",
264
+ "status": "FLAGGED_FOR_DELETION"
265
+ },
266
+ {
267
+ "timestamp": "2026-03-12T09:08:13.881701",
268
+ "user": "System",
269
+ "product_id": 169,
270
+ "product_name": "Xiaomi Redmi Note 13 Ultra Series",
271
+ "reason": "Failed 404 check for all main images",
272
+ "status": "FLAGGED_FOR_DELETION"
273
+ },
274
+ {
275
+ "timestamp": "2026-03-12T09:08:13.901884",
276
+ "user": "System",
277
+ "product_id": 177,
278
+ "product_name": "Chanel Coco Mademoiselle Global Edition",
279
+ "reason": "Failed 404 check for all main images",
280
+ "status": "FLAGGED_FOR_DELETION"
281
+ },
282
+ {
283
+ "timestamp": "2026-03-12T09:08:13.925019",
284
+ "user": "System",
285
+ "product_id": 183,
286
+ "product_name": "Dell Precision 5570 Global Edition",
287
+ "reason": "Failed 404 check for all main images",
288
+ "status": "FLAGGED_FOR_DELETION"
289
+ },
290
+ {
291
+ "timestamp": "2026-03-12T09:08:13.943809",
292
+ "user": "System",
293
+ "product_id": 187,
294
+ "product_name": "HP Envy x360 Ultra Series",
295
+ "reason": "Failed 404 check for all main images",
296
+ "status": "FLAGGED_FOR_DELETION"
297
+ },
298
+ {
299
+ "timestamp": "2026-03-12T09:08:13.975274",
300
+ "user": "System",
301
+ "product_id": 189,
302
+ "product_name": "Sony PlayStation 5 Elite",
303
+ "reason": "Failed 404 check for all main images",
304
+ "status": "FLAGGED_FOR_DELETION"
305
+ },
306
+ {
307
+ "timestamp": "2026-03-12T09:08:14.009812",
308
+ "user": "System",
309
+ "product_id": 191,
310
+ "product_name": "HP Pavilion Plus Pro Max",
311
+ "reason": "Failed 404 check for all main images",
312
+ "status": "FLAGGED_FOR_DELETION"
313
+ },
314
+ {
315
+ "timestamp": "2026-03-12T09:08:14.033078",
316
+ "user": "System",
317
+ "product_id": 195,
318
+ "product_name": "Sony Alpha A7 IV Pro Max",
319
+ "reason": "Failed 404 check for all main images",
320
+ "status": "FLAGGED_FOR_DELETION"
321
+ },
322
+ {
323
+ "timestamp": "2026-03-12T09:08:14.064859",
324
+ "user": "System",
325
+ "product_id": 198,
326
+ "product_name": "Apple MacBook Pro Global Edition",
327
+ "reason": "Failed 404 check for all main images",
328
+ "status": "FLAGGED_FOR_DELETION"
329
+ },
330
+ {
331
+ "timestamp": "2026-03-12T09:29:30.684900",
332
+ "user": "System",
333
+ "product_id": 8,
334
+ "product_name": "Dyson V15 Detect Global Edition v3 2025",
335
+ "reason": "Failed 404 check for all main images",
336
+ "status": "FLAGGED_FOR_DELETION"
337
+ },
338
+ {
339
+ "timestamp": "2026-03-12T09:29:30.688900",
340
+ "user": "System",
341
+ "product_id": 14,
342
+ "product_name": "HP Victus 16 Business Gen 2 2023",
343
+ "reason": "Failed 404 check for all main images",
344
+ "status": "FLAGGED_FOR_DELETION"
345
+ },
346
+ {
347
+ "timestamp": "2026-03-12T09:29:30.718901",
348
+ "user": "System",
349
+ "product_id": 18,
350
+ "product_name": "Dior Miss Dior Elite Gen 3 2025",
351
+ "reason": "Failed 404 check for all main images",
352
+ "status": "FLAGGED_FOR_DELETION"
353
+ },
354
+ {
355
+ "timestamp": "2026-03-12T09:29:30.756691",
356
+ "user": "System",
357
+ "product_id": 19,
358
+ "product_name": "Samsung Galaxy S24 Alpha Gen 3 2024",
359
+ "reason": "Failed 404 check for all main images",
360
+ "status": "FLAGGED_FOR_DELETION"
361
+ },
362
+ {
363
+ "timestamp": "2026-03-12T09:29:30.777923",
364
+ "user": "System",
365
+ "product_id": 26,
366
+ "product_name": "Dyson Pure Cool Ultra Series Edition 2025 2025",
367
+ "reason": "Failed 404 check for all main images",
368
+ "status": "FLAGGED_FOR_DELETION"
369
+ },
370
+ {
371
+ "timestamp": "2026-03-12T09:29:30.911699",
372
+ "user": "System",
373
+ "product_id": 29,
374
+ "product_name": "Dior J'adore Pro Max Gen 3 2023",
375
+ "reason": "Failed 404 check for all main images",
376
+ "status": "FLAGGED_FOR_DELETION"
377
+ },
378
+ {
379
+ "timestamp": "2026-03-12T09:29:30.934487",
380
+ "user": "System",
381
+ "product_id": 36,
382
+ "product_name": "Chanel Coco Mademoiselle Home Edition 2024 2023",
383
+ "reason": "Failed 404 check for all main images",
384
+ "status": "FLAGGED_FOR_DELETION"
385
+ },
386
+ {
387
+ "timestamp": "2026-03-12T09:29:30.957254",
388
+ "user": "System",
389
+ "product_id": 39,
390
+ "product_name": "Xiaomi Redmi Note 13 X v1 2025",
391
+ "reason": "Failed 404 check for all main images",
392
+ "status": "FLAGGED_FOR_DELETION"
393
+ },
394
+ {
395
+ "timestamp": "2026-03-12T09:29:30.978484",
396
+ "user": "System",
397
+ "product_id": 45,
398
+ "product_name": "Dyson Solarcycle Luxury Gen 2 2023",
399
+ "reason": "Failed 404 check for all main images",
400
+ "status": "FLAGGED_FOR_DELETION"
401
+ },
402
+ {
403
+ "timestamp": "2026-03-12T09:29:30.999056",
404
+ "user": "System",
405
+ "product_id": 53,
406
+ "product_name": "Samsung Galaxy S24 Global Edition Gen 2 2024",
407
+ "reason": "Failed 404 check for all main images",
408
+ "status": "FLAGGED_FOR_DELETION"
409
+ },
410
+ {
411
+ "timestamp": "2026-03-12T09:29:31.021859",
412
+ "user": "System",
413
+ "product_id": 61,
414
+ "product_name": "Dell Precision 5570 Elite Gen 3 2025",
415
+ "reason": "Failed 404 check for all main images",
416
+ "status": "FLAGGED_FOR_DELETION"
417
+ },
418
+ {
419
+ "timestamp": "2026-03-12T09:29:31.045925",
420
+ "user": "System",
421
+ "product_id": 64,
422
+ "product_name": "Chanel Coco Mademoiselle Alpha Edition 2025 2024",
423
+ "reason": "Failed 404 check for all main images",
424
+ "status": "FLAGGED_FOR_DELETION"
425
+ },
426
+ {
427
+ "timestamp": "2026-03-12T09:29:31.068852",
428
+ "user": "System",
429
+ "product_id": 65,
430
+ "product_name": "Samsung Galaxy S24 Global Edition Gen 3 2024",
431
+ "reason": "Failed 404 check for all main images",
432
+ "status": "FLAGGED_FOR_DELETION"
433
+ },
434
+ {
435
+ "timestamp": "2026-03-12T09:29:31.171956",
436
+ "user": "System",
437
+ "product_id": 69,
438
+ "product_name": "Samsung Galaxy Buds Global Edition v1 2025",
439
+ "reason": "Failed 404 check for all main images",
440
+ "status": "FLAGGED_FOR_DELETION"
441
+ },
442
+ {
443
+ "timestamp": "2026-03-12T09:29:31.196571",
444
+ "user": "System",
445
+ "product_id": 71,
446
+ "product_name": "Dyson V15 Detect Ultra Series Edition 2024 2023",
447
+ "reason": "Failed 404 check for all main images",
448
+ "status": "FLAGGED_FOR_DELETION"
449
+ },
450
+ {
451
+ "timestamp": "2026-03-12T09:29:31.219896",
452
+ "user": "System",
453
+ "product_id": 72,
454
+ "product_name": "Dyson Pure Cool Special Gen 2 2023",
455
+ "reason": "Failed 404 check for all main images",
456
+ "status": "FLAGGED_FOR_DELETION"
457
+ },
458
+ {
459
+ "timestamp": "2026-03-12T09:29:31.244809",
460
+ "user": "System",
461
+ "product_id": 76,
462
+ "product_name": "Dior Miss Dior Pro Max v1 2025",
463
+ "reason": "Failed 404 check for all main images",
464
+ "status": "FLAGGED_FOR_DELETION"
465
+ },
466
+ {
467
+ "timestamp": "2026-03-12T09:29:31.271429",
468
+ "user": "System",
469
+ "product_id": 82,
470
+ "product_name": "Sony PlayStation 5 Global Edition v3 2023",
471
+ "reason": "Failed 404 check for all main images",
472
+ "status": "FLAGGED_FOR_DELETION"
473
+ },
474
+ {
475
+ "timestamp": "2026-03-12T09:29:31.294723",
476
+ "user": "System",
477
+ "product_id": 83,
478
+ "product_name": "Apple MacBook Pro Elite Gen 3 2024",
479
+ "reason": "Failed 404 check for all main images",
480
+ "status": "FLAGGED_FOR_DELETION"
481
+ },
482
+ {
483
+ "timestamp": "2026-03-12T09:29:31.365344",
484
+ "user": "System",
485
+ "product_id": 93,
486
+ "product_name": "Apple iPad Air X Edition 2025 2024",
487
+ "reason": "Failed 404 check for all main images",
488
+ "status": "FLAGGED_FOR_DELETION"
489
+ },
490
+ {
491
+ "timestamp": "2026-03-12T09:29:31.458027",
492
+ "user": "System",
493
+ "product_id": 96,
494
+ "product_name": "Dior Sauvage Elite v3 2024",
495
+ "reason": "Failed 404 check for all main images",
496
+ "status": "FLAGGED_FOR_DELETION"
497
+ },
498
+ {
499
+ "timestamp": "2026-03-12T09:29:31.560162",
500
+ "user": "System",
501
+ "product_id": 103,
502
+ "product_name": "Dior Miss Dior Business v3 2024",
503
+ "reason": "Failed 404 check for all main images",
504
+ "status": "FLAGGED_FOR_DELETION"
505
+ },
506
+ {
507
+ "timestamp": "2026-03-12T09:29:31.678575",
508
+ "user": "System",
509
+ "product_id": 105,
510
+ "product_name": "Dior Miss Dior Special Gen 3 2025",
511
+ "reason": "Failed 404 check for all main images",
512
+ "status": "FLAGGED_FOR_DELETION"
513
+ },
514
+ {
515
+ "timestamp": "2026-03-12T09:29:31.708489",
516
+ "user": "System",
517
+ "product_id": 107,
518
+ "product_name": "Google Pixel Watch 2 Global Edition v1 2024",
519
+ "reason": "Failed 404 check for all main images",
520
+ "status": "FLAGGED_FOR_DELETION"
521
+ },
522
+ {
523
+ "timestamp": "2026-03-12T09:29:31.838516",
524
+ "user": "System",
525
+ "product_id": 116,
526
+ "product_name": "Dyson Pure Cool Alpha v3 2023",
527
+ "reason": "Failed 404 check for all main images",
528
+ "status": "FLAGGED_FOR_DELETION"
529
+ },
530
+ {
531
+ "timestamp": "2026-03-12T09:29:31.953385",
532
+ "user": "System",
533
+ "product_id": 124,
534
+ "product_name": "HP OMEN 17 Luxury Edition 2024 2025",
535
+ "reason": "Failed 404 check for all main images",
536
+ "status": "FLAGGED_FOR_DELETION"
537
+ },
538
+ {
539
+ "timestamp": "2026-03-12T09:29:32.031920",
540
+ "user": "System",
541
+ "product_id": 128,
542
+ "product_name": "Sony PlayStation 5 Elite v1 2024",
543
+ "reason": "Failed 404 check for all main images",
544
+ "status": "FLAGGED_FOR_DELETION"
545
+ },
546
+ {
547
+ "timestamp": "2026-03-12T09:29:32.113273",
548
+ "user": "System",
549
+ "product_id": 132,
550
+ "product_name": "Apple MacBook Pro Ultra Series Gen 2 2025",
551
+ "reason": "Failed 404 check for all main images",
552
+ "status": "FLAGGED_FOR_DELETION"
553
+ },
554
+ {
555
+ "timestamp": "2026-03-12T09:29:32.136117",
556
+ "user": "System",
557
+ "product_id": 134,
558
+ "product_name": "Chanel Bleu de Chanel Elite Gen 2 2025",
559
+ "reason": "Failed 404 check for all main images",
560
+ "status": "FLAGGED_FOR_DELETION"
561
+ },
562
+ {
563
+ "timestamp": "2026-03-12T09:29:32.158509",
564
+ "user": "System",
565
+ "product_id": 135,
566
+ "product_name": "Samsung Galaxy Z Fold X v3 2023",
567
+ "reason": "Failed 404 check for all main images",
568
+ "status": "FLAGGED_FOR_DELETION"
569
+ },
570
+ {
571
+ "timestamp": "2026-03-12T09:29:32.233289",
572
+ "user": "System",
573
+ "product_id": 138,
574
+ "product_name": "Dyson Airwrap Multi-Styler Special v3 2024",
575
+ "reason": "Failed 404 check for all main images",
576
+ "status": "FLAGGED_FOR_DELETION"
577
+ },
578
+ {
579
+ "timestamp": "2026-03-12T09:29:32.470675",
580
+ "user": "System",
581
+ "product_id": 144,
582
+ "product_name": "Dell Precision 5570 Ultra Series v2 2023",
583
+ "reason": "Failed 404 check for all main images",
584
+ "status": "FLAGGED_FOR_DELETION"
585
+ },
586
+ {
587
+ "timestamp": "2026-03-12T09:29:32.587433",
588
+ "user": "System",
589
+ "product_id": 148,
590
+ "product_name": "Dior Sauvage Ultra Series Gen 3 2023",
591
+ "reason": "Failed 404 check for all main images",
592
+ "status": "FLAGGED_FOR_DELETION"
593
+ },
594
+ {
595
+ "timestamp": "2026-03-12T09:29:32.772904",
596
+ "user": "System",
597
+ "product_id": 152,
598
+ "product_name": "Dior J'adore Business Gen 2 2023",
599
+ "reason": "Failed 404 check for all main images",
600
+ "status": "FLAGGED_FOR_DELETION"
601
+ },
602
+ {
603
+ "timestamp": "2026-03-12T09:29:32.989428",
604
+ "user": "System",
605
+ "product_id": 154,
606
+ "product_name": "Dyson Airwrap Multi-Styler Business Edition 2024 2025",
607
+ "reason": "Failed 404 check for all main images",
608
+ "status": "FLAGGED_FOR_DELETION"
609
+ },
610
+ {
611
+ "timestamp": "2026-03-12T09:29:33.012668",
612
+ "user": "System",
613
+ "product_id": 155,
614
+ "product_name": "HP Envy x360 Alpha v3 2024",
615
+ "reason": "Failed 404 check for all main images",
616
+ "status": "FLAGGED_FOR_DELETION"
617
+ },
618
+ {
619
+ "timestamp": "2026-03-12T09:29:33.034590",
620
+ "user": "System",
621
+ "product_id": 158,
622
+ "product_name": "Samsung Galaxy S24 Pro Max Gen 3 2024",
623
+ "reason": "Failed 404 check for all main images",
624
+ "status": "FLAGGED_FOR_DELETION"
625
+ },
626
+ {
627
+ "timestamp": "2026-03-12T09:29:33.056626",
628
+ "user": "System",
629
+ "product_id": 159,
630
+ "product_name": "Apple MacBook Pro Pro Max Edition 2025 2024",
631
+ "reason": "Failed 404 check for all main images",
632
+ "status": "FLAGGED_FOR_DELETION"
633
+ },
634
+ {
635
+ "timestamp": "2026-03-12T09:29:33.146962",
636
+ "user": "System",
637
+ "product_id": 160,
638
+ "product_name": "Dyson Airwrap Multi-Styler Business v1 2024",
639
+ "reason": "Failed 404 check for all main images",
640
+ "status": "FLAGGED_FOR_DELETION"
641
+ },
642
+ {
643
+ "timestamp": "2026-03-12T09:29:33.255186",
644
+ "user": "System",
645
+ "product_id": 165,
646
+ "product_name": "Xiaomi Poco X6 Elite v1 2025",
647
+ "reason": "Failed 404 check for all main images",
648
+ "status": "FLAGGED_FOR_DELETION"
649
+ },
650
+ {
651
+ "timestamp": "2026-03-12T09:29:33.414550",
652
+ "user": "System",
653
+ "product_id": 166,
654
+ "product_name": "Dyson Airwrap Multi-Styler Pro Max Edition 2025 2023",
655
+ "reason": "Failed 404 check for all main images",
656
+ "status": "FLAGGED_FOR_DELETION"
657
+ },
658
+ {
659
+ "timestamp": "2026-03-12T09:29:33.445230",
660
+ "user": "System",
661
+ "product_id": 177,
662
+ "product_name": "Apple iPhone SE Business Edition 2024 2023",
663
+ "reason": "Failed 404 check for all main images",
664
+ "status": "FLAGGED_FOR_DELETION"
665
+ },
666
+ {
667
+ "timestamp": "2026-03-12T09:29:33.472626",
668
+ "user": "System",
669
+ "product_id": 187,
670
+ "product_name": "Samsung Galaxy Tab S9 Luxury Gen 3 2024",
671
+ "reason": "Failed 404 check for all main images",
672
+ "status": "FLAGGED_FOR_DELETION"
673
+ },
674
+ {
675
+ "timestamp": "2026-03-12T09:29:33.497925",
676
+ "user": "System",
677
+ "product_id": 192,
678
+ "product_name": "Chanel Allure Business Gen 3 2025",
679
+ "reason": "Failed 404 check for all main images",
680
+ "status": "FLAGGED_FOR_DELETION"
681
+ },
682
+ {
683
+ "timestamp": "2026-03-12T09:29:33.526575",
684
+ "user": "System",
685
+ "product_id": 201,
686
+ "product_name": "Dell Alienware m16 Ultra Series v2 2023",
687
+ "reason": "Failed 404 check for all main images",
688
+ "status": "FLAGGED_FOR_DELETION"
689
+ },
690
+ {
691
+ "timestamp": "2026-03-12T09:29:33.637612",
692
+ "user": "System",
693
+ "product_id": 209,
694
+ "product_name": "Samsung Galaxy Tab S9 Home Gen 3 2024",
695
+ "reason": "Failed 404 check for all main images",
696
+ "status": "FLAGGED_FOR_DELETION"
697
+ },
698
+ {
699
+ "timestamp": "2026-03-12T09:29:33.704715",
700
+ "user": "System",
701
+ "product_id": 210,
702
+ "product_name": "Chanel Bleu de Chanel X Gen 2 2023",
703
+ "reason": "Failed 404 check for all main images",
704
+ "status": "FLAGGED_FOR_DELETION"
705
+ },
706
+ {
707
+ "timestamp": "2026-03-12T09:29:33.799483",
708
+ "user": "System",
709
+ "product_id": 212,
710
+ "product_name": "Dyson V15 Detect Ultra Series Edition 2025 2024",
711
+ "reason": "Failed 404 check for all main images",
712
+ "status": "FLAGGED_FOR_DELETION"
713
+ },
714
+ {
715
+ "timestamp": "2026-03-12T09:29:33.875928",
716
+ "user": "System",
717
+ "product_id": 218,
718
+ "product_name": "Dyson Airwrap Multi-Styler Special Gen 3 2023",
719
+ "reason": "Failed 404 check for all main images",
720
+ "status": "FLAGGED_FOR_DELETION"
721
+ },
722
+ {
723
+ "timestamp": "2026-03-12T09:29:33.919302",
724
+ "user": "System",
725
+ "product_id": 220,
726
+ "product_name": "Dell XPS 15 Ultra Series Edition 2025 2024",
727
+ "reason": "Failed 404 check for all main images",
728
+ "status": "FLAGGED_FOR_DELETION"
729
+ },
730
+ {
731
+ "timestamp": "2026-03-12T09:29:33.974563",
732
+ "user": "System",
733
+ "product_id": 228,
734
+ "product_name": "Chanel Allure Ultra Series Edition 2024 2023",
735
+ "reason": "Failed 404 check for all main images",
736
+ "status": "FLAGGED_FOR_DELETION"
737
+ },
738
+ {
739
+ "timestamp": "2026-03-12T09:29:34.049233",
740
+ "user": "System",
741
+ "product_id": 233,
742
+ "product_name": "Samsung Galaxy Tab S9 X Edition 2025 2024",
743
+ "reason": "Failed 404 check for all main images",
744
+ "status": "FLAGGED_FOR_DELETION"
745
+ },
746
+ {
747
+ "timestamp": "2026-03-12T09:29:34.103480",
748
+ "user": "System",
749
+ "product_id": 243,
750
+ "product_name": "Dior J'adore Business Gen 3 2025",
751
+ "reason": "Failed 404 check for all main images",
752
+ "status": "FLAGGED_FOR_DELETION"
753
+ },
754
+ {
755
+ "timestamp": "2026-03-12T09:29:34.166658",
756
+ "user": "System",
757
+ "product_id": 245,
758
+ "product_name": "Dyson Airwrap Multi-Styler X v3 2025",
759
+ "reason": "Failed 404 check for all main images",
760
+ "status": "FLAGGED_FOR_DELETION"
761
+ },
762
+ {
763
+ "timestamp": "2026-03-12T09:29:34.248857",
764
+ "user": "System",
765
+ "product_id": 246,
766
+ "product_name": "Dyson V15 Detect Alpha Gen 3 2024",
767
+ "reason": "Failed 404 check for all main images",
768
+ "status": "FLAGGED_FOR_DELETION"
769
+ },
770
+ {
771
+ "timestamp": "2026-03-12T09:29:34.309015",
772
+ "user": "System",
773
+ "product_id": 263,
774
+ "product_name": "Apple Watch Ultra Ultra Series Edition 2024 2023",
775
+ "reason": "Failed 404 check for all main images",
776
+ "status": "FLAGGED_FOR_DELETION"
777
+ },
778
+ {
779
+ "timestamp": "2026-03-12T09:29:34.381056",
780
+ "user": "System",
781
+ "product_id": 266,
782
+ "product_name": "Dior Dior Homme Elite Gen 2 2024",
783
+ "reason": "Failed 404 check for all main images",
784
+ "status": "FLAGGED_FOR_DELETION"
785
+ },
786
+ {
787
+ "timestamp": "2026-03-12T09:29:34.408165",
788
+ "user": "System",
789
+ "product_id": 269,
790
+ "product_name": "Samsung Galaxy Buds Business v3 2023",
791
+ "reason": "Failed 404 check for all main images",
792
+ "status": "FLAGGED_FOR_DELETION"
793
+ },
794
+ {
795
+ "timestamp": "2026-03-12T09:29:34.438428",
796
+ "user": "System",
797
+ "product_id": 274,
798
+ "product_name": "Xiaomi Redmi Note 13 Pro Max Edition 2025 2024",
799
+ "reason": "Failed 404 check for all main images",
800
+ "status": "FLAGGED_FOR_DELETION"
801
+ },
802
+ {
803
+ "timestamp": "2026-03-12T09:29:34.468375",
804
+ "user": "System",
805
+ "product_id": 278,
806
+ "product_name": "Chanel Bleu de Chanel Home Gen 3 2025",
807
+ "reason": "Failed 404 check for all main images",
808
+ "status": "FLAGGED_FOR_DELETION"
809
+ },
810
+ {
811
+ "timestamp": "2026-03-12T09:29:34.561959",
812
+ "user": "System",
813
+ "product_id": 279,
814
+ "product_name": "Dyson V15 Detect Home v3 2023",
815
+ "reason": "Failed 404 check for all main images",
816
+ "status": "FLAGGED_FOR_DELETION"
817
+ },
818
+ {
819
+ "timestamp": "2026-03-12T09:29:34.765551",
820
+ "user": "System",
821
+ "product_id": 281,
822
+ "product_name": "Dyson Pure Cool Global Edition Edition 2025 2024",
823
+ "reason": "Failed 404 check for all main images",
824
+ "status": "FLAGGED_FOR_DELETION"
825
+ },
826
+ {
827
+ "timestamp": "2026-03-12T09:29:34.818313",
828
+ "user": "System",
829
+ "product_id": 282,
830
+ "product_name": "Dyson Airwrap Multi-Styler Alpha Gen 3 2023",
831
+ "reason": "Failed 404 check for all main images",
832
+ "status": "FLAGGED_FOR_DELETION"
833
+ },
834
+ {
835
+ "timestamp": "2026-03-12T09:29:34.846254",
836
+ "user": "System",
837
+ "product_id": 287,
838
+ "product_name": "Chanel Coco Mademoiselle Business Edition 2024 2025",
839
+ "reason": "Failed 404 check for all main images",
840
+ "status": "FLAGGED_FOR_DELETION"
841
+ },
842
+ {
843
+ "timestamp": "2026-03-12T09:29:34.880358",
844
+ "user": "System",
845
+ "product_id": 289,
846
+ "product_name": "Dior J'adore Pro Max Edition 2024 2025",
847
+ "reason": "Failed 404 check for all main images",
848
+ "status": "FLAGGED_FOR_DELETION"
849
+ },
850
+ {
851
+ "timestamp": "2026-03-12T09:29:34.958234",
852
+ "user": "System",
853
+ "product_id": 292,
854
+ "product_name": "Dyson Pure Cool Business Gen 3 2024",
855
+ "reason": "Failed 404 check for all main images",
856
+ "status": "FLAGGED_FOR_DELETION"
857
+ },
858
+ {
859
+ "timestamp": "2026-03-12T09:29:35.014366",
860
+ "user": "System",
861
+ "product_id": 295,
862
+ "product_name": "Apple iPad Air Elite Gen 3 2023",
863
+ "reason": "Failed 404 check for all main images",
864
+ "status": "FLAGGED_FOR_DELETION"
865
+ },
866
+ {
867
+ "timestamp": "2026-03-12T09:29:35.059693",
868
+ "user": "System",
869
+ "product_id": 297,
870
+ "product_name": "Chanel Bleu de Chanel Elite Gen 2 2023",
871
+ "reason": "Failed 404 check for all main images",
872
+ "status": "FLAGGED_FOR_DELETION"
873
+ },
874
+ {
875
+ "timestamp": "2026-03-12T09:29:35.093078",
876
+ "user": "System",
877
+ "product_id": 298,
878
+ "product_name": "Apple iPhone 14 Elite Edition 2024 2025",
879
+ "reason": "Failed 404 check for all main images",
880
+ "status": "FLAGGED_FOR_DELETION"
881
+ },
882
+ {
883
+ "timestamp": "2026-03-12T09:29:35.161961",
884
+ "user": "System",
885
+ "product_id": 304,
886
+ "product_name": "Samsung Galaxy Buds Home Edition 2025 2023",
887
+ "reason": "Failed 404 check for all main images",
888
+ "status": "FLAGGED_FOR_DELETION"
889
+ },
890
+ {
891
+ "timestamp": "2026-03-12T09:29:35.198459",
892
+ "user": "System",
893
+ "product_id": 306,
894
+ "product_name": "Dior Dior Homme Pro Max Gen 2 2024",
895
+ "reason": "Failed 404 check for all main images",
896
+ "status": "FLAGGED_FOR_DELETION"
897
+ },
898
+ {
899
+ "timestamp": "2026-03-12T09:29:35.270301",
900
+ "user": "System",
901
+ "product_id": 308,
902
+ "product_name": "Chanel No. 5 Business v2 2024",
903
+ "reason": "Failed 404 check for all main images",
904
+ "status": "FLAGGED_FOR_DELETION"
905
+ },
906
+ {
907
+ "timestamp": "2026-03-12T09:29:35.346498",
908
+ "user": "System",
909
+ "product_id": 316,
910
+ "product_name": "Dyson Solarcycle Ultra Series Gen 3 2024",
911
+ "reason": "Failed 404 check for all main images",
912
+ "status": "FLAGGED_FOR_DELETION"
913
+ },
914
+ {
915
+ "timestamp": "2026-03-12T09:30:47.646937",
916
+ "user": "System",
917
+ "product_id": 3,
918
+ "product_name": "HP Spectre x360 Home v3 2023",
919
+ "reason": "Failed 404 check for all main images",
920
+ "status": "FLAGGED_FOR_DELETION"
921
+ },
922
+ {
923
+ "timestamp": "2026-03-12T09:30:47.655044",
924
+ "user": "System",
925
+ "product_id": 4,
926
+ "product_name": "Chanel No. 5 Ultra Series Gen 2 2024",
927
+ "reason": "Failed 404 check for all main images",
928
+ "status": "FLAGGED_FOR_DELETION"
929
+ },
930
+ {
931
+ "timestamp": "2026-03-12T09:30:47.686461",
932
+ "user": "System",
933
+ "product_id": 7,
934
+ "product_name": "Dior J'adore Special Edition 2024 2023",
935
+ "reason": "Failed 404 check for all main images",
936
+ "status": "FLAGGED_FOR_DELETION"
937
+ },
938
+ {
939
+ "timestamp": "2026-03-12T09:30:47.710631",
940
+ "user": "System",
941
+ "product_id": 10,
942
+ "product_name": "Dior Sauvage Pro Max Edition 2025 2025",
943
+ "reason": "Failed 404 check for all main images",
944
+ "status": "FLAGGED_FOR_DELETION"
945
+ },
946
+ {
947
+ "timestamp": "2026-03-12T09:30:47.753019",
948
+ "user": "System",
949
+ "product_id": 15,
950
+ "product_name": "Chanel Allure Global Edition Gen 3 2025",
951
+ "reason": "Failed 404 check for all main images",
952
+ "status": "FLAGGED_FOR_DELETION"
953
+ },
954
+ {
955
+ "timestamp": "2026-03-12T09:30:47.792151",
956
+ "user": "System",
957
+ "product_id": 16,
958
+ "product_name": "Google Pixel 7a Home Gen 2 2025",
959
+ "reason": "Failed 404 check for all main images",
960
+ "status": "FLAGGED_FOR_DELETION"
961
+ },
962
+ {
963
+ "timestamp": "2026-03-12T09:30:47.914676",
964
+ "user": "System",
965
+ "product_id": 21,
966
+ "product_name": "Dior Miss Dior Alpha Edition 2024 2024",
967
+ "reason": "Failed 404 check for all main images",
968
+ "status": "FLAGGED_FOR_DELETION"
969
+ },
970
+ {
971
+ "timestamp": "2026-03-12T09:30:47.963495",
972
+ "user": "System",
973
+ "product_id": 24,
974
+ "product_name": "HP Envy x360 Alpha Edition 2024 2025",
975
+ "reason": "Failed 404 check for all main images",
976
+ "status": "FLAGGED_FOR_DELETION"
977
+ },
978
+ {
979
+ "timestamp": "2026-03-12T09:30:47.999403",
980
+ "user": "System",
981
+ "product_id": 35,
982
+ "product_name": "Google Pixel Watch 2 Alpha Edition 2025 2024",
983
+ "reason": "Failed 404 check for all main images",
984
+ "status": "FLAGGED_FOR_DELETION"
985
+ },
986
+ {
987
+ "timestamp": "2026-03-12T09:30:48.041443",
988
+ "user": "System",
989
+ "product_id": 36,
990
+ "product_name": "Google Pixel Tablet Pro Max Edition 2024 2025",
991
+ "reason": "Failed 404 check for all main images",
992
+ "status": "FLAGGED_FOR_DELETION"
993
+ },
994
+ {
995
+ "timestamp": "2026-03-12T09:30:48.132133",
996
+ "user": "System",
997
+ "product_id": 38,
998
+ "product_name": "Sony PlayStation 5 Home Gen 3 2023",
999
+ "reason": "Failed 404 check for all main images",
1000
+ "status": "FLAGGED_FOR_DELETION"
1001
+ },
1002
+ {
1003
+ "timestamp": "2026-03-12T09:30:48.168143",
1004
+ "user": "System",
1005
+ "product_id": 42,
1006
+ "product_name": "Dyson V15 Detect Ultra Series v1 2025",
1007
+ "reason": "Failed 404 check for all main images",
1008
+ "status": "FLAGGED_FOR_DELETION"
1009
+ },
1010
+ {
1011
+ "timestamp": "2026-03-12T09:30:48.197150",
1012
+ "user": "System",
1013
+ "product_id": 44,
1014
+ "product_name": "Sony PlayStation 5 X v1 2023",
1015
+ "reason": "Failed 404 check for all main images",
1016
+ "status": "FLAGGED_FOR_DELETION"
1017
+ },
1018
+ {
1019
+ "timestamp": "2026-03-12T09:30:48.232763",
1020
+ "user": "System",
1021
+ "product_id": 47,
1022
+ "product_name": "Chanel Allure Luxury v2 2025",
1023
+ "reason": "Failed 404 check for all main images",
1024
+ "status": "FLAGGED_FOR_DELETION"
1025
+ },
1026
+ {
1027
+ "timestamp": "2026-03-12T09:30:48.260470",
1028
+ "user": "System",
1029
+ "product_id": 49,
1030
+ "product_name": "Dyson Solarcycle Home v2 2024",
1031
+ "reason": "Failed 404 check for all main images",
1032
+ "status": "FLAGGED_FOR_DELETION"
1033
+ },
1034
+ {
1035
+ "timestamp": "2026-03-12T09:30:48.288645",
1036
+ "user": "System",
1037
+ "product_id": 51,
1038
+ "product_name": "HP Victus 16 Special Gen 2 2024",
1039
+ "reason": "Failed 404 check for all main images",
1040
+ "status": "FLAGGED_FOR_DELETION"
1041
+ },
1042
+ {
1043
+ "timestamp": "2026-03-12T09:30:48.315260",
1044
+ "user": "System",
1045
+ "product_id": 58,
1046
+ "product_name": "Dell Inspiron 16 Home Edition 2025 2024",
1047
+ "reason": "Failed 404 check for all main images",
1048
+ "status": "FLAGGED_FOR_DELETION"
1049
+ },
1050
+ {
1051
+ "timestamp": "2026-03-12T09:30:48.342459",
1052
+ "user": "System",
1053
+ "product_id": 62,
1054
+ "product_name": "Xiaomi Poco X6 Business Edition 2024 2025",
1055
+ "reason": "Failed 404 check for all main images",
1056
+ "status": "FLAGGED_FOR_DELETION"
1057
+ },
1058
+ {
1059
+ "timestamp": "2026-03-12T09:30:48.375474",
1060
+ "user": "System",
1061
+ "product_id": 79,
1062
+ "product_name": "HP Victus 16 Alpha v1 2023",
1063
+ "reason": "Failed 404 check for all main images",
1064
+ "status": "FLAGGED_FOR_DELETION"
1065
+ },
1066
+ {
1067
+ "timestamp": "2026-03-12T09:30:48.404405",
1068
+ "user": "System",
1069
+ "product_id": 84,
1070
+ "product_name": "Dyson Airwrap Multi-Styler Luxury Edition 2024 2023",
1071
+ "reason": "Failed 404 check for all main images",
1072
+ "status": "FLAGGED_FOR_DELETION"
1073
+ },
1074
+ {
1075
+ "timestamp": "2026-03-12T09:30:48.434134",
1076
+ "user": "System",
1077
+ "product_id": 88,
1078
+ "product_name": "Google Pixel Watch 2 Luxury v3 2024",
1079
+ "reason": "Failed 404 check for all main images",
1080
+ "status": "FLAGGED_FOR_DELETION"
1081
+ },
1082
+ {
1083
+ "timestamp": "2026-03-12T09:30:48.462104",
1084
+ "user": "System",
1085
+ "product_id": 90,
1086
+ "product_name": "HP Spectre x360 Pro Max v3 2024",
1087
+ "reason": "Failed 404 check for all main images",
1088
+ "status": "FLAGGED_FOR_DELETION"
1089
+ },
1090
+ {
1091
+ "timestamp": "2026-03-12T09:30:48.491060",
1092
+ "user": "System",
1093
+ "product_id": 92,
1094
+ "product_name": "Dior Miss Dior Ultra Series Edition 2024 2023",
1095
+ "reason": "Failed 404 check for all main images",
1096
+ "status": "FLAGGED_FOR_DELETION"
1097
+ },
1098
+ {
1099
+ "timestamp": "2026-03-12T09:30:48.521307",
1100
+ "user": "System",
1101
+ "product_id": 101,
1102
+ "product_name": "Dyson Airwrap Multi-Styler Global Edition Gen 2 2024",
1103
+ "reason": "Failed 404 check for all main images",
1104
+ "status": "FLAGGED_FOR_DELETION"
1105
+ },
1106
+ {
1107
+ "timestamp": "2026-03-12T09:30:48.552887",
1108
+ "user": "System",
1109
+ "product_id": 105,
1110
+ "product_name": "Chanel Allure Luxury Gen 2 2024",
1111
+ "reason": "Failed 404 check for all main images",
1112
+ "status": "FLAGGED_FOR_DELETION"
1113
+ },
1114
+ {
1115
+ "timestamp": "2026-03-12T09:30:48.583296",
1116
+ "user": "System",
1117
+ "product_id": 110,
1118
+ "product_name": "Apple iPhone 15 Global Edition v3 2025",
1119
+ "reason": "Failed 404 check for all main images",
1120
+ "status": "FLAGGED_FOR_DELETION"
1121
+ },
1122
+ {
1123
+ "timestamp": "2026-03-12T09:30:48.642719",
1124
+ "user": "System",
1125
+ "product_id": 111,
1126
+ "product_name": "HP OMEN 17 X Gen 2 2025",
1127
+ "reason": "Failed 404 check for all main images",
1128
+ "status": "FLAGGED_FOR_DELETION"
1129
+ },
1130
+ {
1131
+ "timestamp": "2026-03-12T09:30:48.763565",
1132
+ "user": "System",
1133
+ "product_id": 113,
1134
+ "product_name": "Dior Sauvage Global Edition Edition 2024 2025",
1135
+ "reason": "Failed 404 check for all main images",
1136
+ "status": "FLAGGED_FOR_DELETION"
1137
+ },
1138
+ {
1139
+ "timestamp": "2026-03-12T09:30:48.820581",
1140
+ "user": "System",
1141
+ "product_id": 114,
1142
+ "product_name": "Dyson V15 Detect Ultra Series v2 2023",
1143
+ "reason": "Failed 404 check for all main images",
1144
+ "status": "FLAGGED_FOR_DELETION"
1145
+ },
1146
+ {
1147
+ "timestamp": "2026-03-12T09:30:48.890162",
1148
+ "user": "System",
1149
+ "product_id": 119,
1150
+ "product_name": "Samsung Galaxy Buds Pro Max Edition 2024 2023",
1151
+ "reason": "Failed 404 check for all main images",
1152
+ "status": "FLAGGED_FOR_DELETION"
1153
+ },
1154
+ {
1155
+ "timestamp": "2026-03-12T09:30:48.948221",
1156
+ "user": "System",
1157
+ "product_id": 121,
1158
+ "product_name": "Dior Sauvage Global Edition Edition 2025 2025",
1159
+ "reason": "Failed 404 check for all main images",
1160
+ "status": "FLAGGED_FOR_DELETION"
1161
+ },
1162
+ {
1163
+ "timestamp": "2026-03-12T09:30:48.982538",
1164
+ "user": "System",
1165
+ "product_id": 125,
1166
+ "product_name": "Dyson Pure Cool Special Edition 2025 2024",
1167
+ "reason": "Failed 404 check for all main images",
1168
+ "status": "FLAGGED_FOR_DELETION"
1169
+ },
1170
+ {
1171
+ "timestamp": "2026-03-12T09:30:49.014134",
1172
+ "user": "System",
1173
+ "product_id": 129,
1174
+ "product_name": "Dyson V15 Detect Ultra Series Gen 3 2023",
1175
+ "reason": "Failed 404 check for all main images",
1176
+ "status": "FLAGGED_FOR_DELETION"
1177
+ },
1178
+ {
1179
+ "timestamp": "2026-03-12T09:30:49.047595",
1180
+ "user": "System",
1181
+ "product_id": 131,
1182
+ "product_name": "Samsung Galaxy Tab S9 Elite v1 2025",
1183
+ "reason": "Failed 404 check for all main images",
1184
+ "status": "FLAGGED_FOR_DELETION"
1185
+ },
1186
+ {
1187
+ "timestamp": "2026-03-12T09:30:49.203634",
1188
+ "user": "System",
1189
+ "product_id": 135,
1190
+ "product_name": "Dyson Pure Cool X v2 2024",
1191
+ "reason": "Failed 404 check for all main images",
1192
+ "status": "FLAGGED_FOR_DELETION"
1193
+ },
1194
+ {
1195
+ "timestamp": "2026-03-12T09:30:49.248612",
1196
+ "user": "System",
1197
+ "product_id": 142,
1198
+ "product_name": "Dyson Pure Cool Home Gen 3 2024",
1199
+ "reason": "Failed 404 check for all main images",
1200
+ "status": "FLAGGED_FOR_DELETION"
1201
+ },
1202
+ {
1203
+ "timestamp": "2026-03-12T09:30:49.392802",
1204
+ "user": "System",
1205
+ "product_id": 149,
1206
+ "product_name": "Sony WH-1000XM5 Global Edition v2 2024",
1207
+ "reason": "Failed 404 check for all main images",
1208
+ "status": "FLAGGED_FOR_DELETION"
1209
+ },
1210
+ {
1211
+ "timestamp": "2026-03-12T09:30:49.425162",
1212
+ "user": "System",
1213
+ "product_id": 157,
1214
+ "product_name": "Xiaomi Poco X6 Alpha v1 2024",
1215
+ "reason": "Failed 404 check for all main images",
1216
+ "status": "FLAGGED_FOR_DELETION"
1217
+ },
1218
+ {
1219
+ "timestamp": "2026-03-12T09:30:49.459441",
1220
+ "user": "System",
1221
+ "product_id": 160,
1222
+ "product_name": "Samsung Galaxy Tab S9 Ultra Series Edition 2025 2025",
1223
+ "reason": "Failed 404 check for all main images",
1224
+ "status": "FLAGGED_FOR_DELETION"
1225
+ },
1226
+ {
1227
+ "timestamp": "2026-03-12T09:30:49.488475",
1228
+ "user": "System",
1229
+ "product_id": 168,
1230
+ "product_name": "HP OMEN 17 Global Edition Gen 3 2025",
1231
+ "reason": "Failed 404 check for all main images",
1232
+ "status": "FLAGGED_FOR_DELETION"
1233
+ },
1234
+ {
1235
+ "timestamp": "2026-03-12T09:30:49.521830",
1236
+ "user": "System",
1237
+ "product_id": 171,
1238
+ "product_name": "Google Pixel Tablet Elite v2 2024",
1239
+ "reason": "Failed 404 check for all main images",
1240
+ "status": "FLAGGED_FOR_DELETION"
1241
+ },
1242
+ {
1243
+ "timestamp": "2026-03-12T09:30:49.553649",
1244
+ "user": "System",
1245
+ "product_id": 183,
1246
+ "product_name": "Apple MacBook Pro Luxury v3 2025",
1247
+ "reason": "Failed 404 check for all main images",
1248
+ "status": "FLAGGED_FOR_DELETION"
1249
+ },
1250
+ {
1251
+ "timestamp": "2026-03-12T09:30:49.591349",
1252
+ "user": "System",
1253
+ "product_id": 187,
1254
+ "product_name": "Sony WH-1000XM5 Home Edition 2024 2025",
1255
+ "reason": "Failed 404 check for all main images",
1256
+ "status": "FLAGGED_FOR_DELETION"
1257
+ },
1258
+ {
1259
+ "timestamp": "2026-03-12T09:30:49.642900",
1260
+ "user": "System",
1261
+ "product_id": 188,
1262
+ "product_name": "Dior Sauvage Elite Gen 2 2023",
1263
+ "reason": "Failed 404 check for all main images",
1264
+ "status": "FLAGGED_FOR_DELETION"
1265
+ },
1266
+ {
1267
+ "timestamp": "2026-03-12T09:30:49.675407",
1268
+ "user": "System",
1269
+ "product_id": 189,
1270
+ "product_name": "Dell XPS 15 Pro Max v3 2024",
1271
+ "reason": "Failed 404 check for all main images",
1272
+ "status": "FLAGGED_FOR_DELETION"
1273
+ },
1274
+ {
1275
+ "timestamp": "2026-03-12T09:30:49.712103",
1276
+ "user": "System",
1277
+ "product_id": 191,
1278
+ "product_name": "Dell XPS 13 Global Edition Gen 2 2024",
1279
+ "reason": "Failed 404 check for all main images",
1280
+ "status": "FLAGGED_FOR_DELETION"
1281
+ },
1282
+ {
1283
+ "timestamp": "2026-03-12T09:30:49.746024",
1284
+ "user": "System",
1285
+ "product_id": 194,
1286
+ "product_name": "Dyson V15 Detect Elite v2 2024",
1287
+ "reason": "Failed 404 check for all main images",
1288
+ "status": "FLAGGED_FOR_DELETION"
1289
+ },
1290
+ {
1291
+ "timestamp": "2026-03-12T09:30:49.781606",
1292
+ "user": "System",
1293
+ "product_id": 197,
1294
+ "product_name": "Google Pixel 8 Pro Global Edition v2 2023",
1295
+ "reason": "Failed 404 check for all main images",
1296
+ "status": "FLAGGED_FOR_DELETION"
1297
+ },
1298
+ {
1299
+ "timestamp": "2026-03-12T09:30:49.811621",
1300
+ "user": "System",
1301
+ "product_id": 204,
1302
+ "product_name": "Dior Miss Dior Global Edition Gen 2 2024",
1303
+ "reason": "Failed 404 check for all main images",
1304
+ "status": "FLAGGED_FOR_DELETION"
1305
+ },
1306
+ {
1307
+ "timestamp": "2026-03-12T09:30:49.838776",
1308
+ "user": "System",
1309
+ "product_id": 207,
1310
+ "product_name": "Samsung Galaxy S23 Business Gen 2 2025",
1311
+ "reason": "Failed 404 check for all main images",
1312
+ "status": "FLAGGED_FOR_DELETION"
1313
+ },
1314
+ {
1315
+ "timestamp": "2026-03-12T09:30:49.874195",
1316
+ "user": "System",
1317
+ "product_id": 211,
1318
+ "product_name": "Apple iPhone 14 Luxury v1 2023",
1319
+ "reason": "Failed 404 check for all main images",
1320
+ "status": "FLAGGED_FOR_DELETION"
1321
+ },
1322
+ {
1323
+ "timestamp": "2026-03-12T09:30:49.909922",
1324
+ "user": "System",
1325
+ "product_id": 212,
1326
+ "product_name": "Dyson Solarcycle Ultra Series v1 2024",
1327
+ "reason": "Failed 404 check for all main images",
1328
+ "status": "FLAGGED_FOR_DELETION"
1329
+ },
1330
+ {
1331
+ "timestamp": "2026-03-12T09:30:49.940289",
1332
+ "user": "System",
1333
+ "product_id": 214,
1334
+ "product_name": "Chanel No. 5 Ultra Series v2 2023",
1335
+ "reason": "Failed 404 check for all main images",
1336
+ "status": "FLAGGED_FOR_DELETION"
1337
+ },
1338
+ {
1339
+ "timestamp": "2026-03-12T09:30:49.979011",
1340
+ "user": "System",
1341
+ "product_id": 217,
1342
+ "product_name": "Dyson V15 Detect Pro Max v2 2023",
1343
+ "reason": "Failed 404 check for all main images",
1344
+ "status": "FLAGGED_FOR_DELETION"
1345
+ },
1346
+ {
1347
+ "timestamp": "2026-03-12T09:30:50.015636",
1348
+ "user": "System",
1349
+ "product_id": 227,
1350
+ "product_name": "Dior Sauvage Alpha Gen 3 2025",
1351
+ "reason": "Failed 404 check for all main images",
1352
+ "status": "FLAGGED_FOR_DELETION"
1353
+ },
1354
+ {
1355
+ "timestamp": "2026-03-12T09:30:50.051621",
1356
+ "user": "System",
1357
+ "product_id": 230,
1358
+ "product_name": "Samsung Galaxy Buds Alpha Edition 2025 2024",
1359
+ "reason": "Failed 404 check for all main images",
1360
+ "status": "FLAGGED_FOR_DELETION"
1361
+ },
1362
+ {
1363
+ "timestamp": "2026-03-12T09:30:50.087656",
1364
+ "user": "System",
1365
+ "product_id": 233,
1366
+ "product_name": "Apple iPhone SE Global Edition v1 2024",
1367
+ "reason": "Failed 404 check for all main images",
1368
+ "status": "FLAGGED_FOR_DELETION"
1369
+ },
1370
+ {
1371
+ "timestamp": "2026-03-12T09:30:50.132487",
1372
+ "user": "System",
1373
+ "product_id": 235,
1374
+ "product_name": "Dyson Solarcycle Alpha Edition 2024 2025",
1375
+ "reason": "Failed 404 check for all main images",
1376
+ "status": "FLAGGED_FOR_DELETION"
1377
+ },
1378
+ {
1379
+ "timestamp": "2026-03-12T09:30:50.168310",
1380
+ "user": "System",
1381
+ "product_id": 242,
1382
+ "product_name": "Apple iPad Air Special Gen 2 2025",
1383
+ "reason": "Failed 404 check for all main images",
1384
+ "status": "FLAGGED_FOR_DELETION"
1385
+ },
1386
+ {
1387
+ "timestamp": "2026-03-12T09:30:50.214266",
1388
+ "user": "System",
1389
+ "product_id": 244,
1390
+ "product_name": "Chanel Coco Mademoiselle Global Edition Gen 3 2024",
1391
+ "reason": "Failed 404 check for all main images",
1392
+ "status": "FLAGGED_FOR_DELETION"
1393
+ },
1394
+ {
1395
+ "timestamp": "2026-03-12T09:30:50.246645",
1396
+ "user": "System",
1397
+ "product_id": 250,
1398
+ "product_name": "Samsung Galaxy Tab S9 X Gen 3 2024",
1399
+ "reason": "Failed 404 check for all main images",
1400
+ "status": "FLAGGED_FOR_DELETION"
1401
+ },
1402
+ {
1403
+ "timestamp": "2026-03-12T09:30:50.280800",
1404
+ "user": "System",
1405
+ "product_id": 251,
1406
+ "product_name": "Sony PlayStation 5 X Gen 2 2024",
1407
+ "reason": "Failed 404 check for all main images",
1408
+ "status": "FLAGGED_FOR_DELETION"
1409
+ },
1410
+ {
1411
+ "timestamp": "2026-03-12T09:30:50.314691",
1412
+ "user": "System",
1413
+ "product_id": 252,
1414
+ "product_name": "HP Spectre x360 Global Edition Gen 2 2023",
1415
+ "reason": "Failed 404 check for all main images",
1416
+ "status": "FLAGGED_FOR_DELETION"
1417
+ },
1418
+ {
1419
+ "timestamp": "2026-03-12T09:30:50.352248",
1420
+ "user": "System",
1421
+ "product_id": 253,
1422
+ "product_name": "Dior J'adore Pro Max v1 2024",
1423
+ "reason": "Failed 404 check for all main images",
1424
+ "status": "FLAGGED_FOR_DELETION"
1425
+ },
1426
+ {
1427
+ "timestamp": "2026-03-12T09:30:50.385883",
1428
+ "user": "System",
1429
+ "product_id": 261,
1430
+ "product_name": "HP Victus 16 Pro Max Gen 2 2023",
1431
+ "reason": "Failed 404 check for all main images",
1432
+ "status": "FLAGGED_FOR_DELETION"
1433
+ },
1434
+ {
1435
+ "timestamp": "2026-03-12T09:30:50.423289",
1436
+ "user": "System",
1437
+ "product_id": 263,
1438
+ "product_name": "Chanel Coco Mademoiselle Luxury Edition 2025 2023",
1439
+ "reason": "Failed 404 check for all main images",
1440
+ "status": "FLAGGED_FOR_DELETION"
1441
+ },
1442
+ {
1443
+ "timestamp": "2026-03-12T09:30:50.469958",
1444
+ "user": "System",
1445
+ "product_id": 269,
1446
+ "product_name": "HP Pavilion Plus Global Edition Edition 2024 2023",
1447
+ "reason": "Failed 404 check for all main images",
1448
+ "status": "FLAGGED_FOR_DELETION"
1449
+ },
1450
+ {
1451
+ "timestamp": "2026-03-12T09:30:50.527084",
1452
+ "user": "System",
1453
+ "product_id": 270,
1454
+ "product_name": "Xiaomi Xiaomi Watch Elite Edition 2025 2024",
1455
+ "reason": "Failed 404 check for all main images",
1456
+ "status": "FLAGGED_FOR_DELETION"
1457
+ },
1458
+ {
1459
+ "timestamp": "2026-03-12T09:30:50.564328",
1460
+ "user": "System",
1461
+ "product_id": 271,
1462
+ "product_name": "HP OMEN 17 Luxury Edition 2025 2025",
1463
+ "reason": "Failed 404 check for all main images",
1464
+ "status": "FLAGGED_FOR_DELETION"
1465
+ },
1466
+ {
1467
+ "timestamp": "2026-03-12T09:30:50.599426",
1468
+ "user": "System",
1469
+ "product_id": 272,
1470
+ "product_name": "Dyson Pure Cool Ultra Series v2 2025",
1471
+ "reason": "Failed 404 check for all main images",
1472
+ "status": "FLAGGED_FOR_DELETION"
1473
+ },
1474
+ {
1475
+ "timestamp": "2026-03-12T09:30:50.631120",
1476
+ "user": "System",
1477
+ "product_id": 283,
1478
+ "product_name": "Dyson V15 Detect Home Gen 3 2024",
1479
+ "reason": "Failed 404 check for all main images",
1480
+ "status": "FLAGGED_FOR_DELETION"
1481
+ },
1482
+ {
1483
+ "timestamp": "2026-03-12T09:30:50.657003",
1484
+ "user": "System",
1485
+ "product_id": 284,
1486
+ "product_name": "HP Victus 16 X v2 2024",
1487
+ "reason": "Failed 404 check for all main images",
1488
+ "status": "FLAGGED_FOR_DELETION"
1489
+ },
1490
+ {
1491
+ "timestamp": "2026-03-12T09:30:50.687215",
1492
+ "user": "System",
1493
+ "product_id": 289,
1494
+ "product_name": "Samsung Galaxy Z Fold Special Gen 2 2023",
1495
+ "reason": "Failed 404 check for all main images",
1496
+ "status": "FLAGGED_FOR_DELETION"
1497
+ },
1498
+ {
1499
+ "timestamp": "2026-03-12T09:30:50.718904",
1500
+ "user": "System",
1501
+ "product_id": 290,
1502
+ "product_name": "Dior Sauvage Business Edition 2024 2024",
1503
+ "reason": "Failed 404 check for all main images",
1504
+ "status": "FLAGGED_FOR_DELETION"
1505
+ },
1506
+ {
1507
+ "timestamp": "2026-03-12T09:30:50.749911",
1508
+ "user": "System",
1509
+ "product_id": 292,
1510
+ "product_name": "Apple iPhone SE Global Edition v2 2023",
1511
+ "reason": "Failed 404 check for all main images",
1512
+ "status": "FLAGGED_FOR_DELETION"
1513
+ },
1514
+ {
1515
+ "timestamp": "2026-03-12T09:30:50.778335",
1516
+ "user": "System",
1517
+ "product_id": 295,
1518
+ "product_name": "Dior Dior Homme Global Edition v1 2024",
1519
+ "reason": "Failed 404 check for all main images",
1520
+ "status": "FLAGGED_FOR_DELETION"
1521
+ },
1522
+ {
1523
+ "timestamp": "2026-03-12T09:30:50.813708",
1524
+ "user": "System",
1525
+ "product_id": 299,
1526
+ "product_name": "Chanel No. 5 Global Edition v2 2024",
1527
+ "reason": "Failed 404 check for all main images",
1528
+ "status": "FLAGGED_FOR_DELETION"
1529
+ },
1530
+ {
1531
+ "timestamp": "2026-03-12T09:30:50.838706",
1532
+ "user": "System",
1533
+ "product_id": 301,
1534
+ "product_name": "Xiaomi Redmi Note 13 Elite v2 2025",
1535
+ "reason": "Failed 404 check for all main images",
1536
+ "status": "FLAGGED_FOR_DELETION"
1537
+ },
1538
+ {
1539
+ "timestamp": "2026-03-12T09:30:50.882275",
1540
+ "user": "System",
1541
+ "product_id": 311,
1542
+ "product_name": "Apple iPhone 14 Business Gen 2 2025",
1543
+ "reason": "Failed 404 check for all main images",
1544
+ "status": "FLAGGED_FOR_DELETION"
1545
+ },
1546
+ {
1547
+ "timestamp": "2026-03-12T09:30:50.914416",
1548
+ "user": "System",
1549
+ "product_id": 312,
1550
+ "product_name": "Dyson Solarcycle Business Edition 2024 2025",
1551
+ "reason": "Failed 404 check for all main images",
1552
+ "status": "FLAGGED_FOR_DELETION"
1553
+ },
1554
+ {
1555
+ "timestamp": "2026-03-12T09:30:50.947224",
1556
+ "user": "System",
1557
+ "product_id": 316,
1558
+ "product_name": "Samsung Galaxy S24 Home Gen 3 2025",
1559
+ "reason": "Failed 404 check for all main images",
1560
+ "status": "FLAGGED_FOR_DELETION"
1561
+ },
1562
+ {
1563
+ "timestamp": "2026-03-12T09:52:49.547745",
1564
+ "user": "System",
1565
+ "product_id": 12,
1566
+ "product_name": "Google Pixel Tablet X Gen 2 2024",
1567
+ "reason": "Failed 404 check for all main images",
1568
+ "status": "FLAGGED_FOR_DELETION"
1569
+ },
1570
+ {
1571
+ "timestamp": "2026-03-12T09:52:49.560264",
1572
+ "user": "System",
1573
+ "product_id": 18,
1574
+ "product_name": "Xiaomi Redmi Note 13 Pro Max v2 2024",
1575
+ "reason": "Failed 404 check for all main images",
1576
+ "status": "FLAGGED_FOR_DELETION"
1577
+ },
1578
+ {
1579
+ "timestamp": "2026-03-12T09:52:49.601210",
1580
+ "user": "System",
1581
+ "product_id": 25,
1582
+ "product_name": "Chanel Bleu de Chanel Pro Max v3 2024",
1583
+ "reason": "Failed 404 check for all main images",
1584
+ "status": "FLAGGED_FOR_DELETION"
1585
+ },
1586
+ {
1587
+ "timestamp": "2026-03-12T09:52:49.632589",
1588
+ "user": "System",
1589
+ "product_id": 37,
1590
+ "product_name": "Dyson Solarcycle Luxury v1 2025",
1591
+ "reason": "Failed 404 check for all main images",
1592
+ "status": "FLAGGED_FOR_DELETION"
1593
+ },
1594
+ {
1595
+ "timestamp": "2026-03-12T09:52:49.662043",
1596
+ "user": "System",
1597
+ "product_id": 48,
1598
+ "product_name": "Chanel Allure Special v2 2025",
1599
+ "reason": "Failed 404 check for all main images",
1600
+ "status": "FLAGGED_FOR_DELETION"
1601
+ },
1602
+ {
1603
+ "timestamp": "2026-03-12T09:52:49.691510",
1604
+ "user": "System",
1605
+ "product_id": 49,
1606
+ "product_name": "Google Pixel Watch 2 Ultra Series Edition 2025 2024",
1607
+ "reason": "Failed 404 check for all main images",
1608
+ "status": "FLAGGED_FOR_DELETION"
1609
+ },
1610
+ {
1611
+ "timestamp": "2026-03-12T09:52:49.722956",
1612
+ "user": "System",
1613
+ "product_id": 50,
1614
+ "product_name": "Chanel Coco Mademoiselle X Edition 2025 2023",
1615
+ "reason": "Failed 404 check for all main images",
1616
+ "status": "FLAGGED_FOR_DELETION"
1617
+ },
1618
+ {
1619
+ "timestamp": "2026-03-12T09:52:49.754197",
1620
+ "user": "System",
1621
+ "product_id": 51,
1622
+ "product_name": "Dyson Airwrap Multi-Styler Global Edition Gen 3 2024",
1623
+ "reason": "Failed 404 check for all main images",
1624
+ "status": "FLAGGED_FOR_DELETION"
1625
+ },
1626
+ {
1627
+ "timestamp": "2026-03-12T09:52:49.785154",
1628
+ "user": "System",
1629
+ "product_id": 54,
1630
+ "product_name": "Dyson V15 Detect X v3 2025",
1631
+ "reason": "Failed 404 check for all main images",
1632
+ "status": "FLAGGED_FOR_DELETION"
1633
+ },
1634
+ {
1635
+ "timestamp": "2026-03-12T09:52:49.818749",
1636
+ "user": "System",
1637
+ "product_id": 55,
1638
+ "product_name": "Google Pixel 7a X v2 2025",
1639
+ "reason": "Failed 404 check for all main images",
1640
+ "status": "FLAGGED_FOR_DELETION"
1641
+ },
1642
+ {
1643
+ "timestamp": "2026-03-12T09:52:49.846203",
1644
+ "user": "System",
1645
+ "product_id": 76,
1646
+ "product_name": "Dyson V15 Detect Global Edition Edition 2025 2024",
1647
+ "reason": "Failed 404 check for all main images",
1648
+ "status": "FLAGGED_FOR_DELETION"
1649
+ },
1650
+ {
1651
+ "timestamp": "2026-03-12T09:52:49.878202",
1652
+ "user": "System",
1653
+ "product_id": 77,
1654
+ "product_name": "Dyson Airwrap Multi-Styler Ultra Series v3 2023",
1655
+ "reason": "Failed 404 check for all main images",
1656
+ "status": "FLAGGED_FOR_DELETION"
1657
+ },
1658
+ {
1659
+ "timestamp": "2026-03-12T09:52:49.912766",
1660
+ "user": "System",
1661
+ "product_id": 84,
1662
+ "product_name": "Apple iPhone 15 Alpha Gen 3 2024",
1663
+ "reason": "Failed 404 check for all main images",
1664
+ "status": "FLAGGED_FOR_DELETION"
1665
+ },
1666
+ {
1667
+ "timestamp": "2026-03-12T09:52:49.946008",
1668
+ "user": "System",
1669
+ "product_id": 87,
1670
+ "product_name": "Dyson Pure Cool Business Edition 2024 2023",
1671
+ "reason": "Failed 404 check for all main images",
1672
+ "status": "FLAGGED_FOR_DELETION"
1673
+ },
1674
+ {
1675
+ "timestamp": "2026-03-12T09:52:49.981803",
1676
+ "user": "System",
1677
+ "product_id": 89,
1678
+ "product_name": "Sony PlayStation 5 Business v2 2025",
1679
+ "reason": "Failed 404 check for all main images",
1680
+ "status": "FLAGGED_FOR_DELETION"
1681
+ },
1682
+ {
1683
+ "timestamp": "2026-03-12T09:52:50.021728",
1684
+ "user": "System",
1685
+ "product_id": 94,
1686
+ "product_name": "Chanel No. 5 Luxury Edition 2025 2023",
1687
+ "reason": "Failed 404 check for all main images",
1688
+ "status": "FLAGGED_FOR_DELETION"
1689
+ },
1690
+ {
1691
+ "timestamp": "2026-03-12T09:52:50.053408",
1692
+ "user": "System",
1693
+ "product_id": 102,
1694
+ "product_name": "Dyson Pure Cool Special Gen 3 2023",
1695
+ "reason": "Failed 404 check for all main images",
1696
+ "status": "FLAGGED_FOR_DELETION"
1697
+ },
1698
+ {
1699
+ "timestamp": "2026-03-12T09:52:50.106310",
1700
+ "user": "System",
1701
+ "product_id": 113,
1702
+ "product_name": "Apple Watch Ultra Alpha v1 2023",
1703
+ "reason": "Failed 404 check for all main images",
1704
+ "status": "FLAGGED_FOR_DELETION"
1705
+ },
1706
+ {
1707
+ "timestamp": "2026-03-12T09:52:50.153329",
1708
+ "user": "System",
1709
+ "product_id": 119,
1710
+ "product_name": "Dyson Pure Cool Global Edition Gen 3 2023",
1711
+ "reason": "Failed 404 check for all main images",
1712
+ "status": "FLAGGED_FOR_DELETION"
1713
+ },
1714
+ {
1715
+ "timestamp": "2026-03-12T09:52:50.196301",
1716
+ "user": "System",
1717
+ "product_id": 121,
1718
+ "product_name": "Apple iPad Air Luxury v3 2023",
1719
+ "reason": "Failed 404 check for all main images",
1720
+ "status": "FLAGGED_FOR_DELETION"
1721
+ },
1722
+ {
1723
+ "timestamp": "2026-03-12T09:52:50.227535",
1724
+ "user": "System",
1725
+ "product_id": 124,
1726
+ "product_name": "Apple iPad Air Business Edition 2024 2024",
1727
+ "reason": "Failed 404 check for all main images",
1728
+ "status": "FLAGGED_FOR_DELETION"
1729
+ },
1730
+ {
1731
+ "timestamp": "2026-03-12T09:52:50.264356",
1732
+ "user": "System",
1733
+ "product_id": 133,
1734
+ "product_name": "Dior Miss Dior Elite v1 2024",
1735
+ "reason": "Failed 404 check for all main images",
1736
+ "status": "FLAGGED_FOR_DELETION"
1737
+ },
1738
+ {
1739
+ "timestamp": "2026-03-12T09:52:50.296531",
1740
+ "user": "System",
1741
+ "product_id": 134,
1742
+ "product_name": "Google Pixel 7a Ultra Series Edition 2024 2024",
1743
+ "reason": "Failed 404 check for all main images",
1744
+ "status": "FLAGGED_FOR_DELETION"
1745
+ },
1746
+ {
1747
+ "timestamp": "2026-03-12T09:52:50.326085",
1748
+ "user": "System",
1749
+ "product_id": 136,
1750
+ "product_name": "Dyson Airwrap Multi-Styler Global Edition v1 2025",
1751
+ "reason": "Failed 404 check for all main images",
1752
+ "status": "FLAGGED_FOR_DELETION"
1753
+ },
1754
+ {
1755
+ "timestamp": "2026-03-12T09:52:50.363584",
1756
+ "user": "System",
1757
+ "product_id": 137,
1758
+ "product_name": "Dior J'adore Luxury v3 2025",
1759
+ "reason": "Failed 404 check for all main images",
1760
+ "status": "FLAGGED_FOR_DELETION"
1761
+ },
1762
+ {
1763
+ "timestamp": "2026-03-12T09:52:50.401067",
1764
+ "user": "System",
1765
+ "product_id": 138,
1766
+ "product_name": "Chanel No. 5 Global Edition v2 2024",
1767
+ "reason": "Failed 404 check for all main images",
1768
+ "status": "FLAGGED_FOR_DELETION"
1769
+ },
1770
+ {
1771
+ "timestamp": "2026-03-12T09:52:50.442908",
1772
+ "user": "System",
1773
+ "product_id": 141,
1774
+ "product_name": "Dyson Pure Cool Alpha v2 2023",
1775
+ "reason": "Failed 404 check for all main images",
1776
+ "status": "FLAGGED_FOR_DELETION"
1777
+ },
1778
+ {
1779
+ "timestamp": "2026-03-12T09:52:50.490295",
1780
+ "user": "System",
1781
+ "product_id": 153,
1782
+ "product_name": "Dyson Solarcycle Business Edition 2025 2023",
1783
+ "reason": "Failed 404 check for all main images",
1784
+ "status": "FLAGGED_FOR_DELETION"
1785
+ },
1786
+ {
1787
+ "timestamp": "2026-03-12T09:52:50.527322",
1788
+ "user": "System",
1789
+ "product_id": 155,
1790
+ "product_name": "Samsung Galaxy Z Fold Pro Max Edition 2024 2025",
1791
+ "reason": "Failed 404 check for all main images",
1792
+ "status": "FLAGGED_FOR_DELETION"
1793
+ },
1794
+ {
1795
+ "timestamp": "2026-03-12T09:52:50.575672",
1796
+ "user": "System",
1797
+ "product_id": 157,
1798
+ "product_name": "Samsung Galaxy Buds Business Gen 3 2024",
1799
+ "reason": "Failed 404 check for all main images",
1800
+ "status": "FLAGGED_FOR_DELETION"
1801
+ },
1802
+ {
1803
+ "timestamp": "2026-03-12T09:52:50.617085",
1804
+ "user": "System",
1805
+ "product_id": 162,
1806
+ "product_name": "Samsung Galaxy S23 Business v2 2025",
1807
+ "reason": "Failed 404 check for all main images",
1808
+ "status": "FLAGGED_FOR_DELETION"
1809
+ },
1810
+ {
1811
+ "timestamp": "2026-03-12T09:52:50.654467",
1812
+ "user": "System",
1813
+ "product_id": 163,
1814
+ "product_name": "Dyson Pure Cool Business Gen 3 2024",
1815
+ "reason": "Failed 404 check for all main images",
1816
+ "status": "FLAGGED_FOR_DELETION"
1817
+ },
1818
+ {
1819
+ "timestamp": "2026-03-12T09:52:50.685224",
1820
+ "user": "System",
1821
+ "product_id": 166,
1822
+ "product_name": "Sony Bravia XR Elite v1 2024",
1823
+ "reason": "Failed 404 check for all main images",
1824
+ "status": "FLAGGED_FOR_DELETION"
1825
+ },
1826
+ {
1827
+ "timestamp": "2026-03-12T09:52:50.721852",
1828
+ "user": "System",
1829
+ "product_id": 168,
1830
+ "product_name": "Dell XPS 13 Global Edition Edition 2024 2024",
1831
+ "reason": "Failed 404 check for all main images",
1832
+ "status": "FLAGGED_FOR_DELETION"
1833
+ },
1834
+ {
1835
+ "timestamp": "2026-03-12T09:52:50.753685",
1836
+ "user": "System",
1837
+ "product_id": 169,
1838
+ "product_name": "Dyson Solarcycle Alpha Gen 2 2025",
1839
+ "reason": "Failed 404 check for all main images",
1840
+ "status": "FLAGGED_FOR_DELETION"
1841
+ },
1842
+ {
1843
+ "timestamp": "2026-03-12T09:52:50.786531",
1844
+ "user": "System",
1845
+ "product_id": 173,
1846
+ "product_name": "Dell XPS 15 Ultra Series Edition 2025 2023",
1847
+ "reason": "Failed 404 check for all main images",
1848
+ "status": "FLAGGED_FOR_DELETION"
1849
+ },
1850
+ {
1851
+ "timestamp": "2026-03-12T09:52:50.819181",
1852
+ "user": "System",
1853
+ "product_id": 178,
1854
+ "product_name": "Apple iPhone SE Alpha Gen 3 2024",
1855
+ "reason": "Failed 404 check for all main images",
1856
+ "status": "FLAGGED_FOR_DELETION"
1857
+ },
1858
+ {
1859
+ "timestamp": "2026-03-12T09:52:50.852452",
1860
+ "user": "System",
1861
+ "product_id": 179,
1862
+ "product_name": "Dior Sauvage X Gen 3 2024",
1863
+ "reason": "Failed 404 check for all main images",
1864
+ "status": "FLAGGED_FOR_DELETION"
1865
+ },
1866
+ {
1867
+ "timestamp": "2026-03-12T09:52:50.884507",
1868
+ "user": "System",
1869
+ "product_id": 180,
1870
+ "product_name": "Dell Alienware m16 Alpha Edition 2024 2025",
1871
+ "reason": "Failed 404 check for all main images",
1872
+ "status": "FLAGGED_FOR_DELETION"
1873
+ },
1874
+ {
1875
+ "timestamp": "2026-03-12T09:52:50.923055",
1876
+ "user": "System",
1877
+ "product_id": 181,
1878
+ "product_name": "Dior J'adore Business v3 2025",
1879
+ "reason": "Failed 404 check for all main images",
1880
+ "status": "FLAGGED_FOR_DELETION"
1881
+ },
1882
+ {
1883
+ "timestamp": "2026-03-12T09:52:50.956078",
1884
+ "user": "System",
1885
+ "product_id": 182,
1886
+ "product_name": "Xiaomi Poco X6 Elite Gen 2 2025",
1887
+ "reason": "Failed 404 check for all main images",
1888
+ "status": "FLAGGED_FOR_DELETION"
1889
+ },
1890
+ {
1891
+ "timestamp": "2026-03-12T09:52:51.005837",
1892
+ "user": "System",
1893
+ "product_id": 183,
1894
+ "product_name": "Dyson Airwrap Multi-Styler Business Gen 2 2023",
1895
+ "reason": "Failed 404 check for all main images",
1896
+ "status": "FLAGGED_FOR_DELETION"
1897
+ },
1898
+ {
1899
+ "timestamp": "2026-03-12T09:52:51.040540",
1900
+ "user": "System",
1901
+ "product_id": 187,
1902
+ "product_name": "Xiaomi Xiaomi 14 Special Edition 2025 2025",
1903
+ "reason": "Failed 404 check for all main images",
1904
+ "status": "FLAGGED_FOR_DELETION"
1905
+ },
1906
+ {
1907
+ "timestamp": "2026-03-12T09:52:51.110942",
1908
+ "user": "System",
1909
+ "product_id": 190,
1910
+ "product_name": "Samsung Galaxy S23 Elite v1 2023",
1911
+ "reason": "Failed 404 check for all main images",
1912
+ "status": "FLAGGED_FOR_DELETION"
1913
+ },
1914
+ {
1915
+ "timestamp": "2026-03-12T09:52:51.142579",
1916
+ "user": "System",
1917
+ "product_id": 195,
1918
+ "product_name": "Chanel Bleu de Chanel Ultra Series Gen 3 2023",
1919
+ "reason": "Failed 404 check for all main images",
1920
+ "status": "FLAGGED_FOR_DELETION"
1921
+ },
1922
+ {
1923
+ "timestamp": "2026-03-12T09:52:51.200589",
1924
+ "user": "System",
1925
+ "product_id": 197,
1926
+ "product_name": "Chanel No. 5 Pro Max v3 2023",
1927
+ "reason": "Failed 404 check for all main images",
1928
+ "status": "FLAGGED_FOR_DELETION"
1929
+ },
1930
+ {
1931
+ "timestamp": "2026-03-12T09:52:51.248328",
1932
+ "user": "System",
1933
+ "product_id": 199,
1934
+ "product_name": "Dior J'adore Global Edition v2 2024",
1935
+ "reason": "Failed 404 check for all main images",
1936
+ "status": "FLAGGED_FOR_DELETION"
1937
+ },
1938
+ {
1939
+ "timestamp": "2026-03-12T09:52:51.290811",
1940
+ "user": "System",
1941
+ "product_id": 207,
1942
+ "product_name": "Dior Miss Dior Business v3 2025",
1943
+ "reason": "Failed 404 check for all main images",
1944
+ "status": "FLAGGED_FOR_DELETION"
1945
+ },
1946
+ {
1947
+ "timestamp": "2026-03-12T09:52:51.320532",
1948
+ "user": "System",
1949
+ "product_id": 210,
1950
+ "product_name": "Dell Alienware m16 Luxury v1 2024",
1951
+ "reason": "Failed 404 check for all main images",
1952
+ "status": "FLAGGED_FOR_DELETION"
1953
+ },
1954
+ {
1955
+ "timestamp": "2026-03-12T09:52:51.355460",
1956
+ "user": "System",
1957
+ "product_id": 212,
1958
+ "product_name": "Google Pixel Watch 2 X v1 2024",
1959
+ "reason": "Failed 404 check for all main images",
1960
+ "status": "FLAGGED_FOR_DELETION"
1961
+ },
1962
+ {
1963
+ "timestamp": "2026-03-12T09:52:51.391291",
1964
+ "user": "System",
1965
+ "product_id": 215,
1966
+ "product_name": "Google Pixel Tablet Global Edition v3 2025",
1967
+ "reason": "Failed 404 check for all main images",
1968
+ "status": "FLAGGED_FOR_DELETION"
1969
+ },
1970
+ {
1971
+ "timestamp": "2026-03-12T09:52:51.439347",
1972
+ "user": "System",
1973
+ "product_id": 223,
1974
+ "product_name": "Apple iPhone 15 Elite v1 2024",
1975
+ "reason": "Failed 404 check for all main images",
1976
+ "status": "FLAGGED_FOR_DELETION"
1977
+ },
1978
+ {
1979
+ "timestamp": "2026-03-12T09:52:51.481325",
1980
+ "user": "System",
1981
+ "product_id": 224,
1982
+ "product_name": "Dyson Pure Cool Special v2 2025",
1983
+ "reason": "Failed 404 check for all main images",
1984
+ "status": "FLAGGED_FOR_DELETION"
1985
+ },
1986
+ {
1987
+ "timestamp": "2026-03-12T09:52:51.523081",
1988
+ "user": "System",
1989
+ "product_id": 232,
1990
+ "product_name": "Xiaomi Xiaomi 14 Pro Max Edition 2025 2023",
1991
+ "reason": "Failed 404 check for all main images",
1992
+ "status": "FLAGGED_FOR_DELETION"
1993
+ },
1994
+ {
1995
+ "timestamp": "2026-03-12T09:52:51.573267",
1996
+ "user": "System",
1997
+ "product_id": 233,
1998
+ "product_name": "Dyson Airwrap Multi-Styler Luxury v2 2025",
1999
+ "reason": "Failed 404 check for all main images",
2000
+ "status": "FLAGGED_FOR_DELETION"
2001
+ },
2002
+ {
2003
+ "timestamp": "2026-03-12T09:52:51.613314",
2004
+ "user": "System",
2005
+ "product_id": 236,
2006
+ "product_name": "Dyson Solarcycle Luxury Edition 2024 2023",
2007
+ "reason": "Failed 404 check for all main images",
2008
+ "status": "FLAGGED_FOR_DELETION"
2009
+ },
2010
+ {
2011
+ "timestamp": "2026-03-12T09:52:51.649922",
2012
+ "user": "System",
2013
+ "product_id": 240,
2014
+ "product_name": "Dell Alienware m16 Business Gen 2 2025",
2015
+ "reason": "Failed 404 check for all main images",
2016
+ "status": "FLAGGED_FOR_DELETION"
2017
+ },
2018
+ {
2019
+ "timestamp": "2026-03-12T09:52:51.683115",
2020
+ "user": "System",
2021
+ "product_id": 241,
2022
+ "product_name": "Samsung Galaxy Tab S9 Luxury v3 2023",
2023
+ "reason": "Failed 404 check for all main images",
2024
+ "status": "FLAGGED_FOR_DELETION"
2025
+ },
2026
+ {
2027
+ "timestamp": "2026-03-12T09:52:51.720583",
2028
+ "user": "System",
2029
+ "product_id": 244,
2030
+ "product_name": "Dell XPS 13 Alpha Gen 3 2025",
2031
+ "reason": "Failed 404 check for all main images",
2032
+ "status": "FLAGGED_FOR_DELETION"
2033
+ },
2034
+ {
2035
+ "timestamp": "2026-03-12T09:52:51.754519",
2036
+ "user": "System",
2037
+ "product_id": 249,
2038
+ "product_name": "Dior Miss Dior X Edition 2025 2025",
2039
+ "reason": "Failed 404 check for all main images",
2040
+ "status": "FLAGGED_FOR_DELETION"
2041
+ },
2042
+ {
2043
+ "timestamp": "2026-03-12T09:52:51.787657",
2044
+ "user": "System",
2045
+ "product_id": 250,
2046
+ "product_name": "Apple MacBook Pro Home v3 2023",
2047
+ "reason": "Failed 404 check for all main images",
2048
+ "status": "FLAGGED_FOR_DELETION"
2049
+ },
2050
+ {
2051
+ "timestamp": "2026-03-12T09:52:51.822508",
2052
+ "user": "System",
2053
+ "product_id": 251,
2054
+ "product_name": "HP Envy x360 Luxury Gen 3 2025",
2055
+ "reason": "Failed 404 check for all main images",
2056
+ "status": "FLAGGED_FOR_DELETION"
2057
+ },
2058
+ {
2059
+ "timestamp": "2026-03-12T09:52:51.856922",
2060
+ "user": "System",
2061
+ "product_id": 253,
2062
+ "product_name": "Sony Alpha A7 IV Special v3 2025",
2063
+ "reason": "Failed 404 check for all main images",
2064
+ "status": "FLAGGED_FOR_DELETION"
2065
+ },
2066
+ {
2067
+ "timestamp": "2026-03-12T09:52:51.896179",
2068
+ "user": "System",
2069
+ "product_id": 258,
2070
+ "product_name": "Chanel Bleu de Chanel Elite v1 2023",
2071
+ "reason": "Failed 404 check for all main images",
2072
+ "status": "FLAGGED_FOR_DELETION"
2073
+ },
2074
+ {
2075
+ "timestamp": "2026-03-12T09:52:51.933617",
2076
+ "user": "System",
2077
+ "product_id": 264,
2078
+ "product_name": "Samsung Galaxy S23 Elite v2 2025",
2079
+ "reason": "Failed 404 check for all main images",
2080
+ "status": "FLAGGED_FOR_DELETION"
2081
+ },
2082
+ {
2083
+ "timestamp": "2026-03-12T09:52:51.979280",
2084
+ "user": "System",
2085
+ "product_id": 265,
2086
+ "product_name": "Google Pixel 7a Home Edition 2025 2023",
2087
+ "reason": "Failed 404 check for all main images",
2088
+ "status": "FLAGGED_FOR_DELETION"
2089
+ },
2090
+ {
2091
+ "timestamp": "2026-03-12T09:52:52.036991",
2092
+ "user": "System",
2093
+ "product_id": 277,
2094
+ "product_name": "Samsung Galaxy S24 Alpha v1 2024",
2095
+ "reason": "Failed 404 check for all main images",
2096
+ "status": "FLAGGED_FOR_DELETION"
2097
+ },
2098
+ {
2099
+ "timestamp": "2026-03-12T09:52:52.079855",
2100
+ "user": "System",
2101
+ "product_id": 278,
2102
+ "product_name": "Chanel No. 5 Business Gen 3 2025",
2103
+ "reason": "Failed 404 check for all main images",
2104
+ "status": "FLAGGED_FOR_DELETION"
2105
+ },
2106
+ {
2107
+ "timestamp": "2026-03-12T09:52:52.113887",
2108
+ "user": "System",
2109
+ "product_id": 279,
2110
+ "product_name": "Google Pixel 8 Pro Special Edition 2025 2025",
2111
+ "reason": "Failed 404 check for all main images",
2112
+ "status": "FLAGGED_FOR_DELETION"
2113
+ },
2114
+ {
2115
+ "timestamp": "2026-03-12T09:52:52.170640",
2116
+ "user": "System",
2117
+ "product_id": 287,
2118
+ "product_name": "Sony PlayStation 5 Global Edition Gen 2 2023",
2119
+ "reason": "Failed 404 check for all main images",
2120
+ "status": "FLAGGED_FOR_DELETION"
2121
+ },
2122
+ {
2123
+ "timestamp": "2026-03-12T09:52:52.209151",
2124
+ "user": "System",
2125
+ "product_id": 290,
2126
+ "product_name": "Dyson Pure Cool Elite Edition 2024 2023",
2127
+ "reason": "Failed 404 check for all main images",
2128
+ "status": "FLAGGED_FOR_DELETION"
2129
+ },
2130
+ {
2131
+ "timestamp": "2026-03-12T09:52:52.246131",
2132
+ "user": "System",
2133
+ "product_id": 291,
2134
+ "product_name": "Dior Dior Homme Ultra Series v3 2023",
2135
+ "reason": "Failed 404 check for all main images",
2136
+ "status": "FLAGGED_FOR_DELETION"
2137
+ },
2138
+ {
2139
+ "timestamp": "2026-03-12T09:52:52.287107",
2140
+ "user": "System",
2141
+ "product_id": 296,
2142
+ "product_name": "HP Pavilion Plus Global Edition Gen 3 2024",
2143
+ "reason": "Failed 404 check for all main images",
2144
+ "status": "FLAGGED_FOR_DELETION"
2145
+ },
2146
+ {
2147
+ "timestamp": "2026-03-12T09:52:52.323451",
2148
+ "user": "System",
2149
+ "product_id": 297,
2150
+ "product_name": "Dior J'adore Pro Max Gen 3 2024",
2151
+ "reason": "Failed 404 check for all main images",
2152
+ "status": "FLAGGED_FOR_DELETION"
2153
+ },
2154
+ {
2155
+ "timestamp": "2026-03-12T09:52:52.360775",
2156
+ "user": "System",
2157
+ "product_id": 300,
2158
+ "product_name": "Dyson Pure Cool Global Edition v1 2023",
2159
+ "reason": "Failed 404 check for all main images",
2160
+ "status": "FLAGGED_FOR_DELETION"
2161
+ },
2162
+ {
2163
+ "timestamp": "2026-03-12T09:52:52.394401",
2164
+ "user": "System",
2165
+ "product_id": 305,
2166
+ "product_name": "Dell Precision 5570 Ultra Series Gen 2 2023",
2167
+ "reason": "Failed 404 check for all main images",
2168
+ "status": "FLAGGED_FOR_DELETION"
2169
+ },
2170
+ {
2171
+ "timestamp": "2026-03-12T09:52:52.435953",
2172
+ "user": "System",
2173
+ "product_id": 306,
2174
+ "product_name": "Dyson Pure Cool Ultra Series Gen 3 2023",
2175
+ "reason": "Failed 404 check for all main images",
2176
+ "status": "FLAGGED_FOR_DELETION"
2177
+ },
2178
+ {
2179
+ "timestamp": "2026-03-12T09:52:52.469740",
2180
+ "user": "System",
2181
+ "product_id": 316,
2182
+ "product_name": "HP Spectre x360 Special Gen 3 2023",
2183
+ "reason": "Failed 404 check for all main images",
2184
+ "status": "FLAGGED_FOR_DELETION"
2185
+ },
2186
+ {
2187
+ "timestamp": "2026-03-12T11:06:00.764725",
2188
+ "user": "System",
2189
+ "product_id": 9,
2190
+ "product_name": "Dell Precision 5570",
2191
+ "reason": "Failed 404 check for all main images",
2192
+ "status": "FLAGGED_FOR_DELETION"
2193
+ },
2194
+ {
2195
+ "timestamp": "2026-03-12T11:06:00.802705",
2196
+ "user": "System",
2197
+ "product_id": 13,
2198
+ "product_name": "Dior Homme Intense",
2199
+ "reason": "Failed 404 check for all main images",
2200
+ "status": "FLAGGED_FOR_DELETION"
2201
+ },
2202
+ {
2203
+ "timestamp": "2026-03-12T11:06:00.829674",
2204
+ "user": "System",
2205
+ "product_id": 14,
2206
+ "product_name": "Apple Watch Ultra 2",
2207
+ "reason": "Failed 404 check for all main images",
2208
+ "status": "FLAGGED_FOR_DELETION"
2209
+ },
2210
+ {
2211
+ "timestamp": "2026-03-12T11:06:00.861635",
2212
+ "user": "System",
2213
+ "product_id": 20,
2214
+ "product_name": "Dyson Supersonic Hair Dryer",
2215
+ "reason": "Failed 404 check for all main images",
2216
+ "status": "FLAGGED_FOR_DELETION"
2217
+ },
2218
+ {
2219
+ "timestamp": "2026-03-12T11:06:00.890417",
2220
+ "user": "System",
2221
+ "product_id": 46,
2222
+ "product_name": "Xiaomi Watch S3",
2223
+ "reason": "Failed 404 check for all main images",
2224
+ "status": "FLAGGED_FOR_DELETION"
2225
+ },
2226
+ {
2227
+ "timestamp": "2026-03-12T11:06:00.924090",
2228
+ "user": "System",
2229
+ "product_id": 47,
2230
+ "product_name": "Chanel Allure Home",
2231
+ "reason": "Failed 404 check for all main images",
2232
+ "status": "FLAGGED_FOR_DELETION"
2233
+ },
2234
+ {
2235
+ "timestamp": "2026-03-12T11:06:00.952611",
2236
+ "user": "System",
2237
+ "product_id": 59,
2238
+ "product_name": "HP Victus 16 (2025)",
2239
+ "reason": "Failed 404 check for all main images",
2240
+ "status": "FLAGGED_FOR_DELETION"
2241
+ },
2242
+ {
2243
+ "timestamp": "2026-03-12T11:06:01.012396",
2244
+ "user": "System",
2245
+ "product_id": 71,
2246
+ "product_name": "Apple Watch Ultra 2 (2025)",
2247
+ "reason": "Failed 404 check for all main images",
2248
+ "status": "FLAGGED_FOR_DELETION"
2249
+ },
2250
+ {
2251
+ "timestamp": "2026-03-12T11:06:01.060200",
2252
+ "user": "System",
2253
+ "product_id": 78,
2254
+ "product_name": "HP Spectre x360 (2025)",
2255
+ "reason": "Failed 404 check for all main images",
2256
+ "status": "FLAGGED_FOR_DELETION"
2257
+ },
2258
+ {
2259
+ "timestamp": "2026-03-12T11:06:01.101197",
2260
+ "user": "System",
2261
+ "product_id": 81,
2262
+ "product_name": "Dyson Airwrap Multi-Styler (2025)",
2263
+ "reason": "Failed 404 check for all main images",
2264
+ "status": "FLAGGED_FOR_DELETION"
2265
+ },
2266
+ {
2267
+ "timestamp": "2026-03-12T11:06:01.165164",
2268
+ "user": "System",
2269
+ "product_id": 84,
2270
+ "product_name": "Sony Bravia XR A80L (2025)",
2271
+ "reason": "Failed 404 check for all main images",
2272
+ "status": "FLAGGED_FOR_DELETION"
2273
+ },
2274
+ {
2275
+ "timestamp": "2026-03-12T11:06:01.211676",
2276
+ "user": "System",
2277
+ "product_id": 126,
2278
+ "product_name": "Dyson Solarcycle Morph (2026)",
2279
+ "reason": "Failed 404 check for all main images",
2280
+ "status": "FLAGGED_FOR_DELETION"
2281
+ },
2282
+ {
2283
+ "timestamp": "2026-03-12T11:06:01.258839",
2284
+ "user": "System",
2285
+ "product_id": 127,
2286
+ "product_name": "Dior Homme Intense (2026)",
2287
+ "reason": "Failed 404 check for all main images",
2288
+ "status": "FLAGGED_FOR_DELETION"
2289
+ },
2290
+ {
2291
+ "timestamp": "2026-03-12T11:06:01.305607",
2292
+ "user": "System",
2293
+ "product_id": 148,
2294
+ "product_name": "Apple TV 4K (2026)",
2295
+ "reason": "Failed 404 check for all main images",
2296
+ "status": "FLAGGED_FOR_DELETION"
2297
+ },
2298
+ {
2299
+ "timestamp": "2026-03-12T11:06:01.340935",
2300
+ "user": "System",
2301
+ "product_id": 151,
2302
+ "product_name": "HP Envy 13 (2026)",
2303
+ "reason": "Failed 404 check for all main images",
2304
+ "status": "FLAGGED_FOR_DELETION"
2305
+ },
2306
+ {
2307
+ "timestamp": "2026-03-12T11:06:01.375017",
2308
+ "user": "System",
2309
+ "product_id": 161,
2310
+ "product_name": "Chanel Allure Home (2026)",
2311
+ "reason": "Failed 404 check for all main images",
2312
+ "status": "FLAGGED_FOR_DELETION"
2313
+ },
2314
+ {
2315
+ "timestamp": "2026-03-12T11:06:01.405274",
2316
+ "user": "System",
2317
+ "product_id": 176,
2318
+ "product_name": "Sony WF-1000XM5 (2027)",
2319
+ "reason": "Failed 404 check for all main images",
2320
+ "status": "FLAGGED_FOR_DELETION"
2321
+ },
2322
+ {
2323
+ "timestamp": "2026-03-12T11:06:01.450742",
2324
+ "user": "System",
2325
+ "product_id": 180,
2326
+ "product_name": "Dell Precision 5570 (2027)",
2327
+ "reason": "Failed 404 check for all main images",
2328
+ "status": "FLAGGED_FOR_DELETION"
2329
+ },
2330
+ {
2331
+ "timestamp": "2026-03-12T11:06:01.521225",
2332
+ "user": "System",
2333
+ "product_id": 184,
2334
+ "product_name": "Dior Homme Intense (2027)",
2335
+ "reason": "Failed 404 check for all main images",
2336
+ "status": "FLAGGED_FOR_DELETION"
2337
+ },
2338
+ {
2339
+ "timestamp": "2026-03-12T11:06:01.558430",
2340
+ "user": "System",
2341
+ "product_id": 190,
2342
+ "product_name": "Xiaomi 13T Pro (2027)",
2343
+ "reason": "Failed 404 check for all main images",
2344
+ "status": "FLAGGED_FOR_DELETION"
2345
+ },
2346
+ {
2347
+ "timestamp": "2026-03-12T11:06:01.604167",
2348
+ "user": "System",
2349
+ "product_id": 100,
2350
+ "product_name": "Dyson V15 Detect (2025)",
2351
+ "reason": "Failed 404 check for all main images",
2352
+ "status": "FLAGGED_FOR_DELETION"
2353
+ },
2354
+ {
2355
+ "timestamp": "2026-03-12T11:06:01.659479",
2356
+ "user": "System",
2357
+ "product_id": 28,
2358
+ "product_name": "Galaxy Buds2 Pro",
2359
+ "reason": "Failed 404 check for all main images",
2360
+ "status": "FLAGGED_FOR_DELETION"
2361
+ },
2362
+ {
2363
+ "timestamp": "2026-03-12T11:06:01.711952",
2364
+ "user": "System",
2365
+ "product_id": 50,
2366
+ "product_name": "J'adore Eau de Parfum",
2367
+ "reason": "Failed 404 check for all main images",
2368
+ "status": "FLAGGED_FOR_DELETION"
2369
+ },
2370
+ {
2371
+ "timestamp": "2026-03-12T11:06:01.749393",
2372
+ "user": "System",
2373
+ "product_id": 57,
2374
+ "product_name": "iPhone 15 Pro Max",
2375
+ "reason": "Failed 404 check for all main images",
2376
+ "status": "FLAGGED_FOR_DELETION"
2377
+ },
2378
+ {
2379
+ "timestamp": "2026-03-12T11:06:01.790572",
2380
+ "user": "System",
2381
+ "product_id": 58,
2382
+ "product_name": "Galaxy S23 FE (2025)",
2383
+ "reason": "Failed 404 check for all main images",
2384
+ "status": "FLAGGED_FOR_DELETION"
2385
+ },
2386
+ {
2387
+ "timestamp": "2026-03-12T11:06:01.828952",
2388
+ "user": "System",
2389
+ "product_id": 65,
2390
+ "product_name": "DualSense Edge Controller (2025)",
2391
+ "reason": "Failed 404 check for all main images",
2392
+ "status": "FLAGGED_FOR_DELETION"
2393
+ },
2394
+ {
2395
+ "timestamp": "2026-03-12T11:06:01.872670",
2396
+ "user": "System",
2397
+ "product_id": 85,
2398
+ "product_name": "Galaxy Buds2 Pro (2025)",
2399
+ "reason": "Failed 404 check for all main images",
2400
+ "status": "FLAGGED_FOR_DELETION"
2401
+ },
2402
+ {
2403
+ "timestamp": "2026-03-12T11:06:01.916676",
2404
+ "user": "System",
2405
+ "product_id": 87,
2406
+ "product_name": "Redmi Pad SE (2025)",
2407
+ "reason": "Failed 404 check for all main images",
2408
+ "status": "FLAGGED_FOR_DELETION"
2409
+ },
2410
+ {
2411
+ "timestamp": "2026-03-12T11:06:01.958892",
2412
+ "user": "System",
2413
+ "product_id": 89,
2414
+ "product_name": "PlayStation 5 Slim (2025)",
2415
+ "reason": "Failed 404 check for all main images",
2416
+ "status": "FLAGGED_FOR_DELETION"
2417
+ },
2418
+ {
2419
+ "timestamp": "2026-03-12T11:06:01.990125",
2420
+ "user": "System",
2421
+ "product_id": 102,
2422
+ "product_name": "Galaxy Watch6 Classic (2025)",
2423
+ "reason": "Failed 404 check for all main images",
2424
+ "status": "FLAGGED_FOR_DELETION"
2425
+ },
2426
+ {
2427
+ "timestamp": "2026-03-12T11:06:02.025168",
2428
+ "user": "System",
2429
+ "product_id": 146,
2430
+ "product_name": "PlayStation 5 Slim (2026)",
2431
+ "reason": "Failed 404 check for all main images",
2432
+ "status": "FLAGGED_FOR_DELETION"
2433
+ },
2434
+ {
2435
+ "timestamp": "2026-03-12T11:06:02.069202",
2436
+ "user": "System",
2437
+ "product_id": 165,
2438
+ "product_name": "Alpha A7 IV (2026)",
2439
+ "reason": "Failed 404 check for all main images",
2440
+ "status": "FLAGGED_FOR_DELETION"
2441
+ },
2442
+ {
2443
+ "timestamp": "2026-03-12T11:06:02.158590",
2444
+ "user": "System",
2445
+ "product_id": 167,
2446
+ "product_name": "Poco X6 Pro (2026)",
2447
+ "reason": "Failed 404 check for all main images",
2448
+ "status": "FLAGGED_FOR_DELETION"
2449
+ },
2450
+ {
2451
+ "timestamp": "2026-03-12T11:06:02.196485",
2452
+ "user": "System",
2453
+ "product_id": 181,
2454
+ "product_name": "iPad Air Gen 5 (2027)",
2455
+ "reason": "Failed 404 check for all main images",
2456
+ "status": "FLAGGED_FOR_DELETION"
2457
+ },
2458
+ {
2459
+ "timestamp": "2026-03-12T11:06:02.234184",
2460
+ "user": "System",
2461
+ "product_id": 188,
2462
+ "product_name": "Galaxy S24 Ultra (2027)",
2463
+ "reason": "Failed 404 check for all main images",
2464
+ "status": "FLAGGED_FOR_DELETION"
2465
+ },
2466
+ {
2467
+ "timestamp": "2026-03-12T11:06:02.272102",
2468
+ "user": "System",
2469
+ "product_id": 193,
2470
+ "product_name": "MacBook Air M2 (2027)",
2471
+ "reason": "Failed 404 check for all main images",
2472
+ "status": "FLAGGED_FOR_DELETION"
2473
+ },
2474
+ {
2475
+ "timestamp": "2026-03-12T11:06:02.309866",
2476
+ "user": "System",
2477
+ "product_id": 25,
2478
+ "product_name": "Galaxy S24+",
2479
+ "reason": "Failed 404 check for all main images",
2480
+ "status": "FLAGGED_FOR_DELETION"
2481
+ },
2482
+ {
2483
+ "timestamp": "2026-03-12T19:40:21.929928",
2484
+ "user": "System",
2485
+ "product_id": 3,
2486
+ "product_name": "Sony Bravia XR A80L",
2487
+ "reason": "Failed 404 check for all main images",
2488
+ "status": "FLAGGED_FOR_DELETION"
2489
+ },
2490
+ {
2491
+ "timestamp": "2026-03-12T19:40:21.944965",
2492
+ "user": "System",
2493
+ "product_id": 8,
2494
+ "product_name": "Dyson Airwrap Multi-Styler",
2495
+ "reason": "Failed 404 check for all main images",
2496
+ "status": "FLAGGED_FOR_DELETION"
2497
+ },
2498
+ {
2499
+ "timestamp": "2026-03-12T19:40:21.975855",
2500
+ "user": "System",
2501
+ "product_id": 27,
2502
+ "product_name": "HP Spectre x360",
2503
+ "reason": "Failed 404 check for all main images",
2504
+ "status": "FLAGGED_FOR_DELETION"
2505
+ },
2506
+ {
2507
+ "timestamp": "2026-03-12T19:40:22.011085",
2508
+ "user": "System",
2509
+ "product_id": 37,
2510
+ "product_name": "Apple TV 4K",
2511
+ "reason": "Failed 404 check for all main images",
2512
+ "status": "FLAGGED_FOR_DELETION"
2513
+ },
2514
+ {
2515
+ "timestamp": "2026-03-12T19:40:22.041702",
2516
+ "user": "System",
2517
+ "product_id": 61,
2518
+ "product_name": "Dyson Purifier Hot+Cool (2025)",
2519
+ "reason": "Failed 404 check for all main images",
2520
+ "status": "FLAGGED_FOR_DELETION"
2521
+ },
2522
+ {
2523
+ "timestamp": "2026-03-12T19:40:22.075370",
2524
+ "user": "System",
2525
+ "product_id": 64,
2526
+ "product_name": "Chanel Coco Mademoiselle (2025)",
2527
+ "reason": "Failed 404 check for all main images",
2528
+ "status": "FLAGGED_FOR_DELETION"
2529
+ },
2530
+ {
2531
+ "timestamp": "2026-03-12T19:40:22.109610",
2532
+ "user": "System",
2533
+ "product_id": 65,
2534
+ "product_name": "Dyson Airwrap Multi-Styler (2025)",
2535
+ "reason": "Failed 404 check for all main images",
2536
+ "status": "FLAGGED_FOR_DELETION"
2537
+ },
2538
+ {
2539
+ "timestamp": "2026-03-12T19:40:22.145368",
2540
+ "user": "System",
2541
+ "product_id": 75,
2542
+ "product_name": "Dell Precision 5570 (2025)",
2543
+ "reason": "Failed 404 check for all main images",
2544
+ "status": "FLAGGED_FOR_DELETION"
2545
+ },
2546
+ {
2547
+ "timestamp": "2026-03-12T19:40:22.183211",
2548
+ "user": "System",
2549
+ "product_id": 78,
2550
+ "product_name": "HP Victus 16 (2025)",
2551
+ "reason": "Failed 404 check for all main images",
2552
+ "status": "FLAGGED_FOR_DELETION"
2553
+ },
2554
+ {
2555
+ "timestamp": "2026-03-12T19:40:22.224170",
2556
+ "user": "System",
2557
+ "product_id": 96,
2558
+ "product_name": "Xiaomi Watch S3 (2025)",
2559
+ "reason": "Failed 404 check for all main images",
2560
+ "status": "FLAGGED_FOR_DELETION"
2561
+ },
2562
+ {
2563
+ "timestamp": "2026-03-12T19:40:22.268570",
2564
+ "user": "System",
2565
+ "product_id": 122,
2566
+ "product_name": "Dyson Airwrap Multi-Styler (2026)",
2567
+ "reason": "Failed 404 check for all main images",
2568
+ "status": "FLAGGED_FOR_DELETION"
2569
+ },
2570
+ {
2571
+ "timestamp": "2026-03-12T19:40:22.317996",
2572
+ "user": "System",
2573
+ "product_id": 123,
2574
+ "product_name": "Miss Dior Parfum (2026)",
2575
+ "reason": "Failed 404 check for all main images",
2576
+ "status": "FLAGGED_FOR_DELETION"
2577
+ },
2578
+ {
2579
+ "timestamp": "2026-03-12T19:40:22.355207",
2580
+ "user": "System",
2581
+ "product_id": 125,
2582
+ "product_name": "Xiaomi 13T Pro (2026)",
2583
+ "reason": "Failed 404 check for all main images",
2584
+ "status": "FLAGGED_FOR_DELETION"
2585
+ },
2586
+ {
2587
+ "timestamp": "2026-03-12T19:40:22.390116",
2588
+ "user": "System",
2589
+ "product_id": 139,
2590
+ "product_name": "Sony WH-1000XM5 (2026)",
2591
+ "reason": "Failed 404 check for all main images",
2592
+ "status": "FLAGGED_FOR_DELETION"
2593
+ },
2594
+ {
2595
+ "timestamp": "2026-03-12T19:40:22.442118",
2596
+ "user": "System",
2597
+ "product_id": 185,
2598
+ "product_name": "Sony WF-1000XM5 (2027)",
2599
+ "reason": "Failed 404 check for all main images",
2600
+ "status": "FLAGGED_FOR_DELETION"
2601
+ },
2602
+ {
2603
+ "timestamp": "2026-03-12T19:40:22.479281",
2604
+ "user": "System",
2605
+ "product_id": 188,
2606
+ "product_name": "HP Envy 13 (2027)",
2607
+ "reason": "Failed 404 check for all main images",
2608
+ "status": "FLAGGED_FOR_DELETION"
2609
+ },
2610
+ {
2611
+ "timestamp": "2026-03-12T19:40:22.579730",
2612
+ "user": "System",
2613
+ "product_id": 189,
2614
+ "product_name": "Dell Precision 5570 (2027)",
2615
+ "reason": "Failed 404 check for all main images",
2616
+ "status": "FLAGGED_FOR_DELETION"
2617
+ },
2618
+ {
2619
+ "timestamp": "2026-03-12T19:40:22.680799",
2620
+ "user": "System",
2621
+ "product_id": 100,
2622
+ "product_name": "Dyson V15 Detect (2025)",
2623
+ "reason": "Failed 404 check for all main images",
2624
+ "status": "FLAGGED_FOR_DELETION"
2625
+ },
2626
+ {
2627
+ "timestamp": "2026-03-12T19:40:22.725823",
2628
+ "user": "System",
2629
+ "product_id": 157,
2630
+ "product_name": "Dyson V15 Detect (2026)",
2631
+ "reason": "Failed 404 check for all main images",
2632
+ "status": "FLAGGED_FOR_DELETION"
2633
+ },
2634
+ {
2635
+ "timestamp": "2026-03-12T19:40:22.782553",
2636
+ "user": "System",
2637
+ "product_id": 59,
2638
+ "product_name": "Chanel Bleu de Chanel (2025)",
2639
+ "reason": "Failed 404 check for all main images",
2640
+ "status": "FLAGGED_FOR_DELETION"
2641
+ },
2642
+ {
2643
+ "timestamp": "2026-03-12T19:40:22.880782",
2644
+ "user": "System",
2645
+ "product_id": 116,
2646
+ "product_name": "Chanel Bleu de Chanel (2026)",
2647
+ "reason": "Failed 404 check for all main images",
2648
+ "status": "FLAGGED_FOR_DELETION"
2649
+ },
2650
+ {
2651
+ "timestamp": "2026-03-12T19:40:22.913936",
2652
+ "user": "System",
2653
+ "product_id": 25,
2654
+ "product_name": "Sony WH-1000XM5",
2655
+ "reason": "Failed 404 check for all main images",
2656
+ "status": "FLAGGED_FOR_DELETION"
2657
+ },
2658
+ {
2659
+ "timestamp": "2026-03-12T19:40:22.955630",
2660
+ "user": "System",
2661
+ "product_id": 6,
2662
+ "product_name": "Galaxy S24 Ultra",
2663
+ "reason": "Failed 404 check for all main images",
2664
+ "status": "FLAGGED_FOR_DELETION"
2665
+ },
2666
+ {
2667
+ "timestamp": "2026-03-12T19:40:22.988713",
2668
+ "user": "System",
2669
+ "product_id": 28,
2670
+ "product_name": "Poco X6 Pro",
2671
+ "reason": "Failed 404 check for all main images",
2672
+ "status": "FLAGGED_FOR_DELETION"
2673
+ },
2674
+ {
2675
+ "timestamp": "2026-03-12T19:40:23.032788",
2676
+ "user": "System",
2677
+ "product_id": 69,
2678
+ "product_name": "Alpha A7 IV (2025)",
2679
+ "reason": "Failed 404 check for all main images",
2680
+ "status": "FLAGGED_FOR_DELETION"
2681
+ },
2682
+ {
2683
+ "timestamp": "2026-03-12T19:40:23.077515",
2684
+ "user": "System",
2685
+ "product_id": 72,
2686
+ "product_name": "J'adore Eau de Parfum (2025)",
2687
+ "reason": "Failed 404 check for all main images",
2688
+ "status": "FLAGGED_FOR_DELETION"
2689
+ },
2690
+ {
2691
+ "timestamp": "2026-03-12T19:40:23.128341",
2692
+ "user": "System",
2693
+ "product_id": 104,
2694
+ "product_name": "MacBook Air M2 (2025)",
2695
+ "reason": "Failed 404 check for all main images",
2696
+ "status": "FLAGGED_FOR_DELETION"
2697
+ },
2698
+ {
2699
+ "timestamp": "2026-03-12T19:40:23.167554",
2700
+ "user": "System",
2701
+ "product_id": 114,
2702
+ "product_name": "Galaxy Z Flip5 (2025)",
2703
+ "reason": "Failed 404 check for all main images",
2704
+ "status": "FLAGGED_FOR_DELETION"
2705
+ },
2706
+ {
2707
+ "timestamp": "2026-03-12T19:40:23.217368",
2708
+ "user": "System",
2709
+ "product_id": 124,
2710
+ "product_name": "PlayStation 5 Slim (2026)",
2711
+ "reason": "Failed 404 check for all main images",
2712
+ "status": "FLAGGED_FOR_DELETION"
2713
+ },
2714
+ {
2715
+ "timestamp": "2026-03-12T19:40:23.283365",
2716
+ "user": "System",
2717
+ "product_id": 140,
2718
+ "product_name": "Galaxy Tab S9 Ultra (2026)",
2719
+ "reason": "Failed 404 check for all main images",
2720
+ "status": "FLAGGED_FOR_DELETION"
2721
+ },
2722
+ {
2723
+ "timestamp": "2026-03-12T19:40:23.325055",
2724
+ "user": "System",
2725
+ "product_id": 154,
2726
+ "product_name": "Redmi Pad SE (2026)",
2727
+ "reason": "Failed 404 check for all main images",
2728
+ "status": "FLAGGED_FOR_DELETION"
2729
+ },
2730
+ {
2731
+ "timestamp": "2026-03-12T19:40:23.363888",
2732
+ "user": "System",
2733
+ "product_id": 160,
2734
+ "product_name": "Galaxy A54 5G (2026)",
2735
+ "reason": "Failed 404 check for all main images",
2736
+ "status": "FLAGGED_FOR_DELETION"
2737
+ },
2738
+ {
2739
+ "timestamp": "2026-03-12T19:40:23.403555",
2740
+ "user": "System",
2741
+ "product_id": 177,
2742
+ "product_name": "Galaxy S24 Ultra (2027)",
2743
+ "reason": "Failed 404 check for all main images",
2744
+ "status": "FLAGGED_FOR_DELETION"
2745
+ },
2746
+ {
2747
+ "timestamp": "2026-03-12T19:40:23.448337",
2748
+ "user": "System",
2749
+ "product_id": 187,
2750
+ "product_name": "AirPods Pro Gen 2 (2027)",
2751
+ "reason": "Failed 404 check for all main images",
2752
+ "status": "FLAGGED_FOR_DELETION"
2753
+ },
2754
+ {
2755
+ "timestamp": "2026-03-12T19:40:23.483867",
2756
+ "user": "System",
2757
+ "product_id": 197,
2758
+ "product_name": "Galaxy Tab S9 Ultra (2027)",
2759
+ "reason": "Failed 404 check for all main images",
2760
+ "status": "FLAGGED_FOR_DELETION"
2761
+ },
2762
+ {
2763
+ "timestamp": "2026-03-12T19:40:23.519576",
2764
+ "user": "System",
2765
+ "product_id": 53,
2766
+ "product_name": "Galaxy S24+",
2767
+ "reason": "Failed 404 check for all main images",
2768
+ "status": "FLAGGED_FOR_DELETION"
2769
+ }
2770
+ ]
real_products_200.json CHANGED
The diff for this file is too large to render. See raw diff
 
trigger_seed.py ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import sys
2
+ import os
3
+ sys.path.append(os.path.dirname(os.path.abspath(__file__)))
4
+
5
+ import asyncio
6
+ from app.db.base import SessionLocal
7
+ from app.api.seed import seed_database
8
+
9
+ async def main():
10
+ db = SessionLocal()
11
+ try:
12
+ print("Running seed_database directly from Python...")
13
+ res = await seed_database(clear=True, db=db)
14
+ print(f"[Result] Success: {res.isSuccess}")
15
+ print(f"[Details]: {res.value}")
16
+ except Exception as e:
17
+ print(f"Error occurred: {e}")
18
+ finally:
19
+ db.close()
20
+
21
+ if __name__ == "__main__":
22
+ asyncio.run(main())