o
    㥵i/                     @  sT  d Z ddlmZ ddlmZmZmZmZ ddlm	Z	m
Z
 G dd de
ZG dd ded	d
ZG dd de
ZG dd ded	d
ZG dd de
d	d
ZG dd de
ZG dd ded	d
ZG dd de
ZG dd ded	d
ZG dd de
ZG dd ded	d
ZG dd de
d	d
Zeedf Ze
d d!eid	d
ZG d"d ded	d
ZG d#d$ d$e
ZG d%d& d&ed	d
ZG d'd( d(e
ZG d)d* d*ed	d
Ze
d+eed,ZG d-d. d.e
d	d
Z G d/d0 d0ee Z!G d1d2 d2e
Z"G d3d4 d4e"d	d
Z#G d5d6 d6e
d	d
Z$G d7d8 d8e
d	d
Z%eed9f Z&G d:d; d;e
Z'G d<d9 d9e'd	d
Z(eedf Z)G d=d> d>e
d	d
Z*G d?d@ d@e
d	d
Z+G dAdB dBe
d	d
Z,G dCdD dDe
Z-G dEdF dFe-d	d
Z.e
dGd!eiZ/e
dHdIee/dJf id	d
Z0G dKdJ dJe0d	d
Z1G dLdM dMe
Z2G dNdO dOe2d	d
Z3G dPdQ dQe
d	d
Z4e
dRe	dS ee	dT dUZ5G dVdW dWe
d	d
Z6G dXdY dYe5e6Z7G dZd[ d[e6Z8G d\d] d]e
d	d
Z9G d^d_ d_e6e9Z:G d`da dae6Z;G dbdc dce6Z<ee7e8e:e;e<f Z=G ddde dee
d	d
Z>G dfdg dge
d	d
Z?G dhdi die?Z@G djdk dke@ZAG dldm dme@ZBG dndo doe@ZCG dpdq dqe@ZDeeee f ZEdrS )szg
OpenAPI specification 3.0.3

https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md
    )annotations)AnyDictListUnion)Literal	TypedDictc                   @  &   e Zd ZU ded< ded< ded< dS )_OpenAPIRequiredstropenapiInfoinfoPathspathsN__name__
__module____qualname____annotations__ r   r   M/home/ubuntu/.local/lib/python3.10/site-packages/kui/openapi/specification.pyr
         
 r
   c                   @  s6   e Zd ZU ded< ded< ded< ded< d	ed
< dS )OpenAPIList[Server]servers
Components
componentsList[SecurityRequirement]securityz	List[Tag]tagsExternalDocumentationexternalDocsNr   r   r   r   r   r         
 r   F)totalc                   @     e Zd ZU ded< ded< dS )_InfoRequiredr   titleversionNr   r   r   r   r   r&         
 r&   c                   @  s.   e Zd ZU ded< ded< ded< ded< dS )	r   r   descriptionterms_of_serviceContactcontactLicenselicenseNr   r   r   r   r   r   !   
   
 r   c                   @  s&   e Zd ZU ded< ded< ded< dS )r,   r   nameurlemailNr   r   r   r   r   r,   (   r   r,   c                   @     e Zd ZU ded< dS )_LicenseRequiredr   r1   Nr   r   r   r   r   r5   .      
 r5   c                   @  r4   )r.   r   r2   Nr   r   r   r   r   r.   2   r6   r.   c                   @  r4   )_ServerRequiredr   r2   Nr   r   r   r   r   r7   6   r6   r7   c                   @     e Zd ZU ded< ded< dS )Serverr   r*   zDict[str, ServerVariable]	variablesNr   r   r   r   r   r9   :   r)   r9   c                   @  r4   )_ServerVariableRequiredr   defaultNr   r   r   r   r   r;   ?   r6   r;   c                   @  r8   )ServerVariable	List[str]enumr   r*   Nr   r   r   r   r   r=   C   r)   r=   c                   @  sV   e Zd ZU ded< ded< ded< ded< d	ed
< ded< ded< ded< ded< dS )r   zDict[str, Schema | Reference]schemaszDict[str, Response | Reference]	responsesz Dict[str, Parameter | Reference]
parametersDict[str, Example | Reference]examplesz"Dict[str, RequestBody | Reference]requestBodiesDict[str, Header | Reference]headersz%Dict[str, SecurityScheme | Reference]securitySchemesDict[str, Link | Reference]linksDict[str, Callback | Reference]	callbacksNr   r   r   r   r   r   H   s   
 r   PathItem_PathRefz$refc                   @  sn   e Zd ZU ded< ded< ded< ded< ded< ded< ded	< ded
< ded< ded< ded< ded< dS )rM   r   summaryr*   	Operationgetputpostdeleteoptionsheadpatchtracer   r   List[Parameter | Reference]rB   Nr   r   r   r   r   rM   Y   s   
 c                   @  r4   )_OperationRequired	ResponsesrA   Nr   r   r   r   r   rZ   h   r6   rZ   c                   @  sf   e Zd ZU ded< ded< ded< ded< ded< d	ed
< ded< ded< ded< ded< ded< dS )rP   r>   r    r   rO   r*   r!   r"   operationIdrY   rB   zRequestBody | ReferencerequestBodyrK   rL   bool
deprecatedr   r   r   r   Nr   r   r   r   r   rP   l   s   
 rP   c                   @  r4   )_ExternalDocumentationRequiredr   r2   Nr   r   r   r   r   r`   z   r6   r`   c                   @  r4   )r!   r   r*   Nr   r   r   r   r   r!   ~   r6   r!   _ParameterRequired)r1   inc                   @  f   e Zd ZU ded< ded< ded< ded< ded< ded< ded	< d
ed< ded< ded< ded< dS )_ParameterOptionalr   r*   r^   requiredr_   allowEmptyValuestyleexplodeallowReservedSchema | Referenceschemar   examplerC   rD   Dict[str, MediaType]contentNr   r   r   r   r   rd         
 rd   c                   @     e Zd ZdS )	ParameterNr   r   r   r   r   r   r   rq          rq   c                   @  r4   )_RequestBodyRequiredrm   rn   Nr   r   r   r   r   rt      r6   rt   c                   @  r8   )RequestBodyr   r*   r^   re   Nr   r   r   r   r   ru      r)   ru   c                   @  .   e Zd ZU ded< ded< ded< ded< d	S )
	MediaTyperj   rk   r   rl   rC   rD   zDict[str, Encoding]encodingNr   r   r   r   r   rw      r0   rw   c                   @  s6   e Zd ZU ded< ded< ded< ded< ded< d	S )
Encodingr   contentTyperF   rG   rg   r^   rh   ri   Nr   r   r   r   r   ry      r#   ry   Responsec                   @  r4   )_ResponseRequiredr   r*   Nr   r   r   r   r   r|      r6   r|   c                   @  r	   )r{   rF   rG   rm   rn   rI   rJ   Nr   r   r   r   r   r{      r   c                   @  s.   e Zd ZU ded< ded< ded< ded< dS )Exampler   rO   r*   r   valueexternalValueNr   r   r   r   r   r}      r0   r}   c                   @  s>   e Zd ZU ded< ded< ded< ded< ded< d	ed
< dS )Linkr   operationRefr\   zDict[str, Any]rB   r   r]   r*   r9   serverNr   r   r   r   r   r      s   
 r   c                   @  rc   )Headerr   r*   r^   re   r_   rf   rg   rh   ri   rj   rk   r   rl   rC   rD   rm   rn   Nr   r   r   r   r   r      ro   r   c                   @  r4   )_TagRequiredr   r1   Nr   r   r   r   r   r      r6   r   c                   @  r8   )Tagr   r*   r!   external_docsNr   r   r   r   r   r      r)   r   	Reference_SchemanotSchemac                   @  s  e Zd ZU ded< ded< ded< ded< ded< ded	< d
ed< d
ed< ded< d
ed< d
ed< ded< d
ed< d
ed< ded< ded< ded< ded< ded< ded< ded< ded< d ed!< ded"< ded#< d$ed%< ded&< d'ed(< ded)< ded*< d+ed,< d-ed.< d$ed/< ded0< d1S )2r   r   r'   float
multipleOfmaximumr^   exclusiveMaximumminimumexclusiveMinimumint	maxLength	minLengthpatternmaxItemsminItemsuniqueItemsmaxPropertiesminPropertiesr>   re   z	List[Any]r?   typezList[Reference | Schema]allOfoneOfanyOfzReference | SchemaitemszDict[str, Reference | Schema]
propertieszbool | Reference | SchemaadditionalPropertiesr*   formatr   r<   nullableDiscriminatordiscriminatorreadOnly	writeOnlyXMLxmlr!   r"   rl   r_   Nr   r   r   r   r   r      sF   
 c                   @  r4   )_DiscriminatorRequiredr   propertyNameNr   r   r   r   r   r     r6   r   c                   @  r4   )r   Dict[str, str]mappingNr   r   r   r   r   r     r6   r   c                   @  s6   e Zd ZU ded< ded< ded< ded< ded< dS )	r   r   r1   	namespaceprefix	attributer^   wrappedNr   r   r   r   r   r     r#   r   _ApiKeySchemeapiKey)queryheadercookie)r   r1   rb   c                   @  r4   )_SecuritySchemeOptionalr   r*   Nr   r   r   r   r   r   0  r6   r   c                   @  rp   )ApiKeySchemeNrr   r   r   r   r   r   4  rs   r   c                   @  r8   )
HttpSchemeLiteral['http']r   r   schemeNr   r   r   r   r   r   8  r)   r   c                   @  r4   )_HttpBearerSchemeOptionalr   bearerFormatNr   r   r   r   r   r   =  r6   r   c                   @  r8   )HttpBearerSchemer   r   zLiteral['bearer']r   Nr   r   r   r   r   r   A  r)   r   c                   @  r8   )OAuth2SchemezLiteral['oauth2']r   
OAuthFlowsflowsNr   r   r   r   r   r   F  r)   r   c                   @  r8   )OpenIdConnectSchemezLiteral['openIdConnect']r   r   openIdConnectUrlNr   r   r   r   r   r   K  r)   r   c                   @  rv   )
r   OAuthFlowImplicitimplicitOAuthFlowPasswordpasswordOAuthFlowClientCredentialsclientCredentialsOAuthFlowAuthorizationCodeauthorizationCodeNr   r   r   r   r   r   U  r0   r   c                   @  r4   )_OAuthFlowBaser   
refreshUrlNr   r   r   r   r   r   \  r6   r   c                   @  r4   )OAuthFlowBaser   scopesNr   r   r   r   r   r   `  r6   r   c                   @  r4   )r   r   authorizationUrlNr   r   r   r   r   r   d  r6   r   c                   @  r4   )r   r   tokenUrlNr   r   r   r   r   r   h  r6   r   c                   @  r4   )r   r   r   Nr   r   r   r   r   r   l  r6   r   c                   @  r%   )r   r   r   r   Nr   r   r   r   r   r   p  r)   r   N)F__doc__
__future__r   typingr   r   r   r   typing_extensionsr   r   r
   r   r&   r   r,   r5   r.   r7   r9   r;   r=   r   r   r   rN   rM   rZ   rP   r`   r!   ra   rd   rq   rt   ru   rw   ry   r[   r|   r{   Callbackr}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   SecuritySchemer   r   r   r   r   r   r   SecurityRequirementr   r   r   r   <module>   s    	%	
