
    Xjx	                     ,   d dl 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 d dlmZ d dlmZmZ d d	lmZmZ d d
lmZ  ee          Z e            Ze                    dee                   dd d ee          fdedz  dededefd            Ze                    de           ee           ee           e e	dd                    fdedededdfd            Z e!                    de           ee           ee           e e	dd                    fdedededededdfd            Z"e#                    d           ee           ee           e e	dd                    fdededededdf
d             Z$dS )!    )	APIRouterDependsRequest)Session)get_current_user)require_permission)QANotFoundError)get_translator)get_db)KnowledgeQAUser)QACreate
QAResponse)
get_loggerz/qa)response_modelN2   category_idskiplimitdbc                    |                     t                                        t          j        dk              }| r#|                    t          j        | k              }|                    t          j                                                                      |          	                    |          
                                }|S )Nactive)queryr   filterstatusr   order_by	use_countdescoffsetr   all)r   r   r   r   r   qa_lists         ?/lsinfo/ai/hellotax_ai/base_platform/app/api/v1/knowledge/qa.pyget_qa_listr#      s     HH[!!(();x)GHHE E[4CDDnn[27799::AA$GGMMeTTXXZZGN    knowledge_basescreateqacurrent_user_c                     t          di |                                 d|j        i}|                    |           |                                 |                    |           |S )N
created_by )r   
model_dumpidaddcommitrefresh)r'   r   r(   r)   db_qas        r"   	create_qar3      s_     FF"--//FFloFFFEFF5MMMIIKKKJJuLr$   z/qa/{qa_id}updaterequestqa_idc                    t          |            |                    t                                        t          j        |k                                              }|st          |          |                                                                D ]\  }}t          |||           |
                                 |                    |           |S )N)r
   r   r   r   r.   firstr	   r-   itemssetattrr0   r1   )	r5   r6   r'   r   r(   r)   r2   keyvalues	            r"   	update_qar=   *   s     7HH[!!((5)@AAGGIIE %e$$$mmoo++-- # #
UsE""""IIKKKJJuLr$   deletec                 ^   t          |           }|                    t                                        t          j        |k                                              }|st          |          |                    |           |                                 d|	                    d          dS )NTzknowledge.qa_deleted)successmessage)
r
   r   r   r   r.   r8   r	   r>   r0   t)r5   r6   r   r(   r)   rB   r2   s          r"   	delete_qarC   >   s     	wAHH[!!((5)@AAGGIIE %e$$$IIeIIKKK,B(C(CDDDr$   )%fastapir   r   r   sqlalchemy.ormr   app.api.depsr   app.api.permissionsr   app.core.exceptionsr	   app.core.i18nr
   app.db.sessionr   
app.modelsr   r   app.schemas.knowledge_documentr   r   common_loggingr   __name__loggerroutergetlistintr#   postr3   putr=   r>   rC   r,   r$   r"   <module>rV      sC   / / / / / / / / / / " " " " " " ) ) ) ) ) ) 2 2 2 2 2 2 / / / / / / ( ( ( ( ( ( ! ! ! ! ! ! ( ( ( ( ( ( ( ( ? ? ? ? ? ? ? ? % % % % % %	H			 E$z"233"RYRYZ`RaRa t*-:=HO   43 U:.. '&// !122g(():HEEFF	
 


 
 	
 
 
 /.
 M*55
 '&// !122g(():HEEFF  	 		
     65& } '&// !122g(():HEEFFE EEE 	E 	E
 E E E E E Er$   