U
    ÔÉ>i1  ã                   @   sL   d dl Z d dlmZ d dlmZ d dlmZ d dlmZ G dd„ deƒZ	dS )é    N)ÚSessionBase)ÚHttpRequest)Ú
sessionkit)ÚAbstractTokenStrategyc                   @   s2   e Zd Zeedœdd„Zeeje dœdd„Z	dS )ÚSessionTokenStrategy)ÚrequestÚreturnc                 C   s,   |j js|j  ¡  |j j}t|tƒs(t‚|S ©N)ÚsessionÚsession_keyÚsaveÚ
isinstanceÚstrÚAssertionError)Úselfr   Úkey© r   úO/tmp/pip-unpacked-wheel-upujnpc2/allauth/headless/tokens/strategies/sessions.pyÚcreate_session_token   s
    
z)SessionTokenStrategy.create_session_token)Úsession_tokenr   c                 C   s    |}t  ¡  |¡rt  |¡S d S r	   )r   Zsession_storeÚexists)r   r   r   r   r   r   Úlookup_session   s    
z#SessionTokenStrategy.lookup_sessionN)
Ú__name__Ú
__module__Ú__qualname__r   r   r   ÚtypingÚOptionalr   r   r   r   r   r   r   
   s   r   )
r   Z%django.contrib.sessions.backends.baser   Zdjango.httpr   Zallauth.headless.internalr   Z'allauth.headless.tokens.strategies.baser   r   r   r   r   r   Ú<module>   s
   