o
    ȟ1i7                     @   s~  d dl mZ d dl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 edd	ZG d
d de	ZedeeeefdefddZedeeeefdefddZG dd de	ZedeeeefdefddZedeeeefdefddZG dd de	ZedeeeefdefddZed eeeefdefd!dZd"S )#    )date)OptionalList)Depends	APIRouter)	BaseModel)StreamingResponse)get_user)ReportServicez/report)prefixc                   @   sr   e Zd ZU eed< eed< dZee ed< dZee ed< dZ	ee ed< dZ
ee ed< g Zeee  ed< dS )	AttendanceReportacademic_year_idterm_idN
start_dateend_datecourse_category_id	course_idfields)__name__
__module____qualname__int__annotations__r   r   r   r   r   r   r   r   str r   r   /app/api/report.pyr      s   
 r   z/attendancerequestc                       | | |}d|dS )Nz"Attendance populated successfully.messagedata)view_attendance_reportr   userservicer    r   r   r   attendance_report      
r%   z/attendance/downloadc                        | | |}t|dddidS NzAapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheetzContent-Dispositionz$attachment; filename=attendance.xlsx)
media_typeheaders)view_attendance_report_downloadr   r    r   r#   r$   outputr   r   r   attendance_report_download      r.   c                   @   s^   e Zd ZU dZee ed< dZee ed< dZ	ee ed< dZ
ee ed< g Zee ed< dS )StudentDataNgenderageis_participated_in_wacphotography_consentr   )r   r   r   r1   r   r   r   r2   r   r3   r4   r   r   r   r   r   r   r0   )   s   
 r0   z/studentc                    r   Nz#Participant populated successfully.r   )view_student_datar"   r   r   r   student_data1   r&   r7   z/student/downloadc                    r'   r(   )view_student_data_downloadr   r,   r   r   r   student_data_download7   r/   r9   c                   @   sn   e Zd ZU dZee ed< dZee ed< dZee ed< dZ	ee ed< dZ
ee ed< g Zee ed< dS )
EnrollDataNr   r   r   age_group_idr   r   )r   r   r   r   r   r   r   r   r   r;   r   r   r   r   r   r   r   r   r:   A   s   
 r:   z	/enrolledc                    r   r5   )fetch_enrolled_datar"   r   r   r   enrolled_dataJ   r&   r=   z/enrolled/downloadc                    r'   r(   )view_enrolled_downloadr   r,   r   r   r   r=   P   r/   N)datetimer   typingr   r   fastapir   r   pydanticr   starlette.responsesr   core.security.authenticationr	   services.reportr
   report_routerr   postr%   r.   r0   r7   r9   r:   r=   r   r   r   r   <module>   sF    
			