
    Xj
                     l   d dl mZmZ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 d dlmZ d dlmZ  ee          Z edg	          Ze                    d
          d ee           e ed                    fdededefd            Ze                    d           ee           e ed                    fdededef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            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            Z e!                    d           ee           e e
d                    fdededefd            Z"dS )    )	APIRouterDependsHTTPException)Session)get_db)require_createrequire_deleterequire_readrequire_update)User)TemplateManager)
get_logger	templates)tags/N	task_typedbcurrent_userc                 V    t          |          }|                    |j        |           S )N)r   get_templates	tenant_id)r   r   r   managers       F/lsinfo/ai/hellotax_ai/training_center/backend/app/api/v1/templates.pyr   r      s(    b!!G  !7CCC    z/{template_id}template_idc                 t    t          |          }|                    |           }|st          dd          |S )N  Template not foundstatus_codedetail)r   get_templater   )r   r   r   r   templates        r   r"   r"      sD    b!!G##K00H J4HIIIIOr   Fnamedescriptionplatformconfig	is_publicc           
          t          |          }|                    | ||||||j        |j                  }	t                              |	                    d                                        d           |	S )Nidr   zTemplate created)r   create_templater   r*   loggerbindgetinfo)
r$   r%   r   r&   r'   r(   r   r   r   results
             r   r,   r,      s{    b!!G$$T;	8VU^`l`v  yE  yH  I  IF
KKFJJt,,K--223EFFFMr   c                    t          |          }d t                                                      D             } |j        | fi |}	|	st	          dd          t
                              |                               d           |	S )Nc                 &    i | ]\  }}||dv||S )N)r   r   r   r    ).0kvs      r   
<dictcomp>z#update_template.<locals>.<dictcomp>&   s6      A  A  A1AMaOFFq!FFFr   r   r   r   r+   zTemplate updated)r   localsitemsupdate_templater   r-   r.   r0   )
r   r$   r%   r'   r(   r   r   r   updatesr#   s
             r   r;   r;   #   s    b!!G A  A 0 0  A  A  AG&w&{>>g>>H J4HIIII
KKKK((--.@AAAOr   c                     t          |          }|                    |           }|st          dd          t                              |                               d           ddiS )Nr   r   r   r+   zTemplate deletedmessage)r   delete_templater   r-   r.   r0   )r   r   r   r   successs        r   r?   r?   -   sn    b!!G%%k22G J4HIIII
KKKK((--.@AAA)**r   )#fastapir   r   r   sqlalchemy.ormr   app.api.depsr   app.api.permissionsr   r	   r
   r   
app.modelsr   app.services.template_managerr   common_loggingr   __name__r-   routerr/   strr   intr"   postdictboolr,   putr;   deleter?   r4   r   r   <module>rQ      s   5 5 5 5 5 5 5 5 5 5 " " " " " "       \ \ \ \ \ \ \ \ \ \ \ \       9 9 9 9 9 9 % % % % % %	H				&	&	&C!%776??W^W^_k_klw_x_xWyWy D DS D7 DRV D D D D /6wvSZSZ[g[ghs[t[tSuSu  c w d     Sns  BI  BI  JP  BQ  BQ  fm  fm  n|  n|  }H  nI  nI  fJ  fJ  # C C 3 X\ im   zA   ae     04tZ^pt  CJ  CJ  KQ  CR  CR  gn  gn  o}  o}  ~I  oJ  oJ  gK  gK   C 3 UY ko   {B   bf       29'&//V]V]^l^lmx^y^yVzVz + + +' +QU + + + ! + + +r   