U
    _(                     @   s   d dl T d dlmZ d dlmZ d dlmZ d dlmZmZ d dl	Z	d dl
mZ e	dZG d	d
 d
e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)filters)PageNumberPagination)FQN)get_backenddjangoc                   @   s   e Zd ZdZdZdZdS )NoPaginationResultsd   	page_sizeN)__name__
__module____qualname__r   page_size_query_parammax_page_size r   r   p/home/christophe/Documents/Programmation/CleverCloud/app_d1f616fd-1494-4ace-aea9-746b5a24efbf/api/serializers.pyr
      s   r
   c                   @   s   e Zd ZG dd dZdS )AppUserSerializerc                   @   s   e Zd ZeZdZdS )zAppUserSerializer.Meta__all__Nr   r   r   AppUsermodelfieldsr   r   r   r   Meta   s   r   Nr   r   r   r   r   r   r   r   r      s   r   c                   @   s   e Zd ZG dd dZdS )ShortAppUserSerializerc                   @   s   e Zd ZeZdZdS )zShortAppUserSerializer.Meta)idvalidpicturepseudoemailnameNr   r   r   r   r   r   (   s   r   Nr   r   r   r   r   r   &   s   r   c                   @   s   e Zd ZG dd dZdS )VTCGammeSerializerc                   @   s   e Zd ZeZdZdS )zVTCGammeSerializer.Metar   N)r   r   r   VTCGammer   r   r   r   r   r   r   =   s   r   Nr   r   r   r   r   r#   <   s   r#   c                   @   s*   e Zd Ze ZG dd dZdd ZdS )VTCSerializerc                   @   s   e Zd ZeZdZdS )zVTCSerializer.Metar   N)r   r   r   VTCr   r   r   r   r   r   r   C   s   r   c                 C   s&   t jj|jddd}t|ddjS )NT)	refVTC_idr   refVTC)many)r$   objectsfilterr   select_relatedr#   data)selfobjquerysetr   r   r   get_gammeListG   s    zVTCSerializer.get_gammeListN)r   r   r   r   SerializerMethodFieldZ	gammeListr   r1   r   r   r   r   r%   A   s   r%   c                   @   s   e Zd ZG dd dZdS )RedirectionSerializerc                   @   s   e Zd ZeZdZdS )zRedirectionSerializer.Metar   N)r   r   r   Redirectionr   r   r   r   r   r   r   L   s   r   Nr   r   r   r   r   r3   K   s   r3   c                   @   s   e Zd ZG dd dZdS )SearchSerializerc                   @   s   e Zd ZeZdZdS )zSearchSerializer.Metar   N)r   r   r   Searchr   r   r   r   r   r   r   Q   s   r   Nr   r   r   r   r   r5   P   s   r5   c                   @   s   e Zd ZeddZe Ze Ze Z	e Z
e Ze ZG dd dZdd Zdd Zd	d
 Zdd Zdd Zdd ZdS )SearchResultsSerializerT)	read_onlyc                   @   s   e Zd ZeZdZdS )zSearchResultsSerializer.Metar   N)r   r   r   SearchResultsr   r   r   r   r   r   r   ]   s   r   c                 C   s*   g }|j j D ]}|j}|| q|S N)r(   fluctuoprovidersallslugappend)Zselfselfr/   Zslugsr-   r"   r   r   r   get_providerSluga   s
    z(SearchResultsSerializer.get_providerSlugc                 C   s
   |j jjS r:   )r(   logourlr.   r/   r   r   r   	get_imageg   s    z!SearchResultsSerializer.get_imagec                 C   s   |j jS r:   )r(   prixGarantierB   r   r   r   get_prixGarantiej   s    z(SearchResultsSerializer.get_prixGarantiec                 C   s   |j jS r:   )r(   downloadUrlAndroidrB   r   r   r   get_downloadUrlAndroidm   s    z.SearchResultsSerializer.get_downloadUrlAndroidc                 C   s   |j jS r:   )r(   downloadUrlIOSrB   r   r   r   get_downloadUrlIOSp   s    z*SearchResultsSerializer.get_downloadUrlIOSc                 C   s4   |j j}|r,|d }|jr&||jj S dS ndS d S )Ni  )	refSearchdistanceBetweenDestinationrefVTCGamme	grammeCo2)r.   r/   distanceZ
distanceKMr   r   r   get_grammeCo2s   s    z%SearchResultsSerializer.get_grammeCo2N)r   r   r   r#   rM   r   r2   imagerD   rF   rH   rN   providerSlugr   r?   rC   rE   rG   rI   rP   r   r   r   r   r7   U   s   
r7   c                   @   s   e Zd ZG dd dZdS )AppleSignInSerializerc                   @   s   e Zd ZeZdZdS )zAppleSignInSerializer.Metar   N)r   r   r   AppleSignInr   r   r   r   r   r   r      s   r   Nr   r   r   r   r   rS   ~   s   rS   )	bo.modelsrest_frameworkr   r   Zrest_framework.paginationr   django.db.modelsr   r   loggingZimage_cropping.utilsr   	getLoggerloggerr
   ModelSerializerr   r   r#   r%   r3   r5   r7   rS   r   r   r   r   <module>   s    

)