o
    ̿Sie                     @   s  d dl mZmZ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mZmZmZmZ e Zejdeeef deejee
fd	ed
eeef dejdefddZejdeeef dd deejee
fd	edededejdef
ddZejdeeef deejee
fd	ededejdefddZejdeeef deejee
fd	eded
eeef dejdef
ddZejdeeef deejee
fd	ededejdefddZ dS )    )	APIRouterHTTPExceptionDepends)AnyDict)database)get_current_userdetails)User)create_item_serviceget_items_serviceget_item_serviceupdate_item_servicedelete_item_servicez/{collection_name})response_modelcollection_namepayloaddbcurrent_userc              
   C   sj   z
t | |||}|W S  ty } ztdt|dd }~w ty4 } ztddt| dd }~ww Ni  status_codedetaili  zInternal server error: )r
   
ValueErrorr   str	Exception)r   r   r   r   created_itemvee r   1/var/www/html/Trade-python/app/v1/routers/crud.pycreate_generic_item   s   r    
   skiplimitc                 C   s   t | ||||}|S )N)r   )r   r"   r#   r   r   resultr   r   r   list_generic_items    s   r%   z/{collection_name}/{item_id}item_idc                 C   &   t | |||}|d u rtddd|S Ni  zItem not foundr   )r   r   )r   r&   r   r   itemr   r   r   get_generic_item,      r*   c              
   C   sl   zt | ||||}|W S  ty } ztdt|dd }~w ty5 } ztddt| dd }~ww r   )r   r   r   r   r   )r   r&   r   r   r   updated_itemr   r   r   r   r   update_generic_item9   s   r-   c                 C   r'   r(   )r   r   )r   r&   r   r   deleted_itemr   r   r   delete_generic_itemJ   r+   r/   N)!fastapir   r   r   typingr   r   app.dbr   app.v1.dependencies.authr   app.v1.models.saas.usersmodelr	   app.v1.services.crudr
   r   r   r   r   routerpostr   get_mongo_dbMongoDBr    getintr%   r*   putr-   deleter/   r   r   r   r   <module>   s    

