
    f
                         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y	)
    )context)app_settings)get_adapter)OAuth2Error)OAuth2AdapterOAuth2CallbackViewOAuth2LoginViewc                    | j                   dk(  r| j                  }t        d|z        	 | j                         }| j                   dk\  sd|v rX|j                  dd      xs | j                   }|j                  dd      xs |j                  dd      }t        d	|d
|d      d|vrt        d|z        |S # t        $ r t        d| j
                  z        w xY w)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        g/var/www/cs2snipe.com/venv/lib/python3.12/site-packages/allauth/socialaccount/providers/gitlab/views.py_check_errorsr      s    s"<DEEP}} s"go
 "%=)=)=xx+R0KDHHY4KUDABB 4<EFFK'  P<NOOPs   B: :"Cc                   T    e Zd ZdZdZdZd Zed        Zed        Z	ed        Z
d Zy	)
GitLabOAuth2Adaptergitlabzhttps://gitlab.comv4c                 8   t         j                  j                  | j                  i       }|j                  d| j                        }t               j                  t        j                  | 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_url/   s|    ))--d.>.>C\\,0I0IJ
m##GOOd>N>N#O\\%%lJ?
dV$$    c                 $    | j                  d      S )Nz/oauth/tokenr.   r+   s    r   access_token_urlz$GitLabOAuth2Adapter.access_token_url7   s    ~..r/   c                 $    | j                  d      S )Nz/oauth/authorizer1   r2   s    r   authorize_urlz!GitLabOAuth2Adapter.authorize_url;   s    122r/   c                 @    | j                  d| j                   d      S )Nz/api/z/user)r.   provider_api_versionr2   s    r   profile_urlzGitLabOAuth2Adapter.profile_url?   s!    t'@'@&AGHHr/   c                     t               j                         j                  | j                  d|j                  i      }t        |      }| j                         j                  ||      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_loginC   sZ    M!!#S!!>5;;*GSH 	
 X&  "<<WdKKr/   N)__name__
__module____qualname__r&   r'   r7   r.   propertyr3   r5   r8   r@    r/   r   r   r   *   s\    K/% / / 3 3 I ILr/   r   N)allauth.corer   allauth.socialaccountr   allauth.socialaccount.adapterr   -allauth.socialaccount.providers.oauth2.clientr   ,allauth.socialaccount.providers.oauth2.viewsr   r   r	   r   r   adapter_viewoauth2_loginoauth2_callbackrE   r/   r   <module>rN      sX      . 5 E < L-  LF ,++,?@1$112EFr/   