o
    g	                     @   s   d dl mZ ddlmZmZ ddlmZ d dl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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   )VendorCategoryVendorCategoryServices)Vendor)SelectedProviderc                   @      e Zd ZG dd dZdS )VendorCategorySerializerc                   @      e Zd ZeZdZdS )zVendorCategorySerializer.Meta__all__N)__name__
__module____qualname__r   modelfields r   r   1/var/www/html/django-vendor/vendor/serializers.pyMeta       r   Nr   r   r   r   r   r   r   r   r	          r	   c                   @   r   ) VendorCategoryServicesSerializerc                   @   r
   )z%VendorCategoryServicesSerializer.Metar   N)r   r   r   r   r   r   r   r   r   r   r      r   r   Nr   r   r   r   r   r      r   r   c                   @   s    e Zd ZejddZe ZdS )CEODetailSerializer   
max_lengthN)r   r   r   r   	CharFieldname
EmailFieldemailr   r   r   r   r      s    r   c                   @   s(   e Zd Ze ZejddZe Z	dS )ContactDetailSerializer   r   N)
r   r   r   r   r   r   r   phoneURLFieldwebsiter   r   r   r   r       s    r    c                   @   s6   e Zd ZeddZeddZG dd dZdd ZdS )VendorSerializerF)requiredc                   @   s*   e Zd ZeZg dZddiddidZdS )zVendorSerializer.Meta)	user_idcontact_detailcitizenshipnidcompany_registration_documentpan_vat_document
pan_number
vat_number
ceo_detailr&   F)r/   r(   N)r   r   r   r   r   r   extra_kwargsr   r   r   r   r   "   s    
r   c                 C   sr   | dd }| dd }| D ]
\}}t||| q|r.| D ]	\}}||j|< q!||_|r3||_|  |S )Nr/   r(   )popitemssetattrr/   r(   save)selfinstancevalidated_datar/   r(   attrvaluekeyr   r   r   update/   s   zVendorSerializer.updateN)	r   r   r   r   r/   r    r(   r   r;   r   r   r   r   r%      s
    

r%   c                   @   s   e Zd Ze Ze ZdS )VendorListingCountSerializerN)r   r   r   r   IntegerField	vendor_idtotal_applied_listingsr   r   r   r   r<   >   s    r<   c                   @   r   )SelectedProviderSerializerc                   @   s   e Zd ZeZddgZdS )zSelectedProviderSerializer.Metar>   application_idN)r   r   r   r   r   r   r   r   r   r   r   D       r   Nr   r   r   r   r   r@   C   r   r@   c                   @   s(   e Zd Ze Ze ZG dd dZdS )VendorDetailSerializerc                   @   s   e Zd ZeZg dZdS )zVendorDetailSerializer.Meta)r(   r-   r.   r/   N)r   r   r   r   r   r   r   r   r   r   r   M   rB   r   N)	r   r   r   r   r/   r   	JSONFieldr(   r   r   r   r   r   rC   I   s    rC   N)rest_frameworkr   modelsr   r   r   application.modelsr   ModelSerializerr	   r   
Serializerr   r    r%   r<   r@   rC   r   r   r   r   <module>   s     