
    $vj                         S SK JrJrJr  S SKJr  S SKJr  S SKJ	r	  S SK
Jr  S SKJr  S SKJrJrJrJr  \" SS	/S
9r\R(                  4S\S\4S jjr\R1                  S5      \" \	5      \" \5      4S\S\S\4S jj5       r\R5                  S5      \" \	5      \" \5      4S\S\S\4S jj5       r\R1                  S5      \" \	5      \" \5      4S\S\S\4S jj5       r\R1                  S5      \" \	5      \" \5      4S\S\S\4S jj5       rg)    )	APIRouterDependsstatus)JSONResponse)Session)get_current_active_user)
AgentClass)get_db)AgentChatListAgentSaveChatAgentSendMessage	UserLoginz/agentAgent)prefixtagsresultdefault_statusc                 >    [        UUU R                  SS5      S S.S9$ )NmessageErrorr   r   datastatus_codecontent)r   get)r   r   s     JC:\Users\jesus\Desktop\proyecto_pie360\backend\app\backend\routes\agent.py_error_responser      s+    "$zz)W5
     /bodysession_userdbc                 T   U R                   c  SOU R                   n[        U5      R                  UR                  UU R                  S9n[        U[        5      (       a/  UR                  S5      S:X  a  [        U[        R                  5      $ [        [        R                  SSUS.S9$ )	Nr   )user_idpageitems_per_pager   error   zChats retrieved successfullyr   r   )r&   r	   get_allidper_page
isinstancedictr   r   r   HTTP_500_INTERNAL_SERVER_ERRORr   HTTP_200_OK)r!   r"   r#   
page_valuer   s        r   indexr2      s     ii'TYYJ^##}} $ F &$FJJx$8G$Cvv'L'LMM&&5
 r   z
/edit/{id}r+   c                    [        U5      R                  XR                  S9n[        U[        5      (       a/  UR                  S5      S:X  a  [        U[        R                  5      $ [        [        R                  SSUS.S9$ )N)chat_idr%   r   r(   r)   zChat retrieved successfullyr   r   )
r	   r   r+   r-   r.   r   r   HTTP_404_NOT_FOUNDr   r0   )r+   r"   r#   r   s       r   editr6   2   ss     ^OODF&$FJJx$8G$Cvv'@'@AA&&4
 r   z/savec                 N   [        USS 5      n[        U5      R                  UR                  UU R                  U R
                  S9n[        U[        5      (       a/  UR                  S5      S:X  a  [        U[        R                  5      $ [        [        R                  SSUS.S9$ )	Ncustomer_id)r%   r8   titler4   r   r(   r)   zChat saved successfullyr   r   )getattrr	   	save_chatr+   r9   r4   r-   r.   r   r   r   HTTP_400_BAD_REQUESTr   r0   r!   r"   r#   r8   r   s        r   saver>   G   s     ,t<K^%%jj	 & F &$FJJx$8G$Cvv'B'BCC&&0
 r   z/sendc                 N   [        USS 5      n[        U5      R                  UR                  UU R                  U R
                  S9n[        U[        5      (       a/  UR                  S5      S:X  a  [        U[        R                  5      $ [        [        R                  SSUS.S9$ )	Nr8   )r%   r8   r   r4   r   r(   r)   zMessage sent successfullyr   r   )r:   r	   send_messager+   r   r4   r-   r.   r   r   r   r<   r   r0   r=   s        r   sendrA   b   s     ,t<K^((	 ) F &$FJJx$8G$Cvv'B'BCC&&2
 r   N)fastapir   r   r   fastapi.responsesr   sqlalchemy.ormr   app.backend.auth.auth_userr   app.backend.classes.agent_classr	   app.backend.db.databaser
   app.backend.schemasr   r   r   r   agentr<   r.   intr   postr2   r   r6   r>   rA    r   r   <module>rM      so   . . * " > 6 * Y Y	2 9?8S8S D #  C &&=>&/
 	 2 < &&=>&/ 	 ( G &&=>&/
 	 4 G &&=>&/
 	 r   