
    !iR              
          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\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\R/                  S5      \" \5      \" \5      4S\S\	4S jj5       rg)    )	APIRouterDependsstatus)JSONResponse)get_db)Session)	UserLoginSpecialEducationalNeedListStoreSpecialEducationalNeedUpdateSpecialEducationalNeed)SpecialEducationalNeedClass)get_current_active_userz/special_educational_needszSpecial Educational Needs)prefixtags/needsession_userdbc                 <   U R                   c  SOU R                   n[        U5      R                  U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special_educational_needsr   errormessageError zno datazno se encontraron datos   r   r   datastatus_codecontent  z>Complete special educational needs list retrieved successfullyz0Special educational needs retrieved successfully)r   r   get_allper_pager   
isinstancedictgetstrlowerr   r   HTTP_200_OKHTTP_404_NOT_FOUND)r   r   r   
page_valueresulterror_messagelower_messager   s           _C:\Users\jesus\Desktop\proyecto_pie360\backend\app\backend\routers\special_educational_needs.pyindexr2      s)   ii'TYYJ(,44}}"&"@"@ 5 F &$FJJx$8G$C

9g61;M31O1O++-UW%)Bm)S"..!,  11(
 	
 SWR[R[RcN  j\G&&
     z/storec                 :   U R                  5       n[        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   z'Error creating special educational needr   r       z-Special educational need created successfully)	r'   r   storer&   r(   r   r   HTTP_500_INTERNAL_SERVER_ERRORHTTP_201_CREATED)r   r   r   need_inputsr.   s        r1   r7   r7   9   s    ))+K(,22;?F&$FJJx$8G$C==!::i1Z[
 	
 ++F
 r3   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   "Special educational need not foundr   r    r   z/Special educational need retrieved successfully)r   r(   r&   r'   r   r   r,   r+   r;   r   r   r.   s       r1   editr?   Q   s    (,004F&$VZZ%8%8FJJx<PT[<[11!::g.m&**YHl2m
 	
 &&H
 r3   z/update/{id}c                 8   UR                  SS9n[        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   r5   r   z'Error updating special educational needr   r    r   z-Special educational need updated successfully)	r'   r   updater&   r(   r   r   r8   r+   )r;   r   r   r   r:   r.   s         r1   rB   rB   h   s    ))$)/K(,33BDF&$FJJx$8G$C==!::i1Z[
 	
 &&F
 r3   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   r=   r   r    r   z-Special educational need deleted successfully)	r   deleter&   r'   r(   r   r   r,   r+   r>   s       r1   rD   rD      s    (,33B7F&$FJJx$8G$C11!::i1UV
 	
 &&F
 r3   z/listc                    [        U5      R                  SS 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   )r   r   r   r   r#   r   z*Error retrieving special educational needsr   r    r   z5Special educational needs list retrieved successfully)	r   r$   r&   r'   r(   r   r   r,   r+   )r   r   r.   s      r1   list_allrF      s    (,44!D4QF&$FJJx$8G$C11!::i1]^
 	
 &&N
 r3   N)fastapir   r   r   fastapi.responsesr   app.backend.db.databaser   sqlalchemy.ormr   app.backend.schemasr	   r
   r   r   2app.backend.classes.special_educational_need_classr   app.backend.auth.auth_userr   r   postr2   r7   r(   intr?   putrB   rD   rF    r3   r1   <module>rR      s   . . * * " A  A Z >%'
%	& 
 $FMNeFfv}  E  wF (* () (ls ( %(T )GNOfGgw~  @F  xG + 9 mt  *. |,,34K,L\cdj\k S 	 RY  -, ~.RYZqRr  CJ  KQ  CR s 6 i x  /. !!.1.56M.N^efl^m s ) T[  2, w''./F'GW^_eWf 9 W  (r3   