
    #i              
          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JrJrJr  S SKJr  \" SS/S	9r\R'                  S
5      \" \5      \" \5      4S\S\S\4S jj5       r\R+                  S5      \" \5      \" \5      4S\S\4S jj5       r\R'                  S5      \" \5      \" \5      4S\S\S\4S jj5       r\R+                  S5      \" \5      \" \5      4S\S\S\4S jj5       r\R5                  S5      \" \5      \" \5      4S\S\S\S\4S jj5       r\R9                  S5      \" \5      \" \5      4S\S\S\4S jj5       rg)    )	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                 p   [        US9nU R                  (       a  U R                  S:  a  U R                  OSnU R                  nU R                  nUR	                  XEUS9n[        U[        5      (       a<  UR                  S5      S:X  a'  [        [        R                  UR                  S5      S9eSS	U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           TC:\Users\jesus\Desktop\proyecto_pie360\backend\app\backend\routers\document_types.pyindexr-      s     '"-N$MMhmma.?8==QD  H  H##QY#ZF&$FJJx$8G$C==::i(
 	
      z/listc                     [        US9nUR                  SSS S9n[        U[        5      (       a<  UR	                  S5      S:X  a'  [        [        R                  UR	                  S5      S9eSS	US
.$ r   )r	   r%   r&   r'   r(   r   r   r)   )r   r   r*   r+   s       r,   get_listr0   '   sy    
 '"-N##1t#LF&$FJJx$8G$C==::i(
 	
  r.   z/storedoc_datac                     [        US9nU R                  5       nUR                  U5      nUR                  S5      S:X  a'  [	        [
        R                  UR                  S5      S9eSUR                  S5      U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                     [        US9nUR                  U S9n[        U[        5      (       a*  UR                  S5      S:X  a  SUR                  S5      S S.$ SSUS.$ )	Nr   r6   r   r   r    r   r"   r!   )r	   r(   r&   r'   r6   r   r   r*   r+   s        r,   editr:   T   so     '"-N2&F&$FJJx$8G$Czz),
 	
  r.   z/update/{id}c                     [        US9nUR                  SS9nUR                  XS9nUR                  S5      S:X  a'  [	        [
        R                  UR                  S5      S9eS	UR                  S5      U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""b"@Fzz(w&33::i(
 	
 ::i( r.   z/delete/{id}c                     [        US9nUR                  U S9nUR                  S5      S:X  a'  [        [        R
                  UR                  S5      S9eSUR                  S5      U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.   