
    {Ci                         d dl mZmZmZ d dlmZmZ d dlmZm	Z	 d dl
mZmZ d dlmZ  e       Z G d de      Z eee	d	      Zej%                  d
 ee      g       e ed            fdefd       Zy)    )	APIRouterHTTPExceptionDepends)ProductPayloadProductDatabaseModel)	MONGO_URIDB_NAME)requires_permissionassert_actor_match)verify_turnstilec                       e Zd ZU eed<   y)ProductAdminPayloadactorIdN)__name__
__module____qualname__str__annotations__     D/var/www/pod-logistic/pod-api/controller/admin/product_controller.pyr   r   
   s    Lr   r   products)db_uridb_namecollection_namez/add-product)dependenciesproduct_managementproductc                 `  K   	 |d   }|j                  dd      }t        || j                         | j                  dh      }t        j                  |      }ddd|i||d	d
S # t        $ r}t        dt        |            d }~wt        $ r}t        dt        |            d }~ww xY ww)Nidname r   )excludesuccessu%   Đã thêm sản phẩm thành công!
product_id)r    r!   )statusmessagedataactedByi  )status_codedetaili  )
getr   r   
model_dumpdb_modelinsert_product
ValueErrorr   r   	Exception)r   current_useractor_id
actor_nameraw_datainserted_idvees           r   add_productr9      s     
<%!%%fb1
<9%%yk%:--h7  >k "

 
	
  =CG<< <CF;;<s5   B.A A% $B.%	B+.BB+B&&B++B.N)fastapir   r   r   model.productr   r   MongoDBConnectionr   r	   utils.auth_helperr
   r   utils.turnstile_helperr   routerr   r.   postr9   r   r   r   <module>rA      s    5 5 > 0 E 3	.    ^73C+D*EF ,-ABC< < G<r   