
    Di                        d Z ddlmZ ddlmZ  G d dej
                        Z G d dej
                        Z G d d	ej
                        Z G d
 dej
                        Z	 G d dej
                        Z
y)z2Serializers for Telegram authentication endpoints.    )annotations)serializersc                  `    e Zd ZdZ ej
                  d      Z ej
                  ddd      Zy)	TelegramAuthRequestSerializerz4Incoming payload for Telegram WebApp authentication.z(Telegram initData string from the WebApp)	help_textFTz6Optional referral/start parameter passed from Telegram)requiredallow_blankr   N)__name__
__module____qualname____doc__r   	CharField	init_datastart_param     G/home/cursorai/projects/telegram-earn/backend/apps/users/serializers.pyr   r      s3    >%%%0Z[I'+''JKr   r   c                     e Zd ZdZ ej
                  d      Z ej
                  d      Z ej                  ddd      Z	 ej                         Z
 ej                  ddd      Z ej                  ddd      Z ej                  ddd      Z ej                  dd      Z ej                  dd      Z ej                         Z ej
                  ddd	
      Zy)#TelegramAuthenticatedUserSerializerz7User details returned after a successful Telegram auth.T)	read_onlyFr   
allow_nullr	         
max_digitsdecimal_placesz%ID of the referring user, if provided)r   r   r   N)r
   r   r   r   r   IntegerFieldidtelegram_user_idr   username
first_name	last_namelanguage_codeURLField	photo_urlDecimalFieldcredit_balancebonus_balancereferral_codereferred_byr   r   r   r   r      s    A	!	!	!D	1B/{//$?${$$eRVWH&&&(J%%%uSWXI)K))5TW[\M$$$eRVWI-[--ANN,K,,1MM)K))+M*+**9Kr   r   c                  |    e Zd ZdZ ej
                         Z ej
                         Z ej                  dd      Z	y)UserWalletSerializerz$Entry for a specific wallet balance.r   r   r   N)
r
   r   r   r   r   r   nametyper'   balancer   r   r   r-   r-   '   s9    . ;  "D ;  "D&k&&"QGGr   r-   c                  b    e Zd ZdZ ej
                         Z ej
                         Z e       Z	y)TelegramAuthResponseSerializerz1Token pair plus user payload after Telegram auth.N)
r
   r   r   r   r   r   accessrefreshr   userr   r   r   r2   r2   /   s-    ;"[""$F#k##%G.0Dr   r2   c                  \    e Zd ZdZ ej
                         Z ej                  ddd      Zy)!TelegramWebhookResponseSerializerz.Acknowledgement returned to Telegram webhooks.FTr   N)	r
   r   r   r   r   BooleanFieldokr   errorr   r   r   r7   r7   7   s+    8	!	!	!	#B!K!!5TtTEr   r7   N)r   
__future__r   rest_frameworkr   
Serializerr   r   r-   r2   r7   r   r   r   <module>r>      sl    8 " &K$:$: +*@*@ (H;11 H1[%;%; 1U(>(> Ur   