o
    i                     @   st  d dl mZ G dd dejZG dd dej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ZG dd deZG dd deZG dd dejZG dd de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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 )-    )modelsc                   @   s6   e Zd ZdZejddZejddZG dd dZdS )TimeAtzF
    Abstract base model to track creation and update timestamps.
    T)auto_now_add)auto_nowc                   @      e Zd ZdZdS )zTimeAt.MetaTN)__name__
__module____qualname__abstract r   r   (/var/www/html/premium_crap/api/models.pyMeta       r   N)	r   r   r	   __doc__r   DateTimeField	createdAt	updatedAtr   r   r   r   r   r      s
    r   c                   @      e Zd ZdZdZdZdS )
DeviceTypeAndroidIOSOtherN)r   r   r	   ANDROIDr   OTHERr   r   r   r   r          r   c                   @   s   e Zd ZejddZejdejdZej	ddZ
ejdddZejdddd	ZejdddZejdddZejdddd	Zd
d ZdS )Device   
max_length
   r   choicesFdefaultTnullblankr   r%   r&   c                 C      | j  d| j S Nz - )pkdeviceTokenselfr   r   r   __str__#      zDevice.__str__N)r   r   r	   r   	CharFieldr+   r   r!   
deviceTypeBooleanFieldisSubscriptionr   expireAtlastPurchaseToken	TextFieldoriginalTransactionIdappleTransactionId	productIdr.   r   r   r   r   r      s    r   c                   @   s(   e Zd Ze ZejddZdd ZdS )Categoryz	category/)	upload_toc                 C      | j  S Nr*   r,   r   r   r   r.   +      zCategory.__str__N)	r   r   r	   r   r6   description
ImageFieldimager.   r   r   r   r   r:   '   s    r:   c                   @   sR   e Zd ZejeejdZe Z	ej
ddZej
ddZG dd dZdd ZdS )	
Craptitude	on_deleter   r   c                   @   r   )zCraptitude.Meta)categoryroundNumberN)r   r   r	   unique_togetherr   r   r   r   r   5   r   r   c                 C   r<   r=   r>   r,   r   r   r   r.   8   r?   zCraptitude.__str__N)r   r   r	   r   
ForeignKeyr:   CASCADErF   PositiveIntegerFieldrG   r0   diaperPrefixdumpsterPrefixr   r.   r   r   r   r   rC   /   s    rC   c                   @      e Zd ZdZdZdS )TeamNamezDiaper TeamzDumpster TeamN)r   r   r	   DIAPERDUMPSTERr   r   r   r   rO   <       rO   c                   @   s&   e Zd ZejdejddZdd ZdS )Team   T)r   r!   uniquec                 C   r(   r)   r*   namer,   r   r   r   r.   D   r/   zTeam.__str__N)	r   r   r	   r   r0   rO   r!   rW   r.   r   r   r   r   rS   A   s    rS   c                   @   sD   e Zd ZejeejdZejeejdZ	eje
ejdZdd ZdS )GameSessionrD   c                 C   r<   r=   r>   r,   r   r   r   r.   M   r?   zGameSession.__str__N)r   r   r	   r   rI   r   rJ   devicer:   rF   rC   
craptituder.   r   r   r   r   rX   H   s
    rX   c                   @   s@   e Zd ZejeejdZejeejdZ	ej
ddZdd ZdS )PlayerrD   r   r   c                 C   s   | j  d| j dS )Nz ()rV   r,   r   r   r   r.   V   s   zPlayer.__str__N)r   r   r	   r   rI   rX   rJ   sessionrS   teamr0   rW   r.   r   r   r   r   r[   Q   s
    r[   c                   @   sL   e Zd ZejeejdZejeejdZ	eje
ejdZe Zdd ZdS )SentencerD   c                 C   r<   r=   r>   r,   r   r   r   r.   `   r?   zSentence.__str__N)r   r   r	   r   rI   rX   rJ   r]   rS   r^   r[   playerr6   textr.   r   r   r   r   r_   Z   s    r_   c                   @      e Zd ZdZdZdZdZdS )RatingScore            N)r   r   r	   BOWEL_MOVEMENTURINAL_SPLASH	TINY_TOOTTOILET_FLUSHr   r   r   r   rc   d   
    rc   c                   @   s>   e Zd ZejeejdZee	Z
e Ze Zdd ZdS )RatingrD   c                 C   r<   r=   r>   r,   r   r   r   r.   q   r?   zRating.__str__N)r   r   r	   r   rI   rX   rJ   r]   ManyToManyFieldr_   sentencerK   diaperScoredumpsterScorer.   r   r   r   r   rm   k   s    
rm   c                   @   s0   e Zd ZejeejdZejddZ	dd Z
dS )CraptitudeHistoryrD   r   r"   c                 C   r<   r=   r>   r,   r   r   r   r.   y   r?   zCraptitudeHistory.__str__N)r   r   r	   r   rI   rX   rJ   r]   IntegerFieldlevelCompletedr.   r   r   r   r   rr   u   s    rr   c                   @   rb   )OptionChoicerd   re   rf   rg   N)r   r   r	   PART_TWOPART_ONE_AND_PART_TWO
CRAPTITUDECATEGORYr   r   r   r   ru   }   rl   ru   c                   @   r   )PlanTyperd   re   rf   N)r   r   r	   FREE_ACCESSBASIC_PREMIUMFULL_ACCESSr   r   r   r   rz      r   rz   c                   @   rN   )
PlanPeriodFREEYEARN)r   r   r	   r   r   r   r   r   r   r~      rR   r~   c                   @   s|   e Zd ZejddZejddddZeje	dZ
ejddZejejejdZejd	d
dZejdejd
d
dZdd ZdS )Planc   r      re   r   )
max_digitsdecimal_placesr#   r"   )r!   r#   d   T)r   rU   r   )r   r!   r%   r&   c                 C   r<   r=   r>   r,   r   r   r   r.      r?   zPlan.__str__N)r   r   r	   r   r0   rW   DecimalFieldprice	JSONFieldlistr@   rs   unlockCategoryrz   r!   r{   typer9   r~   periodr.   r   r   r   r   r      s    r   c                   @   s`   e Zd ZejeejdZejddZ	ejddZ
ejddZe Ze Ze Zdd ZdS )AndroidTransactionrD      r   c                 C   r<   r=   r>   r,   r   r   r   r.      r?   zAndroidTransaction.__str__N)r   r   r	   r   rI   r   rJ   rY   r0   r9   orderIdpurchaseTokenrs   notificationTyper   startAtr4   r.   r   r   r   r   r      s    r   c                   @   s   e Zd ZejeejdddZejddZ	ejddddZ
ejddZejddddZejdddZe Ze ZejddddZejddddZejddddZdd	 Zd
S )AppleTransactionT)rE   r%   r&   r   r   r'   r$   2   c                 C   r<   r=   r>   r,   r   r   r   r.      r?   zAppleTransaction.__str__N)r   r   r	   r   rI   r   rJ   rY   r0   r9   r8   r7   webOrderLineItemIdr6   appleReceiptr   r   r4   environmenttransactionReasonr   r.   r   r   r   r   r      s    r   c                   @   s   e Zd ZejeejdZejeejdZ	ej
ddZej
ddZe Ze Ze ZejddZe ZejddZej
ddZdd	 Zd
S )TransactionrD   r   r   r   r"   T)r%   c                 C   r<   r=   r>   r,   r   r   r   r.      r?   zTransaction.__str__N)r   r   r	   r   rI   r   rJ   rY   r   planr0   r9   r   r6   r7   r8   r   
FloatFieldamountr   r   r4   r   r.   r   r   r   r   r      s    r   c                   @   s>   e Zd ZejddZejdejdZej	dddZ
dd Zd	S )

AppVersionr   r   r   r    Tr$   c                 C   r<   r=   r>   r,   r   r   r   r.      r?   zAppVersion.__str__N)r   r   r	   r   r0   versionCoder   r!   r1   r   	deletedAtr.   r   r   r   r   r      s
    r   N)	django.dbr   Modelr   TextChoicesr   r   r:   rC   rO   rS   rX   r[   r_   IntegerChoicesrc   rm   rr   ru   rz   r~   r   r   r   r   r   r   r   r   r   <module>   s,    		

