3
Jje}                 @   s*  d dl mZ d dlmZ 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ejd	ZG d
d de	ZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG d d! d!eZdS )"    )SerializerMethodField)ModelSerializer)*)serializers)filters)PageNumberPagination)FQN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   H/home/csurbier/selltix_backend/SellTix/tixsellbackend/api/serializers.pyr      s   r   c               @   s   e Zd ZG dd dZdS )SellerSerializerc               @   s   e Zd ZeZdZdS )zSellerSerializer.Meta__all__N)r   r   r   Seller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eddZG dd dZdS )UserSerializerT)	read_onlyc               @   s   e Zd ZeZd	ZdS )
zUserSerializer.Metapasswordgroupsuser_permissions
privateKeywords	publicKeyis_staffN)r   r   r   r    r!   r"   r#   )r   r   r   Userr   excluder   r   r   r   r      s   r   N)r   r   r   r   sellerr   r   r   r   r   r      s   
r   c               @   s   e Zd ZG dd dZdS )CategorySerializerc               @   s   e Zd ZeZdZdS )zCategorySerializer.Metar   N)r   r   r   Categoryr   r   r   r   r   r   r   #   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 )EventPageTemplateSerializerc               @   s   e Zd ZeZdZdS )z EventPageTemplateSerializer.Metar   N)r   r   r   EventPageTemplater   r   r   r   r   r   r   *   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 )TicketTypeTemplateSerializerc               @   s   e Zd ZeZdZdS )z!TicketTypeTemplateSerializer.Metar   N)r   r   r   TicketTypeTemplater   r   r   r   r   r   r   1   s   r   N)r   r   r   r   r   r   r   r   r+   0   s   r+   c               @   s    e Zd Ze ZG dd dZdS )TicketTypeSerializerc               @   s   e Zd ZeZdZdS )zTicketTypeSerializer.Metar   N)r   r   r   
TicketTyper   r   r   r   r   r   r   8   s   r   N)r   r   r   r+   refTicketTypeTemplater   r   r   r   r   r-   6   s   r-   c               @   s   e Zd ZG dd dZdS )TicketTypeCreateSerializerc               @   s   e Zd ZeZdZdS )zTicketTypeCreateSerializer.Metar   N)r   r   r   r.   r   r   r   r   r   r   r   =   s   r   N)r   r   r   r   r   r   r   r   r0   <   s   r0   c               @   s   e Zd Zej Zej Zej Zej Zej Z	ej Z
ej 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d ZdS )EventSerializerc               @   s   e Zd ZeZdZdS )zEventSerializer.Metar   N)r   r   r   Eventr   r   r   r   r   r   r   I   s   r   c             C   s0   t jj|jdjdjdjd}t|ddjS )N)refEvent	createdAtr3   r/   T)many)r.   objectsfilteridorder_byselect_relatedr-   data)selfobjquerysetr   r   r   get_ticketTypesM   s    "zEventSerializer.get_ticketTypesc             C   s   |j jS )N)refCategoryname)r<   r=   r   r   r   get_categoryNameQ   s    z EventSerializer.get_categoryNamec             C   s   |j jS )N)refOrganiserorganizerCompany)r<   r=   r   r   r   get_organiserNameT   s    z!EventSerializer.get_organiserNamec             C   s   |j jS )N)rC   organizeWebsite)r<   r=   r   r   r   get_organiserWebsiteW   s    z$EventSerializer.get_organiserWebsitec             C   s@   y|j jr|j jjS dS W n  tk
r: } zd S d }~X nX d S )NF)rC   r&   stripe_user_id	Exception)r<   r=   er   r   r   get_organizerStripeAccountIdZ   s    
z,EventSerializer.get_organizerStripeAccountIdc             C   s@   y|j jr|j jjS dS W n  tk
r: } zdS d }~X nX d S )NF)rC   r&   stripe_charges_enabledrI   )r<   r=   rJ   r   r   r   get_stripeAcceptedd   s    
z"EventSerializer.get_stripeAcceptedc             C   s   |j j|j j|j j|j jdS )N)cbZmaticZusdtZusdc)rC   
cbAcceptedmaticAcceptedusdtAcceptedusdcAccepted)r<   r=   r   r   r   get_paymentsn   s    zEventSerializer.get_paymentsN)r   r   r   r   r   ZcategoryNameticketTypesZorganiserNameZorganiserWebsiteZstripeAcceptedZorganizerStripeAccountIdZpaymentsr   r?   rB   rE   rG   rK   rM   rS   r   r   r   r   r1   A   s   

r1   c               @   s   e Zd ZG dd dZdS )EventPayeesSerializerc               @   s   e Zd ZeZdZdS )zEventPayeesSerializer.Metar   N)r   r   r   EventPayeesr   r   r   r   r   r   r   s   s   r   N)r   r   r   r   r   r   r   r   rU   q   s   rU   c               @   s   e Zd ZG dd dZdS )ScanUsersSerializerc               @   s   e Zd ZeZdZdS )zScanUsersSerializer.Metar   N)r   r   r   	ScanUsersr   r   r   r   r   r   r   y   s   r   N)r   r   r   r   r   r   r   r   rW   w   s   rW   c               @   s   e Zd ZG dd dZdS )TicketSerializerc               @   s   e Zd ZeZdZdS )zTicketSerializer.Metar   N)r   r   r   Ticketr   r   r   r   r   r   r      s   r   N)r   r   r   r   r   r   r   r   rY   }   s   rY   )rest_framework.fieldsr   rest_framework.serializersr   backoffice.modelsrest_frameworkr   r   rest_framework.paginationr   django.db.modelsr   r	   logging	getLoggerloggerr   r   r   r'   r)   r+   r-   r0   r1   rU   rW   rY   r   r   r   r   <module>   s(   
0