
    )Jff                         d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZmZmZ d Z G d d	e          Z ej        e          Z ej        e          Zd
S )    )context)app_settings)get_adapter)GitLabProvider)OAuth2Error)OAuth2AdapterOAuth2CallbackViewOAuth2LoginViewc                    | j         dk    r| j        }t          d|z            	 |                                 }n%# t          $ r t          d| j        z            w xY w| j         dk    sd|v r_|                    dd          p| j         }|                    dd          p|                    dd          }t          d	|d
|d          d|vrt          d|z            |S )Ni  z Invalid data from GitLab API: %rz Invalid JSON from GitLab API: %ri  error error_descriptionmessagezGitLab error: z ()id)status_codecontentr   json
ValueErrortextget)responsemsgdatar   descs        o/home/alex/cs2snipeproduction/venv/lib/python3.11/site-packages/allauth/socialaccount/providers/gitlab/views.py_check_errorsr      s   s""<DEEEP}} P P P<NOOOP s""goo
 "%%=)=xx+R00KDHHY4K4KkUUUDDDABBB 4<EFFFKs	   ; "Ac                   r    e Zd Zej        ZdZdZd Ze	d             Z
e	d             Ze	d             Zd ZdS )	GitLabOAuth2Adapterzhttps://gitlab.comv4c                 (   t           j                            | j        i           }|                    d| j                  }t                                          t          j        | j                  }|j	                            d|          }| | S )N
GITLAB_URL)provider
gitlab_url)
r   	PROVIDERSr   provider_idprovider_default_urlr   get_appr   requestsettings)selfpathr*   r$   apps        r   
_build_urlzGitLabOAuth2Adapter._build_url1   s|    )--d.>CC\\,0IJJ
mm##GOd>N#OO\%%lJ??
$d$$$    c                 ,    |                      d          S )Nz/oauth/tokenr.   r+   s    r   access_token_urlz$GitLabOAuth2Adapter.access_token_url9   s    ~...r/   c                 ,    |                      d          S )Nz/oauth/authorizer1   r2   s    r   authorize_urlz!GitLabOAuth2Adapter.authorize_url=   s    1222r/   c                 >    |                      d| j         d          S )Nz/api/z/user)r.   provider_api_versionr2   s    r   profile_urlzGitLabOAuth2Adapter.profile_urlA   s#    Gt'@GGGHHHr/   c                     t                                                                          | j        d|j        i          }t          |          }|                                                     ||          S )Naccess_token)params)r   get_requests_sessionr   r8   tokenr   get_providersociallogin_from_response)r+   r)   r-   r=   r   r   s         r   complete_loginz"GitLabOAuth2Adapter.complete_loginE   sf    MM!!##S!>5;*GSHH 	
 X&&  ""<<WdKKKr/   N)__name__
__module____qualname__r   r   r&   r'   r7   r.   propertyr3   r5   r8   r@    r/   r   r   r   ,   s         #K/% % % / / X/ 3 3 X3 I I XIL L L L Lr/   r   N)allauth.corer   allauth.socialaccountr   allauth.socialaccount.adapterr   /allauth.socialaccount.providers.gitlab.providerr   -allauth.socialaccount.providers.oauth2.clientr   ,allauth.socialaccount.providers.oauth2.viewsr   r	   r
   r   r   adapter_viewoauth2_loginoauth2_callbackrE   r/   r   <module>rO      s                . . . . . . 5 5 5 5 5 5 J J J J J J E E E E E E           < L  L  L  L  L-  L  L  LF ,+,?@@1$12EFFr/   