o
    wiW                     @  s  d dl mZ d dlmZmZ 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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G d0d1 d1eZG d2d3 d3eZG d4d5 d5eZ G d6d7 d7e Z!d?d<d=Z"d>S )@    )annotations)AnyOptional)PrismaError	DataErrorUniqueViolationErrorForeignKeyViolationErrorMissingRequiredValueErrorRawQueryErrorTableNotFoundErrorRecordNotFoundErrorHTTPClientClosedErrorClientNotConnectedErrorPrismaWarningUnsupportedSubclassWarningc                   @     e Zd ZdS )r   N__name__
__module____qualname__ r   r   D/home/app/Keep/.python/lib/python3.10/site-packages/prisma/errors.pyr          r   c                         e Zd Zd fddZ  ZS )ClientNotRegisteredErrorreturnNonec                      t  d d S )NzMNo client instance registered; You must call prisma.register(prisma.Prisma())super__init__self	__class__r   r   r          z!ClientNotRegisteredError.__init__r   r   r   r   r   r    __classcell__r   r   r#   r   r          r   c                      r   )ClientAlreadyRegisteredErrorr   r   c                   r   )Nz%A client has already been registered.r   r!   r#   r   r   r       r%   z%ClientAlreadyRegisteredError.__init__r&   r'   r   r   r#   r   r*      r)   r*   c                      r   )r   r   r   c                   r   )NzgClient is not connected to the query engine, you must call `connect()` before attempting to query data.r   r!   r#   r   r   r    $      z ClientNotConnectedError.__init__r&   r'   r   r   r#   r   r   #   r)   r   c                      r   )r   r   r   c                   r   )Nz+Cannot make a request from a closed client.r   r!   r#   r   r   r    +   r%   zHTTPClientClosedError.__init__r&   r'   r   r   r#   r   r   *   r)   r   c                      s0   e Zd ZU ded< ded< d fddZ  ZS )	UnsupportedDatabaseErrorstrcontextdatabaser   r   c                   s&   t  | d|  || _|| _d S )Nz is not supported by )r   r    r/   r.   )r"   r/   r.   r#   r   r   r    3   s   
z!UnsupportedDatabaseError.__init__)r/   r-   r.   r-   r   r   r   r   r   __annotations__r    r(   r   r   r#   r   r,   /   s   
 r,   c                      s>   e Zd ZU ded< ded< ded< ddd fddZ  ZS )r   r   datacodemetaNmessager6   Optional[str]r   r   c                  sL   || _ |di }|d| _|d| _|p|d}t |p"d d S )Nuser_facing_errorZ
error_coder4   r6   z(An error occurred while processing data.)r2   getr3   r4   r   r    )r"   r2   r6   r8   r#   r   r   r    >   s   zDataError.__init__)r2   r   r6   r7   r   r   r0   r   r   r#   r   r   9   s
   
 r   c                   @  r   )r   Nr   r   r   r   r   r   I   r   r   c                   @  r   )r   Nr   r   r   r   r   r   M   r   r   c                   @  r   )r	   Nr   r   r   r   r   r	   Q   r   r	   c                         e Zd Zd fddZ  ZS )r
   r2   r   r   r   c                   sD   zt  j||d d d d W d S  ty!   t  | Y d S w )Nr8   r4   r6   r5   )r   r    KeyErrorr"   r2   r#   r   r   r    V   s
   "zRawQueryError.__init__r2   r   r   r   r'   r   r   r#   r   r
   U   r)   r
   c                      r:   )r   r2   r   r   r   c                   s   t  | | jd| _d S )Ntable)r   r    r4   r9   r>   r<   r#   r   r   r    ^   s   zTableNotFoundError.__init__r=   r'   r   r   r#   r   r   ]   r)   r   c                      s$   e Zd Zddd fd	d
Z  ZS )FieldNotFoundErrorNr5   r2   r   r6   
str | Noner   r   c                  s   |d u r;| di  di }| ddkrt| dg }n|}| d}| d}|r;dd	| d	d	| d
}t j||d d S )Nr8   r4   kindUnionerrorsargumentPathselectionPathzCould not find field at `.`r5   )r9   _pick_union_errorjoinr   r    )r"   r2   r6   r4   errorZargument_pathZselection_pathr#   r   r   r    g   s   

zFieldNotFoundError.__init__)r2   r   r6   r@   r   r   r'   r   r   r#   r   r?   c   s    r?   c                   @  r   )r   Nr   r   r   r   r   r   x   r   r   c                   @  r   )
InputErrorNr   r   r   r   r   rK   |   r   rK   c                   @  r   )TransactionErrorNr   r   r   r   r   rL      r   rL   c                   @  r   )TransactionExpiredErrorNr   r   r   r   r   rM      r   rM   c                      r   )TransactionNotStartedErrorr   r   c                   r   )NzmTransaction has not been started yet.
Transactions must be used within a context manager or started manually.r   r!   r#   r   r   r       r+   z#TransactionNotStartedError.__init__r&   r'   r   r   r#   r   rN      r)   rN   c                   @  r   )BuilderErrorNr   r   r   r   r   rO      r   rO   c                      r:   )InvalidModelErrormodeltyper   r   c                      t  d| d d S )NzExpected the z5 type to have a `__prisma_model__` class variable setr   r"   rQ   r#   r   r   r          zInvalidModelError.__init__)rQ   rR   r   r   r'   r   r   r#   r   rP      r)   rP   c                      r:   )UnknownModelErrorrQ   r-   r   r   c                   rS   )NzModel: "z" does not exist.r   rT   r#   r   r   r       rU   zUnknownModelError.__init__)rQ   r-   r   r   r'   r   r   r#   r   rV      r)   rV   c                      s   e Zd Zd fddZ  ZS )	UnknownRelationalFieldErrorrQ   r-   fieldr   r   c                   s   t  d| d| d d S )NzField: "z<" either does not exist or is not a relational field on the z modelr   )r"   rQ   rX   r#   r   r   r       s   z$UnknownRelationalFieldError.__init__)rQ   r-   rX   r-   r   r   r'   r   r   r#   r   rW      r)   rW   c                   @  r   )GeneratorErrorNr   r   r   r   r   rY      r   rY   c                      s(   e Zd ZU ded< d fddZ  ZS )	UnsupportedListTypeErrorr-   rR   typr   r   c                   s   t  d| d || _d S )NzCannot use zo as a list yet; Please create a feature request at https://github.com/RobertCraigie/prisma-client-py/issues/new)r   r    rR   )r"   r[   r#   r   r   r       s   

z!UnsupportedListTypeError.__init__)r[   r-   r   r   r0   r   r   r#   r   rZ      s   
 rZ   c                   @  r   )r   Nr   r   r   r   r   r      r   r   c                   @  r   )r   Nr   r   r   r   r   r      r   r   rC   	list[Any]r   r   c                 C  s   t | dd dS )Nc                 S  s   t | dg t | d S )NrD   rE   )lenr9   )er   r   r   <lambda>   s    z#_pick_union_error.<locals>.<lambda>)key)max)rC   r   r   r   rH      s   rH   N)rC   r\   r   r   )#
__future__r   typingr   r   __all__	Exceptionr   r   r*   r   r   r,   r   r   r   r	   r
   r   r?   r   rK   rL   rM   rN   rO   rP   rV   rW   rY   rZ   Warningr   r   rH   r   r   r   r   <module>   s<    
