o
    :\h                     @   sv   d dl mZ d dlmZmZmZ d dlmZ d dlm	Z	 d dl
Z
d dlmZ d dlmZ d dlmZ G d	d
 d
ZdS )    )AsyncSession)	APIRouterHTTPExceptionDepends)Session)TestTableRepoN)CreateTestTableRequest)
verify_jwt)get_dbc                   @   st   e Zd ZeefdefddZeefdefddZde	fdd	Z
d
efddZd
ede	fddZd
efddZdS )TestTableRouterrepoc                 C   s   t dttgd| _|| _| jjd| jdgd | jjd| jdgd | jjd| jdgd | jjd	| j	d
gd | jjd| j
dgd d S )Nz/test-table)prefixdependenciesz/indexGET)methodsz/createPOSTz
/find/{id}z/update/{id}PUTz/delete/{id}DELETE)r   r   r	   routerr   add_api_routeindexcreatefindupdatedelete)selfr    r   :/var/www/html/pro-man-master/src/router/TestTableRouter.py__init__   s   zTestTableRouter.__init__dbc                    s   | j  }|S N)r   readAll)r   r   recordsr   r   r   r      s   
zTestTableRouter.indexrequestc                    s   | j |j}|S r    )r   r   name)r   r#   r"   r   r   r   r      s   zTestTableRouter.createidc                    s*   | j |}|d ur|S tdd| )N   Record not found for id )r   r   r   r   r%   recordr   r   r   r      s
   zTestTableRouter.findc                    s8   | j |}|d ur| j j||jdS tdd| )N)r)   r$   r&   r'   )r   r   r   r$   r   )r   r%   r#   r)   r   r   r   r   $   s   zTestTableRouter.updatec                    s4   | j |}|d ur| j j|dS tdd| )N)r)   r&   r'   )r   r   r   r   r(   r   r   r   r   ,   s
   zTestTableRouter.deleteN)__name__
__module____qualname__r   r   r   r
   r   r   r   r   intr   r   r   r   r   r   r   r      s    
r   )sqlalchemy.ext.asyncior   fastapir   r   r   sqlalchemy.ormr   src.repo.TestTableRepor   logging"src.request.CreateTestTableRequestr   src.util.jwr	   src.repo.enginer
   r   r   r   r   r   <module>   s    