mockapi/config.py.backup
2026-03-16 05:47:01 +00:00

43 lines
1.3 KiB
Text

from pydantic_settings import BaseSettings
from typing import Optional
from pydantic import field_validator, ConfigDict
class Settings(BaseSettings):
# Database
database_url: str = "sqlite+aiosqlite:///./mockapi.db"
# Application
debug: bool = False
title: str = "Mock API Server"
version: str = "1.0.0"
# Admin authentication
admin_username: str = "admin"
admin_password: str = "admin123"
secret_key: str = "your-secret-key-here-change-me"
# Security
session_cookie_name: str = "mockapi_session"
session_max_age: int = 24 * 60 * 60 # 24 hours
@field_validator('admin_password')
def validate_admin_password(cls, v, info):
if not info.data.get('debug', True) and v == "admin123":
raise ValueError(
'admin_password must be set via environment variable in production (debug=False)'
)
return v
@field_validator('secret_key')
def validate_secret_key(cls, v, info):
if not info.data.get('debug', True) and v == "your-secret-key-here-change-me":
raise ValueError(
'secret_key must be set via environment variable in production (debug=False)'
)
return v
model_config = ConfigDict(env_file=".env")
settings = Settings()