
    \g[                     |   S SK Jr  S SKJr  S SKJr  S SKJr  S SKJ	r	  S SKJrJ	r	  S r
 " S S	\R                  5      r " S
 S\R                  5      r " S S\R                  5      r " S S\R                  5      r " S S\R                  5      r " S S\R                  5      r " S S\R                  5      rg)    )models)FileExtensionValidator)Decimal)timezone)	timedelta)datetimer   c                  @    [         R                  " 5       [        SS9-   $ )N   )days)r   nowr        :C:\xampp\htdocs\skyplay_api_hub\ott_subscription\models.pyget_expiration_dater      s    <<>I2...r   c                       \ rS rSr/ SQr\R                  " SSS9r\R                  " SSS9r\R                  " SSS/S	S
9r	S r
 " S S5      rSrg)OTTAggregator   ))watchoWatcho)play_boxzPlay Box)hotstarHotstar)ottplayOTTplay)tata_play_bingezTata Play Binged   T
max_lengthunique2   activeActiveinactiveInactiver"   r   choicesdefaultc                     U R                   $ Nnameselfs    r   __str__OTTAggregator.__str__       yyr   c                       \ rS rSrSrSrSrg)OTTAggregator.Meta!   zOTT AggregatorzOTT Aggregatorsr   N)__name__
__module____qualname____firstlineno__verbose_nameverbose_name_plural__static_attributes__r   r   r   Metar4   !   s    '/r   r=   r   N)r6   r7   r8   r9   PLATFORM_CHOICESr   	CharFieldr-   codestatusr0   r=   r<   r   r   r   r   r      s^     s48Dr$7D%'?@F0 0r   r   c            	           \ rS rSr\R
                  " SS9r\R
                  " SSS9r\R                  " SS9r	\R                  " SSS\" / SQS	9/S
9r\R                  " SS\R                  SSS9rS rSrg)OTT'      r   Tr   r)   zott_images/)jpgjpegpnggif)allowed_extensions)	upload_toblanknull
validatorsOTTPlan	ott_plans)related_name	on_deleterO   rN   c                     U R                   $ r+   r,   r.   s    r   r0   OTT.__str__4   r2   r   r   N)r6   r7   r8   r9   r   r?   r-   r@   BooleanField	is_active
ImageFieldr   image
ForeignKeyCASCADEott_planr0   r<   r   r   r   rC   rC   '   s    s+Ds48D##D1I*>[\]	E   PVP^P^eiquvHr   rC   c                      \ rS rSrSS/r\R                  " \\R                  S9r	\R                  " SS9r\R                  " SSS	9r\R                  " S
\SS9r\R                  " S
S\" S5      S9r\R"                  " \SS9rS rS rSrg)rQ   9   r!   r$   rT   r   rF      Tr   
   r"   r'      z0.00)
max_digitsdecimal_placesr)   ott_plans_associated)rS   c                 L    U R                   R                   SU R                   3$ )N - )platform_idr-   r.   s    r   r0   OTTPlan.__str__K   s$    ""''(DII;77r   c                 4    U R                   R                  SS9$ )NT)rX   )ottsfilterr.   s    r   get_active_ottsOTTPlan.get_active_ottsN   s    yy$//r   r   N)r6   r7   r8   r9   PLAN_STATUS_CHOICESr   r[   r   r\   ri   r?   r-   r@   rA   DecimalFieldr   priceManyToManyFieldrC   rl   r0   rn   r<   r   r   r   rQ   rQ   9   s     
 ##MV^^LKs+Dr$7D5HRZ[FE
 !!#4JKD80r   rQ   c                       \ rS rSrSS/r\R                  " SS9r\R                  " SSS9r\R                  " \
5      r\R                  " S	\S
S9rS rSrg)SkylinkPlanS   r!   r$   r   rF   r    Tr   rb   r"   r'   c                     U R                   $ r+   r,   r.   s    r   r0   SkylinkPlan.__str___   r2   r   r   N)r6   r7   r8   r9   rp   r   r?   r-   r@   rs   rQ   rR   rA   r0   r<   r   r   r   ru   ru   S   s_     
 s+Dr$7D&&w/I5HRZ[Fr   ru   c                       \ rS rSr\R
                  " SS9r\R                  " \\R                  S9r
\R
                  " SS9r\R                  " SS9rS rSrg	)
OTTSubscriptionr   rE   rF   r`   Tauto_now_addc                 T    SU R                    SU R                   SU R                   3$ )NzSubscription for  on z - Plan 	client_idri   plan_idr.   s    r   r0   OTTSubscription.__str__j   s/    "4>>"2$t7G7G6HQUQ]Q]P^__r   r   N)r6   r7   r8   r9   r   r?   r   r[   r   r\   ri   r   DateTimeFieldsubscription_dater0   r<   r   r   r   rz   rz   d   sO      C0I##MV^^LK#.G,,$?`r   rz   c                      \ rS rSr\R
                  " SS9r\R                  " \\R                  S9r
\R
                  " SS9r\R                  " SS9r\R
                  " SSS	9r\R                  " SSS
9r\R"                  " SSS9r\R&                  " SSS9r\R"                  " SSS9r\R
                  " SSSS9r\R
                  " SSS	9r\R
                  " SSSS9r\R
                  " SSSS9r\R
                  " SSSS9r\R6                  " SS9r\R:                  " SSSSS9r\R
                  " SSSS9r\R                  " \ S9r!S r"Sr#g)OTTActivationLogo   rE   rF   r`   Tr{   r    Success)r   r)   )rN   rO   )rO   rN   i  )rO   rN   r   freer   rN   rO   FrG   rb   rc   )rd   re   rO   rN   c                 T    SU R                    SU R                   SU R                   3$ )NzActivation Log for r~   rh   r   r.   s    r   r0   OTTActivationLog.__str__   s+    $T^^$4D9I9I8J#dll^\\r   r   N)$r6   r7   r8   r9   r   r?   r   r[   r   r\   ri   r   r   activation_daterA   	TextFieldmessage	JSONFieldinputIntegerFieldresponse_statusoutputendpointsubscription_tiersrazorpay_payment_idrazorpay_signaturerazorpay_order_idrW   payment_verifiedrq   payment_amountpayment_currencyr   expiration_dater0   r<   r   r   r   r   r   o   sd     C0I##MV^^LK#.G**=OY?FT5G$d3E))t4@O4t4FT$GH  ))RH !**cDQ))S4P((Ct$O**59 ((Bqt[_`N''2TM **3FGO]r   r   c                       \ rS rSr\R
                  " SSSS9r\R                  " SSSS9r\R                  " SS9r	\R                  " \R                  S9rS	 rS
rg)VerificationCode   T)r   rN   rO      r      rF   rG   c                 ^    U R                   [        SS9-   n[        R                  " 5       U:  $ )z*Check if the verification code has expiredrb   )minutes)	timestampr   r   r   )r/   expiry_times     r   
is_expiredVerificationCode.is_expired   s&    nny'<<||~++r   r   N)r6   r7   r8   r9   r   
EmailFieldemailr?   phone_numberr@   r   r   r   r   r   r<   r   r   r   r   r      sS    TDAE##rDILq)D$$X\\:I,r   r   N)	django.dbr   django.core.validatorsr   decimalr   django.utilsr   r   r   r   Modelr   rC   rQ   ru   rz   r   r   r   r   r   <module>r      s     9  !  (/
0FLL 04&,, $0fll 04&,, "`fll `]v|| ]D	,v|| 	,r   