
    f                        d dl mZ d dlmZ d dlmZmZmZ d dlm	Z	m
Z
 d dlmZ d dlmZ d dlmZmZ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 d dlmZ  G d de	      Z  G d de	      Z! G d de
      Z" G d de	      Z#y)    )ValidationError)SignupClosedException)AuthenticationResponseConflictResponseForbiddenResponse)APIViewAuthenticatedAPIView)ErrorResponse)RedirectToProviderForm)DeleteProviderAccountInputProviderTokenInputSignupInput)complete_token_login)SocialAccountsResponse)get_adapter)render_authentication_error)flows)SocialAccountc                   .     e Zd ZeZ fdZd Zd Z xZS )ProviderSignupViewc                    t         j                  j                  | j                        | _        | j                  st        |      S t               j                  || j                        st        |      S t        | (  |g|i |S N)r   signupget_pending_signuprequestsocialloginr   get_socialaccount_adapteris_open_for_signupr   superhandle)selfr   argskwargs	__class__s       _/var/www/cs2snipe.com/venv/lib/python3.12/site-packages/allauth/headless/socialaccount/views.pyr    zProviderSignupView.handle   st     <<::4<<H#G,,(*==T%%
 %W--w~g7777    c                     t         j                  j                  | j                  | j                  | j
                         t        |      S r   )r   r   signup_by_formr   r   inputr   r!   r   r"   r#   s       r%   postzProviderSignupView.post(   s1    ##DLL$2B2BDJJO%g..r&   c                     d| j                   iS )Nr   )r   r!   s    r%   get_input_kwargsz#ProviderSignupView.get_input_kwargs,   s    t//00r&   )	__name__
__module____qualname__r   input_classr    r+   r.   __classcell__)r$   s   @r%   r   r      s    K8/1r&   r   c                       e Zd ZdZd Zy)RedirectToProviderViewFc                 D   t        |j                        }|j                         s:t        ||j                  j	                  d      t        |j                              S |j                  d   }|j                  d   }|j                  d   }|j                  |||d      S )Nprovider)r7   	exceptioncallback_urlprocessT)next_urlheadless)	r   POSTis_validr   getr   errorscleaned_dataredirect)r!   r   r"   r#   formr7   r;   r:   s           r%   r+   zRedirectToProviderView.post3   s    %gll3}}. ))*5)$++6 
 $$Z0$$^4##I.  	 ! 
 	
r&   N)r/   r0   r1   handle_json_inputr+    r&   r%   r5   r5   0   s    
r&   r5   c                   6    e Zd ZdeiZd Zed        Zd Zd Z	y)ManageProvidersViewDELETEc                 $    | j                  |      S r   )respond_provider_accountsr*   s       r%   r?   zManageProvidersView.getK   s    --g66r&   c                 n    t         j                  j                  |j                        }t	        ||      S )N)user)r   objectsfilterrL   r   )r!   r   accountss      r%   rJ   z-ManageProvidersView.respond_provider_accountsN   s,     ((//W\\/B%gx88r&   c                     t         j                  j                  || j                  j                  d          | j                  |      S )Naccount)r   connect
disconnectr)   rA   rJ   r*   s       r%   deletezManageProvidersView.deleteS   s6      $***A*A)*LM--g66r&   c                 2    d| j                   j                  iS )NrL   )r   rL   r-   s    r%   r.   z$ManageProvidersView.get_input_kwargsW   s    ))**r&   N)
r/   r0   r1   r   r2   r?   classmethodrJ   rT   r.   rE   r&   r%   rG   rG   F   s2    ,K7 9 97+r&   rG   c                       e Zd ZeZd Zy)ProviderTokenViewc                    | j                   j                  d   }	 t        ||       t        | j
                        S # t        $ r!}t	        | j
                  |      cY d }~S d }~wt        $ r t        | j
                        cY S w xY w)Nr   )r8   )	r)   rA   r   r   r
   r   r   r   r   )r!   r   r"   r#   r   es         r%   r+   zProviderTokenView.post^   sp    jj--m<	3 +6
 &dll33	  	< ;;$ 	3$T\\22	3s!   < 	BA!B!!BBN)r/   r0   r1   r   r2   r+   rE   r&   r%   rX   rX   [   s    $K4r&   rX   N)$django.core.exceptionsr   allauth.core.exceptionsr   allauth.headless.base.responser   r   r   allauth.headless.base.viewsr   r	   *allauth.headless.internal.restkit.responser
   $allauth.headless.socialaccount.formsr   %allauth.headless.socialaccount.inputsr   r   r   'allauth.headless.socialaccount.internalr   'allauth.headless.socialaccount.responser   allauth.socialaccount.adapterr   r   allauth.socialaccount.helpersr   allauth.socialaccount.internalr   allauth.socialaccount.modelsr   r   r5   rG   rX   rE   r&   r%   <module>rh      sv    2 9 
 F D G 
 I J F 0 61 1*
W 
,+. +*4 4r&   