o
    ȟ1i                     @   s<  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 d dlmZmZ e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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fddZejded
eeeefdefddZdS )    )Depends	APIRouter)require_roleget_user)GenericResponse)WaitingListBaseWaitingListCreateSchema)WaitingListService)WaitingListUpdateSchemaWaitingListFilterSchemaz/waiting_list)prefix/)response_modelrequestc                    s   | | | ddiS )Nmessagez"Waiting List created successfully.)save)r   userservice r   /app/api/waiting_list.pycreate_waiting_list   s   r   z/{waiting_list_id}waiting_list_idc                       d| | dS )Nz$Waiting list populated successfully.r   data)waiting_list_detailr   r   r   r   r   r   r      s   r   c                    s   | |  ddiS )Nr   z"Waiting list deleted successfully.)delete_waiting_listr   r   r   r   r      s   
r   c                    s   | | | ddiS )Nr   z"Waiting list updated successfully.)update_waiting_list)r   r   r   r   r   r   r   r      s   r   z/filterfiltersc                    r   )Nz-Filtered waiting list populated successfully.r   )Zfetch_filtered_waiting_list)r   r   r   r   r   r   filter_waiting_list&   s   r    N)fastapir   r   core.security.authenticationr   r   schemar   Zschema.waiting_listr   r   Zservices.waiting_listr	   r
   r   waiting_list_routerpostr   getintr   deleter   patchr   r    r   r   r   r   <module>   s6    

