
    UhR                     j    d Z ddlZddlmZmZ ddlmZ ddlmZ  G d de          Z	 e	            Z
dS )z8Configuration settings for Restaurant Website Generator.    N)ListOptional)BaseSettings)Requestc                      e Zd ZU dZ e ej        dd                    Zeed<    ej        dd          	                                dk    Z
eed<    ej        d	d
          Zeed<    ej        dd          Zeed<   dbdee         defdZedefd            Z ej        dd          Zeed<    e ej        dd                    Zeed<    e ej        dd                    Zeed<    e ej        dd                    Zeed<    e ej        dd                     Zeed!<    ej        d"d#          Zeed$<   dbdee         dee         fd%Zedee         fd&            Z ej        d'd(          Zeed)<    ej        d*d+          Zeed,<    ej        d-d.          Z eed/<    ej        d0d1          Z!eed2<    ej        d3d4          Z"eed5<    e ej        d6d7                    Z#eed8<    ej        d9d
          Z$eed:<    ej        d;d
          Z%eed<<    ej        d=d>          Z&eed?<    ej        d@dA          Z'eedB<    e ej        dCdD                    Z(eedE<    ej        dFdG          Z)eedH<    ej        dIdJ          Z*eedK<    ej        dLd
          Z+eedM<    ej        dNd
          Z,eedO<    ej        dPdQ          Z-eedR<    ej        dSd          	                                dk    Z.eedT<    ej        dUdV          Z/eedW<    ej        dXd          	                                dk    Z0eedY<    ej        dZd[          Z1eed\<    ej        d]d^          Z2eed_<    G d` da          Z3dS )cSettingsz6Application settings for Restaurant Website Generator.APP_PORT8000app_portDEBUGTruetruedebugOPENROUTER_API_KEY openrouter_api_keyOPENROUTER_TITLEzRestaurant-Website-Generatoropenrouter_titleNrequestreturnc                 <   |r|j         j        }|j                            d|j         j        pd          }d|v r|                    d          d         }|j         j        p	|dk    rdnd}|dk    r|dk    s|dk    r|dk    r| d	| S | d	| d| S d
| j         S )zDAuto-detect current domain, protocol, and port from request context.host	localhost:r   httpsi  P   http://zhttp://localhost:)urlschemeheadersgethostnamesplitportr   )selfr   protocolr   r%   s        :/var/www/html/web-builder-api.evdpl.com/src/core/config.pyget_current_domainzSettings.get_current_domain   s     	7{)H ?&&vw{/C/R{SSD d{{zz#q) ;#Kx7/B/BD F""trzzx77J7JtWZ{{"--t---"44t44d444 7t}666    c                 *    |                                  S )z$Auto-detect OpenRouter referrer URL.)r)   r&   s    r(   openrouter_referrerzSettings.openrouter_referrer,   s     &&(((r*   AGENT_MODELzgpt-4o-miniagent_modelTEMPERATUREz0.7temperature
MAX_TOKENS
max_tokensMAX_REQUESTS_PER_IP4max_requests_per_ipMAX_REQUESTS_WINDOW3600max_requests_window
SECRET_KEYz)your-secret-key-here-change-in-production
secret_keyc                    |                      |          }d|v r;|                    dd          \  }}d|v r|                    d          d         n|}nd}d}|| d| | d| dg}|dk    r|                    d	| d
dg           |dk    r|                    d| ddg           t          t	          |                    S )z:Auto-detect allowed origins for CORS from request context.r      r   r   r   r   z://localhostz://127.0.0.1zhttps://zhttps://localhostzhttps://127.0.0.1r   zhttp://zhttp://localhostzhttp://127.0.0.1)r)   r$   extendlistset)r&   r   current_domainr'   domain_with_portdomainoriginss          r(   get_allowed_originszSettings.get_allowed_origins=   s0   0099 N"")7)=)=eQ)G)G&H&7:>N7N7N%++C0033TdFFH F $$F$$%%%%%%	
 vNN#6##$$    wNN"&""##    CLL!!!r*   c                 *    |                                  S )z%Auto-detect allowed origins for CORS.)rE   r,   s    r(   allowed_originszSettings.allowed_originsd   s     '')))r*   TEMPLATES_DIR	templatestemplates_dirGENERATED_DIRztemplates/generatedgenerated_dirUPLOADS_DIRuploadsuploads_dirTEMP_LOGOS_DIR
temp_logostemp_logos_dirSMTP_SERVERzsmtp.gmail.comsmtp_server	SMTP_PORT587	smtp_portSMTP_USERNAMEsmtp_usernameSMTP_PASSWORDsmtp_passwordDATABASE_URLz9mysql://root:@localhost:3306/restaurant_website_generatordatabase_urlDB_HOSTr   db_hostDB_PORT3306db_portDB_NAMErestaurant_website_generatordb_nameDB_USERrootdb_userDB_PASSWORDdb_passwordLANGSMITH_API_KEYlangsmith_api_keyLANGSMITH_PROJECTzrestaurant-website-generatorlangsmith_projectLANGSMITH_TRACINGlangsmith_tracingPROVIDER_ORDERztogether,fireworks,perplexityprovider_orderPROVIDER_ALLOW_FALLBACKSprovider_allow_fallbacksPROVIDER_IGNOREazureprovider_ignorePROVIDER_DATA_COLLECTIONdenyprovider_data_collectionc                       e Zd ZdZdZdS )Settings.Configz.envignoreN)__name__
__module____qualname__env_fileextra r*   r(   Configr|      s        r*   r   )N)4r~   r   r   __doc__intosgetenvr   __annotations__lowerr   boolr   strr   r   r   r)   propertyr-   r/   floatr1   r3   r6   r9   r;   r   rE   rG   rJ   rL   rO   rR   rT   rW   rY   r[   r]   r_   rb   re   rh   rj   rl   rn   rp   rr   rt   rw   rz   r   r   r*   r(   r   r      sA        @@ C		*f5566Hc666")GV,,2244>E4>>> (bi(<bAAAAA%BI&8:XYYcYYY7 7(7*; 7s 7 7 7 72 )S ) ) ) X)
 !ry>>K>>>yry>>??K???c)")L&99::J:::  #s929-BC#H#HIIIII"s929-BF#K#KLLLLL  bi.YZZJZZZ%" %"8G+< %"S	 %" %" %" %"N *c * * * X*
 #?K@@M3@@@"?4IJJM3JJJ ry	::K:::#")$4lCCNCCCC !ry0@AAKAAAS;6677Is777"?B77M3777"?B77M3777 "	.2mnnL#nnn29Y44GS4443yryF3344GS44429Y(FGGGSGGG29Y//GS/// ry33K333 'RY':B??s???&RY':<Z[[s[[['bi(;VDDJJLLPVVtVVV $")$46UVVNCVVV%.RY/I6%R%R%X%X%Z%Z^d%ddddd$29%6@@OS@@@$-BI.H&$Q$QcQQQ         r*   r   )r   r   typingr   r   pydantic_settingsr   fastapir   r   settingsr   r*   r(   <module>r      s    > > 				 ! ! ! ! ! ! ! ! * * * * * *      B B B B B| B B BJ 8::r*   