
    $g@                     ^    d dl Z ddlmZ ddlmZ  G d de          Z G d d	e          ZdS )
    N   )handle_http_errors   )
BaseOAuth2c                   p    e Zd ZdZdZdZdZdZdZdgZ	g dZ
d	 ZddZd Zd Zd Zd Zed             Zd
S )ItembaseOAuth2itembaseuuidz+https://accounts.itembase.com/oauth/v2/authz,https://accounts.itembase.com/oauth/v2/tokenz https://users.itembase.com/v1/mez-https://solutionservice.itembase.com/activatezuser.minimal))access_tokenr   )
token_typer   )refresh_tokenr   )
expires_inr   )expiresr   )r
   r
   )usernamer   )emailr   )
first_namer   )middle_namer   )	last_namer   )name_formatr   )localer   )preferred_currencyr   c                 z    t          t          j                              |                    dd          z   |d<   |S )Nr   r   r   )inttimeget)selfdatas     ]/var/www/html/netbox-4.1.3/venv/lib/python3.11/site-packages/social_core/backends/itembase.pyadd_expireszItembaseOAuth2.add_expires    s1    dikk**TXXlA-F-FFY    Nc                 `    t          j        | |||g|R d|i|}|                     |          S )Ndetails)r   
extra_datar   )r   useruidresponser"   argskwargsr   s           r   r#   zItembaseOAuth2.extra_data$   sU    $$X
9=
 
 
/6
AG
 
 %%%r    c                 X    t          j        | |g|R i |}|                     |          S N)r   process_refresh_token_responser   )r   r&   r'   r(   r   s        r   r+   z-ItembaseOAuth2.process_refresh_token_response*   sI    8(
!
 
 
%+
 
 %%%r    c                     |S )z)Return user details from Itembase account r   r&   s     r   get_user_detailszItembaseOAuth2.get_user_details0   s    r    c                 D    |                      | j        dd| i          S )NAuthorizationzBearer headers)get_jsonUSER_DETAILS_URL)r   r   r'   r(   s       r   	user_datazItembaseOAuth2.user_data4   s3    }}!O=U|=U=U+V  
 
 	
r    c                 p    |                      | j        dd                    |d                   i          S )Nr1   z	Bearer {}r   r2   )r4   ACTIVATION_ENDPOINTformatr.   s     r   activation_datazItembaseOAuth2.activation_data9   s@     }}$$k&8&8.9Q&R&RS  
 
 	
r    c                    |                                  }|                     | j                   |                     |                                 |                     |          |                                 |                                 | j                  }|                     |            | j	        |d         g|R d|i|S )z2Completes login process, must return user instance)paramsr3   authmethodr   r&   )
validate_stateprocess_errorr   request_access_tokenaccess_token_urlauth_complete_paramsauth_headersauth_complete_credentialsACCESS_TOKEN_METHODdo_auth)r   r'   r(   stater&   s        r   auth_completezItembaseOAuth2.auth_completeA   s     ##%%49%%%,,!!##,,U33%%''//11+ - 
 
 	8$$$t|^$
:>
 
 
/7
BH
 
 	
r    r*   )__name__
__module____qualname__nameID_KEYAUTHORIZATION_URLACCESS_TOKEN_URLr5   r8   DEFAULT_SCOPE
EXTRA_DATAr   r#   r+   r/   r6   r:   r   rI   r-   r    r   r   r      s        DFEE9I#$M  J"  & & & && & &  
 
 


 
 
 
 
 
 
 
r    r   c                   "    e Zd ZdZdZdZdZdZdS )ItembaseOAuth2Sandboxzitembase-sandboxz1http://sandbox.accounts.itembase.io/oauth/v2/authz2http://sandbox.accounts.itembase.io/oauth/v2/tokenz&http://sandbox.users.itembase.io/v1/mez3http://sandbox.solutionservice.itembase.io/activateN)rJ   rK   rL   rM   rO   rP   r5   r8   r-   r    r   rT   rT   T   s-        DKK?Or    rT   )r   utilsr   oauthr   r   rT   r-   r    r   <module>rW      s     & & & & & &      J
 J
 J
 J
 J
Z J
 J
 J
ZP P P P PN P P P P Pr    