Files
xenia-pos-local/local_backend/config.py
bonamin 72b12ddd9c fix: fix timezone handling across backend and frontend (v0.3.1)
- Add tz.py with local_strftime/to_local helpers that read system.timezone
  from DB and convert UTC datetimes to venue local time before formatting
- Fix all strftime() calls in orders.py, reports.py, printer_service.py
  that were formatting UTC datetimes without timezone conversion
- Fix get_order endpoint returning raw dicts without Z suffix on datetimes,
  causing JS new Date() to treat timestamps as local instead of UTC
- Fix fmtDate() in tokens.js that stripped the T separator before parsing,
  breaking UTC-to-local conversion for all report date displays
- Make open/partially_paid table chips more visually distinct on dashboard

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-08 19:18:46 +03:00

29 lines
943 B
Python

import os
from pathlib import Path
from pydantic_settings import BaseSettings
_HERE = Path(__file__).parent # always points to local_backend/
# Use AppData on Windows (avoids Controlled Folder Access blocks),
# fall back to local_backend/ on Linux/Mac/Docker
if os.name == "nt":
_DB_DEFAULT = Path(os.environ.get("LOCALAPPDATA", Path.home() / "AppData" / "Local")) / "pos" / "pos.db"
_DB_DEFAULT.parent.mkdir(parents=True, exist_ok=True)
else:
_DB_DEFAULT = _HERE / "pos.db"
class Settings(BaseSettings):
SITE_ID: str = ""
SITE_KEY: str = ""
CLOUD_URL: str = ""
SECRET_KEY: str = "change-me-generate-a-long-random-string"
DATABASE_URL: str = f"sqlite:///{_DB_DEFAULT.as_posix()}"
VERSION: str = "0.3.1"
CONNECT_SYNC_INTERVAL_SECONDS: int = 30 # how often to poll for pending online orders
model_config = {"env_file": str(_HERE / ".env"), "env_file_encoding": "utf-8"}
settings = Settings()