
    /i                         d dl mZmZ d dlmZ d dlmZ  G d de      Z G d de      Z G d d	e      Z G d
 de      Z	y)    )OptionalList)datetime)	BaseModelc                   ~    e Zd ZU dZdZee   ed<   eed<   eed<   ee   ed<   eed<   eed<   ee   ed	<   ee   ed
<   y)ScrapingResultItemz8Single scraping result for a vendor or discovery source.N	vendor_idvendor_name
vendor_urlscraped_pricemspstatusprice_differencepercentage_difference	__name__
__module____qualname____doc__r	   r   str__annotations__float     :/var/www/html/marco-python-backend/app/schemas/scraping.pyr   r      sF    B#Ix}#OE?"	JKuo%#E?*r   r   c                   ^    e Zd ZU dZdZee   ed<   eed<   eed<   eed<   eed<   ee   ed<   y)	ViolationItemzViolation record from scraping.Nr	   r
   product_namer   r   r   r   r   r   r   r   r      s4    )#Ix}#	Juo%r   r   c                   n    e Zd ZU dZeed<   eed<   eed<   eed<   eed<   ee	   ed<   ee
   ed<   eed	<   y
)ScrapingResponsea5  Response from scraping endpoint.

    - `scraped_count` represents the total number of lookup attempts,
      including registered vendors and discovered alternative vendors when `enable_discovery` is true.
    - `results` includes entries for all scraped sources: registered vendors and discovered ones.
    
product_idr   r   scraped_countviolation_countresults
violationsexecution_timeN)r   r   r   r   intr   r   r   r   r   r   r   r   r   r    r       sB     O	J$%%]##r   r    c                       e Zd ZU dZeed<   eed<   eed<   eed<   ee   ed<   ee   ed<   eed<   eed	<   eed
<   ee   ed<   ee   ed<   ee   ed<   eed<   eed<   e	ed<    G d d      Z
y)ScrapingResultDBz#Database model for scraping result.idr!   r	   r   barcodereference_idr
   r   r   r   r   r   compliance_statussource_type
scraped_atc                       e Zd ZdZy)ScrapingResultDB.ConfigTN)r   r   r   from_attributesr   r   r   Configr1   ?   s    r   r3   N)r   r   r   r   r   r   r'   r   r   r   r3   r   r   r   r)   r)   -   sx    -GONc]3-O	JE?"uo%#E?* r   r)   N)
typingr   r   r   pydanticr   r   r   r    r)   r   r   r   <module>r6      s>    !  	+ 	+&I &y "y r   