
    g5                     j    d dl mZ d dlmZ d dlmZ d dlmZmZ  G d de      Z	 G d de      Z
e
gZy	)
    )HttpResponseRedirect)reverse)	urlencode)ProviderProviderAccountc                       e Zd Zy)TelegramAccountN)__name__
__module____qualname__     n/var/www/django_project/virt/lib/python3.12/site-packages/allauth/socialaccount/providers/telegram/provider.pyr	   r	      s    r   r	   c                   <    e Zd ZdZdZeZdZd Zd Z	d Z
d Zd
d	Zy)TelegramProvidertelegramTelegramTc                 B    t        d      }|r|dz   t        |      z   }|S )Ntelegram_login?)r   r   )selfrequestkwargsurls       r   get_login_urlzTelegramProvider.get_login_url   s(    &')i//C
r   c                     t        |d         S )Nid)str)r   datas     r   extract_uidzTelegramProvider.extract_uid   s    4:r   c                     i }|j                  d      r|j                  d      |d<   |j                  d      r|j                  d      |d<   |j                  d      r|j                  d      |d<   |S )N
first_name	last_nameusername)get)r   r   rets      r   extract_common_fieldsz&TelegramProvider.extract_common_fields   sh    88L! $ 6C88K #xx4C88J"hhz2C
O
r   c                     d}| j                         }d|v r!|j                  d      j                  d|      }| j                  j                  j                  d|      }|S )N   AUTH_PARAMSauth_date_validity)get_settingsr%   appsettings)r   r+   r.   s      r   get_auth_date_validityz'TelegramProvider.get_auth_date_validity%   si    $$&H$!)m!<!@!@$&8" "XX..22 "4
 "!r   Nc           	          | j                   ||||fi |}|j                  t        d      dz   t        d|i      z         }dt        |j                  d      | j                  j
                  dd|d      z   }t        |      S )	Ntelegram_callbackr   statez https://oauth.telegram.org/auth?/write0)originbot_idrequest_accessembed	return_to)stash_redirect_statebuild_absolute_urir   r   r-   	client_idr   )	r   r   processnext_urlr   r   r2   r:   r   s	            r   redirectzTelegramProvider.redirect1   s    )))'7HdUfU..'(3.GU;K1LL
	 19!44S9((,,")&4
 
 $C((r   )NN)r
   r   r   r   namer	   account_classsupports_redirectr   r    r'   r/   r@   r   r   r   r   r      s0    	BD#M
")r   r   N)django.httpr   django.urlsr   django.utils.httpr   $allauth.socialaccount.providers.baser   r   r	   r   provider_classesr   r   r   <module>rI      s5    ,  ' J	o 	3)x 3)l %% r   