U
    Ód¨i!  ã                   @   s"  d Z ddlmZmZmZ ddlmZ eƒ r8ddlmZ nG dd„ dƒZed Z	ed	 Z
ed
 Zed Zed ZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd „ d eƒZG d!d"„ d"eƒZd#S )$z7Contains data structures to parse the webhooks payload.é    )ÚListÚLiteralÚOptionalé   )Úis_pydantic_available)Ú	BaseModelc                   @   s   e Zd Zddœdd„ZdS )r   N)Úreturnc                 O   s   t dƒ‚d S )Nz¶You must have `pydantic` installed to use `WebhookPayload`. This is an optional dependency that should be installed separately. Please run `pip install --upgrade pydantic` and retry.)ÚImportError)ÚselfÚargsÚkwargs© r   úE/tmp/pip-unpacked-wheel-ohruig0i/huggingface_hub/_webhooks_payload.pyÚ__init__   s    ÿzBaseModel.__init__)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r      s   r   )ÚcreateÚdeleteÚmoveÚupdate)Úaddr   Úremover   ©ZdatasetÚmodelÚspace)ÚclosedZdraftÚopenÚmergedé   c                   @   s   e Zd ZU eed< dS )ÚObjectIdÚidN)r   r   r   ÚstrÚ__annotations__r   r   r   r   r    C   s   
r    c                   @   s&   e Zd ZU eed< dZee ed< dS )ÚWebhookPayloadUrlZwebNÚapi)r   r   r   r"   r#   r%   r   r   r   r   r   r$   G   s   
r$   c                   @   s   e Zd ZU eed< eed< dS )ÚWebhookPayloadMovedToÚnameÚownerN)r   r   r   r"   r#   r    r   r   r   r   r&   L   s   
r&   c                   @   s   e Zd ZU eed< dS )ÚWebhookPayloadWebhookÚversionN)r   r   r   ÚSupportedWebhookVersionr#   r   r   r   r   r)   Q   s   
r)   c                   @   s   e Zd ZU eed< eed< dS )ÚWebhookPayloadEventÚactionZscopeN)r   r   r   ÚWebhookEvent_Tr#   r"   r   r   r   r   r,   U   s   
r,   c                   @   s&   e Zd ZU eed< dZee ed< dS )ÚWebhookPayloadDiscussionChangesÚbaseNÚmergeCommitId)r   r   r   r"   r#   r1   r   r   r   r   r   r/   Z   s   
r/   c                   @   s6   e Zd ZU eed< eed< dZee ed< e	ed< dS )ÚWebhookPayloadCommentÚauthorÚhiddenNÚcontentÚurl)
r   r   r   r    r#   Úboolr5   r   r"   r$   r   r   r   r   r2   _   s   
r2   c                   @   s^   e Zd ZU eed< eed< eed< eed< eed< e	ed< dZ
ee ed< dZee ed	< dS )
ÚWebhookPayloadDiscussionÚnumr3   r6   ÚtitleZisPullRequestÚstatusNÚchangesÚpinned)r   r   r   Úintr#   r    r$   r"   r7   ÚDiscussionStatus_Tr<   r   r/   r=   r   r   r   r   r8   f   s   
r8   c                   @   sn   e Zd ZU eed< dZee ed< eed< eed< dZ	ee ed< dZ
eee  ed< ed ed	< eed
< dS )ÚWebhookPayloadRepor(   NÚhead_shar'   ÚprivateÚ	subdomainÚtagsr   Útyper6   )r   r   r   r    r#   rA   r   r"   r7   rC   rD   r   r   r$   r   r   r   r   r@   q   s   
r@   c                   @   s6   e Zd ZU eed< dZee ed< dZee ed< dS )ÚWebhookPayloadUpdatedRefÚrefNÚoldShaÚnewSha)r   r   r   r"   r#   rH   r   rI   r   r   r   r   rF   |   s   
rF   c                   @   sj   e Zd ZU eed< eed< dZee ed< dZ	ee
 ed< eed< dZee ed< dZeee  ed< dS )	ÚWebhookPayloadÚeventÚrepoNÚ
discussionÚcommentZwebhookÚmovedToÚupdatedRefs)r   r   r   r,   r#   r@   rM   r   r8   rN   r2   r)   rO   r&   rP   r   rF   r   r   r   r   rJ   ‚   s   
rJ   N)Ú__doc__Útypingr   r   r   Úutilsr   Zpydanticr   r.   ZRepoChangeEvent_TZ
RepoType_Tr?   r+   r    r$   r&   r)   r,   r/   r2   r8   r@   rF   rJ   r   r   r   r   Ú<module>   s:   ÿÿÿÿ