
    <%iN                        d dl mZ d dlmZ d dlmZ d dlmZmZ d dl	m
Z
 d dlmZmZ d dlmZ d Zd	 Zd
 Z G d dej&                        Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d d e      Z G d! d"e      Z G d# d$e      Z y%)&    )settings)get_version_tuple)serializers)SimpleJWTSchemeTokenRefreshSerializerExtension)warn)OpenApiSerializerExtensionOpenApiViewExtension)extend_schemac                 r    ddl m} t        |      dk  rddlm} t        ||       S ddlm} t        ||      S )Nr   __version__   r   r   )app_settingsapi_settings)dj_rest_auth.__version__r   r   dj_rest_authr   getattrdj_rest_auth.app_settingsr   )
class_namesetting_namer   r   r   s        Y/usr/local/footviz/venv/lib/python3.12/site-packages/drf_spectacular/contrib/rest_auth.pyget_dj_rest_auth_settingr      s2    4%	1-|Z00:|\22    c                  p    ddl m}  t        |       dk  rt        t        dd      S ddlm} |j                  S )Nr   r   r   REST_USE_JWTFr   )r   r   r   r   r   r   r   USE_JWT)r   r   s     r   get_use_jwtr       s0    4%	1x77:###r   c                  F    t               rt        dd      S t        dd      S )NJWTSerializerJWT_SERIALIZERTokenSerializerTOKEN_SERIALIZER)r    r    r   r   get_token_serializer_classr'   %   s$    }'9IJJ'(9;MNNr   c                   4    e Zd Z ej                  dd      Zy)RestAuthDetailSerializerTF)	read_onlyrequiredN)__name__
__module____qualname__r   	CharFielddetailr&   r   r   r)   r)   ,   s    "[""TEBFr   r)   c                       e Zd Zd Zy)RestAuthDefaultResponseViewc                 0     G d d| j                         }|S )Nc                   *    e Zd Z ee      d        Zy);RestAuthDefaultResponseView.view_replacement.<locals>.Fixed	responsesc                      y Nr&   selfrequestargskwargss       r   postz@RestAuthDefaultResponseView.view_replacement.<locals>.Fixed.post3       r   N)r,   r-   r.   r   r)   r?   r&   r   r   Fixedr5   2   s    %=> ?r   rA   target_classr;   rA   s     r   view_replacementz,RestAuthDefaultResponseView.view_replacement1       	D%% 	
 r   N)r,   r-   r.   rE   r&   r   r   r2   r2   0   s    r   r2   c                       e Zd ZdZd Zy)RestAuthLoginViewzdj_rest_auth.views.LoginViewc                 0     G d d| j                         }|S )Nc                   4    e Zd Z e e             d        Zy)1RestAuthLoginView.view_replacement.<locals>.Fixedr6   c                      y r9   r&   r:   s       r   r?   z6RestAuthLoginView.view_replacement.<locals>.Fixed.post?   r@   r   N)r,   r-   r.   r   r'   r?   r&   r   r   rA   rK   >   s    %?%AB Cr   rA   rB   rD   s     r   rE   z"RestAuthLoginView.view_replacement=   rF   r   Nr,   r-   r.   rC   rE   r&   r   r   rH   rH   :   s    1Lr   rH   c                       e Zd ZdZd Zy)RestAuthLogoutViewzdj_rest_auth.views.LogoutViewc                    t        t        dd       r	dt        inddit               r:dt        j                  v r(t        dd      s G d dt        j                        }|nd  G fd	d
| j                        }|S )NACCOUNT_LOGOUT_ON_GETr7   excludeTz(rest_framework_simplejwt.token_blacklistJWT_AUTH_HTTPONLYc                   4    e Zd Z ej                  dd      Zy)=RestAuthLogoutView.view_replacement.<locals>.LogoutSerializerTF)r+   allow_blankN)r,   r-   r.   r   r/   refreshr&   r   r   LogoutSerializerrU   T   s    /+//5Qr   rX   c                   N    e Zd Z edi W  d        Z eW e      d        Zy)2RestAuthLogoutView.view_replacement.<locals>.Fixedc                      y r9   r&   r:   s       r   getz6RestAuthLogoutView.view_replacement.<locals>.Fixed.get\   r@   r   )r<   r7   c                      y r9   r&   r:   s       r   r?   z7RestAuthLogoutView.view_replacement.<locals>.Fixed.post`   s     r   Nr&   )r,   r-   r.   r   r\   r)   r?   )get_schema_paramspost_request_classs   r   rA   rZ   [   s=    /./ 0 *6Nr   rA   )	r   r   r)   r    INSTALLED_APPSr   r   
SerializerrC   )r;   rX   rA   r^   r_   s      @@r   rE   z#RestAuthLogoutView.view_replacementI   s    84d;!,.F G!*D 1 M:h>U>UU,-@BUVR;#9#9 R "2!%		D%% 		 r   NrM   r&   r   r   rO   rO   F   s    2Lr   rO   c                       e Zd ZdZy)RestAuthPasswordChangeViewz%dj_rest_auth.views.PasswordChangeViewNr,   r-   r.   rC   r&   r   r   rc   rc   i   s    :Lr   rc   c                       e Zd ZdZy)RestAuthPasswordResetViewz$dj_rest_auth.views.PasswordResetViewNrd   r&   r   r   rf   rf   m   s    9Lr   rf   c                       e Zd ZdZy) RestAuthPasswordResetConfirmViewz+dj_rest_auth.views.PasswordResetConfirmViewNrd   r&   r   r   rh   rh   q   s    @Lr   rh   c                       e Zd ZdZdZy)RestAuthVerifyEmailViewz/dj_rest_auth.registration.views.VerifyEmailViewTNr,   r-   r.   rC   optionalr&   r   r   rj   rj   u   s    DLHr   rj   c                       e Zd ZdZdZy)#RestAuthResendEmailVerificationViewz;dj_rest_auth.registration.views.ResendEmailVerificationViewTNrk   r&   r   r   rn   rn   z   s    PLHr   rn   c                       e Zd ZdZd Zy)RestAuthJWTSerializerz&dj_rest_auth.serializers.JWTSerializerc                 P     G d d| j                         }|j                  ||      S )Nc                   (    e Zd Z  edd             Zy)3RestAuthJWTSerializer.map_serializer.<locals>.FixedUserDetailsSerializerUSER_DETAILS_SERIALIZERN)r,   r-   r.   r   userr&   r   r   rA   rs      s    _+,CE^_aDr   rA   )rC   _map_serializer)r;   auto_schema	directionrA   s       r   map_serializerz$RestAuthJWTSerializer.map_serializer   s+    	bD%% 	b **5)<<r   N)r,   r-   r.   rC   rz   r&   r   r   rp   rp      s    ;L=r   rp   c                       e Zd ZdZdZd Zy)%CookieTokenRefreshSerializerExtensionz2dj_rest_auth.jwt_auth.CookieTokenRefreshSerializerTc                      y)NTokenRefreshr&   )r;   s    r   get_namez.CookieTokenRefreshSerializerExtension.get_name   s    r   N)r,   r-   r.   rC   rl   r   r&   r   r   r|   r|      s    GLHr   r|   c                       e Zd ZdZdZd Zy)RestAuthRegisterViewz,dj_rest_auth.registration.views.RegisterViewTc                     ddl m}m} ||j                  k(  rt        n
t                G fdd| j                        }|S )Nr   )EMAIL_VERIFICATIONEmailVerificationMethodc                   .    e Zd Z eW        d        Zy)4RestAuthRegisterView.view_replacement.<locals>.Fixedr6   c                      y r9   r&   r:   s       r   r?   z9RestAuthRegisterView.view_replacement.<locals>.Fixed.post   r@   r   N)r,   r-   r.   r   r?   )response_serializers   r   rA   r      s    %89 :r   rA   )allauth.account.app_settingsr   r   	MANDATORYr)   r'   rC   )r;   r   r   rA   r   s       @r   rE   z%RestAuthRegisterView.view_replacement   s=    \!8!B!BB":"<">	D%% 	
 r   N)r,   r-   r.   rC   rl   rE   r&   r   r   r   r      s    ALHr   r   c                   4     e Zd ZdZdZddgZd Z fdZ xZS )SimpleJWTCookieSchemez-dj_rest_auth.jwt_auth.JWTCookieAuthenticationTjwtHeaderAuthjwtCookieAuthc                 D    | j                   D cg c]  }|g i c}S c c}w r9   )name)r;   rx   r   s      r   get_security_requirementz.SimpleJWTCookieScheme.get_security_requirement   s    '+yy1tr
111s   c                 j    t        dd      }|sd}t        d|        t        |   |      dd|dgS )NJWT_AUTH_COOKIEzjwt-authzN"JWT_AUTH_COOKIE" setting required for JWTCookieAuthentication. defaulting to apiKeycookie)typeinr   )r   r   superget_security_definition)r;   rx   cookie_name	__class__s      r   r   z-SimpleJWTCookieScheme.get_security_definition   sW    ./@BST$K!!,/ G+K8 #
 	
r   )	r,   r-   r.   rC   rl   r   r   r   __classcell__)r   s   @r   r   r      s&    BLH_-D2
 
r   r   N)!django.confr   django.utils.versionr   rest_frameworkr   0drf_spectacular.contrib.rest_framework_simplejwtr   r   drf_spectacular.drainager   drf_spectacular.extensionsr	   r
   drf_spectacular.utilsr   r   r    r'   ra   r)   r2   rH   rO   rc   rf   rh   rj   rn   rp   r|   r   r   r&   r   r   <module>r      s      2 & * W /
3$OC{55 C"6 	, 	 -  F;!< ;: ; :A'B A9 
*E 
=6 =,K / (
O 
r   