
    P-i                        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mZ d dlmZ  e       Zej1                  d	d
       ee       ee      fdedefd       Zej3                  d      d        ZdZ e j8                  ed
       ej1                  d       ed       ee       ee      fdededefd       Zej3                  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)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     K/var/www/html/retail-simulation-api/app/api/pre_selected_category/router.pyr   r      s(     33Bu=BBDDDDs   (1/1z/download_excel_prec                  *   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_pre_select_category)r'   r   r   s      r   pre_getr>   H   s+     33B>VVW_````s   )202) r-   r1   pandasr3   fastapir   r   r   r   fastapi.responsesr   r   sqlalchemy.ormr	   app.api.pre_selected_categoryr
   app.database.main.mysqlr   app.dependency.authanticationr   r   app.models.main.studentr   pre_select_category_routerr   getr   r/   makedirsr;   intr>        r   <module>rM      sJ   	   7 7 8 " 1 * O .&[   d K#FOgNaFb E' E3C E LE  56 7 
 J &  !23Cy&/%&9: 
     4 P 
M-4V_W^_rWs a3 a7 aDT a NarL   