
    U+ig              
          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mZmZmZ d dlmZ d dlmZ  edd	g
      Zej)                  d       ee       ee      fdedede	fd       Zej-                  d       ee       ee      fdedede	fd       Zej)                  d       ee       ee      fdedede	fd       Zej)                  d       ee       ee      fdedede	fd       Zej7                  d      ej7                  d       ee       ee      fdedede	fd              Zej9                  d       ee       ee      fdededede	fd       Zy)    )	APIRouterDependsstatus)JSONResponse)get_db)Session)MessageListStoreMessageUpdateMessage	UserLogin)MessageClass)get_current_active_userz	/messagesMessages)prefixtags/message_listsession_userdbc                    | j                   dn| j                   }|r|j                  nd }|r|j                  nd }t        |      j	                  || j
                  | j                  | j                  ||      }t        |t              rC|j                  d      dk(  r/t        t        j                  d|j                  dd      d d	      S | j                   d
nd}t        t        j                  d||d	      S )Nr   )pageitems_per_pagesubjectmessage_type_idcustomer_idrol_idr   error  messagezInternal server errorr   r   datastatus_codecontentz-Complete messages list retrieved successfullyzMessages retrieved successfully   )r   r   r   r   get_allper_pager   r   
isinstancedictgetr   r   HTTP_500_INTERNAL_SERVER_ERRORHTTP_200_OK)r   r   r   
page_valuer   r   resultr   s           D/var/www/pie360backend.cl/public_html/app/backend/routes/messages.pyindexr0      s   "''/\5F5FJ.:,**K$0\  dF"%%:lF[F[eqeyey  LX  Lh  Lh  vA  JP%  QF&$FJJx$8G$C==!::i1HI
 	
 BNARARAZ=  aBG&&
     z
/edit/{id}idc                    t        |      j                  |       }t        |t              rC|j                  d      dk(  r/t	        t
        j                  d|j                  dd      d d      S t	        t
        j                  dd	|d      S )
Nr   r     r   Message not foundr    r"   r%   z#Message data retrieved successfully)r   r*   r(   r)   r   r   HTTP_404_NOT_FOUNDr,   r2   r   r   r.   s       r/   editr8   *   s    "!!"%F&$FJJx$8G$C11!::i1DE
 	
 &&<
 r1   z/storer   c                    | j                         }|r|j                  nd }||d<   |j                  dk(  rd|d<   d|d<   n"|j                  dk(  rd|d<   d|vs|d   d|d<   t        |      j	                  |      }t        |t               rC|j                  d      dk(  r/t        t        j                  d	|j                  d
d      d d      S t        t        j                  dd|d      S )Nr      r   response_idmessage_response_id   r   r   r   r   zError saving messager    r"      zMessage created successfully)r)   r   r   r   storer(   r*   r   r   r+   HTTP_201_CREATEDr   r   r   message_inputsr   r.   s         r/   r?   r?   A   s
   \\^N /;,**K$/N=! a()}%01,-				!()}% !6.I^:_:g45N01"##N3F&$FJJx$8G$C==!::i1GH
 	
 ++5
 r1   z/replyc                    | j                         }|r|j                  nd }||d<   d|d<   d|vs|d   t        t        j                  ddd d      S t        |      j                  |      }t        |t               rC|j                  d	      d
k(  r/t        t        j                  d|j                  dd      d d      S t        t        j                  dd|d      S )Nr   r=   r;   r<   i  z+message_response_id is required for repliesr    r"   r   r   r   r   zError saving replyr>   zReply created successfully)r)   r   r   r   HTTP_400_BAD_REQUESTr   r?   r(   r*   r+   r@   rA   s         r/   replyrE   i   s    \\^N /;,**K$/N=! %&N=! N2nEZ6[6c33H
 	
 "##N3F&$FJJx$8G$C==!::i1EF
 	
 ++3
 r1   z/{id}z/delete/{id}c                    t        |      j                  |       }t        |t              rC|j	                  d      dk(  r/t        t        j                  d|j	                  dd      d d      S t        t        j                  dd	|d      S )
Nr   r   r4   r   r5   r    r"   r%   zMessage deleted successfully)	r   deleter(   r)   r*   r   r   r6   r,   r7   s       r/   rG   rG      s     "$$R(F&$FJJx$8G$C11!::i1DE
 	
 &&5
 r1   z/update/{id}c                 @   |j                  d      }t        |      j                  | |      }t        |t               rC|j	                  d      dk(  r/t        t        j                  d|j	                  dd      d d	      S t        t        j                  d
d|d	      S )NT)exclude_unsetr   r   r4   r   r5   r    r"   r%   zMessage updated successfully)	r)   r   updater(   r*   r   r   r6   r,   )r2   r   r   r   rB   r.   s         r/   rJ   rJ      s    \\\5N"$$R8F&$FJJx$8G$C11!::i1DE
 	
 &&5
 r1   N)fastapir   r   r   fastapi.responsesr   app.backend.db.databaser   sqlalchemy.ormr   app.backend.schemasr	   r
   r   r   !app.backend.classes.message_classr   app.backend.auth.auth_userr   messagespostr0   r*   intr8   r?   rE   rG   putrJ    r1   r/   <module>rW      s   . . * * " S S : >

 
s?FG^?_ovw}o~  9 el  6 
l,34K,L\cdj\k S 	 RY  , 
x;BCZ;[krsykz %< %y %ah % %N 
x;BCZ;[krsykz (< (y (ah ( (T 
	 .56M.N^efl^m s ) T[  ! , 
nFMNeFfv}  E  wF s ] ) ls  r1   