o
    ȟ1i                     @   sF  d dl mZ d dlmZmZ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ddZejd	e	d
eeeefdeee f 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	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dS )    )	Annotated)	APIRouterDependsForm)get_user)GenericResponse)CourseCategoryCreateCourseCategoryUpdateSchema)CourseCategoryServicez/course_category)prefix/)response_modelrequestc                    s   | | I d H  ddiS )Nmessagez%Course Category created successfully.)create_course_category)r   userservice r   /app/api/course_category.pyr      s   r   c                    s   d|  dS Nz'Course category populated successfully.)r   data)Zfetch_all_course_category)r   r   r   r   r   list_all_course_category   s   r   z/{course_category_id}course_category_idc                    s   d| | dS r   )Zfetch_course_category_detailsr   r   r   r   r   r   course_category_details   s   r   c                    s   | | |I d H  ddiS )Nr   z&Course category  updated successfully.)update_course_category)r   r   r   r   r   r   r   r       s   r   c                    s   | |  ddiS )Nr   z%Course category deleted successfully.)delete_course_categoryr   r   r   r   r   (   s   
r   N)typingr   fastapir   r   r   core.security.authenticationr   schemar   Zschema.course_categoryr   r	   Zservices.course_categoryr
   course_category_routerpostr   getr   intr   putr   deleter   r   r   r   r   <module>   s2    
 