o
    "i5                     @   s*   d dl mZ d dlmZ G dd dZdS )    )Session)TrainingTemplatec                   @   s   e Zd ZdefddZdededededed	ed
edefddZ	dd
edefddZ
defddZdefddZdefddZdS )TemplateManagerdbc                 C   s
   || _ d S N)r   )selfr    r   O/lsinfo/ai/hellotax_ai/training_center/backend/app/services/template_manager.py__init__   s   
zTemplateManager.__init__namedescription	task_typeplatformconfig	is_public	tenant_id
created_byc	           
   
   C   s>   t ||||||||d}	| j|	 | j  | j|	 |	S )N)r   r   r   r   r   r   r   r   )r   r   addcommitrefresh)
r   r   r   r   r   r   r   r   r   templater   r   r	   create_template	   s   

zTemplateManager.create_templateNc                 C   s>   | j ttj|ktjdkB }|r|tj|k}| S )NT)r   queryr   filterr   r   r   all)r   r   r   r   r   r   r	   get_templates   s   zTemplateManager.get_templatestemplate_idc                 C   s   | j ttj|k S r   )r   r   r   r   idfirst)r   r   r   r   r	   get_template#   s   zTemplateManager.get_templatec                 K   sJ   |  |}|s	d S | D ]
\}}t||| q| j  | j| |S r   )r   itemssetattrr   r   r   )r   r   kwargsr   keyvaluer   r   r	   update_template&   s   

zTemplateManager.update_templatec                 C   s,   |  |}|r| j| | j  dS dS )NTF)r   r   deleter   )r   r   r   r   r   r	   delete_template0   s   

zTemplateManager.delete_templater   )__name__
__module____qualname__r   r
   strdictboolintr   r   r   r%   r'   r   r   r   r	   r      s"    

r   N)sqlalchemy.ormr   app.models.training_templater   r   r   r   r   r	   <module>   s    