o
    RD©i/  ã                   @  sD   d dl mZ d dlZd dlmZ ddlmZmZ G dd„ deƒZdS )é    )ÚannotationsN)ÚPROGRAMMATIC_ACCESS_TOKENé   )ÚAuthByPluginÚAuthTypec                      sb   e Zd Zd‡ fdd„Zeddd	„ƒZdd
d„Zddd„Zddd„Zddd„Z	ed dd„ƒZ
‡  ZS )!Ú	AuthByPATÚ	pat_tokenÚstrÚreturnÚNonec                   s   t ƒ jdi |¤Ž || _d S )N© )ÚsuperÚ__init__Ú
_pat_token)Úselfr   Úkwargs©Ú	__class__r   úU/var/www/Datamplify/venv/lib/python3.10/site-packages/snowflake/connector/auth/pat.pyr      s   
zAuthByPAT.__init__r   c                 C  s   t jS ©N)r   ÚPAT©r   r   r   r   Útype_   s   zAuthByPAT.type_c                 C  s
   d | _ d S r   ©r   r   r   r   r   Úreset_secrets   s   
zAuthByPAT.reset_secretsÚbodyúdict[typing.Any, typing.Any]c                 C  s   t |d d< | j|d d< d S )NÚdataÚAUTHENTICATORÚTOKEN)r   r   )r   r   r   r   r   Úupdate_body   s   zAuthByPAT.update_bodyr   ú
typing.Anyc                 K  s   dS )z@Nothing to do here, token should be obtained outside the driver.Nr   ©r   r   r   r   r   Úprepare   s   zAuthByPAT.prepareúdict[str, bool]c                 K  s   ddiS )NÚsuccessFr   r"   r   r   r   Úreauthenticate"   s   zAuthByPAT.reauthenticateú
str | Nonec                 C  s   | j S )zReturns the token.r   r   r   r   r   Úassertion_content%   s   zAuthByPAT.assertion_content)r   r	   r
   r   )r
   r   )r
   r   )r   r   r
   r   )r   r!   r
   r   )r   r!   r
   r$   )r
   r'   )Ú__name__Ú
__module__Ú__qualname__r   Úpropertyr   r   r    r#   r&   r(   Ú__classcell__r   r   r   r   r   
   s    



r   )	Ú
__future__r   ÚtypingÚsnowflake.connector.networkr   Ú	by_pluginr   r   r   r   r   r   r   Ú<module>   s
    