
    Xho                        d dl mZmZ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 d dlmZ d dlmZ d dlZd dlZd dlZ ed	d
g      Zej/                  d       ee      fdedefd       Zej/                  d       eej2                         ed       ee      fdededefd       Zej7                  d       ee      fdedefd       Zej;                  d       ee      fdedefd       Zej;                  d       ee      fdedefd       Zej;                  d       ee      fdededefd       Zej;                  d       ee      fdedefd       Z ej;                  d        ee      fdededefd!       Z!ej/                  d"       eej2                         ed       ee      fdededefd#       Z"y)$    )	APIRouterDependsFile
UploadFileHTTPException)get_db)SinisterClass)	FileClass)SinisterListSinisterSinisterReview)Session)datetimeNz
/sinisters	Sinisters)prefixtags/sinisterdbc                 h    t        |      j                  | j                  | j                        }d|iS )Nmessage)r	   get_allbranch_office_idpage)r   r   sinister_datas      I/var/www/intrajisbackend.com/public_html/app/backend/routers/sinisters.pyindexr      s.    !"%--h.G.GWM}%%    z/store	form_datasupportc                    	 t        j                         j                  d      }t        j                         j
                  d d }d|j                  v r|j                  j                  d      d   nd}d}|r
| d| d| n| d| }| d| }t        |      j                  ||      }	t        |      j                  | |       d|	iS # t        $ r}
t        d	d
t        |
             d }
~
ww xY wNz%Y_%m_%d_%H_%M_%S   . r   _r     zError al procesar: status_codedetail)r   nowstrftimeuuiduuid4hexfilenamesplitr
   uploadr	   store	Exceptionr   strr   r    r   	timestamp	unique_idfile_extensionfile_category_nameunique_filenameremote_pathr   es              r   r4   r4      s   TLLN++,?@	JJL$$Ra(	<?7CSCS<S))//4R8Y['IWYKq1^4DE`i_jjklukv]w+,Ao->?B-&&w<b	;77## T6I#a&4RSSTs   CC
 
	C1C,,C1z/delete/{id}idc                     t        |      j                  |       }t        j                  |      }|d   d   }| }t	        |      j                  |      }|dk(  rt        |      j                  |        d|iS )Nr   r    successr   )r	   getjsonloadsr
   delete)r?   r   r   	file_namer=   r   s         r   rE   rE   -   su    !"%))"-MJJ}-Mo.y9IKKm"";/G)b  $wr   z/download/{id}c                     t        |      j                  |       }t        j                  |      }|d   d   }| }t	        |      j                  |      }t        j                  |      j                  d      }||dS )Nr   r    zutf-8)rF   	file_data)	r	   rB   rC   rD   r
   downloadbase64	b64encodedecode)r?   r   r   rF   r=   file_contentsencoded_files          r   rI   rI   >   s|    !"%))"-MJJ}-Mo.y9IKKbM**;7M##M299'BL ! r   z
/edit/{id}c                     	 t        |      j                  |       }|st        dd      d|iS # t        $ r}t        ddt	        |             d }~ww xY wNi  zSiniestro no encontradar)   r   r(   zError al obtener el iva: )r	   rB   r   r5   r6   )r?   r   r   r>   s       r   editrQ   P   sg    	Z%b)--b1C8QRR=)) Z6OPSTUPVx4XYYZs   ,/ 	AAAz-/sinister_review/{id}/{sinister_step_type_id}sinister_step_type_idc                     	 t        |      j                  | |      }|st        dd      d|iS # t        $ r}t        ddt	        |             d }~ww xY wrP   )r	   get_sinister_reviewr   r5   r6   )r?   rR   r   r   r>   s        r   rQ   rQ   ]   sj    	Z%b)==bBWXC8QRR=)) Z6OPSTUPVx4XYYZs   -0 	AAAz/support/{id}c                     t        |      j                  |       }t        j                  |      }|d   d   }t	        |      j                  |      }d|iS Nr   r    r   )r	   rB   rC   rD   r
   )r?   r   r   r   r=   files         r   r    r    j   sU     R $$R(HJJx(M0;KR=[)Dtr   z,/review_support/{id}/{sinister_step_type_id}c                     t        |      j                  | |      }t        j                  |      }|d   d   }t	        |      j                  |      }d|iS rV   )r	   rT   rC   rD   r
   rB   )r?   rR   r   r   r   r=   rW   s          r   review_supportrY   v   sX     R 44R9NOHJJx(M0;KR=[)Dtr   z/store_reviewc                 j   	 |d k7  rt        j                         j                  d      }t        j                         j
                  d d }d|j                  v r|j                  j                  d      d   nd}d}|r
| d| d| n| d| }| d| }t        |      j                  ||      }	t        |      j                  | |       n;t        |      j                  | j                  | j                  d| j                        }	d|	iS # t         $ r}
t#        d	d
t%        |
             d }
~
ww xY wr"   )r   r,   r-   r.   r/   r0   r1   r2   r
   r3   r	   store_reviewupdatesinister_idanswer_step_1sinister_version_idr5   r   r6   r7   s              r   r[   r[      sG   Td? //0CDI

((!,I@CwGWGW@WW--33C8<]_N!+M[1YKq8HIdmcnnopyoza{O/0/1BCKm**7K@G"**9kB#B'..y/D/DiF]F]_acl  dA  dA  BG7## T6I#a&4RSSTs   DD 	D2D--D2)#fastapir   r   r   r   r   app.backend.db.databaser   "app.backend.classes.sinister_classr	   app.backend.classes.file_classr
   app.backend.schemasr   r   r   sqlalchemy.ormr   r   rJ   rC   r.   	sinisterspostr   as_formr4   rE   intrB   rI   rQ   r    rY   r[    r   r   <module>rk      sf   G G * < 4 F F "    
	
 07 &L &g & &
 !("2"23t*&/TTT 	T T* .!!(  c  w   "    $+FO  '  !" | ' 
ZS 
Zg 
Z 
Z >?<CFO 
ZS 
Z 
Z' 
Z @
Z #*6? 	 	 	  	 =>FMfo 	s 	3 	G 	 ?	   '(>(> ?t*&/TTT 	T !Tr   