
    j                     v    d Z ddlmZ ddlmZ ddlmZ ddlmZm	Z	  G d de      Z
ede
fd	       Z e       Zy
)zc
Configuration for TripTalley backend.
Uses pydantic-settings for environment-based configuration.
    )	lru_cache)List)Field)BaseSettingsSettingsConfigDictc                      e Zd ZU dZ eddd      ZdZeed<   dZ	e
ed	<   dZeed
<    edd      Zeed<   dZe
ed<   dZe
ed<    edd      Zeed<   dZe
ed<   dZeed<   dZe
ed<    eddgd      Zee   ed<   d Ze
ed!<   d"Ze
ed#<   y$)%Settingsz7Application settings loaded from environment variables.z.envzutf-8F)env_fileenv_file_encodingcase_sensitivez0.0.0.0HOSTi@  PORTDEBUGz#sqlite+aiosqlite:///./triptalley.dbzAsync SQLAlchemy database URL)defaultdescriptionDATABASE_URL
   DATABASE_POOL_SIZE   DATABASE_MAX_OVERFLOWz$your-secret-key-change-in-productionzSecret key for JWT tokens
SECRET_KEYi  ACCESS_TOKEN_EXPIRE_MINUTESzhttps://api.frankfurter.appFRANKFURTER_API_URL   FX_CACHE_TTL_DAYSzhttp://localhost:3000zhttp://localhost:8080zAllowed CORS originsALLOWED_ORIGINSd   RATE_LIMIT_REQUESTS<   RATE_LIMIT_WINDOW_SECONDSN)__name__
__module____qualname____doc__r   model_configr   str__annotations__r   intr   boolr   r   r   r   r   r   r   r   r   r   r   r         3/srv/projects/triptalley/backend/app/core/config.pyr	   r	      s    A%!L D#D#E4 53L#  ! !#3# 6/J  (/.  =<s "'(*AB*"OT#Y   #"%'s'r+   r	   returnc                      t               S )zGet cached settings instance.)r	   r*   r+   r,   get_settingsr/   9   s     :r+   N)r$   	functoolsr   typingr   pydanticr   pydantic_settingsr   r   r	   r/   settingsr*   r+   r,   <module>r5      sI   
     >)(| )(X h  
 >r+   