
    @ 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\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
GenderListStoreGenderUpdateGender)GenderClass)get_current_active_userz/gendersGenders)prefixtags/itemsession_userdbc                 :   U R                   c  SOU R                   n[        U5      R                  X0R                  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genderr   errormessageError zno datazno se encontraron datos   r   r   datastatus_codecontent  z,Complete genders list retrieved successfullyzGenders 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           MC:\Users\jesus\Desktop\proyecto_pie360\backend\app\backend\routers\genders.pyindexr3      s   ii'TYYJ_$$*]][_[f[f$gF&$FJJx$8G$C

9g61;M31O1O++-UW%)Bm)S"..!,  11(
 	
 AE		@Q<WwG&&
     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 genderr   r!      zGender created successfully)	r(   r   storer'   r)   r   r   HTTP_500_INTERNAL_SERVER_ERRORHTTP_201_CREATED)r   r   r   item_inputsr/   s        r2   r8   r8   5   s    ))+K_"";/F&$FJJx$8G$C==!::i1HI
 	
 ++4
 r4   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   Gender not foundr   r!   r   zGender retrieved successfully)r   r)   r'   r(   r   r   r-   r,   r<   r   r   r/   s       r2   editr@   M   s    _  $F&$VZZ%8%8FJJx<PT[<[11!::g.[&**YHZ2[
 	
 &&6
 r4   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   r6   r   zError updating genderr   r!   r   zGender updated successfully)	r(   r   updater'   r)   r   r   r9   r,   )r<   r   r   r   r;   r/   s         r2   rC   rC   d   s    ))$)/K_##B4F&$FJJx$8G$C==!::i1HI
 	
 &&4
 r4   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Gender deleted successfully)	r   deleter'   r(   r)   r   r   r-   r,   r?   s       r2   rE   rE   |   s    _##B'F&$FJJx$8G$C11!::i1CD
 	
 &&4
 r4   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 gendersr   r!   r   z#Genders list retrieved successfully)	r   r%   r'   r(   r)   r   r   r-   r,   )r   r   r/   s      r2   list_allrG      s    _$$!D$AF&$FJJx$8G$C11!::i1KL
 	
 &&<
 r4   N)fastapir   r   r   fastapi.responsesr   app.backend.db.databaser   sqlalchemy.ormr   app.backend.schemasr	   r
   r   r    app.backend.classes.gender_classr   app.backend.auth.auth_userr   genderspostr3   r8   r)   intr@   putrC   rE   rG    r4   r2   <module>rT      s   . . * * " P P 8 >


 	c6=>U6Vfmntfu $
 $) $\c $ $L 	h7>?V7Wgnougv  9 ]d  . 	\,34K,L\cdj\k S 	 RY  , 	^BIJaBbry  {A  sB s , i ho  . 	.56M.N^efl^m s ) T[   , 	W'./F'GW^_eWf 9 W  r4   