o
    ȟ1i
                     @   s  d dl mZmZ d dlmZ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mZmZ d dlmZ eddZejd	ee
d
gedddeddeeeefdeee f deee f deee f deee f def
ddZejd	eddeeeefdefddZejdedeeeefdefddZejdedddeddeeeefdedeee f deee f deee f deee f defddZejdedeeeefdefdd ZdS )!    )	AnnotatedList)	APIRouterDependsForm
UploadFileFile)require_roleget_user)GenericResponse)BursaryClassCreateSchemaBursaryClassUpdateSchemaBursaryClassFormDetailsSchema)BursaryClassServicez/bursary_class)prefix/admin)dependenciesresponse_modelN)default	parent_idparent_primary_contactparent_secondary_contactparent_emailfilec                    s"   | | ||||I d H  ddiS )Nmessagez#Bursary Class created successfully.)Zcreate_bursary_class_form)r   r   r   r   r   userservice r   /app/api/bursary_class.pycreate_bursary_class   s   
r    )r   datec                    s   d|  dS Nz%Bursary Class populated successfully.)r   data)Zlist_all_bursary_class)r!   r   r   r   r   r   list_bursary_class   s   r$   z/{bursary_class_id}bursary_class_idc                    s   d| | dS r"   )Zfetch_bursary_clas_detailsr%   r   r   r   r   r   bursary_class_details   s   r'   c                    s$   | | |||||I d H  ddiS )Nr   z#Bursary Class updated successfully.)update_bursary_class)r%   r   r   r   r   r   r   r   r   r   r   r(   %   s   r(   c                    s   | |  ddiS )Nr   z#Bursary Class deleted successfully.)delete_bursary_classr&   r   r   r   r)   4   s   
r)   ) typingr   r   fastapir   r   r   r   r   core.security.authenticationr	   r
   schemar   Zschema.bursary_class_formr   r   r   Zservices.bursary_classr   bursary_class_routerpostintstrr    getr$   r'   putr(   deleter)   r   r   r   r   <module>   sj    
 