Ë
    šaBiÌ  ã                   óJ  — d Z ddlZ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mZ ddlmZ dd	lmZmZ dd
lmZ  edddddddœdddœdddœdœddgdœi edddddœdddœdddœdœdœ¬«       ed ¬!«       ed"¬!«      d#œ¬$«       e	d%g«       e
eg«      d&„ «       «       «       Zy)'z�
Development-only endpoint for generating referral test URLs.
This endpoint auto-generates user IDs and creates signed initData for testing.
é    N)Úquote)Úsettings©Ústatus)Úapi_viewÚpermission_classes)ÚAllowAny)ÚResponse)Úextend_schemaÚOpenApiResponse)Úgenerate_signed_init_dataz%Generate referral test URL (dev only)z|Auto-generates a unique user ID and creates a signed initData URL for testing referrals. Only available in development mode.zapplication/jsonÚobjectÚstringzFirst name for the test user)ÚtypeÚdescriptionz%Username for the test user (optional)zReferral code of the referrer)Ú
first_nameÚusernameÚreferral_coder   r   )r   Ú
propertiesÚrequiredzTest URL generated successfullyz&Full browser URL with encoded initDataÚintegerzAuto-generated user IDzRaw initData string)ÚurlÚuser_idÚ	init_data)r   r   )r   Úresponsez(Endpoint not available (production mode))r   zInvalid request data)éÈ   i”  i�  )Úsummaryr   ÚrequestÚ	responsesÚPOSTc           	      ó^  — t         j                  rt        t         dd«      st        t        j
                  ¬«      S | j                  j                  d«      }| j                  j                  d«      }|r|st        ddit        j                  ¬«      S | j                  j                  dd	«      }| j                  j                  d
d«      }ddl	}t        t        j                  «       dz  «      dz  }|j                  dd«      }||z   }|||dœ}	|r||	d<   	 t        |	t         j                  |¬«      }
|
d   }t        |d	¬«      }t        t         dd«      }|› d|› d�}t        ||||||dœ«      S # t         $ r3}t        ddt#        |«      › �it        j$                  ¬«      cY d}~S d}~ww xY w)zÂ
    DEV ONLY: Generate a test URL for referral testing.
    
    Auto-generates a unique user_id and creates signed initData.
    Returns a complete browser URL ready to paste for testing.
    ÚENABLE_DEV_TELEGRAM_AUTHFr   r   r   Úerrorz)first_name and referral_code are requiredr   Ú Úlanguage_codeÚenr   Ni@B i Êš;iç  )Úidr   r%   )ÚuserÚ	bot_tokenÚstart_paramr   )ÚsafeÚTELEGRAM_WEBAPP_URLzhttp://localhost:5173z/#tgWebAppData=z*&tgWebAppVersion=7.0&tgWebAppPlatform=weba)r   r   r   r   r   r   zFailed to generate test URL: )r   ÚDEBUGÚgetattrr
   r   ÚHTTP_404_NOT_FOUNDÚdataÚgetÚHTTP_400_BAD_REQUESTÚrandomÚintÚtimeÚrandintr   ÚTELEGRAM_BOT_TOKENr   Ú	ExceptionÚstrÚHTTP_500_INTERNAL_SERVER_ERROR)r   r   r   r   r%   r3   Útimestamp_partÚrandom_partr   Ú	user_dataÚsigned_dataÚinit_data_strÚencoded_init_dataÚfrontend_urlÚbrowser_urlÚes                   úE/home/cursorai/projects/telegram-earn/backend/apps/users/dev_views.pyÚgenerate_referral_test_urlrE      s¿  € ôP �NŠNœw¤xÐ1KÈUÔSÜœv×8Ñ8Ô9Ð9ð —‘×!Ñ! ,Ó/€JØ—L‘L×$Ñ$ _Ó5€Má™]ÜØÐAÐBÜ×.Ñ.ô
ð 	
ð �|‰|×Ñ 
¨BÓ/€HØ—L‘L×$Ñ$ _°dÓ;€Mó ÜœŸ™› wÑ.Ó/°*Ñ<€NØ—.‘.  CÓ(€KØ˜{Ñ*€Gð Ø Ø&ñ€Iñ Ø (ˆ	�*Ñð
Ü/ØÜ×1Ñ1Ø%ô
ˆð $ KÑ0ˆô " -°bÔ9Ðô œxÐ)>Ð@WÓXˆØ%˜ oÐ6GÐ5HÐHrÐsˆäØØØ&Ø$Ø Ø*ñ
ó ð 	øô ò 
ÜØÐ5´c¸!³f°XÐ>Ð?Ü×8Ñ8ô
õ 	
ûð
ús   ÄAE0 Å0	F,Å9(F'Æ!F,Æ'F,)Ú__doc__r5   Úurllib.parser   Údjango.confr   Úrest_frameworkr   Úrest_framework.decoratorsr   r   Úrest_framework.permissionsr	   Úrest_framework.responser
   Údrf_spectacular.utilsr   r   Úutils.telegramr   rE   © ó    rD   Ú<module>rQ      sô   ðñó Ý Ý  Ý !ß BÝ /Ý ,ß @Ý 4ñ Ø3ð OàØà'/Ð@^Ñ_Ø%-Ð>eÑfØ*2ÐCbÑ!cñð
 & Ð7ñ
ð
ñ Ø9à à$,Ð=eÑfØ(1ÐBZÑ[Ø*2ÐCXÑ!Yññô

ñ Ð)SÔTÙÐ)?Ô@ñôñ< 
ˆ6ˆ(ÓÙ�X�JÓñH
ó  ó ó=ñ@H
rP   