
    Sњh                     8   S SK Jr  S SKJr  S SKJr  S SKJr  S SKJ	r
  S SKJr  S SKJr  S SKJ	r	  S SKJr  S S	KJrJr  S
\4S jrS\S
S4S jrS\S
S4S jrS\S
S4S jrS\S
\4S jrS\S\S
S4S jrS\S\S
S4S jrS\S
S4S jrS\S
S4S jrS\S
S4S jr g)    )Path)Optional)reverse)Resolver404)app_settings)base_signup_form_class)script_aware_resolve)get_adapter)spec_for_dataclassspec_for_fieldreturnc                  t   SS K n [        [        5      R                  R                  S-  n[	        US5       nU R                  U5      nS S S 5        [        [        5      R                  R                  S-  n[	        US5       nUR                  5       R                  S5      nS S S 5        WWS   S'   [        U5        [        U5        [        U5        [        U5        [        U5      n[        X55        [        X55        [        U5        [!        U5        U$ ! , (       d  f       N= f! , (       d  f       N= f)Nr   zdoc/openapi.yamlrbzdoc/description.mdutf8infodescription)yamlr   __file__parentopen	safe_loadreaddecodespecify_userchroot
pin_clientdrop_unused_client_parameterdrop_unused_pathsdrop_unused_tagsdrop_unused_tag_groupsspecify_signup_fieldsspecify_custom_signup_form)r   pathfspecr   	used_tagss         `D:\Anime\Ugyen\janka_web_project\venv\Lib\site-packages\allauth/headless/spec/internal/schema.py
get_schemar(      s    >  ''*<<D	dD	Q~~a  
 >  ''*>>D	dD	Qffhoof- 
 #.DL
4Lt &!$'IT%4+$t$K% 
	 
	s   D D)
D&)
D7r%   Nc                     [        S5      nUR                  S5      S   nU S   R                  5       n0 U S'   U H  u  pEUR                  SU5      nXPS   U'   M      g )Nzheadless:openapi_yaml/r   pathsz	/_allauth)r   
rpartitionitemsreplace)r%   urlrootr+   r#   	path_specnew_paths          r'   r   r   (   sc    
)
*C>>#q!DM!EDM <<T2"+Wh !    c                 8   [        [        R                  5      S:w  a  g 0 n[        R                  S   n/ SQnS[        S[        [           4S jnU S   R                  5        H  u  pV[        U5      nUR                  SU5      nSU;   a(  U" US   5      n	U	(       a  XS'   OUR                  S5        U HV  n
X;   d  M
  Xz   n[        U[        5      (       d  M%  SU;   d  M-  U" US   5      n	U	(       a  XS'   ME  UR                  S5        MX     XqU'   M     XS'   g )	N   r   )getpostputdeleteoptionsheadpatchtrace
parametersr   c                     U  Vs/ s H1  n[        U[        5      (       a  UR                  S5      S:X  a  M/  UPM3     nnU=(       d    S $ s  snf )Nz$refz#/components/parameters/Client)
isinstancedictr6   )r>   pfiltereds      r'   remove_client_param'pin_client.<locals>.remove_client_paramC   sT      
1d##EE&M%EE	  	 
 4
s
   .A
A
r+   {client})
lenr   CLIENTSlistr   r-   rA   r.   popr@   )r%   processed_pathsclient_valuehttp_methodsrD   path_key	path_itemcurrent_path_itemprocessed_path_key
new_paramsmethod_nameoperation_items               r'   r   r   2   s   
< A%O''*L	L	  	 $ 	   $G}224 O%--j,G,,,->|-LMJ2<,/!%%l3'K/!2!?nd338V!4^L5Q!RJ!7A|4&**<8 ( /@*++  5. $Mr3   c                     [        [        R                  5      S:w  a  g U R                  S5      =n(       a,  UR                  S5      =n(       a  UR	                  SS 5        g g g )Nr5   
componentsr>   Client)rG   r   rH   r6   rJ   )r%   rV   r>   s      r'   r   r   h   sX    
< A%XXl++z+#55:5NN8T* 6 ,r3   c                    U S   n[        5       n[        UR                  5       5       H  u  p4Sn[        R                   H!  n [        UR                  SU5      5        Sn  O   U(       a/  UR                  5        H  u  pxUR                  US   5        M     Mr  UR                  U5        M     U$ ! [         a     M  f = f)Nr+   FrF   Ttags)
setrI   r-   r   rH   r	   r.   r   updaterJ   )	r%   r+   r&   r#   r1   
found_pathclientmethodmethod_specs	            r'   r   r   q   s    MEI.
"**F$T\\*f%EF!
	 + '0'8#  V!45 (9 IIdO /   s   B22
C ?C r&   c                 h    U S   n/ U S'   U H"  nUS   U;  a  M  U S   R                  U5        M$     g )NrY   name)append)r%   r&   rY   tags       r'   r   r      s?    <DDLv;i'VC  r3   c                     U S   n/ U S'   U H?  n[        US    Vs/ s H  oDU;   PM	     sn5      (       d  M+  U S   R                  U5        MA     g s  snf )Nzx-tagGroupsrY   )anyrb   )r%   r&   
tag_groups	tag_groupts        r'   r    r       sY    m$JD		&(9:(91Y(9:;;&&y1  :s   A
c                    U S   S   S   nU S   S   S   nUS   n/ nS HY  n[         R                  R                  U5      nU(       d  UR                  U5        M<  US   (       d  MH  UR	                  U5        M[     XAS'   [         R                  R                  S5      nU(       d  US	   S S
 US	'   g US   (       d  US	   S
   S   R                  S5        g g )NrV   schemas
BaseSignupSignup
properties)emailphoneusernamerequired	password1allOfr5   password)account_settingsSIGNUP_FIELDSr6   rJ   rb   remove)r%   base_signupsignuprm   required_fields
field_namefieldpassword_fields           r'   r!   r!      s    |$Y/=K,	*84F\*JO4
 ..22:>NN:&:"":. 5 .
%3377DN /"1-wJ'w:&--j9 (r3   c                    [        5       nU S   S   S   nUR                  R                  5        HQ  u  p4[        US5      =(       a    UR                  n[        U5      nU(       a  US   R                  U5        XbS   U'   MS     g )NrV   rj   rk   rq   rm   )r   base_fieldsr-   hasattrrq   r   rb   )r%   
form_classrx   r{   r|   is_required
field_specs          r'   r"   r"      s|    ')J|$Y/=K'3399;
eZ0CU^^#E*

#**:60:L!*- <r3   c                     [        5       R                  5       n[        U5      u  p#X S   S   S'   U S   S   S   S   nUR                  5         UR	                  U5        g )NrV   rj   Userexamplesvalue)r
   get_user_dataclassr   clearr[   )r%   dcschemaexampleexample_values        r'   r   r      sc    		)	)	+B(,OF,2y!&)&z26:7CM!r3   )!pathlibr   typingr   django.urlsr   django.urls.exceptionsr   allauth.accountr   ru   %allauth.account.internal.flows.signupr   allauth.core.internal.urlkitr	   allauth.headlessallauth.headless.adapterr
   )allauth.headless.spec.internal.openapikitr   r   rA   r(   r   r   r   rZ   r   r   r    r!   r"   r    r3   r'   <module>r      s       . < H = ) 0 XD 2, ,$ ,3$T 3$d 3$l+t + +D S (!4 !C !D !2 2# 2$ 2: : :&;T ;d ;"t " "r3   