o
    õÁh5  ã                   @   s^   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„ deƒZ	G dd„ deƒZ
e
gZd	S )
é    )ÚHttpResponseRedirect)Úreverse)Ú	urlencode)ÚProviderÚProviderAccountc                   @   s   e Zd ZdS )ÚTelegramAccountN)Ú__name__Ú
__module__Ú__qualname__© r   r   úh/var/www/html/pos/venv/lib/python3.10/site-packages/allauth/socialaccount/providers/telegram/provider.pyr      s    r   c                   @   sF   e Zd ZdZdZeZdZdd„ Zdd„ Z	dd	„ Z
d
d„ Zddd„ZdS )ÚTelegramProviderÚtelegramÚTelegramTc                 K   s    t dƒ}|r|d t|ƒ }|S )NÚtelegram_loginú?)r   r   )ÚselfÚrequestÚkwargsÚurlr   r   r   Úget_login_url   s   zTelegramProvider.get_login_urlc                 C   s   t |d ƒS )NÚid)Ústr)r   Údatar   r   r   Úextract_uid   s   zTelegramProvider.extract_uidc                 C   sP   i }|  d¡r|  d¡|d< |  d¡r|  d¡|d< |  d¡r&|  d¡|d< |S )NÚ
first_nameÚ	last_nameÚusername)Úget)r   r   Úretr   r   r   Úextract_common_fields   s   


z&TelegramProvider.extract_common_fieldsc                 C   s:   d}|   ¡ }d|v r| d¡ d|¡}| jj d|¡}|S )Né   ÚAUTH_PARAMSÚauth_date_validity)Úget_settingsr   ÚappÚsettings)r   r#   r&   r   r   r   Úget_auth_date_validity%   s   
ÿÿz'TelegramProvider.get_auth_date_validityNc           	      K   s`   | j ||||fi |¤Ž}| tdƒd td|iƒ ¡}dt| d¡| jjdd|dœƒ }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   r)   r1   r   r   r   r   Úredirect1   s   ÿûÿ	zTelegramProvider.redirect)NN)r   r	   r
   r   Únamer   Úaccount_classÚsupports_redirectr   r   r    r'   r7   r   r   r   r   r      s    
r   N)Údjango.httpr   Údjango.urlsr   Údjango.utils.httpr   Ú$allauth.socialaccount.providers.baser   r   r   r   Úprovider_classesr   r   r   r   Ú<module>   s    
6