feat(factory): implement db-backed dashboard and workflow automation refs NOISSUE
This commit is contained in:
@@ -28,9 +28,15 @@ class Settings(BaseSettings):
|
||||
# n8n settings
|
||||
N8N_WEBHOOK_URL: str = ""
|
||||
N8N_API_URL: str = ""
|
||||
N8N_API_KEY: str = ""
|
||||
N8N_TELEGRAM_CREDENTIAL_NAME: str = "AI Software Factory Telegram"
|
||||
N8N_USER: str = ""
|
||||
N8N_PASSWORD: str = ""
|
||||
|
||||
# Runtime integration settings
|
||||
BACKEND_PUBLIC_URL: str = "http://localhost:8000"
|
||||
PROJECTS_ROOT: str = ""
|
||||
|
||||
# Telegram settings
|
||||
TELEGRAM_BOT_TOKEN: str = ""
|
||||
TELEGRAM_CHAT_ID: str = ""
|
||||
@@ -104,6 +110,21 @@ class Settings(BaseSettings):
|
||||
"""Get n8n webhook URL with trimmed whitespace."""
|
||||
return self.N8N_WEBHOOK_URL.strip()
|
||||
|
||||
@property
|
||||
def n8n_api_url(self) -> str:
|
||||
"""Get n8n API URL with trimmed whitespace."""
|
||||
return self.N8N_API_URL.strip()
|
||||
|
||||
@property
|
||||
def n8n_api_key(self) -> str:
|
||||
"""Get n8n API key with trimmed whitespace."""
|
||||
return self.N8N_API_KEY.strip()
|
||||
|
||||
@property
|
||||
def n8n_telegram_credential_name(self) -> str:
|
||||
"""Get the preferred n8n Telegram credential name."""
|
||||
return self.N8N_TELEGRAM_CREDENTIAL_NAME.strip() or "AI Software Factory Telegram"
|
||||
|
||||
@property
|
||||
def telegram_bot_token(self) -> str:
|
||||
"""Get Telegram bot token with trimmed whitespace."""
|
||||
@@ -114,6 +135,18 @@ class Settings(BaseSettings):
|
||||
"""Get Telegram chat ID with trimmed whitespace."""
|
||||
return self.TELEGRAM_CHAT_ID.strip()
|
||||
|
||||
@property
|
||||
def backend_public_url(self) -> str:
|
||||
"""Get backend public URL with trimmed whitespace."""
|
||||
return self.BACKEND_PUBLIC_URL.strip().rstrip("/")
|
||||
|
||||
@property
|
||||
def projects_root(self) -> Path:
|
||||
"""Get the root directory for generated project artifacts."""
|
||||
if self.PROJECTS_ROOT.strip():
|
||||
return Path(self.PROJECTS_ROOT).expanduser().resolve()
|
||||
return Path(__file__).resolve().parent.parent / "test-project"
|
||||
|
||||
@property
|
||||
def postgres_host(self) -> str:
|
||||
"""Get PostgreSQL host."""
|
||||
|
||||
Reference in New Issue
Block a user