
    	,h                        d dl Z 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 d dlmZ d dlmZmZ d d	lmZ  e       Zej5                  d
d       ee       ee      fdedefd       Zej7                  d      d        ZdZ e j<                  ed       ej5                  d       ed       ee       ee      fdededefd       Zej7                  dd       ee       ee      fde dedefd       Z!y)    N)	APIRouterDepends
UploadFileFile)FileResponseJSONResponse)Session)service)PreSelectedCategoryCreate)get_db)JWTPayloadSchemaget_current_student)
TblStudentz/postT)response_model_exclude_nonedbtokenc                 f   K   t        j                  | |      j                          d {   S 7 wN)r
   PreSelectedCategoryServicepost)r   r   s     ?/var/www/html/RetailAPI/app/api/pre_selected_category/router.pyr   r      s(     33Bu=BBDDDDs   (1/1download_excelc                  *   K   d} t        | dd      S w)Nz#files/3Sample_Category_Sheet1_.xlsxzAapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheetz3Sample_Category_Sheet1_.xlsx)path
media_typefilename)r   )	file_paths    r   download_excel_preer      s!     5IV0 s   uploaded_files)exist_okz/upload_retails.filec                   K   t        |dd       }|t        dddi      S |j                  t              j	                  t        j
                  |k(        j                         }|st        dddi      S |j                  st        dddi      S |j                  }| j                  xs d	}t        j                  j                  t        |      }t        |d
      5 }t        j                  | j                   |       d d d        t#        j$                  |      }	||_        |j)                          t        d|j*                  |d      S # 1 sw Y   OxY ww)N
student_idi  errorzstudent_id missing in token.)status_codecontenti  zStudent not found.z#Group not assigned to this student.zuploaded_file.xlsxwbz-File uploaded and group updated successfully!)messagegroup_idr   )r&   )getattrr   queryr   filterr#   firstgroupr   osr   join
UPLOAD_DIRopenshutilcopyfileobjr!   pd
read_excelexcel_pre_selectcommitr)   )
r!   r   r   r#   studentr.   r   file_locationbufferdfs
             r   upload_retailsr=   $   s%     d3Jg?]5^__hhz"))**?*?:*MNTTVGg?S5TUU==g?d5effMME}}4 4HGGLLX6M	mT	"f499f- 
# 
}	%B*EIIKBNN!!   
#	"s   CE!E=AEEEz/Pre_getr)   c                 h   K   t        j                  ||      j                  |        d {   S 7 wr   )r
   r   get)r)   r   r   s      r   pre_getr@   N   s*     33B>BB8LLLLs   )202)"r/   r3   pandasr5   fastapir   r   r   r   fastapi.responsesr   r   sqlalchemy.ormr	   app.api.pre_selected_categoryr
   $app.api.pre_selected_category.schemar   app.database.main.mysqlr   app.dependency.authanticationr   r   app.models.main.studentr   pre_select_category_routerr   r?   r   r1   makedirsr=   intr@        r   <module>rO      sM   	   7 7 8 " 1 J * O .&[   d K#FOgNaFb E' E3C E LE  01 2 
 J &  !23Cy&/%&9: 
     4 R 
M-4V_W^_rWs M3 M7 MDT M NMrN   