
    U+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  eddg      Zej                  d	       ed
       ee      fdedefd       Zej#                  d       ee      fdedefd       Zej                  d       ed
       ee      fdedefd       Zej+                  d       ed
       ee      fdededefd       Zej/                  d       ee      fdedefd       Zy)    )	APIRouterBodyDepends)get_db)Session)DownloadClass)DownloadListStoreDownloadUpdateDownloadz
/downloads	Downloads)prefixtags/.download_listdbc                    K   	 t        |      }|j                  | j                  | j                  | j                  | j
                        }|S # t        $ r}dt        |      dcY d }~S d }~ww xY ww)N)pageitems_per_pagetitledownload_type_iderrorstatusmessage)r   get_allr   per_pager   r   	Exceptionstr)r   r   download_classdownloads_dataes        E/var/www/pie360backend.cl/public_html/app/backend/routes/downloads.pyget_downloadsr#      sy     

&r*'//##(11%%*;;	 0 
  
1v
 	

s5   A2A	A A2	A/A*$A/%A2*A//A2z/edit/{download_id}download_idc                    K   	 t        |      }|j                  |       }|S # t        $ r}dt        |      dcY d }~S d }~ww xY wwNr   r   )r   getr   r   )r$   r   r   downloadr!   s        r"   get_downloadr)   %   sM     

&r*!%%k2 
1v
 	

,   A" A	A>AAAAz/storestore_downloadc                   K   	 t        |      }| j                  | j                  | j                  | j                  | j
                  | j                  d}|j                  |      }|S # t        $ r}dt        |      dcY d }~S d }~ww xY ww)N)r   r   descriptionurltagquantityr   r   )
r   r   r   r-   r.   r/   r0   storer   r   )r+   r   r   download_dataresultr!   s         r"   r+   r+   8   s     

&r* . ? ?#)))55!%%!%%&//
  %%m4 
1v
 	

s5   BA"A' &B'	B0B=B>BBBz/update/{download_id}update_downloadc                   K   	 t        |      }i }|j                  |j                  |d<   |j                  |j                  |d<   |j                  |j                  |d<   |j                  |j                  |d<   |j
                  |j
                  |d<   |j                  |j                  |d<   |j                  | |      }|S # t        $ r}dt        |      dcY d }~S d }~ww xY ww)	Nr   r   r-   r.   r/   r0   r   r   )
r   r   r   r-   r.   r/   r0   updater   r   )r$   r4   r   r   r2   r3   r!   s          r"   r4   r4   T   s     
&r*++70?0P0PM,-  ,%4%:%:M'"&&2+:+F+FM-(*#2#6#6M% *#2#6#6M% ##/(7(@(@M*%&&{MB 
1v
 	

s5   C+CC C+	C(C#C(C+#C((C+z/{download_id}c                    K   	 t        |      }|j                  |       }|S # t        $ r}dt        |      dcY d }~S d }~ww xY wwr&   )r   deleter   r   )r$   r   r   r3   r!   s        r"   delete_downloadr9   w   sM     

&r*&&{3 
1v
 	

r*   N)fastapir   r   r   app.backend.db.databaser   sqlalchemy.ormr   "app.backend.classes.download_classr   app.backend.schemasr	   r
   r   	downloadspostr#   r'   intr)   r+   putr4   r8   r9        r"   <module>rE      s[   , , * " < K K
	 "&s)&/


 
. $% &/


 &
$ $(I&/
!

 
6 &' '+3i&/

#
 	
 (
D "# &/


 $
rD   