init
This commit is contained in:
38
app/config.py
Normal file
38
app/config.py
Normal file
@@ -0,0 +1,38 @@
|
||||
import os
|
||||
from pathlib import Path
|
||||
from dotenv import load_dotenv
|
||||
|
||||
load_dotenv()
|
||||
|
||||
# --- Database ---
|
||||
# SQLite for local development, PostgreSQL for production
|
||||
# Set DATABASE_URL in .env to override
|
||||
DATABASE_URL: str = os.getenv(
|
||||
"DATABASE_URL",
|
||||
"sqlite:///geozoner.db",
|
||||
)
|
||||
|
||||
# --- Auth / JWT ---
|
||||
SECRET_KEY: str = os.getenv("SECRET_KEY", "change-me-in-production")
|
||||
ALGORITHM: str = "HS256"
|
||||
ACCESS_TOKEN_EXPIRE_MINUTES: int = int(os.getenv("ACCESS_TOKEN_EXPIRE_MINUTES", "15"))
|
||||
REFRESH_TOKEN_EXPIRE_DAYS: int = int(os.getenv("REFRESH_TOKEN_EXPIRE_DAYS", "7"))
|
||||
|
||||
# --- FCM (Firebase Cloud Messaging) ---
|
||||
FCM_CREDENTIALS_PATH: str | None = os.getenv("FCM_CREDENTIALS_PATH")
|
||||
|
||||
# --- App ---
|
||||
APP_HOST: str = os.getenv("APP_HOST", "0.0.0.0")
|
||||
APP_PORT: int = int(os.getenv("APP_PORT", "8000"))
|
||||
DEBUG: bool = os.getenv("DEBUG", "true").lower() in ("true", "1", "yes")
|
||||
|
||||
# --- CORS ---
|
||||
CORS_ORIGINS: list[str] = os.getenv(
|
||||
"CORS_ORIGINS",
|
||||
"http://localhost,http://localhost:8000,http://127.0.0.1",
|
||||
).split(",")
|
||||
|
||||
# --- Geo settings ---
|
||||
MIN_ZONE_AREA_M2: float = float(os.getenv("MIN_ZONE_AREA_M2", "5000"))
|
||||
LOOP_CLOSURE_RADIUS_M: float = float(os.getenv("LOOP_CLOSURE_RADIUS_M", "50"))
|
||||
DOUGLAS_PEUCKER_EPSILON_M: float = float(os.getenv("DOUGLAS_PEUCKER_EPSILON_M", "5"))
|
||||
Reference in New Issue
Block a user