
    Xh                        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mZ d d	l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j7                  d       ee      fdede	fd       Zej7                  d       ed       ed       ed       ee       ee      fdededee   dede	f
d       ZejA                  d       ee      fdede	fd       Z ejC                  d       ee      fdedede	fd        Z"ejC                  d!       ee      fdede	fd"       Z#ejC                  d#       ee      fd$ede	fd%       Z$ejC                  d&       ee      fdede	fd'       Z%y)(    )	APIRouterDependsForm)List)get_db)Session)	FileClass)MaintenanceClass)MaintenanceList)
UploadFileFileHTTPException)datetime)get_current_active_user)	UserLoginNz/maintenancesMaintenances)prefixtags/maintenancedbc                 h    t        |      j                  | j                  | j                        }d|iS Nmessage)r
   get_allbranch_office_idpage)r   r   datas      L/var/www/intrajisbackend.com/public_html/app/backend/routers/maintenances.pyindexr       s0    B''(D(DkFVFVWDt    z/store.r   maintenance_datefilessession_userc                 X   t        |      j                  | |      }t        t        |            D ]  }|r|t        |      k  r||   nd }d }|r|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                  ||d	z   |        d
|dS )Nzempty-file.jpgz%Y_%m_%d_%H_%M_%S   . r   _   u   Mantenimiento creado con éxito)r   maintenance_id)r
   storerangelenfilenamer   nowstrftimeuuiduuid4hexsplitr	   uploadstore_datum)r   r"   r#   r$   r   r,   isupportremote_path	timestamp	unique_idfile_extensionfile_category_nameunique_filenames                 r   r-   r-      sB    &b)//0@BRSN3u: 
#CJ%(Dw''+;; //0CDI

((!,I@CwGWGW@WW--33C8<]_N!.M[1YKq8HIdmcnnopyoza{O/0/1BCKbM  +6 	((E	
!
, 9N[[r!   z/delete/{id}idc                    t        |      j                  |       }t        j                  |      }|j	                  dg       D cg c]  }|j	                  d      r|d    }}|D ]  }| }t        |      j                  |       ! t        |      j                  |        t        |      j                  |        ddiS c c}w )Nmaintenance_datar:   r   success)r
   get_all_detailsjsonloadsgetr	   deletedelete_datum)rA   r   rC   itemsupportssupport_filer;   s          r   rI   rI   =   s    '+;;B?zz"23 %(();R@88I 	YH  ! *%"[)*
 R#R%%b)y!!s   B?z'/maintenance_data/{id}/{maintenance_id}r,   c                 <    t        |      j                  | |      }|S )N)r
   	get_files)rA   r,   r   r   s       r   rC   rC   S   s    r",,R@GNr!   z/download/{id}c                     t        |      j                  |       }t        j                  |      }|d   d   }| }t	        |      j                  |      }t        j                  |      j                  d      }||dS )NrC   r:   zutf-8)	file_name	file_data)	r
   rH   rF   rG   r	   downloadbase64	b64encodedecode)rA   r   rC   rQ   r;   file_contentsencoded_files          r   rS   rS   Y   s     (+//3zz"23 !34Y?I KK bM**;7M ##M299'BL ! r!   z/support/{support}r:   c                 B    | }t        |      j                  |      }d|iS r   )r	   rH   )r:   r   r;   files       r   get_supportr[   q   s&    KR=[)Dt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Mantenimiento no encontrado)status_codedetailr   i  zError al obtener el iva: )r
   rH   r   	Exceptionstr)rA   r   rC   es       r   editrb   y   sm    Z+B/33B7  C8UVV +,, Z6OPSTUPVx4XYYZs   ,/ 	AAA)&fastapir   r   r   typingr   app.backend.db.databaser   sqlalchemy.ormr   app.backend.classes.file_classr	   %app.backend.classes.maintenance_classr
   app.backend.schemasr   r   r   r   r   app.backend.auth.auth_userr   r   r3   rF   rT   maintenancespostr    intr`   r-   rI   rH   rC   rS   r[   rb    r!   r   <module>ro      s   , ,  * " 4 B / 3 3  > )   
	
 36=fo  G  
 8 I I"4j%&=>&/\\\ 
\ 	\
 	\ \B ^$")&/ "s " " %"* ;<AH  c w  =
 "#$+FO  '  $. &',3FO  '  ( , ' ZS Zg Z  Zr!   