o
    "i	                     @   s  d dl mZmZmZmZ d dl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 d dlmZ edgd	Zed
deeeedfdedede
fddZedeeeedfdedede
fddZed
deeeedfdededededededede
fddZedddddeeeedfdedededededede
fddZe deeeedfdedede
fdd Z!dS )!    )	APIRouterDependsHTTPExceptionRequest)Session)List)User)get_db)require_readrequire_createrequire_updaterequire_delete)TemplateManager	templates)tags/N	task_typedbcurrent_userc                 C   s   t |}||j| S N)r   get_templates	tenant_id)r   r   r   manager r   F/lsinfo/ai/hellotax_ai/training_center/backend/app/api/v1/templates.pyr      s   r   z/{template_id}template_idc                 C   s&   t |}|| }|stddd|S )N  Template not foundstatus_codedetail)r   get_templater   )r   r   r   r   templater   r   r   r!      s
   
r!   Fnamedescriptionplatformconfig	is_publicc           	   
   C   s$   t |}|| ||||||j|jS r   )r   create_templater   id)	r#   r$   r   r%   r&   r'   r   r   r   r   r   r   r(   $   s
   

r(   c           
      C   sB   t |}dd t  D }|j| fi |}	|	stddd|	S )Nc                 S   s&   i | ]\}}|d ur|dvr||qS )N)r   r   r   r   r   ).0kvr   r   r   
<dictcomp>A   s   & z#update_template.<locals>.<dictcomp>r   r   r   )r   localsitemsupdate_templater   )
r   r#   r$   r&   r'   r   r   r   updatesr"   r   r   r   r0   6   s   
r0   c                 C   s*   t |}|| }|stdddddiS )Nr   r   r   messagezTemplate deleted)r   delete_templater   )r   r   r   r   successr   r   r   r3   H   s
   
r3   )"fastapir   r   r   r   sqlalchemy.ormr   typingr   
app.modelsr   app.api.depsr	   app.api.permissionsr
   r   r   r   app.services.template_managerr   routergetstrr   intr!   postdictboolr(   putr0   deleter3   r   r   r   r   <module>   s    
	



