
    ]ch              
          d dl 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mZ d d	lmZ d d
lZd d
lZd d
lZd dlmZ d dlmZ  eddg      Zej3                  d       ee       ee      fdededefd       Zej3                  d       eej6                         e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fd       Z ej?                  d       ee      fdedefd       Z!ejE                  d        eej6                         ed
       ee      fdedededefd!       Z#y
)"    )	APIRouterDepends)get_db)Session)	FileClass)PatentClass)Patent)
PatentList)
UploadFileFileHTTPException)datetimeN)get_current_active_user)	UserLoginz/patents
Patentents)prefixtags/patentsession_userdbc                     t        |      j                  |j                  |j                  | j                  | j
                  | j                  | j                        }d|iS )Nmessage)r   get_allrol_idrutbranch_office_idsemesteryearpage)r   r   r   datas       G/var/www/intrajisbackend.com/public_html/app/backend/routers/patents.pyindexr#      sa    r?""<#6#68H8H&JaJacicrcrtztt  BH  BM  BM  NDt    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)N%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"   r:   r:      s   TLLN++,?@	JJL$$Ra(	<?7CSCS<S))//4R8Y[%IWYKq1^4DE`i_jjklukv]w ,,Ao->? B-&&w< 	Bi5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 )Npatent_datar&   successr   )r   getjsonloadsr   delete)rD   r   rF   	file_namerB   r   s         r"   rK   rK   7   sw    b/%%b)K**[)KM*95I KK m"";/G)Br"wr$   z/download/{id}c                     t        |      j                  |       }t        j                  |      }|d   d   }| }t	        |      j                  |      }t        j                  |      j                  d      }||dS )NrF   r&   zutf-8)rL   	file_data)	r   rH   rI   rJ   r   downloadbase64	b64encodedecode)rD   r   rF   rL   rB   file_contentsencoded_files          r"   rO   rO   K   s     b/%%b)K**[)KM*95I 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)N  zPatente no encontradar/   r   r.   zError al obtener el iva: )r   rH   r   r;   r<   )rD   r   rF   rC   s       r"   editrW   c   sj    Z!"o))"- C8OPP ;'' Z6OPSTUPVx4XYYZs   ,/ 	AAAz/update/{id}c                    	 t        |      j                  |       }|st        dd      t        j                  |      }|d   d   }|r| nd }|}|rt        j                         j                  d      }t        j                         j                  d d }	d|j                  v r|j                  j                  d      d	   nd
}
|
r
| d|	 d|
 n| d|	 }| }t        |      j                  ||       |rt        |      j                  |       t        |      j!                  | ||       ddiS # t"        $ r}t        ddt%        |             d }~ww xY w)NrV   zIva no encontrador/   rF   r&   r(   r)   r*   r+   r,   r-   r   z Patente actualizada exitosamenter.   zError al actualizar el iva: )r   rH   r   rI   rJ   r   r2   r3   r4   r5   r6   r7   r8   r   r9   rK   updater;   r<   )rD   r%   r&   r   rF   previous_file_nameremote_path_previousnew_file_namer=   r>   r?   remote_path_newrC   s                r"   rY   rY   s   sq   "]!"o))"-C8KLLjj- )7	B:L"4!5RV* //0CDI

((!,I@CwGWGW@WW--33C8<]_NKYyk9+Q~6FGbkallmnwmx_yM!.O bM  /: $"$$%9: 	Br9m<=>> ]6RSVWXSYRZ4[\\]s   D/D2 2	E;EE)$fastapir   r   app.backend.db.databaser   sqlalchemy.ormr   app.backend.classes.file_classr    app.backend.classes.patent_classr   app.backend.schemasr	   r
   r   r   r   r   r4   rI   rP   app.backend.auth.auth_userr   r   patentspostr#   as_formr:   rK   intrH   rO   rW   putrY    r$   r"   <module>rk      s   & * " 4 8 & * 3 3     > )


 	c8?@W8Xhopvhw * I ^e  
 	h/t*&/TTT 	T T6 	!(  c  w     & 	$+FO  '  . 	\ ' ZS Zg Z Z 	^  /t*&/	(](](] (] 		(] (]r$   