
    i              
          d dl mZmZmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZmZmZmZ d dlmZ d dlmZ  edd	g
      Zej)                  d       ee       ee      fdedede	fd       Zej)                  d       ee       ee      fdedede	fd       Zej/                  d       ee       ee      fdedede	fd       Zej5                  d       ee       ee      fdededede	fd       Zej9                  d       ee       ee      fdedede	fd       Zej/                  d       ee       ee      fdede	fd       Zy)    )	APIRouterDependsstatus)JSONResponse)get_db)Session)	UserLoginFamilyMemberListStoreFamilyMemberUpdateFamilyMember)FamilyMembersClass)get_current_active_userz/family_memberszFamily Members)prefixtags/membersession_userdbc                 2   | j                   dn| j                   }t        |      j                  || j                  | j                        }t        |t              r|j                  d      dk(  rz|j                  dd      }t        |t              r|j                         nd}d|v sd	|v rt        t        j                  d
|g d      S t        t        j                  d|d d      S | j                   dnd}t        t        j                  d
||d      S )Nr   )pageitems_per_pagefamily_memberr   errormessageError zno datazno se encontraron datos   r   r   datastatus_codecontent  z3Complete family members list retrieved successfullyz%Family members 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\OneDrive\Escritorio\proyecto_pie360\backend\app\backend\routers\family_members.pyindexr2      s   kk)v{{J#++FOOkqkk+  AF&$FJJx$8G$C

9g61;M31O++-UW%)Bm)S"..!,  11(
 	
 HN{{GZC  aHG&&
     z/storec                 :   | j                         }t        |      j                  |      }t        |t               rC|j	                  d      dk(  r/t        t        j                  d|j	                  dd      d d      S t        t        j                  dd	|d      S )
Nr   r     r   zError creating family memberr   r       z"Family member created successfully)	r'   r   storer&   r(   r   r   HTTP_500_INTERNAL_SERVER_ERRORHTTP_201_CREATED)r   r   r   member_inputsr.   s        r1   r7   r7   5   s    KKMM#))-8F&$FJJx$8G$C==!::i1OP
 	
 ++;
 r3   z
/edit/{id}idc                 b   t        |      j                  |       }t        |t              rg|j                  d      s|j                  d      dk(  rBt	        t
        j                  d|j                  d      xs |j                  dd      d d      S t	        t
        j                  dd	|d      S )
Nr   r   r#   r   Family member not foundr   r    r   z$Family member retrieved successfully)r   r(   r&   r'   r   r   r,   r+   r;   r   r   r.   s       r1   editr?   M   s    #''+F&$VZZ%8FJJx<PT[<[11!::g.b&**YHa2b
 	
 &&=
 r3   z/update/{id}c                 @   |j                  d      }t        |      j                  | |      }t        |t               rC|j	                  d      dk(  r/t        t        j                  d|j	                  dd      d d	      S t        t        j                  d
d|d	      S )NT)exclude_unsetr   r   r5   r   zError updating family memberr   r    r   z"Family member updated successfully)	r'   r   updater&   r(   r   r   r8   r+   )r;   r   r   r   r:   r.   s         r1   rB   rB   d   s    KKdK3M#**2}=F&$FJJx$8G$C==!::i1OP
 	
 &&;
 r3   z/delete/{id}c                    t        |      j                  |       }t        |t              rC|j	                  d      dk(  r/t        t        j                  d|j	                  dd      d d      S t        t        j                  dd	|d      S )
Nr   r   r#   r   r=   r   r    r   z"Family member deleted successfully)	r   deleter&   r'   r(   r   r   r,   r+   r>   s       r1   rD   rD   |   s    #**2.F&$FJJx$8G$C11!::i1JK
 	
 &&;
 r3   z/listc                    t        |      j                  dd       }t        |t              rC|j	                  d      dk(  r/t        t        j                  d|j	                  dd      d d	      S t        t        j                  d
d|d	      S )Nr   )r   r   r   r   r#   r   zError retrieving family membersr   r    r   z*Family members list retrieved successfully)	r   r$   r&   r'   r(   r   r   r,   r+   )r   r   r.   s      r1   listrF      s    #++4+HF&$FJJx$8G$C11!::i1RS
 	
 &&C
 r3   N)fastapir   r   r   fastapi.responsesr   app.backend.db.databaser   sqlalchemy.ormr   app.backend.schemasr	   r
   r   r   (app.backend.classes.family_members_classr   app.backend.auth.auth_userr   family_memberspostr2   r7   r(   intr?   putrB   rD   rF    r3   r1   <module>rS      s   . . * * " b b G >
	
 S>EF]>^nuv|n} $" $) $dk $ $L X?FG^?_ovw}o~ # 9 el  . L!,34K,L\cdj\k S 	 RY  ", N#JQRiJj  {B  CI  {J s . i pw  $. ~&.56M.N^efl^m s ) T[  ', G#*+B#CSZ[aSb y   r3   