
    Zh                        S SK JrJrJr  S SKJrJr  S SKJr  S SK	J
r
  S SKJr  S SKJrJrJrJrJr  S SKJr  \" 5       r\R+                  S\\\4   S	9\" \R.                  5      \" \
5      4S
\S\\\4   S\R0                  S\4S jj5       r\R5                  S\\\4   S	9S SS\" \R.                  5      \" \
5      4S
\S\S\S\\   S\R0                  S\4S jj5       r\R5                  S\\\4   S	9\" \R.                  5      \" \
5      4S
\S\S\R0                  S\4S jj5       r\R=                  S\\\4   S	9\" \R.                  5      \" \
5      4S
\S\S\\\4   S\R0                  S\4
S jj5       r\RA                  S\\\4   S	9\" \R.                  5      \" \
5      4S
\S\S\R0                  S\4S jj5       r!g)    )	APIRouterHTTPExceptionDepends)AnyDict)database)get_current_userdetails)User)create_item_serviceget_items_serviceget_item_serviceupdate_item_servicedelete_item_service)Optionalz/{collection_name})response_modelcollection_namepayloaddbcurrent_userc                      [        XX#5      nU$ ! [         a  n[        S[        U5      S9eS nAf[         a  n[        SS[        U5       3S9eS nAff = fNi  status_codedetaili  zInternal server error: )r   
ValueErrorr   str	Exception)r   r   r   r   created_itemvees          AC:\Suresh\moveshuttle\MDcreated\moveengine\app\v1\routers\crud.pycreate_generic_itemr"      s`    X*?RV =CG<< X6McRSfX4VWWXs    
A-AAA
   Nskiplimitstatusc                      [        XX#XE5      nU$ )N)r   )r   r$   r%   r&   r   r   results          r!   list_generic_itemsr)   !   s     eRVFM    z/{collection_name}/{item_id}item_idc                 8    [        XX#5      nUc
  [        SSS9eU$ Ni  zItem not foundr   )r   r   )r   r+   r   r   items        r!   get_generic_itemr/   .   s(     ObGD|4DEEKr*   c                      [        XX#U5      nU$ ! [         a  n[        S[        U5      S9eS nAf[         a  n[        SS[        U5       3S9eS nAff = fr   )r   r   r   r   r   )r   r+   r   r   r   updated_itemr   r    s           r!   update_generic_itemr2   ;   sc    X*?WR^_ =CG<< X6McRSfX4VWWXs    
A.AAAc                 8    [        XX#5      nUc
  [        SSS9eU$ r-   )r   r   )r   r+   r   r   deleted_items        r!   delete_generic_itemr5   L   s*     'RL4DEEr*   )"fastapir   r   r   typingr   r   app.dbr   app.v1.dependencies.authr	   app.v1.models.saas.usersmodelr
   app.v1.services.crudr   r   r   r   r   r   routerpostr   get_mongo_dbMongoDBr"   getintr)   r/   putr2   deleter5    r*   r!   <module>rE      s   5 5   < .  	!$sCx.A #8#8#89 !89	XX#s(^X 	X 	X BX  c3h@  "8#8#89 !89		
	 	 SM		
 		 	 A	 *4S>J #8#8#89 !89				 		 		 K	 *4S>J
 #8#8#89 !89XXX #s(^X 		X
 X KX  -d38nM #8#8#89 !89				 		 		 N	r*   