
    XhR              
          d dl mZ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mZmZmZ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mZ  ed	d
g      Zej9                  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
fd       Zej9                  d       eej>                         ee       ee      fdedede
fd       Z ejC                  d       ee       ee      fdede
fd       Z"ejC                  d       ee       ee      fdede
fd       Z#ej9                  d       ee       ee      fdedede
fd       Z$ejC                  d       ee       ee      fde%dede
fd       Z&ejC                  d        ee       ee      fd!e%dede
fd"       Z'ejQ                  d#       ee       ee      fde%dede
fd$       Z(ejQ                  d%       ee       ee      fd!e%dede
fd&       Z(ejS                  d'       ee       ee      fde%dedede
fd(       Z*ejC                  d)       ee       ee      fd*e%dede
fd+       Z+ej9                  d,       eej>                         ed-       ee       ee      fded.edede
fd/       Z,ejQ                  d0       ee       ee      fd!e%dede
fd1       Z(ejC                  d2       ee       ee      fdede
fd3       Z-ejC                  d4       ee      fde
fd5       Z.y)6    )	APIRouterDependsRequestResponse
UploadFileFile)get_db)Session)EmployeeUpdateEmployeeSearchEmployee	UserLoginEmployeeListUploadSignatureUploadPicture)EmployeeClass)get_current_active_userN)DropboxClassz
/employees	Employees)prefixtags/employeesession_userdbc                 ~    t        |      j                  | j                  | j                  | j                        }d|iS Nmessage)r   get_allrutrol_idpage)r   r   r   datas       I/var/www/intrajisbackend.com/public_html/app/backend/routers/employees.pyindexr%      s2    $$X\\8??HMMRDt    z/searchsearch_datac                 f    | j                         } t        |      j                  | | d         }d|iS )Nr"   r   )dictr   search)r'   r   r   	employeess       r$   r*   r*      s7    ""$Kb!((k&6IJIy!!r&   z
/signature	form_datac                 z   t        |      }|j                  | j                  d| j                  dt        j
                  j                  t        j
                  j                  t                          }i }||d<   | j                  |d<   t        |      j                  | j                  |       d| j                  iS )Nfirmaz/signatures/namedescriptionr#   dropbox_pathcomputer_path	signaturesignature_type_idr   )r   signr    r4   ospathjoindirname__file__r5   r   update)r,   r   r   dropbox_clientfilenameemployee_inputss         r$   r4   r4      s    !"%N""	7QZQdQd.<BGGLLY[Y`Y`YhYhiqYrLs # uH O#+OK +4+F+FO'("Y]]O<y**++r&   z/get_birthdaysc                 <    t        |      j                         }d|iS r   )r   get_birthdaysr   r   r#   s      r$   rA   rA   /        **,Dtr&   z/get_genders_totalc                 <    t        |      j                         }d|iS r   )r   gender_totalsrB   s      r$   rE   rE   5   rC   r&   z/storec                 ^    | j                         }t        |      j                  |      }d|iS r   )r)   r   store)r   r   r   r?   r#   s        r$   rG   rG   ;   s-    mmoO""?3Dtr&   z
/edit/{id}idc                 @    t        |      j                  d|       }d|iS )Nr    r   )r   getrH   r   r   r#   s       r$   editrL   B   s$      +Dtr&   z/validate_rut/{rut}r    c                 >    t        |      j                  |       }d|iS r   )r   validate_rut)r    r   r   r#   s       r$   rN   rN   H   s"    ))#.Dtr&   z/delete/{id}c                 >    t        |      j                  |       }d|iS r   )r   deleterK   s       r$   rP   rP   N   s"    ##B'Dtr&   z/delete/signature/{rut}c                 X    i }d|d<   d|d<   t        |      j                  | |       d| iS )N r4   r   r5   r   )r   r<   )r    r   r   r?   s       r$   rP   rP   T   s<    O#%OK +,O'("S/2sr&   z/update/{id}c                 `    |j                         }t        |      j                  | |      }d|iS r   )r)   r   r<   )rH   r   r   r   r?   r#   s         r$   r<   r<   `   s/    mmoO##B8Dtr&   z/validate_cellphone/{cellphone}	cellphonec                 >    t        |      j                  |       }d|iS r   )r   validate_cellphone)rT   r   r   r#   s       r$   validaterW   h   s"    //	:Dtr&   z/upload/picture.picturec                 4   t        |      }|j                  | j                  d|dt        j                  j                  t        j                  j                  t                          }i }||d<   t        |      j                  | j                  |      }d|iS )Nfoto
/pictures/r/   rX   r   )
r   uploadr    r7   r8   r9   r:   r;   r   r<   )r,   rX   r   r   r=   r>   r?   r#   s           r$   r\   r\   n   s    !"%N$$)--VRY.:"'',,WYW^W^WfWfgoWpJq % sH O!)OI##IMM?CDtr&   z/delete/picture/{rut}c                     t        |      j                  |       }i }d|d<   t        |      j                  | |       t        |      }|j	                  d|j
                         d| iS )NrR   rX   r[   r   )r   one_simple_getr<   r   rP   rX   )r    r   r   r   r?   r=   s         r$   rP   rP   }   sf    R //4HO!#OI"S/2!"%N,(8(89sr&   z/select_inputsc                 <    t        |      j                         }d|iS r   )r   get_all_with_no_paginator)r   r   r+   s      r$   select_inputsra      s     b!;;=Iy!!r&   z/full_detailsc                 <    t        |       j                         }d|iS r   )r   full_details)r   r+   s     r$   rc   rc      s     b!..0Iy!!r&   )/fastapir   r   r   r   r   r   app.backend.db.databaser	   sqlalchemy.ormr
   app.backend.schemasr   r   r   r   r   r   r   "app.backend.classes.employee_classr   app.backend.auth.auth_userr   base64r7   !app.backend.classes.dropbox_classr   r+   postr%   r*   as_formr4   rJ   rA   rE   rG   intrL   rN   rP   patchr<   rW   r\   ra   rc    r&   r$   <module>rq      s   K K * " B  B  B < >  	 :
	
 <CD[<\lstzl{ L 	 bi  
 	BIJaBbry  {A  sB " "i "ho " " +2?3J3J+Kgn  pG  hH  X_  `f  Xg , ,[d ,  NU , ,   ,34K,L\cdj\k 	 RY  !
 #$,34K,L\cdj\k 	 RY  %
 7>?V7Wgnougv 8 9 ]d   |+23J+K[bci[j C y QX  
 $%4;<S4Tdklrds S 	 Za  &
 .!-45L-M]dek]l c  SZ  "
 +,.56M.N^efl^m 	s 	) 	T[ 	 -	  HOPgHhx  AG  yH s n I nu  ! 017>?V7Wgnougv  9 ]d  2
 !"&-m.C.C&D\`ad\e  BI  Ja  Bb  ry  z@  rA m z u~   ho  # )*.56M.N^efl^m s ) T[  +  ,34K,L\cdj\k "	 "RY " !"
 &v "W "  "r&   