
    #i              
          d dl 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mZ d dlmZ  eddg	      Zej'                  d
       ee       ee      fdededefd       Zej+                  d       ee       ee      fdedefd       Zej'                  d       ee       ee      fdededefd       Zej+                  d       ee       ee      fdededefd       Zej5                  d       ee       ee      fde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y)    )	APIRouterDependsHTTPExceptionstatus)Session)get_db)DocumentTypeClass)	UserLoginDocumentTypeListStoreDocumentTypeUpdateDocumentType)get_current_active_userz/document_typeszDocument Types)prefixtags/doc_listsession_userdbc                 l   t        |      }| j                  r| j                  dkD  r| j                  nd}| j                  }| j                  }|j	                  |||      }t        |t              r>|j                  d      dk(  r*t        t        j                  |j                  d            dd	|d
S Nr   r   )pageitems_per_pagedocumentr   errormessagestatus_codedetail   successr   r   data)r	   r   per_pager   get_all
isinstancedictgetr   r   HTTP_500_INTERNAL_SERVER_ERROR)r   r   r   doc_type_classr   r$   r   results           `C:\Users\jesus\OneDrive\Escritorio\proyecto_pie360\backend\app\backend\routers\document_types.pyindexr-      s     '"-N$MMhmma.?8==QD  H  H##hQY#ZF&$FJJx$8G$C==::i(
 	
      z/listc                     t        |      }|j                  ddd       }t        |t              r>|j	                  d      dk(  r*t        t        j                  |j	                  d            dd	|d
S r   )r	   r%   r&   r'   r(   r   r   r)   )r   r   r*   r+   s       r,   get_listr0   '   sv    
 '"-N##1t#LF&$FJJx$8G$C==::i(
 	
  r.   z/storedoc_datac                    t        |      }| j                         }|j                  |      }|j                  d      dk(  r*t	        t
        j                  |j                  d            d|j                  d      |dS )Nr   r   r   r   r   r    r"   )r	   r'   storer(   r   r   HTTP_400_BAD_REQUEST)r1   r   r   r*   
doc_inputsr+   s         r,   r3   r3   <   sz     '"-NJ!!*-Fzz(w&33::i(
 	
 ::i( r.   z
/edit/{id}idc                     t        |      }|j                  |       }t        |t              r)|j                  d      dk(  rd|j                  d      d dS dd|dS )	Nr   r6   r   r   r    r   r"   r!   )r	   r(   r&   r'   r6   r   r   r*   r+   s        r,   editr:   T   sl     '"-N2&F&$FJJx$8G$Czz),
 	
  r.   z/update/{id}c                 
   t        |      }|j                  d      }|j                  | |      }|j                  d      dk(  r*t	        t
        j                  |j                  d            d	|j                  d      |d
S )Nr   T)exclude_unset)r6   r5   r   r   r   r   r    r"   )r	   r'   updater(   r   r   r4   )r6   r1   r   r   r*   r5   r+   s          r,   r=   r=   k   s     '"-NT2J""bZ"@Fzz(w&33::i(
 	
 ::i( r.   z/delete/{id}c                     t        |      }|j                  |       }|j                  d      dk(  r*t        t        j
                  |j                  d            d|j                  d      |dS )	Nr   r8   r   r   r   r   r    r"   )r	   deleter(   r   r   r4   r9   s        r,   r?   r?      sr     '"-N""b")Fzz(w&33::i(
 	
 ::i( r.   N)fastapir   r   r   r   sqlalchemy.ormr   app.backend.db.databaser   'app.backend.classes.document_type_classr	   app.backend.schemasr
   r   r   r   app.backend.auth.auth_userr   document_typespostr-   r(   r0   r3   intr:   putr=   r?    r.   r,   <module>rK      s   = = " * E b b >
	
 S &&=>&/ 	 2 G%&=>&/ ( X &&=>&/ 	 . L! &&=>&/ 	 ", N# &&=>&/	   		 $0 ~& &&=>&/ 	 'r.   