a
     ld
                     @   s   d dl mZ d dlmZ d dlmZ d dlmZmZ G dd dej	Z
G dd dej	ZG d	d
 d
ej	ZG dd dej	ZdS )    )serializers)Review)ReviewSourceSerializer)SealWidgetc                   @   s(   e Zd Ze Ze ZG dd dZdS )ReviewWidgetSerializerc                   @   s   e Zd ZeZdZdS )zReviewWidgetSerializer.Meta__all__N)__name__
__module____qualname__r   modelfields r   r   F/var/www/html/Ranjet/backend/verify_trusted/widgets/api/serializers.pyMeta   s   r   N)	r	   r
   r   r   IntegerFieldidr   sourcer   r   r   r   r   r      s   r   c                       sN   e Zd ZedddZG dd dZ fddZ fdd	Z fd
dZ  Z	S )WidgetSerializerTF)manyrequiredc                   @   s   e Zd ZeZdZdS )zWidgetSerializer.Metar   Nr	   r
   r   r   r   r   r   r   r   r   r      s   r   c                    s   g }d|v rRt |d dkrR|d D ],}tjj|d d }|d ur$|| q$|dd  t |}t |dkr|j	j
|  |S )Nreviewsr   r   )pk)lenr   objectsfilterfirstappendpopsupercreater   add)selfvalidated_datar   iZ
get_reviewwidget	__class__r   r   r!      s    zWidgetSerializer.createc                    sd   | dd }|d urV|j  |D ]2}tjj|d d}|d ur"| }|j| q"t 	||S )Nr   r   )r   )
r   r   clearr   r   r   r   r"   r    update)r#   instancer$   Zreview_datar   Z	review_qsreviewr'   r   r   r*   &   s    
zWidgetSerializer.updatec                    s   t  | |S )N)r    validate)r#   datar'   r   r   r-   1   s    zWidgetSerializer.validate)
r	   r
   r   r   r   r   r!   r*   r-   __classcell__r   r   r'   r   r      s
   r   c                   @   s$   e Zd ZeddZG dd dZdS )WidgetDemoSerializerT)	read_onlyc                   @   s   e Zd ZeZdZdS )zWidgetDemoSerializer.Metar   Nr   r   r   r   r   r   9   s   r   N)r	   r
   r   r   r   r   r   r   r   r   r0   6   s   
r0   c                   @   s   e Zd ZG dd dZdS )SealSerializerc                   @   s   e Zd ZeZdZdS )zSealSerializer.Metar   N)r	   r
   r   r   r   r   r   r   r   r   r   ?   s   r   N)r	   r
   r   r   r   r   r   r   r2   >   s   r2   N)rest_frameworkr   verify_trusted.companies.modelsr   &verify_trusted.reviews.api.serializersr   verify_trusted.widgets.modelsr   r   ModelSerializerr   r   r0   r2   r   r   r   r   <module>   s   	%