
    1i9              
       H   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mZmZmZ d dl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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	fd       Zej7                  d       ee       ee      fdededede	fd       Zy)    )	APIRouterDependsstatus)JSONResponse)get_db)Session)ProfessionalListStoreProfessionalUpdateProfessional	UserLogin)ProfessionalClass)get_current_active_userz/professionalsProfessionals)prefixtags/professional_listsession_userdbc                    ddl m} | j                  dn| j                  }t        |d      r|j                  nd }d }|rK ||      j                  d|      }t        |t              r"t        |      dkD  r|d   j                  d      }t        |      j                  || j                  | j                  | j                  |      }| j                  dnd}	t        t        j                   d	|	|d
      S )Nr   SchoolClasscustomer_idpager   id)r   items_per_pageidentification_numbernames	school_idz2Complete professionals list retrieved successfullyz$Professionals retrieved successfully   r   messagedatastatus_codecontent) app.backend.classes.school_classr   r   hasattrr   get_all
isinstancelistlengetr   per_pager   r   r   r   HTTP_200_OK)
r   r   r   r   
page_valuer   r    schools_listresultr#   s
             _C:\Users\jesus\OneDrive\Escritorio\proyecto_pie360\backend\app\backend\routers\professionals.pyindexr5      s    <',,4:K:P:PJ /6lM.R,**X\KI"2..A;.OlD)c,.?!.C$Q++D1Ir"**(11/EE%% + F GXF\F\FdB  kQG&&
     z/storeprofessionalc                    ddl m} | j                         }t        |d      r|j                  nd }d }|rK ||      j                  d|      }t        |t              r"t        |      dkD  r|d   j                  d      }t        |      j                  ||      }t        |t              rC|j                  d      dk(  r/t        t        j                  d	|j                  d
d      d d      S t        t        j                  dd|d      S )Nr   r   r   r   r   )r    r   error  r#   zError creating professionalr"   r%      z*Professional and user created successfully)r(   r   dictr)   r   r*   r+   r,   r-   r.   r   storer   r   HTTP_500_INTERNAL_SERVER_ERRORHTTP_201_CREATED)	r7   r   r   r   professional_inputsr   r    r2   r3   s	            r4   r=   r=   /   s   <&++- /6lM.R,**X\KI"2..A;.OlD)c,.?!.C$Q++D1Ir"(()<	(RF&$FJJx$8G$C==!::i1NO
 	
 ++C
 r6   z
/edit/{id}r   c                 b   t        |      j                  |       }t        |t              rg|j                  d      s|j                  d      dk(  rBt	        t
        j                  d|j                  d      xs |j                  dd      d d      S t	        t
        j                  dd	|d      S )
Nr9   r     r#   Professional not foundr"   r%   r!   z#Professional retrieved successfully)r   r.   r+   r<   r   r   HTTP_404_NOT_FOUNDr0   r   r   r   r3   s       r4   editrF   R   s    r"&&r*F&$VZZ%8FJJx<PT[<[11!::g.a&**YH`2a
 	
 &&<
 r6   z/delete/{id}c                    t        |      j                  |       }t        |t              rC|j	                  d      dk(  r/t        t        j                  d|j	                  dd      d d      S t        t        j                  dd	|d      S )
Nr   r9   rB   r#   rC   r"   r%   r!   z!Professional deleted successfully)	r   deleter+   r<   r.   r   r   rD   r0   rE   s       r4   rH   rH   i   s    r"))"-F&$FJJx$8G$C11!::i1IJ
 	
 &&:
 r6   z/update/{id}c                 @   |j                  d      }t        |      j                  | |      }t        |t               rC|j	                  d      dk(  r/t        t        j                  d|j	                  dd      d d	      S t        t        j                  d
d|d	      S )NT)exclude_unsetr   r9   r:   r#   zError updating professionalr"   r%   r!   z!Professional updated successfully)	r<   r   updater+   r.   r   r   r>   r0   )r   r7   r   r   r@   r3   s         r4   rK   rK      s    &++$+?r"))".ABF&$FJJx$8G$C==!::i1NO
 	
 &&:
 r6   N)fastapir   r   r   fastapi.responsesr   app.backend.db.databaser   sqlalchemy.ormr   app.backend.schemasr	   r
   r   r   &app.backend.classes.professional_classr   app.backend.auth.auth_userr   professionalspostr5   r=   r.   intrF   rH   putrK    r6   r4   <module>rX      s   . . * * " b b D >
	
 CIPQhIi  zA  BH  zI - Y ov  @ HELMdEeu|  ~D  vE  )    kr    D < ,34K,L\cdj\k S 	 RY  !, n%.56M.N^efl^m s ) T[  &, >"PWXoPp  AH  IO  AP s "4 I v}  #r6   