
    )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KJr  \" S	S
/S9r\R-                  S5      \" \5      \" \5      4S\S\S\	4S jj5       r\R1                  S5      S\" \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\R1                  S5      \" \5      \" \5      4S\S\S\	4S jj5       r\R;                  S5      \" \5      \" \5      4S\S\S\S\	4S jj5       r\R?                  S5      \" \5      \" \5      4S\S\S\	4S jj5       rg)    )	APIRouterDependsstatus)JSONResponse)get_db)Session)	UserLoginTeachingListStoreTeachingUpdateTeaching)TeachingClass)get_current_active_user)SchoolClassz
/teachings	Teachings)prefixtags/teachingsession_userdbc                    U(       a  UR                   OS nUci  U R                  c  SOSn[        [        R                  SUU R                  c  / O.SSU R                  (       a  U R                  OSU R
                  / S.S.S9$ U R                  c  SOU R                  n[        U5      R                  XPR
                  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 R                  c  SOSn[        [        R                  SUUS.S9$ )Nz.Complete teachings list retrieved successfullyz Teachings retrieved successfully   r      )total_itemstotal_pagescurrent_pageitems_per_pagedatar   messager   status_codecontent)pager   teaching_name	school_idr   error  r    Error)r&   r$   r   r   HTTP_200_OKper_pager   get_allr%   
isinstancedictgetHTTP_404_NOT_FOUND)r   r   r   r&   r    
page_valueresults          OC:\Users\jesus\Desktop\proyecto_pie360\backend\app\backend\routers\teachings.pyindexr4      sQ    +7&&DI FNmmF[B  bD**"&mm3#$#$5=]]HMM&.&7&7:

 	
 mm+J2&&JGXGXhph~h~  KT&  UF&$FJJx$8G$C11!::i9
 	
 CK--BW>]G&&
     z/listNr&   c                    U c  U(       a  UR                   OS n U c  [        [        R                  SS/ S.S9$ [	        U5      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$ [        [        R                  SSUS.S9$ )Nr   z%Teachings list retrieved successfullyr   r!   )r&   r   r'   r(   r    r)   )
r&   r   r   r*   r   get_all_listr-   r.   r/   r0   )r&   r   r   r2   s       r3   r7   r7   >   s     .:L**	 **B
 	
 2++i+@F&$FJJx$8G$C11!::i9
 	
 &&>
 r5   z/storec                 l   U R                  5       nU(       a  UR                  OS nXCS'   [        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$ )Nr&   r   r'     r    zError creating teachingr   r!      zTeaching created successfully)
r.   r&   r   storer-   r/   r   r   HTTP_500_INTERNAL_SERVER_ERRORHTTP_201_CREATED)r   r   r   teaching_inputsr&   r2   s         r3   r;   r;   d   s    mmoO +7&&DI $-K 2$$_5F&$FJJx$8G$C==!::i1JK
 	
 ++6
 r5   z
/edit/{id}idc                 v   [        U5      R                  U 5      n[        U[        5      (       ao  UR                  S5      (       d  UR                  S5      S:X  aD  [	        [
        R                  SUR                  S5      =(       d    UR                  SS5      S S.S9$ [	        [
        R                  SS	US.S9$ )
Nr'   r   r(   r    Teaching not foundr   r!   r   zTeaching retrieved successfully)r   r/   r-   r.   r   r   r0   r*   r?   r   r   r2   s       r3   editrC      s    2""2&F&$VZZ%8%8FJJx<PT[<[11!::g.]&**YH\2]
 	
 &&8
 r5   z/update/{id}c                 j   UR                  SS9nU(       a  UR                  OS nXTS'   [        U5      R                  X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$ )NT)exclude_unsetr&   r   r'   r9   r    zError updating teachingr   r!   r   zTeaching updated successfully)
r.   r&   r   updater-   r/   r   r   r<   r*   )r?   r   r   r   r>   r&   r2   s          r3   rF   rF      s    mm$m7O +7&&DI $-K 2%%b:F&$FJJx$8G$C==!::i1JK
 	
 &&6
 r5   z/delete/{id}c                    [        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$ )
Nr   r'   r(   r    rA   r   r!   r   zTeaching deleted successfully)	r   deleter-   r.   r/   r   r   r0   r*   rB   s       r3   rH   rH      s    2%%b)F&$FJJx$8G$C11!::i1EF
 	
 &&6
 r5   ) fastapir   r   r   fastapi.responsesr   app.backend.db.databaser   sqlalchemy.ormr   app.backend.schemasr	   r
   r   r   "app.backend.classes.teaching_classr   app.backend.auth.auth_userr    app.backend.classes.school_classr   	teachingspostr4   r/   intr7   r;   rC   putrF   rH    r5   r3   <module>rV      s   . . * * " V V < > 8
	
 <CD[<\lstzl{ ,L ,	 ,bi , ,\ w"&'JaBbry  {A  sB #C #i #ho # #J =DE\=]mtu{m| M  cj  < |,34K,L\cdj\k S 	 RY  , ~HOPgHhx  AG  yH s n I nu  < .!.56M.N^efl^m s ) T[  "r5   