Configure CORS origins and backend port

This commit is contained in:
masterdev
2026-06-16 23:06:22 +01:00
parent 9f2aeb1d4e
commit e0cd6fae06
4 changed files with 32 additions and 3 deletions

View File

@@ -18,7 +18,8 @@ class Settings(BaseSettings):
mqtt_port: int = 1883
mqtt_topic: str = "plasttrack/machines/+/events"
mqtt_client_id: str = "plast-track-backend"
frontend_origin: str = "http://localhost:5173"
frontend_origin: str | None = None
frontend_origins: str = "http://localhost:5173,http://127.0.0.1:5173"
downtime_check_interval_sec: int = 5
database_startup_retries: int = 30
database_startup_retry_delay_sec: float = 2.0
@@ -36,6 +37,13 @@ class Settings(BaseSettings):
database=self.postgres_db,
).render_as_string(hide_password=False)
@property
def cors_allowed_origins(self) -> list[str]:
configured_origins = [origin.strip() for origin in self.frontend_origins.split(",") if origin.strip()]
if self.frontend_origin:
configured_origins.append(self.frontend_origin.strip())
return list(dict.fromkeys(configured_origins))
@lru_cache
def get_settings() -> Settings: