o
    
i]                     @   s   d dl Z d dlmZ e je je jeZee jed dde	de
de
fdd	Zde	d
e	dee	 fddZG dd dZG dd deZG dd deZG dd deZeeedZdS )    N)load_dotenvz.envFnamedefaultreturnc                 C   s$   t | t|}t|  dv S )N)1trueyesyon)osgetenvstrstriplower)r   r   val r   )/var/www/html/flask_server/config/base.pyenv_bool	   s   r   default_csvc                 C   s$   t | |}tdd |dD S )Nc                 S   s   g | ]
}|  r|  qS r   r   .0pr   r   r   
<listcomp>   s    zenv_set.<locals>.<listcomp>,)r   r   setsplit)r   r   rawr   r   r   env_set   s   r   c                   @   sB  e Zd ZdZeddZeddZeddZ	edd	Z
ed
dZeddZeddZeeddZed d ZeddZeddZeddZeddZeddZeddZedd Ze d!e d"e d#e d"e d$e Zd%Zed&dZed'd Zed(d%Zd)d* ed+d,d-D Ze d.d/ Z!d0S )1Configu.   Configuración base para todas las apps Flask.APP_ENVdev	FLASK_ENVdevelopmentFLASK_DEBUGT
SECRET_KEYchangeme123
JWT_SECRETsupersecretojwtJWT_ALGORITHMHS256OPENAI_MODELzgpt-4o-miniMAX_UPLOAD_MB   i   ALLOWED_EXTENSIONSzpdf,png,jpg,jpeg	DB_ENGINEzmysql+pymysqlDB_HOST	localhostDB_PORT3306DB_NAMEflask_serverDB_USERrootDB_PASSWORD z://:@/FENABLE_DEBUG_LOGSDEV_ALLOWED_ORIGINSDEV_BYPASS_JWTc                 C   s   g | ]}|  qS r   r   r   r   r   r   r   <   s    zConfig.<listcomp>DEV_IP_WHITELISTz127.0.0.1,::1r   c                 C   sH   t jr"tdt j  tdt j dt j  tdt j d dS dS )z0Hook opcional para inicializaciones adicionales.z[CONFIG] Flask environment: z[CONFIG] DB: z @ z[CONFIG] Upload limit: z MBN)r   r=   printr"   r/   r0   r,   )appr   r   r   init_app>   s
   zConfig.init_appN)"__name__
__module____qualname____doc__r   r   r    r"   r   r$   r%   r'   r)   r+   intr,   MAX_CONTENT_LENGTHr   r.   r/   r0   r2   r4   r6   r8   SQLALCHEMY_DATABASE_URISQLALCHEMY_TRACK_MODIFICATIONSr=   r>   r?   r   r@   staticmethodrC   r   r   r   r   r      s6    

$

r   c                   @   s   e Zd ZdZdZdS )DevelopmentConfigTFNrD   rE   rF   DEBUGTESTINGr   r   r   r   rM   G       rM   c                   @      e Zd ZdZdZdS )ProductionConfigFNrN   r   r   r   r   rS   L   rQ   rS   c                   @   rR   )TestingConfigTNrN   r   r   r   r   rT   Q   rQ   rT   )r#   
productiontesting)F)r   dotenvr   pathabspathdirname__file__BASE_DIRjoinr   boolr   r   r   r   rM   rS   rT   configr   r   r   r   <module>   s    4
