From 4e4b9236c3f02f658c5b852011a7fdde469bfcf3 Mon Sep 17 00:00:00 2001 From: CREDO23 Date: Thu, 23 Jul 2026 18:52:32 +0200 Subject: [PATCH] feat: validate walmart scrape and reviews URLs --- surfsense_backend/app/capabilities/walmart/reviews/schemas.py | 3 ++- surfsense_backend/app/capabilities/walmart/scrape/schemas.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/surfsense_backend/app/capabilities/walmart/reviews/schemas.py b/surfsense_backend/app/capabilities/walmart/reviews/schemas.py index faf56ed5b..bd1dc73d9 100644 --- a/surfsense_backend/app/capabilities/walmart/reviews/schemas.py +++ b/surfsense_backend/app/capabilities/walmart/reviews/schemas.py @@ -11,13 +11,14 @@ from typing import Literal from pydantic import BaseModel, Field, model_validator +from app.capabilities.core.validation import HttpUrlStr from app.proprietary.platforms.walmart import ReviewItem MAX_WALMART_REVIEW_SOURCES = 20 class ReviewsInput(BaseModel): - urls: list[str] = Field( + urls: list[HttpUrlStr] = Field( default_factory=list, max_length=MAX_WALMART_REVIEW_SOURCES, description=( diff --git a/surfsense_backend/app/capabilities/walmart/scrape/schemas.py b/surfsense_backend/app/capabilities/walmart/scrape/schemas.py index 2d42dc371..7faaabd1d 100644 --- a/surfsense_backend/app/capabilities/walmart/scrape/schemas.py +++ b/surfsense_backend/app/capabilities/walmart/scrape/schemas.py @@ -6,6 +6,7 @@ from urllib.parse import quote_plus from pydantic import BaseModel, Field, model_validator +from app.capabilities.core.validation import HttpUrlStr from app.proprietary.platforms.walmart import ProductItem MAX_WALMART_SOURCES = 20 @@ -15,7 +16,7 @@ MAX_WALMART_RESULTS = 1000 class ScrapeInput(BaseModel): """Agent-facing controls for public Walmart product discovery and enrichment.""" - urls: list[str] = Field(default_factory=list, max_length=MAX_WALMART_SOURCES) + urls: list[HttpUrlStr] = Field(default_factory=list, max_length=MAX_WALMART_SOURCES) search_terms: list[str] = Field( default_factory=list, max_length=MAX_WALMART_SOURCES )