o
    ȟ1i	                     @   s  d dl mZ d dl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 d dl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ee f 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eeeefdedeee f 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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fd"d#Z dS )$    )	Annotated)	APIRouterDependsForm)require_roleget_user)GenericResponse)CourseCreateSchemaCourseUpdateSchema)CourseFilter)CourseServicez/course)prefix/admin)dependenciesresponse_modelrequestc                    s   | | I d H  ddiS )NmessagezCourse added successfully.)Zadd_new_courser   userservice r   /app/api/course.pycreate_course   s   r   )r   Ndatec                       d| | dS NzCourse populated successfully.)r   data)Zfetch_all_course)r   r   r   r   r   r   list_all_course      r   z/{course_id}	course_idc                    r   r   )Zfetch_course_detailsr    r   r   r   r   r   course_details   s   r"   c                    s   | | |I d H  ddiS )Nr   zCourse updated successfully.)update_course)r    r   r   r   r   r   r   r#   !   s   r#   c                       | |  ddiS )Nr   zCourse deleted successfully.)delete_courser!   r   r   r   r%   (      
r%   z/filterc                    r   r   )course_filterr   r   r   r   r'   /   r   r'   z/active_or_deactive/{course_id})r   r   c                    r$   )Nr   z	 Success.)toogle_enabler!   r   r   r   r(   5   r&   r(   )!typingr   fastapir   r   r   core.security.authenticationr   r   schemar   schema.courser	   r
   Zschema.course_filterr   Zservices.courser   course_routerpostr   getstrr   intr"   putr#   deleter%   r'   patchr(   r   r   r   r   <module>   s@    
  "