
    ɧ-i                     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<   dndee         defdZedefd            Z ej        dd          Zee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 ej        d#d$                    Zeed%<    ej        d&d'          Zeed(<   dnd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d0<    ej        d1d2          Z"eed3<    ej        d4d5          Z#eed6<    ej        d7d8          Z$eed9<    e 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        dAdB          Z(eedC<    ej        dDdE          Z)eedF<    e ej        dGdH                    Z*eedI<    ej        dJdK          Z+eedL<    ej        dMdN          Z,eedO<    ej        dPd
          Z-eedQ<    e ej        dRdS                    Z.eedT<    e ej        dUdV                    Z/eedW<    e ej        dXd$                    Z0eedY<    ej        dZd
          Z1eed[<    ej        d\d]          Z2eed^<    ej        d_d          	                                dk    Z3eed`<    ej        dadb          Z4eedc<    ej        ddd          	                                dk    Z5eede<    ej        dfdg          Z6eedh<    ej        didj          Z7eedk<    G dl dm          Z8dS )o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system_promptTEMPERATUREz0.7temperature
MAX_TOKENS
max_tokensREQUEST_TIMEOUT_SECONDS900request_timeout_seconds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.)rI   r,   s    r(   allowed_originszSettings.allowed_originsf   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DB_POOL_MIN_SIZE5db_pool_min_sizeDB_POOL_MAX_SIZE20db_pool_max_sizeDB_POOL_RECYCLEdb_pool_recycle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)9r   r   r   __doc__intosgetenvr   __annotations__lowerr   boolr   strr   r   r   r)   propertyr-   r/   r0   floatr2   r4   r7   r:   r=   r?   r   rI   rK   rN   rP   rS   rV   rX   r[   r]   r_   ra   rc   rf   ri   rl   rn   rq   rt   rv   rx   rz   r|   r~   r   r   r   r   r   r*   r(   r   r      s        @@ 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>>>M3yry>>??K???c)")L&99::J:::#&3yry1JE'R'R#S#SSSSS  #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  C		*<c B BCCcCCCC		*<d C CDDcDDD3yry):FCCDDOSDDD '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    > > 				 ! ! ! ! ! ! ! ! * * * * * *      I I I I I| I I IX 8::r*   