
    i
                        d dl mZmZmZmZ d dlmZ 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Z e       Z G d d	e      Zej+                  d
 ee      g      de
fd       Zej/                  d
      	 	 	 	 ddedee   dee   dee   dee   f
d       Zej5                  d ee      g       e ed            fdefd       Zy)    )	APIRouterHTTPExceptionRequestDepends)JSONResponse)Optional)TicketCreatePayloadTicketUpdateRequestTicketModel)requires_permissionassert_actor_match)verify_turnstileNc                       e Zd ZU eed<   y)TicketAdminUpdateRequestactorIdN)__name__
__module____qualname__str__annotations__     =/var/www/pod-logistic/pod-api/controller/ticket_controller.pyr   r      s    Lr   r    )dependenciespayloadc                     	 t        j                  |       \  }}t        d||d      S # t        $ r=}t	        d       t        j                          t        ddt        |             d }~ww xY w)N   )successmessagestatus_codecontentu*    [CREATE TICKET] LỖI CRASH HỆ THỐNG:     Lỗi Server: r"   detail)	r   create_ticketr   	Exceptionprint	traceback	print_excr   r   )r   r   r    es       r   r(   r(      so    O&44W=U\5]^^ O:;nSVH4MNNOs   '* 	A08A++A0requeststatusdateFromdateToid_khach_hangc                    	 t        | j                        j                  d      }t        j                  |||||      }t        dd|t        |      d      S # t        $ r}t        ddt        |             d }~ww xY w)	N/   T)r   datatotalr!   r$   r%   r&   )	r   base_urlrstripr   get_ticketsr   lenr)   r   )r.   r/   r0   r1   r2   r8   r6   r-   s           r   r:   r:      s    Ow''(//4&&x6=YY6
  	
  OnSVH4MNNOs   AA 	B "A;;B z/update-ticketticket_financereqc                    	 |d   }|j                  dd      }t        || j                         t        j                  |       \  }}}t        |||||dd      S # t        $ r}t        ddt        |       	      d }~ww xY w)
Nidnamer   )r?   r@   )r   r    actedByr!   r$   r%   r&   )	getr   r   r   update_ticket_statusr   r)   r   r   )r=   current_useractor_id
actor_namer   msgcoder-   s           r   rC   rC   -   s    
O%!%%fb1
<5 )==cBd""&

 
	
  OnSVH4MNNOs   AA 	B%A>>B)NNNN)fastapir   r   r   r   fastapi.responsesr   typingr   model.ticket_modelr	   r
   r   utils.auth_helperr   r   utils.turnstile_helperr   r+   routerr   postr(   rB   r   r:   putrC   r   r   r   <module>rR      s    > > *  T T E 3 	2  Rw'789:O. O ;O B !" #'OOSMO smO SM	O
 C=O O( G4D,E+FG ./?@AO	!O HOr   