
    D.i+%                        S SK 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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\R1                  S5      \" \5      \" \5      4S\S\	4S jj5       r\R5                  S5      \" \5      \" \5      4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status)JSONResponse)get_db)Session)	UserLogin
SchoolListStoreSchoolUpdateSchool)SchoolClass)get_current_active_userz/schoolsSchools)prefixtags/school_itemsession_userdbc                 R   U R                   c  SOU R                   n[        U5      R                  UU R                  U R                  U R
                  S9n[        U[        5      (       a  UR                  S5      S:X  a}  UR                  SS5      n[        U[        5      (       a  UR                  5       OSnSU;   d  S	U;   a  [        [        R                  S
U/ S.S9$ [        [        R                  SUS S.S9$ U R                   c  SOSn[        [        R                  S
UUS.S9$ )Nr   )pageitems_per_pageschool_namecustomer_idr   errormessageError zno datazno se encontraron datos   r   r   datastatus_codecontent  z,Complete schools list retrieved successfullyzSchools retrieved successfully)r   r   get_allper_pager   r   
isinstancedictgetstrlowerr   r   HTTP_200_OKHTTP_404_NOT_FOUND)r   r   r   
page_valueresulterror_messagelower_messager   s           MC:\Users\jesus\Desktop\proyecto_pie360\backend\app\backend\routers\schools.pyindexr4      s3   !&&.K4D4DJ_$$"++++++	 % F &$FJJx$8G$C

9g61;M31O1O++-UW%)Bm)S"..!,  11(
 	
 AL@P@P@X<^~G&&
     z/totalsc                    U (       a  U R                   OS nU (       a  U R                  OS nU (       a  U R                  OS n[        U5      R	                  X#US9n[        U[        5      (       aA  UR                  S5      S:X  a,  [        [        R                  SUR                  SS5      S S.S9$ [        [        R                  S	S
US.S9$ )N)r   	school_idrol_idr   r     r   zError getting totalsr    r"   r   z%Schools totals retrieved successfully)r   r7   r8   r   
get_totalsr(   r)   r*   r   r   HTTP_500_INTERNAL_SERVER_ERRORr-   )r   r   r   r7   r8   r0   s         r3   totalsr<   :   s    .:,**K*6&&DI$0\  dF_''K]c'dF&$FJJx$8G$C==!::i1GH
 	
 &&>
 r5   z/storec                    U(       a  UR                   OS nU(       d  [        [        R                  SSS S.S9$ U R	                  5       nX4S'   [        U5      R                  U5      n[        U[        5      (       aA  UR                  S5      S:X  a,  [        [        R                  SUR                  S	S
5      S S.S9$ [        [        R                  SSUS.S9$ )N   Customer ID not found in sessionr    r"   r   r   r   r9   r   zError creating school   zSchool created successfully)r   r   r   HTTP_400_BAD_REQUESTr)   r   storer(   r*   r;   HTTP_201_CREATED)r   r   r   r   school_inputsr0   s         r3   rB   rB   T   s     /;,**K33=
 	
  $$&M#.- _""=1F&$FJJx$8G$C==!::i1HI
 	
 ++4
 r5   z/editc                    U (       a  U R                   OS nU(       d  [        [        R                  SSS S.S9$ [	        U5      R                  US9n[        U[        5      (       aG  UR                  S5      (       d  UR                  S5      S:X  a  [        [        R                  SS	S S.S9$ [        [        R                  SS
US.S9$ )Nr>   r?   r    r"   r   r   r   r   z!No school found for this customerzSchool retrieved successfully)	r   r   r   rA   r   r*   r(   r)   r-   )r   r   r   r0   s       r3   editrG   ~   s     /;,**K33=
 	
 _  [ 9F &$VZZ%8%8FJJx<PT[<[**>
 	
 &&6
 r5   z/updatec                    U(       a  UR                   OS nU(       d  [        [        R                  SSS S.S9$ [	        U5      R                  US9n[        U[        5      (       aG  UR                  S5      (       d  UR                  S5      S:X  a  [        [        R                  SS	S S.S9$ UR                  S
0 5      R                  S5      nU R                  5       nX6S'   [	        U5      R                  XV5      n[        U[        5      (       aA  UR                  S5      S:X  a,  [        [        R                  SUR                  SS5      S S.S9$ [        [        R                  SSUS.S9$ )Nr>   r?   r    r"   rF   r   r   r%   z"School not found for this customerschool_dataidr   r9   r   zError updating schoolr   zSchool updated successfully)r   r   r   rA   r   r*   r(   r)   r.   updater;   r-   )r   r   r   r   existing_schoolr7   rD   r0   s           r3   rK   rK      sd    /;,**K33=
 	
 ""o))k)BO/4((o.A.A'.J.JoNaNabjNkovNv11?
 	
  ##M26::4@I$$&M#.- _##I=F&$FJJx$8G$C==!::i1HI
 	
 &&4
 r5   z/delete/{id}rJ   c                    [        U5      nU(       a  UR                  OS nU(       d  [        [        R                  SSS S.S9$ UR                  US9n[        U[        5      (       aA  UR                  S5      S:X  a,  [        [        R                  SUR                  S	S
5      S S.S9$ [        U[        5      (       aA  UR                  S5      (       a+  [        [        R                  SUR                  S5      S S.S9$ UR                  U 5      n[        U[        5      (       aA  UR                  S5      S:X  a,  [        [        R                  SUR                  S	S
5      S S.S9$ [        [        R                  SSUS.S9$ )Nr>   r?   r    r"   rF   r   r   r%   r   zSchool not foundr   zSchool deleted successfully)r   r   r   r   rA   r*   r(   r)   r.   deleter-   )rJ   r   r   school_servicer   existingr0   s          r3   rN   rN      st    _N /;,**K33=
 	
 !!k!:H(D!!hll8&<&G11#<<	3EF
 	
 (D!!hll7&;&;11#<<0
 	
 ""2&F&$FJJx$8G$C11!::i1CD
 	
 &&4
 r5   N)fastapir   r   r   fastapi.responsesr   app.backend.db.databaser   sqlalchemy.ormr   app.backend.schemasr	   r
   r   r    app.backend.classes.school_classr   app.backend.auth.auth_userr   schoolspostr4   r<   rB   r*   rG   putrK   rN   int r5   r3   <module>r]      s   . . * * " P P 8 >


 	c=DE\=]mtu{m| )z ) )cj ) )V 	i%,-D%EU\]cUd  7  2 	h &&=>&/''' 	' 'R 	W#*+B#CSZ[aSb #y # # #J 	Y &&=>&/555 	5 5n 	.56M.N^efl^m :s :) :T[ :  :r5   