
    "iQ              
       |   S 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K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      \" SSS9\" \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\R7                  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)z[Router: Registro de acciones del profesor - Actividades (varias por course_id, subject_id).    )	APIRouterDependsQuerystatus)JSONResponse)get_db)get_current_active_user)	UserLogin StoreCourseTeacherRecordActivity!UpdateCourseTeacherRecordActivity) CourseTeacherRecordActivityClass)Session)Optionalz!/course_teacher_record_activitiesz Course Teacher Record Activities)prefixtagsz/by_course/{course_id}Nz'-1 o omitir = no filtrar por asignatura)description	course_id
subject_idsession_userdbc           	          [        U5      R                  XS9nUR                  S5      S:X  a,  [        [        R
                  SUR                  SS5      / S.S9$ [        [        R                  S	S
UR                  S/ 5      S.S9$ ! [         a/  n[        [        R
                  S[        U5      / S.S9s SnA$ SnAff = f)zDLista actividades del curso; opcionalmente filtradas por subject_id.)r   r   r   error  messageErrorr   r   datastatus_codecontent   OKr   N)	r   get_by_course_idgetr   r   HTTP_500_INTERNAL_SERVER_ERRORHTTP_200_OK	Exceptionstr)r   r   r   r   resultes         fC:\Users\jesus\Desktop\proyecto_pie360\backend\app\backend\routers\course_teacher_record_activities.pyr#   r#      s    
1"5FFQZFr::h7*"AA#&6::i3Q[]^  **"tVZZPR=ST
 	
  
=="s1vrB
 	

s$   AB +B 
C $B;5C ;C z/{id}idc                     [        U5      R                  U 5      nUR                  S5      S:X  a,  [        [        R
                  SUR                  SS5      SS.S9$ [        [        R                  S	S
UR                  S5      S.S9$ ! [         a/  n[        [        R                  S[        U5      SS.S9s SnA$ SnAff = f)zObtiene una actividad por id.r   r     r   Registro no encontradoNr   r   r!   r"   r   r   )
r   	get_by_idr$   r   r   HTTP_404_NOT_FOUNDr&   r'   r%   r(   r,   r   r   r)   r*   s        r+   r0   r0   0   s    
1"5??C::h7*"55#&6::iIa3blpq  **"tVZZ=OP
 	
  
=="s1vtD
 	

s$   AB *B 
C$B<6C<Cz/storer   c                 X    [        U S5      (       a  U R                  5       OU R                  5       n[        U5      R	                  U5      nUR                  S5      S:X  a,  [        [        R                  SUR                  SS5      SS.S	9$ UR                  S
5      b  UR                  S
5      OSUR                  S5      0n[        [        R                  SUR                  SS5      US.S	9$ ! [         a/  n[        [        R                  S[        U5      SS.S	9s SnA$ SnAff = f)z`Crea una actividad (course_id, subject_id, date, pedagogical_hours, teacher_names, description).
model_dumpr   r   r   r   zError al guardarNr   r   r   r,      zActividad creada)hasattrr4   dictr   storer$   r   r   r%   HTTP_201_CREATEDr'   r(   )r   r   r   payloadr)   data_outr*   s          r+   r8   r8   I   s   
'.t\'B'B$//#		1"5;;GD::h7*"AA#&6::iI[3\fjk  *0F);)G6::f%dTZT^T^_cTdMe//"vzz)EW/Xbjk
 	
  
=="s1vtD
 	

s%   BC0 A!C0 0
D):$D$D)$D)c                 d    [        US5      (       a  UR                  SS9O7UR                  5       R                  5        VVs0 s H  u  pEUc  M
  XE_M     snnn[	        U5      R                  X5      nUR                  S5      S:X  a,  [        [        R                  SUR                  SS	5      SS
.S9$ [        [        R                  SUR                  SS5      UR                  S5      S
.S9$ s  snnf ! [         a/  n[        [        R                  S[        U5      SS
.S9s SnA$ SnAff = f)zActualiza una actividad por id.r4   T)exclude_unsetNr   r   r.   r   r/   r   r   r!   r"   r   r   )r6   r4   r7   itemsr   updater$   r   r   r1   r&   r'   r%   r(   )	r,   r   r   r   kvr:   r)   r*   s	            r+   r?   r?   d   s-   
9@|9T9T$///5lplululwl}l}l  [Rldhde  DE[_[\[_l  [R1"5<<RI::h7*"55#&6::iIa3blpq  **"vzz)T/JTZT^T^_eTfg
 	
 [R  
=="s1vtD
 	

s=   AC6 	C0C0AC6 5:C6 0C6 6
D/ $D*$D/*D/c                     [        U5      R                  U 5      nUR                  S5      S:X  a+  [        [        R
                  SUR                  SS5      S.S9$ [        [        R                  SUR                  SS	5      S.S9$ ! [         a.  n[        [        R                  S
[        U5      S.S9s SnA$ SnAff = f)zElimina una actividad por id.r   r   r.   r   r/   )r   r   r   r!   zRegistro eliminador   N)
r   deleter$   r   r   r1   r&   r'   r%   r(   r2   s        r+   rC   rC      s    
1"5<<R@::h7*"55#&6::iIa3bc  **"vzz)EY/Z[
 	
  
=="s1v6
 	

s$   AB *B 
B?#B:4B?:B?) __doc__fastapir   r   r   r   fastapi.responsesr   app.backend.db.databaser   app.backend.auth.auth_userr	   app.backend.schemasr
   r   r   8app.backend.classes.course_teacher_record_activity_classr   sqlalchemy.ormr   typingr    course_teacher_record_activitiesr$   intr#   r0   postr8   putr?   rC        r+   <module>rS      s   a 5 5 * * > 
 f " #,.
,	-$   "%%&>? !&d8a b%&=>&/	


 
 		
 @
2 "%%g. &&=>&/


 	
 /
0 "&&x0 &&=>&/

*

 	
 1
4 "%%g. &&=>&/	


+
 
 		
 /
4 "((1 &&=>&/


 	
 2
rR   