test and move of controllers
This commit is contained in:
28
src/server/config/settings.py
Normal file
28
src/server/config/settings.py
Normal file
@@ -0,0 +1,28 @@
|
||||
from typing import Optional
|
||||
from pydantic import BaseSettings, Field
|
||||
|
||||
|
||||
class Settings(BaseSettings):
|
||||
"""Application settings from environment variables."""
|
||||
jwt_secret_key: str = Field(default="your-secret-key-here", env="JWT_SECRET_KEY")
|
||||
password_salt: str = Field(default="default-salt", env="PASSWORD_SALT")
|
||||
master_password_hash: Optional[str] = Field(default=None, env="MASTER_PASSWORD_HASH")
|
||||
master_password: Optional[str] = Field(default=None, env="MASTER_PASSWORD") # For development
|
||||
token_expiry_hours: int = Field(default=24, env="SESSION_TIMEOUT_HOURS")
|
||||
anime_directory: str = Field(default="", env="ANIME_DIRECTORY")
|
||||
log_level: str = Field(default="INFO", env="LOG_LEVEL")
|
||||
|
||||
# Additional settings from .env
|
||||
database_url: str = Field(default="sqlite:///./data/aniworld.db", env="DATABASE_URL")
|
||||
cors_origins: str = Field(default="*", env="CORS_ORIGINS")
|
||||
api_rate_limit: int = Field(default=100, env="API_RATE_LIMIT")
|
||||
default_provider: str = Field(default="aniworld.to", env="DEFAULT_PROVIDER")
|
||||
provider_timeout: int = Field(default=30, env="PROVIDER_TIMEOUT")
|
||||
retry_attempts: int = Field(default=3, env="RETRY_ATTEMPTS")
|
||||
|
||||
class Config:
|
||||
env_file = ".env"
|
||||
extra = "ignore"
|
||||
|
||||
|
||||
settings = Settings()
|
||||
Reference in New Issue
Block a user