o
    eOj                     @   sN   d dl Z d dlmZ d dlmZmZ d dlmZmZ G dd deZ	e	 Z
dS )    N)List)BaseSettingsSettingsConfigDict)computed_fieldmodel_validatorc                   @   s  e Zd ZU edddddZeed< dZeed< d	Zeed
< e	e
dee fddZeed< dZeed< dZeed< dZeed< dZeed< d	Zeed< e	e
defddZe	e
defddZdZeed< dZeed< dZeed < e	e
defd!d"Zd#Zeed$< d%Zeed&< d	Zeed'< d(Zeed)< d*Zeed+< e	e
defd,d-Zd.Zeed/< d0Z eed1< d2Z!eed3< dZ"e#ed4< d5Z$e#ed6< e%d7d8d<d9d:Z&d;S )=Settingsz.envzutf-8Fignore)env_fileenv_file_encodingcase_sensitiveextra	bot_tokenpollingbot_mode super_admin_idsreturnc                 C   s    | j sg S dd | j dD S )Nc                 S   s    g | ]}|  rt|  qS  )stripint).0xr   r   7/var/www/www-root/data/www/ai-bot.pdev.uz/bot/config.py
<listcomp>   s     z-Settings.super_admin_list.<locals>.<listcomp>,)r   splitselfr   r   r   super_admin_list   s   zSettings.super_admin_listmovie_channel_id	localhostdb_hosti8  db_portkinobotdb_namekinobot_userdb_userdb_passc              
   C   ,   d| j  d| j d| j d| j d| j 
S )Nzpostgresql+asyncpg://:@/r&   r'   r!   r"   r$   r   r   r   r   database_url'   s   zSettings.database_urlc              
   C   r(   )zAlembic uchun sync URLzpostgresql+psycopg2://r)   r*   r+   r,   r   r   r   r   database_url_sync/   s   zSettings.database_url_sync
redis_hosti  
redis_portr   redis_dbc                 C   s   d| j  d| j d| j S )Nzredis://r)   r+   )r/   r0   r1   r   r   r   r   	redis_url=   s   zSettings.redis_urluzdefault_language
   throttle_ratewebhook_hostz/webhookwebhook_pathi  webhook_portc                 C   s   | j  | j S )N)r7   r8   r   r   r   r   webhook_urlK   s   zSettings.webhook_urlchange_me_in_envadmin_web_passwordchange_this_jwt_secret_keyadmin_secret_keyi@  
admin_portadmin_cookie_secureT	run_adminafter)modec                 C   s4   | j dkrtjddd | jdkrtjddd | S )Nr;   zGSECURITY: ADMIN_WEB_PASSWORD is set to default value! Change it in .env   )
stacklevelr=   zESECURITY: ADMIN_SECRET_KEY is set to default value! Change it in .env)r<   warningswarnr>   r   r   r   r   check_secret_defaultsY   s   

zSettings.check_secret_defaultsN)r   r   )'__name__
__module____qualname__r   model_configstr__annotations__r   r   r   propertyr   r   r   r!   r"   r$   r&   r'   r-   r.   r/   r0   r1   r2   r4   r6   r7   r8   r9   r:   r<   r>   r?   r@   boolrA   r   rH   r   r   r   r   r      s\   
 r   )rF   typingr   pydantic_settingsr   r   pydanticr   r   r   settingsr   r   r   r   <module>   s    
b