
    g6j                        d Z ddlmZ ddlZddlmZmZ ddlmZ ddZ	dj                  g d      Zd	Zdd
Z ed       G d d             Z e       ZddZy)uU   Configuración centralizada (12-factor). Valores sensibles vía variables de entorno.    )annotationsN)	dataclassfield)Listc                    | rt        |       j                         sdgS t        |       j                  d      D cg c]#  }|j                         s|j                         % c}S c c}w )N*,)strstripsplit)rawparts     @/var/www/pie360backend.cl/public_html/app/backend/core/config.py_split_originsr   
   sH    c#hnn&u%(X^^C%8ITDJJLDJJLIIIs   A&A&r	   )	http://localhost:3001http://127.0.0.1:3001http://localhost:3000http://127.0.0.1:3000http://localhost:5173http://127.0.0.1:5173zhttps://agent-8ceae.web.appz#https://agent-8ceae.firebaseapp.comz;https://newerp-ghdegyc9cpcpc6gq.eastus-01.azurewebsites.net)r   r   r   r   r   r   c                    g }d| v }| D ]!  }|s|dk7  s||vs|j                  |       # |r!t        D ]  }||vs|j                  |        |r|dfS dgdfS )uL   Con allow_credentials=True, '*' no es válido: usamos orígenes explícitos.r   TF)append_DEV_CORS_ORIGINS)originsmerged	allow_allorigin
dev_origins        r   resolve_cors_originsr   )   s~    FwI "fmf(<MM&!" + 	*J'j)	* t|5%<    T)frozenc                  X   e Zd ZU  ed       Zded<    ed       Zded<    ed       Zded<    ed	       Zded
<    ed       Z	ded<    ed       Z
ded<    ed       Zded<    ed       Zded<    ed       Zded<    ed       Zded<    ed       Zded<   y)Settingsc                 .    t        j                  dd      S )NDATABASE_URLz=mysql+pymysql://admin:pie360chile@103.138.188.160:3306/pie360osgetenv r    r   <lambda>zSettings.<lambda><   s    		K!
 r    )default_factoryr
   database_urlc                 .    t        j                  dd      S )N
SECRET_KEY@7de4c36b48fce8dcb3a4bb527ba62d789ebf3d3a7582472ee49d430b01a7f868r&   r)   r    r   r*   zSettings.<lambda>B   s    		N!
 r    
secret_keyc                 .    t        j                  dd      S )N	ALGORITHMHS256r&   r)   r    r   r*   zSettings.<lambda>G   s    299['3R r    	algorithmc                 .    t        j                  dd      S )N	FILES_DIRz+/var/www/pie360backend.cl/public_html/filesr&   r)   r    r   r*   zSettings.<lambda>I   s    		F!
 r    	files_dirc                 H    t        t        j                  dt                    S )NCORS_ORIGINS)r   r'   r(   _DEFAULT_CORS_RAWr)   r    r   r*   zSettings.<lambda>N   s    IIn&78!
 r    	List[str]cors_originsc                 .    t        j                  dd      S )NAPI_ROOT_PATHz/apir&   r)   r    r   r*   zSettings.<lambda>R   s    ryyRX7Y r    api_root_pathc                 .    t        j                  dd      S )NWORKSPACE_AGENT_ID&agtch_6a35d3014cbc8191911eed3847b3e8fer&   r)   r    r   r*   zSettings.<lambda>T   s    		 4!
 r    workspace_agent_idc                 .    t        j                  dd      S )NWORKSPACE_AGENT_NAMEzRedactor de Informes PIEr&   r)   r    r   r*   zSettings.<lambda>Z   s    		*@B\ ] r    workspace_agent_namec                 .    t        j                  dd      S )NWORKSPACE_AGENT_API_BASEz+https://api.chatgpt.com/v1/workspace_agentsr&   r)   r    r   r*   zSettings.<lambda>]   s    		&9!
 r    workspace_agent_api_basec                 .    t        j                  dd      S )NAGENT_ACCESS_TOKEN r&   r)   r    r   r*   zSettings.<lambda>c   s    		*> C r    agent_access_tokenc                 .    t        j                  dd      S )N
MCP_SECRETrL   r&   r)   r    r   r*   zSettings.<lambda>e   s    BIIlB4O r    
mcp_secretN)__name__
__module____qualname__r   r,   __annotations__r0   r4   r7   r<   r?   rC   rF   rI   rM   rP   r)   r    r   r#   r#   9   s    
L#  
J  +RSIsS
Is 
 $
L) 
 /YZM3Z#
  !&]!#  %*
%c  $C  ,OPJPr    r#   c                     t         j                  j                  dt        j                         t         j                  j                  dt        j
                         y)uI   Compatibilidad con código que lee os.environ['SECRET_KEY'] directamente.r.   r2   N)r'   environ
setdefaultsettingsr0   r4   r)   r    r   apply_settings_to_process_envrY   k   s6    JJ,(;(;<JJ+x'9'9:r    )r   z
str | Nonereturnr;   )r   r;   rZ   ztuple[list[str], bool])rZ   None)__doc__
__future__r   r'   dataclassesr   r   typingr   r   joinr:   r   r   r#   rX   rY   r)   r    r   <module>ra      sm    [ " 	 ( J HH
    $+Q +Q +Q\ :;r    