
    wi\                     z   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\S\S\S\	4S jj5       r\R3                  S5      \" \5      \" \5      4S\S\S\S\S\S\S\	4S jj5       r\R7                  S5      \" \5      \" \5      4S\S\S\S\S\S\	4S jj5       rg)    )	APIRouterDependsstatus)JSONResponse)get_db)Session)BankDescriptionListStoreBankDescriptionUpdateBankDescription	UserLogin)BankDescriptionClass)get_current_active_userz/bank_descriptionszBank Descriptions)prefixtags/bank_description_listsession_userdbc                    U R                   b  U R                   OSnU R                  (       a  U R                  OSn[        U5      R                  U R                  U R
                  U R                  U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   
   )	school_iddocument_idquestion_numberpageitems_per_pager   error  messageErrorr   r   datastatus_codecontent   z(Bank descriptions retrieved successfully)r   per_pager   get_allr   r   r   
isinstancedictgetr   r   HTTP_404_NOT_FOUNDHTTP_200_OK)r   r   r   r   r&   results         WC:\Users\jesus\Desktop\proyecto_pie360\backend\app\backend\routers\bank_descriptions.pyindexr/      s     *?)C)C)O %%UVD1F1O1O$--UWH!"%--'11)55-== . F &$FJJx$8G$C11!::i9
 	
 &&A
     z/storebank_descriptionc           	      \   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	S
UR	                  S
5      0S.S9$ )Nr   r   i  r   zError creating bank descriptionr    r"      z%Bank description created successfullyid)	r)   r   storer(   r*   r   r   HTTP_500_INTERNAL_SERVER_ERRORHTTP_201_CREATED)r1   r   r   bank_description_inputsr-   s        r.   r5   r5   .   s    .335!"%++,CDF&$FJJx$8G$C==!::i1RS
 	
 ++>6::d+,
 r0   z/{id}r4   r   r   r   c                    [        U5      R                  X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$ )
Nr   r   r   r   zBank description not foundr    r"   r%   z'Bank description retrieved successfully)r   r*   r(   r)   r   r   r+   r,   r4   r   r   r   r   r   r-   s          r.   r*   r*   F   s    !"%))"VF&$FJJx$8G$C11!::i1MN
 	
 &&@
 r0   c           	      ^   UR                  SS9n[        U5      R                  XX#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SUR	                  S5      0S.S	9$ )NT)exclude_unsetr   r   r   r   zError updating bank descriptionr    r"   r%   z%Bank description updated successfullyr4   )	r)   r   updater(   r*   r   r   r+   r,   )	r4   r1   r   r   r   r   r   r8   r-   s	            r.   r=   r=   ]   s    .33$3G!"%,,R)bqrF&$FJJx$8G$C11!::i1RS
 	
 &&>6::d+,
 r0   c                    [        U5      R                  X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	S S.S9$ )
Nr   r   r   r   zError deleting bank descriptionr    r"   r%   z%Bank description deleted successfully)	r   deleter(   r)   r*   r   r   r+   r,   r:   s          r.   r?   r?   u   s    !"%,,RKYF&$FJJx$8G$C11!::i1RS
 	
 &&>
 r0   N)fastapir   r   r   fastapi.responsesr   app.backend.db.databaser   sqlalchemy.ormr   app.backend.schemasr	   r
   r   r   *app.backend.classes.bank_description_classr   app.backend.auth.auth_userr   bank_descriptionspostr/   r5   r*   intputr=   r?    r0   r.   <module>rL      sM   . . * * " k k K >
	 
 PWXoPp  AH  IO  AP !4 I v}  > !LSTkLl  }D  EK  }L 0 	 ry  ". wcj  lC  dD  T[  \b  Tc C C c C W`   JQ   , w PW  Xo  Pp  @G  HN  @O s &;  Z] ps   DM   v}   . '"fm  oF  gG  W^  _e  Wf s s  s Zc   MT  #r0   