
    Xdgۆ                         d dl mZ d dlmZ d dlmZ d dlmZ d dlZd dl	Z	d dl mZ dZ
 ej                  ej                  i d ej                  ej                        d	 ej                  ej                        d
 ej                  ej                        d ej                  ej                        d ej                  ej                        d ej                  ej                        d ej                  ej                        d ej                  ej                        d ej                  ej                        d ej                  ej                        d ej                  ej                        d ej                  ej                        d ej                  ej                        d ej                  ej                  d      d ej                  ej                  d      d ej                  ej                  d            Z eddgdd ej                  ej                   ej                  ej                  d       ej                  ej                  d        ej                  ej                  d!       ej                  ej                  d"      d#      d$ ej                  ej                   ej                  ej                  d%       ej                  ej                  d&       ej                  ej                  e
       ej                  ej"                  e'      d(      i)       ed*g      d+               Zd,Z ej                  ej                   ej                  ej                  d-d./       ej                  ej                  d0d!/       ej                  ej                  d0d1/       ej                  ej                  d2d3/       ej                  ej(                  d4d5/       ej                  ej                  d6d7/       ej                  ej                  d8d"/      d9      Z eddgd:d;ed$ ej                  ej                   ej                  ej                  e       ej                  ej                  d       ej                  ej                  d       ej                  ej                  d        ej                  ej                  d        ej                  ej                  d<       ej                  ej                   ej                  ej                  d=       ej                  ej                  d       ej                  ej                  d>       ej                  ej(                  d5       ej                  ej                  d       ej                  ej                  d       ej                  ej                  d       ej                  ej                  d       ej                  ej                  d      d?	      d@      i)       ed*g      dA               ZdBZ eddgdCdD ej                  ej                   ej                  ej                  e       ej                  ej                  d!       ej                  ej                  d.       ej                  ej                  d"       ej                  ej                  dEF       ej                  ej                  dGF      dH      I       ed*g      dJ               ZdKZ eddgdLdM ej                  ej                   ej                  ej                  e       ej                  ej                  dNF       ej                  ej                  dOF       ej                  ej                  d.dPQ       ej                  ej                  d"dRQ      dS      I       ed*g      dT               ZdUZ eddgdVdW ej                  ej                   ej                  ej                  e       ej                  ej                  d.dPQ       ej                  ej                  d!dXQ       ej                  ej                  dYF       ej                  ej                  d"dRQ      dZ      I       ed*g      d[               Zd\Zd] Z eddgdd^ ej                  ej                   ej                  ej                  e       ej                  ej                  d_d`Q       ej                  ej                  dadbQ       ej                  ej                  d!dXQ       ej                  ej                  d"dRQ       ej                  ej                  dcF      dd      I       ed*g      de               ZdfZdg Z eddgdhdi ej                  ej                   ej                  ej                  e       ej                  ej                  d.djQ       ej                  ej                  d!dXQ       ej                  ej                  dkdlQ       ej                  ej                  dmdnQ       ej                  ej                  dod6Q       ej                  ej                  d"dRQ      dp      I       ed*g      dq               Z y)r    )swagger_auto_schema)openapi)api_viewResponseNzHhttps://beta2-publicapis.dishtv.in/api/WatchoOne/SubscriptionPlanDetailsSubscriptionPlanID)typeSubscriptionPlanNameSubscriptionPlanDescriptionSubscriptionPlanDurationSubscriptionPriceDiscountSubscriptionActualPriceIsSubscribedAutoDebitModeAutoDebitModeValueSubscriptionSeqNoSubscriptionGroupNoMonthlyPriceSubscriptionApps)r	   defaultSubscriptionRulePGSubscriptionID )r	   
propertiespostWatchozFetch Subscription Plansz5API to fetch available subscription plans for a user.z-1152DSIS)OTTSubscriberIDUserIDUserTypeSource   successStatic response for demo)r	   itemsstatusmessageapi_urldata)methodtagsoperation_summaryoperation_descriptionrequest_body	responsesPOSTc                 ^	   ddt         i dddddddd	d
ddddddddddddd	dd	ddddddddi dddddddd d
d!dd"dd#dddddddd dd	dd$ddddddi dd%dd&dd'dd	d
d(dd)dd*dddddddd	dd+dd,ddddddi dd-dd.dd/dd	d
d0dd1dd2dddddddd	dd3dd4ddddddi dd5dd6dd7dd	d
d8dd9dd#dddddddd	dd:dd$ddddddi dd;dd<dd=dd d
d>dd?dd@dddddddd dd:ddAddddddi ddBddCddDdd	d
dEdd9ddFdddddddd	dd ddGddddddi ddHddIdd'dd	d
d#dddd#dddddddd	ddJdd$ddddddi ddKddLdd'dd d
dMddddMdddddddd ddJddNddddddi ddOddPddQdd d
ddddddddddddd ddJddddddddi ddRddSddTdd d
dUdd1ddVdddddddd ddWddXddddddi ddYddZdd[dd	d
d\dddd\dddddddd	dd]dd^ddddddi dd_dd`ddadd	d
dbdd9ddcdddddddd	dddddeddddddi ddfdd`ddadd d
dgdd9ddhdddddddd dddddiddddddi ddjddkdd/dd	d
dldd?dd#dddddddd	ddmdd$ddddddi ddnddkdd/dd d
d>dd?dd@dddddddd ddmddAddddddi ddoddpddpdd	d
dqddddqdddddddd	ddrddsddddddi ddtdduddudd	d
dvddddvdddddddd	ddwddxddddddi ddyddzdd{dd	d
d2dddd2dddddddd	dd|dd4ddddddi dd}dd~dd~dd	d
d\dddd\dddddddd	dddd^ddddddi dddddd7dd	d
d\dddd\dddddddd	dddd^ddddddi dddddd7dd	d
d\dddd\dddddddd	dddd^ddddddi dddddd7dd	d
d\dddd\dddddddd	dddd^ddddddi dddddddd	d
ddddddddddddd	ddddddddddgd}t        |      S )z;Returns static subscription plan details for demo purposes.r&   r'   r     r
   Watcho Planr   r      r   1   r      r   '   r   r   r   Tr   r   r   r   !   r   Nr   r   r   i  zWATCHO EXCLUSIVES   iW  2   i+     K Watcho Masti14 Apps in One Plan  \   c      T   K zWatcho Dhamaal z16 Apps in One Plani=  U            iK zWATCHO MAX OLDz17 Apps in One Plani  S      i zWATCHO MAX NEWz20 Apps in One Plani+  R   i  i  iK zWatcho Super Max z21 Apps in One Plani  i]  i(  i1  z	Flexi-Max   i`,  zFlexi-Max Annuali	  iF  iK zFlexi-3 z9 Apps in One Plani zWatcho Mirchiz5 Apps in One Plani}
  i  %   iR  iJ z	Flexi - 3z15 Apps in One Plan   )      i] z	South Maxz19 Apps in One PlaniD  i5  +   i  i^ i/  i3  i  i 
Watcho Maxi  4   i i
  zTitanium Marathi HDi  5   i  i
  zTitanium HDi  6   i  i Watcho_Bhoomika_Platinumz10 Apps in One Plan7   i 
Watcho_AA28   i 	Watcho_K29   i 	Watcho_K3:   i 	Watcho_K4;   i 
Watcho_AA1   <      r)   )SUBSCRIPTION_PLAN_DETAILS_URLr   requeststatic_responses     )/var/www/skyplay_api_hub/testapp/views.pysubscription_plan_detailsrm   $   s^   : -0
 $
"M
 *=
 '	

  
 
 &r
 A
 T
 !!
  
 "1
 B
 
 
  !
$	
 $	
"$7	
 *+>	
 '		

  	
 	
 &s	
 A	
 T	
 !!	
  	
 "1	
 C	
 	
 	
  !	
$	
 %	
"N	
 *+@	
 '		

  	
 	
 &r	
 A	
 T	
 !!	
  	
 "1	
 B	
 	
 	
  !	
$	
 %	
"$5	
 *+@	
 '		

  	
 	
 &s	
 A	
 T	
 !!	
  	
 "1	
 C	
 	
 	
  !	
$	
 %	
"$4	
 *+@	
 '		

  	
 	
 &s	
 A	
 T	
 !!	
  	
 "1	
 C	
 	
 	
  !	
$	
 &	
"$4	
 *+@	
 '		

  	
 	
 &t	
 A	
 T	
 !!	
  	
 "1	
 D	
 	
 	
  !	
$	
 %	
"$7	
 *+@	
 '		

  	
 	
 &s	
 A	
 T	
 !!	
  	
 "2	
 C	
 	
 	
  !	
$	
 %	
"K	
 *+@	
 '		

  	
 	
 &s	
 A	
 T	
 !!	
  	
 "2	
 C	
 	
 	
  !	
$	
 %	
"$6	
 *+@	
 '		

  	
 	
 &t	
 A	
 T	
 !!	
  	
 "2	
 D	
 	
 	
  !	
$	
 %	
"J	
 *+?	
 '		

  	
 	
 &q	
 A	
 T	
 !!	
  	
 "2	
 A	
 	
 	
  !	
$	
 &	
"O	
 *+?	
 '		

  	
 	
 &s	
 A	
 T	
 !!	
  	
 "2	
 C	
 	
 	
  !	
$	
 &	
"K	
 *+@	
 '		

  	
 	
 &s	
 A	
 T	
 !!	
  	
 "2	
 C	
 	
 	
  !	
$	
 &	
"K	
 *+@	
 '		

  	
 	
 &s	
 A	
 T	
 !!	
  	
 "2	
 C	
 	
 	
  !	
$	
 &	
"K	
 *+@	
 '		

  	
 	
 &t	
 A	
 T	
 !!	
  	
 "2	
 D	
 	
 	
  !	
$	
 &	
"L	
 *+@	
 '		

  	
 	
 &s	
 A	
 T	
 !!	
  	
 "2	
 C	
 	
 	
  !	
$	
 &	
"L	
 *+@	
 '		

  	
 	
 &t	
 A	
 T	
 !!	
  	
 "2	
 D	
 	
 	
  !	
$	
 $	
"$9	
 *+@	
 '		

  	
 	
 &s	
 A	
 T	
 !!	
  	
 "2	
 C	
 	
 	
  !	
$	
 $	
"M	
 *=	
 '		

  	
 	
 &s	
 A	
 T	
 !!	
  	
 "2	
 C	
 	
 	
  !	
$	
 &	
"$>	
 *+@	
 '		

  	
 	
 &s	
 A	
 T	
 !!	
  	
 "2	
 C	
 	
 	
  !	
$	
 &	
"L	
 *<	
 '		

  	
 	
 &s	
 A	
 T	
 !!	
  	
 "2	
 C	
 	
 	
  !	
$	
 &	
"K	
 *+@	
 '		

  	
 	
 &s	
 A	
 T	
 !!	
  	
 "2	
 C	
 	
 	
  !	
$	
 &	
"K	
 *+@	
 '		

  	
 	
 &s	
 A	
 T	
 !!	
  	
 "2	
 C	
 	
 	
  !	
$	
 &	
"K	
 *+@	
 '		

  	
 	
 &s	
 A	
 T	
 !!	
  	
 "2	
 C	
 	
 	
  !	
$	
 &	
"L	
 *<	
 '		

  	
 	
 &s	
 A	
 T	
 !!	
  	
 "2	
 C	
 	
 	
  !	
r
	wOr O$$    zNhttps://beta2-publicapis.dishtv.in/api/WatchoOne/SubscriptionRequestWatchoOmnizOnly numeric values112235)r	   descriptionr   zString Value
8126631764zNumeric value (10 digit)r6   z
Pack price     C@zIS Transaction ID	TRAN00101u   Default value ‘IS’)r"   r#   MobileNoPlanIdAmountTransactionNor$   zSubscribe to a Planz/API to request a subscription to a Watcho plan.SuccessUREPR1009241459772713F	OrderIDDescriptionIsAutoCommittedActualPayableAmountPaymentGetwayTokenAlgorithmKeyPaymentGatewayIDrt   SubscriptionParam)r,   AccessToken	TokenType
ResultType
ResultCode
ResultDescResultc                 >    ddddddddddddddd	d	}t        |      S )
z4Handles subscription requests for Watcho Omni plans.Nr   rx   ry   Frr   r   rz   r   r   r   r   r   r   r   ri   s     rl    subscription_request_watcho_omnir     sH    J .$#'"& $!%

O& O$$rn   zChttps://beta2-publicapis.dishtv.in/api/WatchoOne/CurrentPlanDeatilszFetch Current Plan Detailsz=API to fetch the current subscription plan details of a user.zMobile No as a Text)r	   rp   zMobile number)r,   
EntityTypeEntityIDr$   SearchBySearchValue)r.   r/   r0   r1   r2   c           
      4    ddddddddddd	}t        |      S )
z-Fetches the current subscription plan detailsNr   rx   i  JOGINDERrV   z2023-10-27T00:00:00)r   SubscriberNamer
   SubscriptionPlanExpireDater   r   rj   response_datas     rl   current_plan_detailsr   K  s8    . "&($0*?	
M M""rn   zBhttps://beta2-publicapis.dishtv.in/api/WatchoOne/VerifyTransactionzVerify TransactionzJAPI to verify a transaction using MerchantTransactionNo and TransactionNo.z#Third Party Merchant Transaction Noz3Third Party Transaction No (Euronet Transaction ID)z
Euronet ID)r	   r   rp   zDefault value IS)r,   MerchantTransactionNorw   r   r$   c                 6    ddddddddddd	d
}t        |      S )zHVerifies a transaction based on MerchantTransactionNo and TransactionNo.Nr   rx   9687547623457UR1459628379i     0@z2023-06-09 19:14:34TransactionRefNoTransactionIDr!   rv   TransactionDater   r   r   s     rl   verify_transactionr   v  s;    ,  /+'4
M M""rn   zChttps://beta2-publicapis.dishtv.in/api/WatchoOne/TransactionHistoryzFetch Transaction HistoryzEAPI to fetch transaction history based on EntityID and Mobile Number.zDefault Value DSz10-digit mobile number)r,   r   r   rt   r$   c                 F    ddddddddddd	d
ddddd	gd}t        |      S )z@Fetches transaction history based on EntityID and Mobile Number.Nr   rx   UREPR2006231459633463r   iQ$r   z20-06-2023 12:47:53r   UREPR2006231459633466z20-06-2023 13:09:21r   r   r   s     rl   transaction_historyr     sX    ,  %<!0#+ #8 %<!0#+ #8
M0 M""rn   zThttps://beta2-publicapis.dishtv.in/api/WatchoOne/SubscriptionPlanDetailsWithDurationc                     t        j                  |       }t        j                  |j	                               j                         }d|iS z>Encrypts the given data (Mock base64 encoding for simplicity).	InputDatajsondumpsbase64	b64encodeencodedecoder-   	json_dataencrypted_datas      rl   encrypt_datar     =    

4 I%%i&6&6&89@@BN((rn   zMAPI to fetch subscription plan details based on OTTSubscriberID and Duration.zFor all packs, use -110967703zDefault Entity IDzDuration in months)r,   r!   EntityIdr   r$   Durationc                    | j                   j                  dd      | j                   j                  dd      | j                   j                  dd      | j                   j                  dd      | j                   j                  d	d
      d}t        |      }ddddddddd
ddddddd
dddd
ddddddd
gd}t        |      S )zHFetches subscription plan details based on OTTSubscriberID and Duration.r!   r   r   r   r   r   r$   r    r   r8   )r!   r"   r#   r$   r   Nr   rx   r6   r7   r9   r:   r;   Fr<   )
r   r
   r   r   r   r   r   r   r   r   r@   rA   rB   rC   rD   rE   rG   r   r-   getr   r   rj   request_dataencrypted_requestr   s       rl   'subscription_plan_details_with_durationr     s    , #<<++,=rB,,"":z:LL$$\48,,""8T2LL$$Z3L %\2  '+(5/<,-%'+- !!& " ',(6/D,-%)+- !!& "
 MD M""rn   zNhttps://beta2-publicapis.dishtv.in/api/WatchoOne/SubscriptionRequestWatchoplanc                     t        j                  |       }t        j                  |j	                               j                         }d|iS r   r   r   s      rl   r   r   (  r   rn   z$Subscription Request for Watcho Planz0API to request a subscription for a Watcho plan.zOnly Numeric Value
9879067821zMobile NumberrH   zPlan ID	TRAN00102)r,   r"   r#   rt   ru   rw   r$   c                    | j                   j                  dd      | j                   j                  dd      | j                   j                  dd      | j                   j                  dd      | j                   j                  d	d
      | j                   j                  dd      d}t        |      }ddddddddddddddd	d}t        |      S )z/Handles subscription requests for Watcho plans.r"   ro   r#   r   rt   r   ru   rH   rw   r   r$   r    )r"   r#   rt   ru   rw   r$   Nr   rx   UREPR1009241459772721Fg     h@r   rz   r   r   r   s       rl   subscription_request_watchoplanr   .  s    . ,,""8X6LL$$Z6LL$$Z>,,""8U3 ))/;G,,""8T2L %\2 .$#("& $!%

M& M""rn   )!drf_yasg.utilsr   drf_yasgr   rest_framework.decoratorsr   rest_framework.responser   r   r   rh   SchemaTYPE_OBJECTTYPE_INTEGERTYPE_STRINGTYPE_BOOLEANsubscription_plan_schema
TYPE_ARRAYrm   SUBSCRIPTION_REQUEST_URLTYPE_NUMBERsubscription_request_schemar   r   r,   r   TRANSACTION_HISTORY_API_URLr   SUBSCRIPTION_PLAN_API_URLr   r   SUBSCRIPTION_REQUEST_API_URLr    rn   rl   <module>r      s
   .  . ,   . !k  *7>>			ngnn'2F2FGG4G4G H 	&~w~~7;N;N'O 	#NGNN8L8L$M	
 	^W^^1E1EF 	NGNN(<(<= 	">7>>w7K7K#L 	G,@,@A 	W-A-AB 	ngnn'2F2FG 	^W^^1E1EF 	~w~~73G3GH 	G,@,@A 	NGNN0C0CTR 	NGNN0C0CTR  	NGNN0C0CRP! , 
0Q  -w~~73F3FPTU$gnn'*=*=uM&G,?,?N$gnn'*=*=tL	
 NGNN  $gnn'*=*=yQ%w~~7+>+>Hbc%w~~7+>+>Hef"GNN(:(:BZ[	
 0 
6(|% 12|%@ l ,gnn			 '..g&9&9G\fno"GNN(;(;aef"GNN(;(;amn '..g&:&:Hblpq '..g&9&9|]bc'W-@-@Nakvw '..g&9&9G_imn  
+K,NGNN  %w~~7+>+>H`a)7>>w/B/BDQ'W-@-@$O('..g.B.BAN('..g.B.BAN('..g.A.A9U$gnn((-w~~73F3FPgh#17>>w7J7JTX#Y'5w~~7;O;OY^'_+97>>w?R?R\`+a*8'..g>Q>Q[_*`$2GNN8K8KUW$X(6G<O<OY](^ .G4G4GQU V)7W=P=PZ^)_

 @ 
6(% AB%: a 
2Y  %w~~7+>+>H`a('..g.A.A4P&G,?,?R$gnn'*=*=tL&G,?,?Mbc)7>>w/B/BP_`

" 
6(# #$#, O 
*f  &G,?,?Q%3W^^9L9LZ  &A+W^^1D1D  SH  I&G,?,?_kl$gnn'*=*=tYkl
	  
6(# !"#0 d  
1a  %w~~7+>+>Hcd&G,?,?_kl('..g.A.A4]op&G,?,?Mef$gnn'*=*=tYkl
	  
6(# !"#D s ) 
0i  %w~~7+>+>Hab-w~~73G3GQSaxy&G,?,?atu('..g.A.A4]op$gnn'*=*=tYkl&G,@,@Nbc

" 
6(1# #$1#j  p ) 
<L  %w~~7+>+>Hde$gnn'*=*=x]qr&G,?,?[mn&G,?,?crs$gnn'*>*>[de+W^^1D1Dkgz{$gnn'*=*=tYkl
$ 
6(## %&##rn   