
    ih                         d dl mZmZ d dlmZmZ d dlmZ d dlmZ d dlm	Z	m
Z
  G d de          Z G d d	e          Z G d
 de          ZdS )    )ListOptional)	BaseModel	validator)datetime)Field)uuid4UUIDc                   H    e Zd ZU  ed           Zeed<   eed<   eed<   dS )RelatedTopicc                  8    t          t                                S Nstrr	        $/app/app/entities/search_response.py<lambda>zRelatedTopic.<lambda>       CLL r   default_factoryidtopic_id
topic_nameN)__name__
__module____qualname__r   r   r   __annotations__r   r   r   r   r      sC         e$8$8999B999MMMOOOOOr   r   c                   X   e Zd ZU  e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         ed
<   eed<   eed<   ee         ed<   ee         ed<   eed<   e	e
         ed<   dZeed<    eddddd          d             Z G d d          ZdS )SearchResponsec                  8    t          t                                S r   r   r   r   r   r   zSearchResponse.<lambda>   r   r   r   r   titlelinksnippet	photo_urlthumbnail_urlpublished_datetime_utcauthors
source_urlsource_namesource_logo_urlsource_favicon_urlsource_publication_idrelated_topicsF	processedT)prec                 d    t          |t                    r|                                dk    rd S |S )Nnone)
isinstancer   lower)clsvs     r   convert_str_none_to_nonez'SearchResponse.convert_str_none_to_none   s0    a 	!''))v"5"54r   c                       e Zd ZdZed iZdS )SearchResponse.ConfigTc                 *    |                                  S r   )	isoformat)r6   s    r   r   zSearchResponse.Config.<lambda>&   s     r   N)r   r   r   use_enum_valuesr   json_encodersr   r   r   Configr9   #   s#        --
r   r>   N)r   r   r   r   r   r   r   r   r   r   r   r/   boolr   r7   r>   r   r   r   r    r       sK        e$8$8999B999JJJ
IIILLL}C=   $$$$#YOOOc]""" %%%&&&&ItY +@TZ^___  `_

 
 
 
 
 
 
 
 
 
r   r    c                   ^    e Zd ZU  ed           Zeed<   eed<   eed<   ee         ed<   dS )NewsResponsec                  8    t          t                                S r   r   r   r   r   r   zNewsResponse.<lambda>+   r   r   r   r   status
request_iddataN)	r   r   r   r   r   r   r   r   r    r   r   r   rA   rA   *   sV         e$8$8999B999KKKOOO
~
r   rA   N)typingr   r   pydanticr   r   r   r   uuidr	   r
   r   r    rA   r   r   r   <module>rI      s    ! ! ! ! ! ! ! ! ( ( ( ( ( ( ( (                        9   

 
 
 
 
Y 
 
 
<    9     r   