o
    ̿Si`	                     @   s   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
 d dlmZmZmZ e ZdZejdee ded	ee
jfd
efddZejdedee
jfdefddZejdedee
jfdedefddZdS )    )	APIRouterHTTPExceptionDependsQuery)Optional)ObjectId)database)ZerodhaSettingsCreateZerodhaSettingsUpdateZerodhaSettingsOutzerodha_settings/)response_model.user_idc                 C   s8   |t  d| i}|rt|d |d< tdi |S d S )Nr   _id )COLLECTION_NAMEfind_onestrr   )r   dbrecordr   r   9/var/www/html/Trade-python/app/v1/routers/saas/zerodha.pyget_zerodha_settings   s
   r   settingsc                 C   sR   |t  d| jirtddd|  }|t  |}t|j|d< tdi |S )Nr     z*Settings already exist. Use PUT to update.status_codedetailr   r   )	r   r   r   r   dict
insert_oner   inserted_idr   )r   r   dataresultr   r   r   create_zerodha_settings   s   r#   z/{setting_id}
setting_idc                 C   s   zt | }W n ty   tdddw dd |  D }|t d|i}|s0tdddd	|v r=|d	 |d	ksJd
|v rR|d
 |d
krRd |d< d |d< |t d|id|i}|t d|i}t	|d |d< t
di |S )Nr   zInvalid setting_idr   c                 S   s   i | ]\}}|d ur||qS )Nr   ).0kvr   r   r   
<dictcomp>)   s    z+update_zerodha_settings.<locals>.<dictcomp>r   i  zSettings not foundapi_key
api_secretaccess_tokenpublic_tokenz$setr   )r   	Exceptionr   r   itemsr   r   get
update_oner   r   )r$   r   r   	object_idupdate_dataexistingr"   updatedr   r   r   update_zerodha_settings"   s"   r5   N)fastapir   r   r   r   typingr   bsonr   app.dbr   app.v1.models.saas.zerodhar	   r
   r   routerr   r/   get_mongo_dbr   r   postr#   putr5   r   r   r   r   <module>   s    	"