
    U+i                     l   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dedede	fd       Zej3                  d       ee       ee      fdedededededede	fd       Zej7                  d       ee       ee      fdededededede	fd       Zy)    )	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                    | j                   | j                   nd}| j                  r| j                  nd}t        |      j                  | j                  | j
                  | 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   
   )	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         M/var/www/pie360backend.cl/public_html/app/backend/routes/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           	      \   | 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
|j	                  d
      id      S )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                     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   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    !"%))"ioVF&$FJJx$8G$C11!::i1MN
 	
 &&@
 r0   c           	      h   |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|j	                  d      id	      S )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!"%,,R1H)U`bqrF&$FJJx$8G$C11!::i1RS
 	
 &&>6::d+,
 r0   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 d      S )
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    !"%,,RK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   