
    h|                        S SK JrJrJrJrJr  S SKJr  S SKJ	r	J
r
  S SKJr  SSKJrJrJrJrJrJrJrJrJr  SSKJr  SSKJrJrJrJrJrJrJ r   \" 5       r!\!RE                  S	\S
9\" \RF                  5      4S\S\S\RH                  4S jj5       r%\!RM                  S\S
9S SSS\" \RF                  5      \" \5      4S\'S\'S\
\(   S\
\'   S\RH                  S\)4S jj5       r*\!RM                  S\S
9\" \RF                  5      4S\(S\RH                  4S jj5       r+\!RY                  S\S
9\" \RF                  5      4S\(S\S\RH                  4S jj5       r-\!R]                  S\S
9\" SSS9\" \RF                  5      4S\(S\RH                  4S  jj5       r/\!RE                  S!\S
9\" \RF                  5      4S"\S\RH                  4S# jj5       r0\!RM                  S$\S
9\" \RF                  5      4S\(S\RH                  4S% jj5       r1g)&    )	APIRouterDependsHTTPExceptionBackgroundTasksPath)JSONResponse)ListOptional)database   )	Ticket
TicketBaseTicketCreateTicketUpdateTicketResponseListTicketResponseTicketReplyTicketReplyResponseListTicketReplyCreate)get_current_userdetails)create_ticket_serviceget_tickets_serviceread_ticket_serviceupdate_ticket_servicedelete_ticket_servicecreate_ticket_reply_serviceget_ticket_replies_service/)response_modelticketbackground_tasksdbc                     [        XU5      $ )z
Create a new ticket.
)r   )r    r!   r"   s      FC:\Suresh\moveshuttle\MDcreated\moveengine\app\v1\routers\cx\ticket.pycreate_ticket_endpointr%      s     !2>>    z/list/
   Nskiplimitqaccount_viewcurrent_userc           	      l    [        S5        [        U5        UR                  S5      n[        X`XX4U5      $ )z
List tickets by account.
7current_usercurrent_usercurrent_user4545454545454545455
account_id)printgetr   )r(   r)   r*   r+   r"   r,   r/   s          r$   list_ticketsr2   "   s6     

CD	,!!,/Jz<LYYr&   z/{ticket_id}	ticket_idc                 >    [        X5      nU(       d
  [        SSS9eU$ )z
Get a specific ticket by ID.
i  zTicket not found)status_codedetail)r   r   )r3   r"   r    s      r$   read_ticketr7   3   s$     !/F4FGGMr&   ticket_datac                     [        XU5      $ )z
Update a ticket by ID.
)r   )r3   r8   r"   s      r$   update_ticketr:   @   s     !<<r&   .zThe ID of the ticket)descriptionc                     [        X5      $ )z
Delete a ticket by ID.
)r   r3   r"   s     r$   delete_ticketr>   K   s     !//r&   z/replypayloadc                     [        X5      $ )z#
Add a reply to a specific ticket.
)r   )r?   r"   s     r$   add_ticket_replyrA   V   s     'w33r&   z/reply/list/{ticket_id}c                     [        X5      $ )z%
Get all replies for a given ticket.
)r   r=   s     r$   get_replies_for_ticketrC   `   s     &i44r&   )2fastapir   r   r   r   r   fastapi.responsesr   typingr	   r
   app.dbr   models.cx.ticketr   r   r   r   r   r   r   r   r   dependencies.authr   services.cx.ticketr   r   r   r   r   r   r   routerpostget_mongo_dbMongoDBr%   r1   intstrdictr2   r7   putr:   deleter>   rA   rC    r&   r$   <module>rU      s   L L * !    9   
S( #8#8#89??%? 	? )? H%78"&"8#8#89 !89Z
ZZ }Z 3-	Z
 	Z Z 9Z  N>: #8#8#89


 ;
 N62 #8#8#89=== 	= 3= ~f5#+AB"8#8#89000 60 Xk2 #8#8#89444 34 %6MN #8#8#89555 O5r&   