o
    M)jd	                     @  s   d dl mZ d dlZd dlmZmZ d dlmZ d dlm	Z	 ej
ej
ej
eZej
ej
eZej
eddZej
edZe	e e	edd	 eG d
d dZe ZdS )    )annotationsN)	dataclassfield)List)load_dotenvzdashboard-backendz.envT)overridec                   @  s  e Zd ZU edd dZded< edd dZded< ed	d dZded
< edd dZded< edd dZ	ded< edd dZ
ded< edd dZded< edd dZded< edd dZded< edd dZded< edd dZded< edd dZded< edd dZded< ed d dZded!< ed"d dZded#< ed$d dZded%< ed&d dZded'< ed(d dZd)ed*< d+S ),Settingsc                   C  
   t jd S )NDB_HOSTosenviron r   r   F/home/aiteam/pcaa-dev/call-proccessing/stt_pipeline/config/settings.py<lambda>      
 zSettings.<lambda>)default_factorystrdb_hostc                   C     t tddS )NDB_PORT3306intr   getenvr   r   r   r   r          r   db_portc                   C  r	   )NDB_USERr   r   r   r   r   r      r   db_userc                   C  r	   )NDB_PASSWORDr   r   r   r   r   r      r   db_passwordc                   C  r	   )NDB_NAMEr   r   r   r   r   r      r   db_namec                   C  r	   )NSARVAM_SUBSCRIPTION_KEYr   r   r   r   r   r      r   sarvam_subscription_keyc                   C  r   )NPOLL_INTERVAL_SECONDS30r   r   r   r   r   r      r   poll_interval_secondsc                   C  r   )N
BATCH_SIZE10r   r   r   r   r   r      r   
batch_sizec                   C  r   )NMAX_RETRIES3r   r   r   r   r   r      r   max_retriesc                   C  s   dd t dddD S )Nc                 S  s   g | ]
}|  r|  qS r   )strip).0br   r   r   
<listcomp>       z%Settings.<lambda>.<locals>.<listcomp>BID_WHITELIST ,)r   r   splitr   r   r   r   r      r2   z	List[str]bid_whitelistc                   C     t ddS )N	LOG_LEVELINFOr   r   r   r   r   r   r          	log_levelc                   C  r8   )NRABBITMQ_HOST	localhostr;   r   r   r   r   r   !   r<   rabbitmq_hostc                   C  r   )NRABBITMQ_PORT5672r   r   r   r   r   r   "   r   rabbitmq_portc                   C  r8   )NRABBITMQ_USERguestr;   r   r   r   r   r   #   r<   rabbitmq_userc                   C  r8   )NRABBITMQ_PASSWORDrE   r;   r   r   r   r   r   $   r<   rabbitmq_passwordc                   C  r8   )NRABBITMQ_QUEUEstt_jobsr;   r   r   r   r   r   %   r<   rabbitmq_queuec                   C  r8   )NRABBITMQ_ANALYTICS_QUEUEanalytics_jobsr;   r   r   r   r   r   '   r<   rabbitmq_analytics_queuec                   C  s   t dd dvS )NSTT_ENQUEUE_ANALYTICS_ALWAYS1)0falseno)r   r   lowerr   r   r   r   r   *   s    boolstt_enqueue_analytics_alwaysN)__name__
__module____qualname__r   r   __annotations__r   r   r    r"   r$   r'   r*   r-   r7   r=   r@   rC   rF   rH   rK   rN   rV   r   r   r   r   r      s2   
 r   )
__future__r   r   dataclassesr   r   typingr   dotenvr   pathdirnameabspath__file___STT_DIR_PROJECT_ROOTjoin_BACKEND_ENV_STT_ENVr   settingsr   r   r   r   <module>   s    
