
    f6h^
                        S SK JrJrJrJr  S SKJr  S SKJr  S SK	J
r
  S SKJr  S SKJrJrJrJr  S SKJr  \" 5       r\R+                  S\S	9\" \5      4S
\S\4S jj5       r\R/                  S\S	9\" \5      4S\S
\S\4S jj5       r\R5                  S5      \" \5      4S\S\4S jj5       r\R+                  S\\   S	9\" \5      4S\S\4S jj5       rg)    )	APIRouterDependsHTTPExceptionstatus)and_)Session)IntegrityError)Panteon)PanteonCreate
PanteonOutPanteonUpdatePanteonSearch)get_db/)response_modelpanteondbc                     [        U R                  S9nUR                  U5        UR                  5         UR	                  U5        U$ )N)nombre)r
   r   addcommitrefresh)r   r   
db_panteons      9/var/www/html/cementerio_25MayoBackend/routers/panteon.pycreate_panteonr      s7    /JFF:IIKJJz    z/{id}idc                 T   UR                  [        5      R                  [        R                  U :H  5      R	                  5       nU(       d
  [        SSS9eUR                  SS9R                  5        H  u  pE[        X4U5        M     UR                  5         UR                  U5        U$ )N     Panteón no encontradostatus_codedetailT)exclude_unset)queryr
   filterr   firstr   dictitemssetattrr   r   )r   r   r   existing_panteonkeyvalues         r   update_panteonr.      s     xx(//

b0@AGGI 4LMM lll6<<>
 u- ? IIK JJ  r   c                 F   UR                  [        5      R                  [        R                  U :H  5      R	                  5       nU(       d
  [        SSS9e UR                  U5        UR                  5         SS0$ ! [         a    UR                  5         [        SSS9ef = f)Nr   r    r!   messageu   Panteón eliminado exitosamentei  uN   No se puede eliminar el panteón porque está relacionado con otros registros.)
r%   r
   r&   r   r'   r   deleter   r	   rollback)r   r   r   s      r   delete_panteonr3   -   s    hhw&&wzzR'78>>@G4LMM	

		'
		<== 

c
 	

s   $A; ;%B z/buscarfiltersc                 L   UR                  [        5      n/ nU R                  (       a<  UR                  [        R                  R	                  SU R                   S35      5        U(       a  UR                  [        U6 5      nUR                  5       nU(       d
  [        SSS9eU$ )N%r   zNo se encontraron panteonesr!   )	r%   r
   r   appendiliker&   r   allr   )r4   r   r%   
conditions	panteoness        r   search_panteonr<   >   s    HHWE J~~'....7>>2B!/DEFT:./		I4QRRr   N)fastapir   r   r   r   
sqlalchemyr   sqlalchemy.ormr   sqlalchemy.excr	   models.panteonr
   schemas.panteonr   r   r   r   databaser   routerpostr   putintr.   r1   r3   listr<    r   r   <module>rJ      s   = =  " ) " R R 	 S,9@ M w  - GJ/BI&/ s ]   0, w*1&/ 
s 
 
 
  YtJ'788? M g  9r   