o
    Uh                     @   s  d dl Z d dlZd dlmZmZmZmZ d dlmZm	Z	 d dl
mZ d dlmZ d dlmZmZ d dlZd dlmZ e Zedd	d
 Zeddd ZdZe jedd ededfdefddZededeeeefdededefddZdS )    N)	APIRouterDependsFile
UploadFile)FileResponseJSONResponse)Session)get_db)JWTPayloadSchemaget_current_user)
TblStudentz/download-excel-sample1c                        d} t | dddS )Nzfiles/Excel Sample 1.xlsxAapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheetzExcel Sample 1.xlsxpath
media_typefilenamer   	file_path r   8/var/www/html/RetailAPI/app/api/excel_download/router.pydownloadExcel_Sample1      r   z/download-excel-sample2c                     r   )Nzfiles/Excel Sample 2.xlsxr   zExcel Sample 2.xlsxr   r   r   r   r   r   downloadExcel_Sample2   r   r   uploaded_filesT)exist_okz/upload-excel-sample2.filec                    sb   | j pd}tjt|}t|d}t| j| W d    n1 s$w   Y  t	d|ddS )Nuploaded_file.xlsxwbzFile uploaded successfully!)messager   content)
r   osr   join
UPLOAD_DIRopenshutilcopyfileobjr   r   )r   r   file_locationbufferr   r   r   upload_excel25   s   
r+   z/upload-excel-sample1dbtokenc           
         s   t |dd }|d u rtdddidS |ttj|k }|s*tdddidS |js5tdddidS |j}| jp<d	}t	j
t|}t|d
}t| j| W d    n1 s[w   Y  t|}	||_|  td|j|ddS )N
student_idi  errorzstudent_id missing in token.)status_coder"   i  zStudent not found.z#Group not assigned to this student.r   r   z-File uploaded and group updated successfully!)r    group_idr   r!   )getattrr   queryr   filterr.   firstgroupr   r#   r   r$   r%   r&   r'   r(   r   pd
read_excelsample_excel_onecommitr1   )
r   r,   r-   r.   studentr6   r   r)   r*   dfr   r   r   upload_excel1@   s.   


r=   )r#   r'   fastapir   r   r   r   fastapi.responsesr   r   sqlalchemy.ormr   app.database.main.mysqlr	   app.dependency.authanticationr
   r   pandasr7   app.models.main.studentr   excel_routergetr   r   r%   makedirspostr+   r=   r   r   r   r   <module>   s:    


