o
    ȟ1i
                     @   sp  d dl mZmZ d dlmZmZ d dlmZ d dlm	Z	m
Z
 d dlmZ eddZejdeed	ged
eeeefde	fddZejdedeee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eed	gdeeeefdede
fddZejdeeed	g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 )    )Depends	APIRouter)require_roleget_user)GenericResponse)CourseAllocationCreateSchemaCourseAllocationUpdateSchema)CourseAllocationServicez/course_allocation)prefix/admin)dependenciesresponse_modelrequestc                       | |  ddiS )Nmessagez'Course allocation created successfully.)save)r   userservice r   /app/api/course_allocation.pycreate_course_allocation   s   
r   )r   c                    s   d|  dS Nz)Course allocation populated successfully.)r   data)Zfetch_all_course_allocation)r   r   r   r   r   list_all_course_allocation   s   r   z/{course_allocation_id}course_allocation_idc                       d| | dS r   )course_allocation_detailr   r   r   r   r   r   r         r   )r   r   c                    s   | | | ddiS )Nr   z'Course allocation updated successfully.)update_course_allocation)r   r   r   r   r   r   r   r       s   r    c                    r   )Nr   z'Course allocation deleted successfully.)delete_course_allocationr   r   r   r   r!   &   s   
r!   z/course_wise/{course_id}	course_idc                    r   r   )Zfilter_allocation_by_course_id)r"   r   r   r   r   r    get_allocation_details_by_course.   r   r#   N)fastapir   r   core.security.authenticationr   r   schemar   Zschema.course_allocationr   r   Zservices.course_allocationr	   course_allocation_routerpostr   getr   intr   putr    deleter!   r#   r   r   r   r   <module>   s>    
