
    $g.                       U d dl mZ d dlmZ d dlmZ d dlmZmZm	Z	m
Z
mZmZmZmZmZmZmZ d dlmZ d dl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! d dl"m#Z# ddl$m%Z% er: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/m0Z0 d dlm1Z1 d dl2m3Z3 d dlm*Z* d dl4m5Z5  G d de          Z6dZ7de8d<   dJd"Z9dKd)Z:dLd-Z;dMd2Z<dNd8Z=dOd<Z>	 dPdQdCZd=dDdRdGZ?dHdIgZ@d=S )S    )annotations)ensure_future)isawaitable)TYPE_CHECKING	AwaitableCallableIterableListOptionalTupleType	TypedDictUnioncast)ExecutionResult)GraphQLErrorparse)execute)validate)MissingQueryError)OneOfInputValidationRule)PreExecutionError)await_maybe   )InvalidOperationTypeError)NotRequired	TypeAliasUnpack)ExecutionContext)GraphQLSchema)MiddlewareManager)DocumentNode)ASTValidationRule)SchemaExtensionsRunner)OperationTypec                      e Zd ZU ded<   dS )ParseOptionszNotRequired[int]
max_tokensN)__name__
__module____qualname____annotations__     Y/var/www/html/netbox-4.1.3/venv/lib/python3.11/site-packages/strawberry/schema/execute.pyr'   r'   /   s               r.   r'   z@Callable[[List[GraphQLError], Optional[ExecutionContext]], None]r   ProcessErrorsquerystrkwargsUnpack[ParseOptions]returnr"   c                    t          | fi |S N)r   )r1   r3   s     r/   parse_documentr8   8   s    !!&!!!r.   schemar    documentvalidation_rules#Tuple[Type[ASTValidationRule], ...]List[GraphQLError]c                <    g |t           R }t          | ||          S r7   )r   r   )r9   r:   r;   s      r/   validate_documentr?   <   s<    
	     r.   execution_contextr   Nonec                    t          | j                  dk    r<| j        7| j        sJ t	          | j        j        | j        | j                  | _        d S d S d S )Nr   )lenr;   errorsgraphql_documentr?   r9   _schema)r@   s    r/   _run_validationrG   L   so     -..227H7O7W 1111#4$,..$
 $
    327W7Wr.   contextextensions_runnerr$   Optional[PreExecutionError]c                p  K   | j         st                      |                                4 d {V  	 | j        st	          | j                   | _        n# t
          $ r6}|g| _        t          d |g          cY d }~cd d d           d {V  S d }~wt          $ rT}t          t          |          |          }|g| _        t          d |g          cY d }~cd d d           d {V  S d }~ww xY wd d d           d {V  n# 1 d {V swxY w Y   | j
        | j        vrt          | j
                  |                                4 d {V  t          |            | j        r(t          d | j                  cd d d           d {V  S 	 d d d           d {V  n# 1 d {V swxY w Y   d S )NdatarD   original_error)r1   r   parsingrE   r8   r   rD   r   	Exceptionr2   operation_typeallowed_operationsr   
validationrG   )rH   rI   errors      r/   _parse_and_validate_asyncrV   X   s      = "!!! ((** @ @ @ @ @ @ @ @	@+ I+9'-+H+H( 	@ 	@ 	@#WGN$$w????????@ @ @ @ @ @ @ @ @ @ @ @ @ @  	@ 	@ 	@ UEBBBE#WGN$$w????????@ @ @ @ @ @ @ @ @ @ @ @ @ @	@@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ W%???'(>??? ++--           > 	$~               	                           4sj   D AD
C1B8C19DC17C,C1D,C11D
DD,F%%
F/2F/result.Union[GraphQLExecutionResult, ExecutionResult]process_errorsProcessErrors | Noner   c                  K   |j         r|j         | _         |r ||j         |            t          |t                    rt          |j        |j                   }|                    |            d {V |_        || _        |S )NrL   )rD   
isinstanceGraphQLExecutionResultr   rM   get_extensions_results
extensionsrW   )rH   rW   rI   rY   s       r/   _handle_execution_resultr`   z   s       } 3 	3N6='222&011 I fk&-HHH/FFwOOOOOOOOFGNMr.   rU   Union[GraphQLError, Exception]r   c                l    t          | t                    r| S t          t          |           |           S )NrN   )r\   r   r2   )rU   s    r/   _coerce_errorrc      s2    %&& E

59999r.   Nmiddleware_managerr!   execution_context_class'Optional[Type[GraphQLExecutionContext]]#ExecutionResult | PreExecutionErrorc                  K   	 |                                 4 d {V  t          ||           d {V x}r*t          ||||           d {V cd d d           d {V  S |j        sJ |                                4 d {V  |j        sKt          t          | |j        |j        ||j	        |j
        |j        |                     d {V }||_        n|j        }|j        r|j        |_         ||j        |           d d d           d {V  n# 1 d {V swxY w Y   d d d           d {V  n# 1 d {V swxY w Y   nb# t          t          f$ r}|d }~wt          $ r?}	t          |t!          d t#          |	          g          ||           d {V cY d }	~	S d }	~	ww xY wt          |||d            d {V S )N
root_value
middlewarevariable_valuesoperation_namecontext_valuere   rL   )	operationrV   r`   rE   	executingrW   r   original_executerj   	variablesrm   rH   rD   r   r   rQ   r   rc   )
r9   r@   rI   rY   rd   re   rD   rW   eexcs
             r/   r   r      sQ     1
$..00 &	E &	E &	E &	E &	E &	E &	E &	E  9!#4          v  6%v/@.       &	E &	E &	E &	E &	E &	E &	E &	E &	E &	E &	E &	E &	E &	E %5555(2244 E E E E E E E E(/ 6#.("->'8'C'9,=,G+<+K*;*C4K	 	 	$ $      F 06%,,.5F = E/5}%, #N6=2CDDD5E E E E E E E E E E E E E E E E E E E E E E E E E E E&	E &	E &	E &	E &	E &	E &	E &	E &	E &	E &	E &	E &	E &	E &	E &	E &	E &	E &	E &	E &	E &	E &	E &	E &	E &	E &	EP 89    
 
 
-4s1C1C0DEEE	
 
 
 
 
 
 
 
 	
 	
 	
 	
 	
 	

 *6#4d        s}   E	 0D7E	 !#D7A>DD7
D	D7!D	"D7%E	 7
EE	 EE	 	F(EF()4F#F(#F()re   allowed_operation_typesIterable[OperationType]c                  	 |                                 5  |j        st                      |                                5  	 |j        st          |j        fi |j        |_        ni# t          $ r\}|g|_         ||g|           t          d |g|
                                          cY d }~cd d d            cd d d            S d }~ww xY wd d d            n# 1 swxY w Y   |j        |vrt          |j                  |                                5  t          |           |j        rR ||j        |           t          d |j        |
                                          cd d d            cd d d            S 	 d d d            n# 1 swxY w Y   |                                5  |j        st#          | |j        |j        ||j        |j        |j        |          }t-          |          rPt/          t0          t2                   |          }t5          |                                           t9          d          t/          t2          |          }||_        |j        r|j        |_         ||j        |           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   nt# t          t          f$ r}	|	d }	~	wt:          $ rQ}
t=          |
          g}||_         |||           t          d ||
                                          cY d }
~
S d }
~
ww xY wt          |j        j        |j        j        |
                                          S )N)rM   rD   r_   ri   z3GraphQL execution failed to complete synchronously.) ro   r1   r   rP   rE   r8   parse_optionsr   rD   r   get_extensions_results_syncrR   r   rT   rG   rp   rW   rq   rj   rr   rm   rH   r   r   r   r]   r   cancelRuntimeErrorrQ   rc   rM   )r9   ru   rI   r@   re   rY   rd   rU   rW   rs   rt   rD   s               r/   execute_syncr|      s   N
((** B	I B	I %* *')))"**,,  ,= =K-3> >7H7V> >): $   05w%,"NE7,=>>>*! %w#4#P#P#R#R             B	I B	I B	I B	I B	I B	I B	I B	I                !/7NNN/0A0PQQQ"--//   1222$+ "N#4#;=NOOO*!07#4#P#P#R#R  	      3B	I B	I B	I B	I B	I B	I B	I B	I6               #,,.. I I(/ I-):#4#?#5(9(C'8'G&7&?0G	 	 	F #6** !%i0F&G!P!P%f--44666*Q   ""8&AAF/5%, } I39=)0 'v}6GHHH?I I I I I I I I I I I I I I IGB	I B	I B	I B	I B	I B	I B	I B	I B	I B	I B	I B	I B	I B	I B	IF 89    
 
 
$$%#) v0111(DDFF
 
 
 	
 	
 	
 	
 	
 	
	
 %* '.$@@BB   s  J2 *J& C#A&%C&
C09C)C*C.J&:J2 CCJ&C	J&"C	#4J&AF'J&3J2 J&F	J&F	J&,CJJ&J	J&J	J&J2 &J**J2 -J*.J2 2L#KL#ALL#L#r   r|   )r1   r2   r3   r4   r5   r"   )r9   r    r:   r"   r;   r<   r5   r=   )r@   r   r5   rA   )rH   r   rI   r$   r5   rJ   )
rH   r   rW   rX   rI   r$   rY   rZ   r5   r   )rU   ra   r5   r   r7   )r9   r    r@   r   rI   r$   rY   r0   rd   r!   re   rf   r5   rg   )r9   r    ru   rv   rI   r$   r@   r   re   rf   rY   r0   rd   r!   r5   r   )A
__future__r   asyncior   inspectr   typingr   r   r   r	   r
   r   r   r   r   r   r   graphqlr   r]   r   r   r   rq   graphql.validationr   strawberry.exceptionsr   )strawberry.schema.validation_rules.one_ofr   strawberry.typesstrawberry.types.executionr   strawberry.utils.await_mayber   
exceptionsr   typing_extensionsr   r   r   r   GraphQLExecutionContextr    graphql.execution.middlewarer!   graphql.languager"   r#   strawberry.extensions.runnerr$   strawberry.types.graphqlr%   r'   r0   r,   r8   r?   rG   rV   r`   rc   r|   __all__r-   r.   r/   <module>r      sQ   " " " " " " " ! ! ! ! ! !                                > = = = = = ' ' ' ' ' ' ' ' / / / / / / ' ' ' ' ' ' 3 3 3 3 3 3 N N N N N N , , , , , , 8 8 8 8 8 8 4 4 4 4 4 4 1 1 1 1 1 1 7@@@@@@@@@@CCCCCC%%%%%%>>>>>>------444444CCCCCC111111666666! ! ! ! !9 ! ! !
 G     
" " " "    	
 	
 	
 	
   D   &: : : : HL= = = = =L HL] ] ] ] ] ]@ n
%r.   