o
    ̿Si                     @   s   d 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	ddl
mZ ddlmZ ddlmZ d	d
lmZmZ e Zejdddedddedd	ddeejfdedefddZejdddedddeejeefdedefddZdS )zXShared stock catalog routes for platform teGPT.

NOTE: Move-only split from `teGPT.py`.
    )	APIRouterDependsQuery)DictAny)datetimeN)database)get_current_userdetails)get_zerodha_client_service   )_ensure_stock_identity_norm_symbolz/stocks/searchzSearch stocks (shared catalog))summary zSearch by symbol/name)description   2   )geleqlimitc              
      st   | pd  }|sdg dS t|dd}|d dd|id	|id
|igiddddddd|}dt|dS )Nr   ok)statusitemsi)z$regexz$optionsstocksz$orsymbolnametradingsymbolr   r   )_idstock_idr   exchangeinstrument_tokenr   )stripreescapefindr   list)r   r   dbqueryrxcur r,   C/var/www/html/Trade-python/app/v1/routers/platform/teGPT_catalog.pysearch_stocks   s   
r.   z/stocks/{symbol}zGet stock info (no analysis)z!1 to fetch live quote via Zerodhar   include_quotec                    s4  t || }d|d|d|d|d|d|d|d|d	|d
dd	d d}|dkrt||}t| }|dpEd  }|| d| g}	t|	trd|	| d| nd |d< |dst|dtr|d d}
|
r|d 	d|did|
t
 di |
|d d< |S )Nr   r    r   r!   r"   r   segment	tick_sizelot_size	is_activeT)	r    r   r!   r"   r   r0   r1   r2   r3   )r   stockquoter   NSE:r5   r   r   z$set)r"   instrument_updated_atr4   )r   getr
   r   r#   upper	get_quote
isinstancedict
update_oner   utcnow)r   r/   r(   current_userr4   outzerodha_clientsymexchqdtokenr,   r,   r-   get_stock_info&   s<   


&rG   )__doc__fastapir   r   r   typingr   r   r   r$   app.dbr   app.v1.dependencies.authr	   app.v1.services.teGPTr
   teGPT_helpersr   r   routerr9   get_mongo_dbstrintr.   rG   r,   r,   r,   r-   <module>   s8    

